Skip to main content

Delta Plc Öğren -4

DELTA PLC ÖĞREN -4

Delta Plc Öğren Serisi nedir ?.Delta Plc’de kullanılan spesifik komutlar nelerdir ?.Delta Plc’de tüm komutları bilmek zorunda mıyız ?.Bu sorular dahil birçok farklı yönüyle Delta Plc Öğren serisinde karşılaşabileceğiniz her türlü probleme karşı cevaplar yaratmaya çalışmaya devam ediyoruz.

Bu yazımızda Sayıcı , Zamanlayıcı , Dört işlem ya da taşıma vb. komutların ötesinde kullanabileceğiniz komutları örnekler ve uygun komutlarıyla beraber işlemeye çalışacağız.

Peki daha az karşınıza çıkacak olup , önemli yere sahip olan komutlar nelerdir ?

DELTA PLC ÖĞREN  KOMUTLAR -1

Ondalıklı Sayı İşlemleri :

Örneğin ; 40 sayısını 3 e böldünüz.Kalan 1 olacaktır ve bu biri ifade etmek için ondalıklı sayı kullanmak durumundasınız , peki nasıl ?

DVP-PLC  , IEEE754 standartlarına göre 32-bit olarak ondalıklı işlemleri yapar.B0 – B31 olarak örnek verecek olursak , B31 biti ‘Sign Bit’ olarak adlandırılır.Bu bit ‘0’ olduğunda ‘pozitif’ , ‘1’ olduğunda ise ‘negatif’ anlamına gelir.B30 – B23 bitleri ‘exponent’ ve B22-B0 bitleri ise ‘Mantissa’ olarak adlandırılır.

Denklemi ise : (-1)^S X 2^E-B X 1.M ; B

Bu denklem sebebiyle 32 bit bir ondalıklı sayının değeri  ±2^-126 dan ±2^+128’ e kadardır.Yani ±1.1755 x 10^-38 den  ±3.4028 x 10^+38 ’e kadardır.

Örnek 1 : 23 rakamını 32-Bit ondalıklı sayı değeri olarak gösterelim

-23’ün binary karşılığı => 23.0 = 10111

-Binary sayıyı düzenlediğimizde => 10111 = 1.0111 x 2^4  | Burada 0111 mantissadır ve 4 ise exponenttir.

-Exponenti  bulalım =>  E – B = 4 ise E – 127 =4  olmalıdır. Buradan E = 131 olacaktır.

E : 131 = 10000112 ‘ dir. Ondalıklı sayı için Exponent ve Mantissa dahil bitleri bir araya getirdiğimizde ise ;

010000011 011100000000000000000002 = 41B8000016    olacaktır.

Not : Decimal ondalıklı sayılar için ;

D EBCD Komutu : Binary ondalıklı sayıları decimal ondalıklı sayıya dönüştürür.

D EBIN  Komutu : Decimal ondalıklı sayıları binary ondalıklı sayılara dönüştürür.

Not : M1020 (Zero Flag) , M1021 (Borrow Flag) ve M1022 ise Carry Flag olarak ondalıklı sayı işlemlerinde kullanılırlar.

Çalıştırma sonuçları ‘0’ ise Zero Flag (M1020) ‘ON’ olur.

Eğer çalıştırma sonuçları maximumu birimi aşarsa Borrow Flag (M1021) ‘On’ olur.

Eğer mutlak değer çalıştırma sonuçları kullanım aralığında ise Carry Flag (M1022) ‘On’ olur.

Index Registerları :

İndex registerları E ve F olarak tanımlanmıştır.16-bit olarak yazılabilir ya da okunabilir. F0 (16 Bit) ve E0 (16 Bit)’dir.|F0|E0| olarak kullanıldığında ise F0 High Byte ve E0 Low Byte  olacaktır ve 32 Bit olarak işlem görürler.

Örneğin ; K20E0 denildiğinde  => E0 : 8’dir.20 + 8 -> K28 olacaktır.

SMOV (Shift Move) Komutu :

Bu komut dataları yeniden düzenlemek ya da birleştirmek için kullanılır.Kullanım şekli ise ;

|S|m1|m2|D|n| şeklindedir.Uygulama başladığında yüksek rakamdan düşük rakama doğru m1 rakamları m2 ye taşınmaya başlar.N rakamından itibaren büyükten küçüğe doğru D içeriğinden S (Source Device) m2’ye gönderilecektir.

Eğer M1168  SMOV için kullanıldıysa, M1168 =’On’ olduğunda işlemler BIN modunda yapılır

Eğer M1168 ‘off’ ise işlemler BCD modunda olacaktır.

BCD (Convert BIN to BCD) Komutu :

Bu komut BIN’den BCD’ye dönüşüm işlemlerini gerçekleştirir.S (Source of Data) içerisindeki içerik BCD değere dönüştürülür ve D (Conversion Result) içerisinde saklanır.

Eğer dönüşüm sonucu 0-9.999 (16 Bit) ya da 0 – 99.999.999 (32 Bit) aralığını aşarsa D1067’de hata gösterilecektir.Hata kodu ise 0E18 (Hex) olarak gösterilecektir.

BON (Check Specified Bit Status) Komutu :

Bu komut S  (Source Device) içerisindeki tanımlı n kadar bitin durumunu kontrol eder ve D (Device For Storing Check Result) içerisinde depolar.

Eğer S F indexini kullanırsa , yalnızca 16-Bit komutlar kullanılabilir.

Örnek Komut : |BON|D0|M0|K15|

MEAN Komutu :

Bu komut S (Source Device)’dan n kadar sıralı registerların ortalamasını elde eder ve D (Destination For Storing Result) içerisinde depo eder.

Eğer ‘n’ geçerli aralığın(1-64) dışında ise Plc ‘instruction Operation Error’ hatası verecektir.

Eğer F indexi kullanılırsa , 16-Bit komutları sadece kullanılabilecektir.

 SPD (Speed Detection) Komutu :

Bu komut S1 giriş terminalinden alınan pulse’ların adedini S2 (ms) süresi esnasında sayar  ve D (Detected Result) registerında saklar.

Örnek Kullanım Şekli : |SPD|X0|K1000|D0|

S1 : Dışardan Pulse Girişi

S2 : Pulse alış zamanı (ms)

D : Belirlenen Sonuç (5 sıralı sonucu içerir. D+1 ve D önceki pulse bilgisini içerir.D+3 ve D+2 ise biriken akım sayısını içerir ve D+4 ise bekleyen akım zamanını içerir.)

Not : SS2 /SA2 / SX2 ve ES2 /EX2 marka cihazlarının 1.0 veya daha sonraki sürümleri için ; X0 , X2 ,X4 ve X6 kullanıldığında , tek fazlı giriş olarak algılanacaktır.X1 , X3 , X5 , X7 kullanıldığında ise X0 , X2 , X4 , X6 birlikte AB faz girişi olarak kabul edilecektir.

Oransal Dönüş Hızı Hesaplama :

N = (60 x D0)x 10^3 / nt

N : Dönüş Hızı

n : Her bir dönüşteki üretilen pals adedi

t : S2 tarafından belirlenen zaman

Delta Plc Öğren – 4 Sonuç :

Delta Plc Öğren Serisinin 4. Partını da sizlerle bugün paylaşıyoruz.Delta Manual üzerinden ilerlediğimiz bu süreçte filtremize takılan tüm konuları sizlere aktarmaya devam edeceğiz.Her türlü soru ve teknik destek için bizlere ulaşabilirsiniz.İyi çalışmalar.

4 thoughts to “Delta Plc Öğren -4”

  1. Bu güzel yorumunuz için teşekkür ederim Mehmet Bey.En kısa sürede ilgili makaleyi yayımlamaya çalışacağız.
    Teşekkür ederim

  2. Selam. Sizi rahatsiz etdigim icin özür dilerim. Şöyle bir soru ile karşılaşdım. Ben encoderi dvp 28 sv ye bağladım. Ölçme yapa bilirim. Sadece ben delta monitortan bu sayıcılara verdiğim değeri nasıl deyişe bilirim? Mesala ben DCNT ye C246 verdim. normal sayiyor ve kumanda veriyor. Peki ben monitordan c246 ye verdiğim değeri nasıl deyişe bilirim? Yardımcı olursanız cok sevinirim.

    1. Merhabalar ;

      Sayıcı değerini bir data registerıan MOV komutu ile taşıyın.
      Sonra ekrandan sayısal değer gir ekleyerek bu alana ilgili data registerını gömün..

      Bu şekilde sorunu halledebilirsiniz.

      İyi çalışmalar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.