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.
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.
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