SoMachine, Machine Expert ve diğer CODESYS tabanlı sistemlerde kullanılabilen TONR Fonksiyon blogu, TON (Time On Delay) zaman rölesini etkili bir şekilde kullanmak için tasarlanmıştır. Bu kod, TON zaman rölesini kullanırken, rölenin resetlenmesi ve tekrar setlenmesi durumunda, sürenin en baştan başlaması yerine kaldığı süreden devam etmesini sağlar. Bu özellik, özellikle bir cihazın belirli bir işlemi tamamlamak için belirlenen bir süre içinde kalmasını sağlamak için önemlidir. Örneğin, bir makinenin bir işlemi gerçekleştirmesi için belirli bir zaman dilimine ihtiyacı varsa ve bu işlem sırasında röle resetlenirse, işlemi tamamlamak için kalan sürenin kaybedilmesi istenmeyebilir. Bu nedenle, TON zaman rölesinin kalan süreyi hafızada tutarak devam etme özelliği, işlemlerin düzgün bir şekilde tamamlanmasını sağlar."
Kullanılan değişkenler(variable);
Current_ET: Startlandığı döngüde geçen süre
Total_ET: Toplam Star döngülerinde geçen süre
RT:Kalan süre
Q: Çıkış
Örnek Kullanımlar
Ladder;
İndirmek İçin: https://github.com/refikdinmez/TONR
Kaynak Kodları
FUNCTION_BLOCK TONR
VAR_INPUT
IN : BOOL;
PT : TIME;
TimeReset : BOOL;
END_VAR
VAR_OUTPUT
Current_ET : TIME;
Total_ET : TIME;
RT : TIME;
Q : BOOL;
END_VAR
VAR
TON_Timer : TON;
SetPT : TIME;
mPT : TIME;
END_VAR
//refik.com.tr
TON_Timer();TON_Timer.IN:=IN;Current_ET:=TON_Timer.ET;Total_ET:=mPT-RT;RT:=(TON_Timer.PT-TON_Timer.ET);Q:=(TON_Timer.Q);setPT:=SEL(IN,SetPT,RT);
IF PT=SetPT THEN mPT:=PT; END_IF
IF NOT IN AND (mPT<>PT) OR TimeReset THEN SetPT:=PT; END_IF
IF NOT IN THEN TON_Timer.PT:=SetPT; END_IF
//refik.com.tr
Yorumlar
Yorum Gönder