Simatic Manager POİNTER ADRESLEME

Katılım
19 Eki 2009
Mesajlar
96
Puanları
1
Yaş
38
Konum
İZMİR
STL OLARAK L DB1.DBW[MD 2] yaptığmız adreslemeyi ladder diyagramda nasıl yapabilirim ?
 
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
 
adreslemeyi yapabilsem algoritmayı oluşturucam ama yapamadım mov komutunun girişine DB1.DBW[MD 2] yazdığıkmda sadece MD2 Yİ GÖRÜYOR
 
Sayıcı içerigi mw102 olsun.

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
 
Hatirladigim kadariyla s7 200 de ladder da pointer adreslemesi yapiliyordu ama 300 de. Stl de yazmalisiniz

device_name Cihazımdan your_app_name ile gönderildi
 
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.
 

Forum istatistikleri

Konular
129,807
Mesajlar
930,292
Kullanıcılar
452,609
Son üye
sinal1400

Yeni konular

Geri
Üst