STL komut yardım

luser

Üye
Katılım
5 Kas 2006
Mesajlar
16
Puanları
1
Yaş
39
selam arkadaşlar

aşagıdaki komutları açıklaya bilirmisiniz. en çok takıldığım nokta (DBW [AR1,P#0.0] ve L PIW [AR1,P#0.0]) bu komutlar ustalardan bir yorum.

OPN "DRIVE_Siem_ComData"
L #inDriveNo
SLD 6
LAR1
L DBW [AR1,P#0.0]
T #outAddress
SLD 3
LAR1
L PIW [AR1,P#0.0]
T #tmpDriveSt
T #outDriveStat
L 0
T LW 10
 
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
İndirect Adresleme kullanmış.Şöyleki;

OPN "DRIVE_Siem_ComData" İlköne bu data bloğu açmış.

#inDriveNo temp değişkeni AR1 alıyor. Daha sonra;
L DBW[AR1,P#0.0] kullanarak açık olan data blogun #inDriveNo tempinde ne değeri varsa örnek olarak tempde 4 olsun DBW4' AKU1 e yüklemiş olursun. AR1 deki değer başlangıç değeridir. P#0.0 ise başlangıç değerinden sonra öteleyebileceğin byte ve bitleri gösteriri.
Örnek yapalım.

#inDriveNo = 4
L DBW[AR1,P#0.0] = L DBW4
L DBW[AR1,P#2.0] = L DBW6 dır.

PIW içinde aynı şekilde AR1 e referens noktasını alıyorsun bu referansadan sonra Pointer ile öteleme yapıyorsun.

Ekte bu konuyla ilgili döküman gönderiyorum.
 

Ekli dosyalar

  • Indirect Addressing.rar
    123.4 KB · Görüntüleme: 289
Moderatör tarafında düzenlendi:
çok teşekkürler erolkge kardeş :D
 
selamlar benimde bir sorum olacaktı dolaylı adresleme ile ilgili;
Şimdi içerisindeki degerin değişken olduğu bir mw adresi düşünün..bu degerlere gore bazı bitleri set ya da reset nasıl yapabilrim? yani örnek olarak mw500 deki degerim 400 oldugunda m400.0 ı setlemek yada 600 oldugunda m400.0 ı resetlemek gibi? ama bunun gibi biçok bit olacak çunku adresteki deger degişiyo sürekli..sorum inş. anlaşılmıştır. şimdiden tşk.ler
 
MW 500 degerını compile blokları ıle karsılastırıp bu karsılastırmaya gorede ıstedıgınız bıt adresını setleyıp resetleyebılırsınız.Su an step 7 kurulu olmadıgından komut seklını eklıyemıyorum kusura bakmayın
 
compare işlemini soyluyosunuz sanırım ama benim bahsettim tam olarak bu degil..cunku belki onlarca tekrar olabilecek bişeyden bahsediyorum daha pratik yolu ne olabilir acaba?
 

Forum istatistikleri

Konular
128,818
Mesajlar
920,752
Kullanıcılar
450,908
Son üye
mert095

Yeni konular

Geri
Üst