Files
HundM_Fortna/2_ILSLib/FB/Misc/FB_VarioFingerMonitoring.scl
T
2026-06-29 16:29:41 +02:00

44 lines
1.7 KiB
Plaintext

FUNCTION_BLOCK "FB_VarioFingerMonitoring"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
stInSenFinger : "UDT_Sensor"; // Das zu überwachende Fingerabfrage-Signal
xInMotorRun : Bool; // Vario an
stInSettings : "UDT_SettingsVarioFingerMonitoring"; // Parameter Einstellungen
END_VAR
VAR_OUTPUT
xOutErrorSignal : Bool; // Fehler Ausgang
END_VAR
VAR
tOn_SignalHigh {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // Einschaltverzögerung High Signal
tOn_SignalLow {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // Einschaltverzögerung Low Signal
tOnMotorRunningDelay {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // Einschaltverzögerung Vario an
xErrorSignal : Bool; // Fehler
END_VAR
BEGIN
REGION Überwachung Raster Sensor
#tOnMotorRunningDelay(IN := #xInMotorRun, // CarouselRun muss delayed benutzt werden, wegen Anfahrzeit vom ETF
PT := #stInSettings.tDelayMotorRun);
#tOn_SignalHigh(IN := #xInMotorRun AND #tOnMotorRunningDelay.Q AND #stInSenFinger.xDirectSensor,
PT := #stInSettings.tSignalHigh);
#tOn_SignalLow(IN := #xInMotorRun AND #tOnMotorRunningDelay.Q AND NOT #stInSenFinger.xDirectSensor,
PT := #stInSettings.tSignalLow);
#xErrorSignal := #tOn_SignalHigh.Q OR #tOn_SignalLow.Q; // Wenn einer der beiden Timer abläuft, dann Fehler!
END_REGION
REGION Ausgänge
#xOutErrorSignal := #xErrorSignal AND #stInSettings.xEnableSupervision; // Fehler ausgeben, wenn Überwachung aktiviert
END_REGION
END_FUNCTION_BLOCK