Arkadaşlar merhaba, Aşağıdaki kodları satır satır ifade edermisiniz, acil olarak bulunduğum projeyi anlamam gerekiyor. Özellikle L PIW [AR1,P#0.0] satırı. DP ile ilgilide tecrübelerinizi aktarırsanız sevinirim..Saygılarımla..
Kod:
OPN "DRIVE_Siem_ComData"
L #inDriveNo
SLD 6
LAR1
L DBW [AR1,P#0.0] //First DP area address
T #outAddress
SLD 3
LAR1 //DP area pointer
L PIW [AR1,P#0.0] //Status word
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.
LAR1 Akü1 de var olan bilgiyi adres registeri 1 e yükler
L PIW [AR1,P#0.0] Adres registeri 1 in içeriği ile P#0.0 pointerinin adreslerini toplar çıkan sonuçtaki adresteki analog bilgiyi digitale çevrip akü 1 in içerisine yazar.
OPN "DRIVE_Siem_ComData" // data blok no
L #inDriveNo // byte olarak data satırını işaret eder örnek 1 derseniz 1 satırdaki bilgiyi alır. B#001
SLD 6 // sola kaydırma burada adresi 6 sola kaydırmış ben 3 kaydırdım..
LAR1
L DBW [AR1,P#0.0] //First DP area address
T #outAddress // data blok satırından alınan bilgiyi burada görebilirisiniz.
yazılımın bu bölümü data blok adreslerinde bilgileri çekip almaya yarıyor. diğer bölümü çalıştıramadım. iyiy çalışmalar.
arkadaşlar pointerlarla ilgili örnekleri olanlar paylaşırlarsa sevinirim aslında istediğim kendi yazdığınız satırlar çünkü daha iyi anlaşılıyor...teşekkürler
yavuz emin oğlu hocanın s7 300 plc leri programlama kitabını incelersen çok güzel anlatılmış konular göreceksiniz. kitap ın büyük bölümüstl ama üstteki programı ladder yapamzsınız.
kısa sürede edinmeye çalışacam inşallah...
evet ulaş,zaten stl kodlarını çözümlemeye çalışıyorum mesela; double word <D>. Possible destination areas are memory double words (MD), local data
double words (LD), data double words (DBD), and instance data words (DID).
bunların açıklamaları güzelde mesela instance data words ile normal D nin farkı nedir.