iyi çalışmalar arkadaşlar,
arkadaşlar basit bir toplama çıkarma işlemi yapmam lazım ama işin içinden çıkamıyorum.
Sahada kg cinsinden bir deger geliyor.ben bu degeri A noktasında göstermek istiyorum.
Sahadan gelen bilgi istenildiğinde resetleniyor.Ve resetlenince benim atıyorum 3 saat önce girdiğim degerin üstüne degil de tekrardan sıfırlanıyor.Yani sıfırlandıgında sahadaki deger benim degerim yine kaldıgı yerden toplaması lazım...fikirlerinizi bekliyorum
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.
Doğru anladımmı bilmiyorum ama öyleyse; Resetten hemen önce o datayı başka bir alana kopyala (move) sonra yeni gelen data ile o alandaki datayı toplayarak A noktasına yaz...
İşin aslı bu bahsettiğim bir tumba kantar.Bana tumbadan gelen deger kepserver adlı bir programdan geliyor.Ben Md olarak kullanmıştım baktım stopa geçince plc onu zaten move ile transfer ettim bir dataya.Biraz kapsamlı şuan değil ama yarın size bir resim şeklinde yazılımı gösterebilirim.Sadece toplama ile bitmiyor çünkü 36 farklı yerde kullanıyorum...
Deneme yanılma yoluyla
1.kantar+1.sabit bir deger=1.ara toplam
2.kantar+2.sabit bir değer=2.ara toplam
1.ara toplam + 2.ara toplum =genel toplam
şimdi bunu yapmadan önce şunu denedim ve sonsuz saymaya başladı haliyle;
kantar degeri+toplam=toplam
sonra dedim ki sabit bir deger ile sürekli toplansın genel toplamı yazsın.ama bu sefer kantar degerine reset atınca haliyle tekrardan 0+0'dan başlıyor sonuç.Anlatamadım sanki
- - - Updated - - -
*stopa geçince degerler sıfırlandıgı için o değeri taşıdım,yazacaktım
Aşağıdaki kod; set değer değiştikçe değişen değerleri sürekli toplar ve toplama yazar, ta ki reset gelinceye kadar.
Kod:
[B][COLOR=#0000ff]IF[/COLOR] [/B]setvalue <> oldvalue [B][COLOR=#0000ff]THEN [/COLOR][/B]// Set değer ile eski deger faklı mı?
toplam:=toplam+setvalue; // girilen değer ile toplam degeri toplanır, toplama yazılır
oldvalue:=setvalue; // yeni set deger, eski degere yazılır
[B][COLOR=#0000ff]ELSIF [/COLOR][/B]reset [B][COLOR=#0000ff]THEN [/COLOR][/B]// reset varsa toplamı sıfırla
toplam:=0.0;
[B][COLOR=#0000ff]END_IF[/COLOR][/B];