s7 1200 Dolaylı adresleme ve pointer kullanımı nasıl?

fractal

Üye
Katılım
16 Mar 2007
Mesajlar
219
Puanları
1
Yaş
39
arkadaşlar s7 1200 de dolaylı adresleme yapmak istiyorum.yani her cevrim bir değeri bir değişkene atıp bir artıracağım.belli zaman sonrada hepsini birden sileceğim.s7 1200 de bu nasıl yapabilirim.örnek kod lazım..

teşekkürler..
 
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
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.
array içerisine yazmak işini görürse SCL ve for döngüsüyle yapabilirsin.
 
array kullanımı başkalarıda önermişti.örnek kod varmı?
 
Senaryoyu tam verirsen yazabilirim
 
senaryom şöyle:her cevrimde okuduğum real değeri bir adrese yazmak.bu yaklaşık 10 saniye sürüyor.plc nin hafızası yetermi bilmiyorum.böyle bir diziyi nasıl oluşturacağım bilmiyorum.kısaca her okudğumum değeri düzenli ve sıralı olarak kaydetmek istiyorum.sonra bunları işleyeceğim.örneğin türev alabilirim.sanırım bunun için iki database ihtiyacım olucak cevrim başladığında timer açaçağım ve hemen değeri yazacağım bir de cevrim son unda değeri tekrar yazmam gerekecek. sonra real değerleri önceki ve sonraki arasındaki farkı alıp timer değerlerin farkına böleceğim. bilemiyorum.deneyeceğim...

birde şöyle bir komut varmı?belli bir sayı içinden en büyük değeri bulma.böyle olunca türev almamada gerek kalmayacak...

teşekkürler..
 
upload_2018-4-25_15-25-15.png

Kod:
(*
Her çevrimde okumak istediğin için bir zaman aralığı koymuyorum. Ortalama kaç değer kaydedeceğini bilmediğimden arrayi
10 değerle sınırlandırdım sen değiştirebilirsin.
*)
IF #i >= 0 AND #i <= 10 THEN
FOR #i := 0 TO 10 DO
    #Kaydedilen_Deger[#i] := #kaydedilecek_deger;
    IF #i = 10 THEN
        #Son_Veri := TRUE;
    END_IF;
    ;
END_FOR;
ELSE
    #i := 0;
    #Son_Veri := false;
END_IF;
 
peki bir dizideki en büyük sayıyı nasıl buluyoruz.bunun bir komutu varmı?
 
Akşam düzenleyip gönderirim. Böyle bir komıt benim bildiğim yok kendi algoritmanı oluşturman gerek
 
MAX(IN1:=_sint_in_, IN2:=_sint_in_) bu komut varmış girişlerdeki en büyük değeri buluyor sanırım..

şöyle bir sorunumda var.bu 10 saniyenin bana yetip yetmeyeceğini nasıl bileceğim ya tüm dizi dolarsa...
 

Forum istatistikleri

Konular
128,174
Mesajlar
915,637
Kullanıcılar
449,936
Son üye
AsilOzgenc

Yeni konular

Geri
Üst