Tia Portal Analog Max. Değer Elde Etme

sefa_55_1

Üye
Katılım
17 Mar 2009
Mesajlar
9
Puanları
1
Yaş
34
Merhabalar,

S7-1200 de loadcell yardımıyla yük ölçümü yapıyorum. Norm_x ve Scale_x de problem yaşamadım.
Sormak istediğim ;
Ağırlığı loadcell ünitesinin üstüne koydum 200 kg yi ekranda gördüm ağırlığı kaldırınca sıfırlanıyor.
Ama ben sıfırlansın istemiyorum bir sonraki ağırlığı koyana kadar 200 kg değeri ekranda yazılı kalsın.
Bunun için programa nasıl bir eklenti yapmalıyım.
 
Merhaba ağırlığı koyduktan 3 sn gibi değeri alın bir Word alanına kaydedin ve taki reset butonuna basana kadar değer sifirlanmasin
 
Ağırlığın maksimum değere ulaştığı süreyi tesbit edip o süre sonunda anlık ağırlığı bir data alanına kaydedin (Move) ve ekrandaki gösterim alanı adresine o adresin bilgisini taşıyın.
Daha sonra arka planda okunan anlık ağırlık değeri düşüp tekrar belli bir değeri geçtiğinde ( Meselan 1 Kg) bir pozitif yükselen kenar yardımı ile tekrar ekrana anlık ağırlık değerinin bulunduğu adres bilgisini taşıyın.
 
Egerki ağırlık maksimum ağırlığa ulaştığında bunu bir bit ile aktif edeceksen zaten basit ama yok ben otomatik max seviyeye geldiğinde kalıcı olmasını tekrar reset atana kadar görmek istiyorum diyosan benim söylediğim mantıklı başka yolda düşünebilirsin ama bu senin mantığına bagli
 
Merhaba değerli kardeşim
Maksimum ağırlık değerini bu şekilde alabilirsin.
MW100; Teraziden anlık okunan değer.
MW110 :Terazide maksimum ölçülen değer.

MAX. DEGER ALMA.png
 
Tekrardan merhaba,

Arkadaşlar hepinizi çok teşekkür ederim, arslan3455 kardeşimin dediği gibi uyguladım ve program senaryosuna bağlı olarak resetlettim gayet iyi çalışıyor şuan.
 
4-20 için analog scala programı yapmak istiyorum beckhoff kullanıyorum scala işlemini el ile yazdım fakat kafama takılan ben sensörden 4 ma aldığımda bunu %0 20 aldığımda bunu %100 olarak göstermek ama bunun için 16 bit çözünürlükteki 0-32767 değerini 16 ya mı ayıracagım kafam karıştı yani kısacası 4 mA değer geldiğinde analog kartım 4*(20/32767) değerinimi alıcak yoksa 4 min değer olduğu için 0 mı gelicek beni aydınlatrsanız çok ama çok duacı olurum.Teşekkürler

rAmper_Input :=20 * INT_TO_REAL (nInput)/32767;
Gercek_rAmper :=(16 * INT_TO_REAL (nInput)/32767)+4;
Oran:=(nInput*(InputHiVal-InputLowVal)/(32767)+InputLowVal);
Gercek_Oran:=((rAmper_Input-4)/16)*(InputHiVal-InputLowVal)+InputLowVal;
IF Gercek_Oran <0 THEN
Gercek_Oran :=0;
END_IF
Ekran Alıntısı.PNG
 
Son düzenleme:

Forum istatistikleri

Konular
129,878
Mesajlar
930,973
Kullanıcılar
452,748
Son üye
Baranturk34.

Yeni konular

Geri
Üst