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.
peki ben bir sayıcı yapıp data blok içindeki alanları bu sayıcı değerine göre okutmak istesem nasıl yapabilirim ?
örneğin sayıcı içeriği 0 ise 0 nolu word alanı sayıcı içeriği 4 ise 4 nolu word alanı okumak istesem bunu nasıl adreslemem gerekir
Sizin istediğiniz (benim anladığım kadarı ile) bir durum makinesi oluşturmak.
Öncelikli olarak bir skala oluşturup bunu word değerine bağlamanız gerekiyor.
Bunu şu şekilde yapabilirsiniz:
Sayıcının eşlik değeri mutlak ise yani CNT=145 gibi...
Move komutundaki source verisini değiştirerek blokları klonlama yerine kaynağı değiştirme metodu daha az step yazarak oluşturabilirsiniz.
Başka bir yol skalanın sonucunda N kadar biti kaydırıp dataları aktarmaktır.
Bu maping uygulamalarında kullanılması gereken bir fonksiyondur.
Tak bir adet IPC kurtul ladder falan ufff daral geldi iki dakkada...
Umarım yardımı dokunmuştur.. @MEHMET15816
Kolay gelsin....
tam olarak yapmak istediğim bu değil kardeşim data blok içine 24 tane word açmalıyım yani günlük yapılan işleri saat başı kayıt edip sonrada bunları sıralamalıyım bunları yapabilmem için 0. word alanı DB1.DBX.0.0 YA İŞTE BEN BU 0.0 YERİNE DEĞİŞKEN TANIMLAMAK İSTİYORUM BUNU STL DE DB1.DBW[MD 2] BÖYLE İFADE EDİYORUM BUNU LADDER DİYAGRAMDA NASIL İFADE EDEBİLECEĞİMİ BİLMİYORUM
L P#M102.0
LAR1
L MW[AR1,P#0.0]
SLD3
LAR1
OPN DB1
L DBW[AR1,P#0.0]
T qw[AR1,P#0.0]
yalniz db de olmayan daha büyük satir nosu sayarsa sayici plc fault a gecer bunun da engellenmedi lazim
TIA portal v11 ile programlama yapıyorum tüm komutları inceledim yazdığım değeri pointer değere çeviren bir fonksiyon göremedim stl de dediğin gibi yapılabiliyo muhip kardeşim scl de ise array alanlarına integer değer atıp yapabiliyoruz ama ladderde bulamadım
tam olarak yapmak istediğim bu değil kardeşim data blok içine 24 tane word açmalıyım yani günlük yapılan işleri saat başı kayıt edip sonrada bunları sıralamalıyım bunları yapabilmem için 0. word alanı DB1.DBX.0.0 YA İŞTE BEN BU 0.0 YERİNE DEĞİŞKEN TANIMLAMAK İSTİYORUM BUNU STL DE DB1.DBW[MD 2] BÖYLE İFADE EDİYORUM BUNU LADDER DİYAGRAMDA NASIL İFADE EDEBİLECEĞİMİ BİLMİYORUM
stl kodları kullanarak yukarıda senin başladığın yöntemle yani endirekt adreslemeyle yaparsın. illa ladder kullanacaksan tablo komutlarını kullanmanı tavsiye ederim tabloya ekle. sistem fonksiyonlarında yada iec tam hatırlamıyorum addtbl komutu olacaktı library de ararsan bulursun. kısaca sen bir tablo yapacak ve her saat başı bu tablodaki satırlara sırayla kayıt yapacaksın. (bu komutlar ladder tarafından destekleniyor )
haa bu arada tia portal demişin pardon. tia da tablo daha kolay sağda bir yerde tablo komutları başlığında göreceksin.... kolay gele.