Files
Adeco_20220119-01/TC3_CNCPLCBase/OEM/FB_Vakuumpumpe.TcPOU
Matthias Heisig 51d6e7e5c4 Initial commit
2024-10-22 14:22:54 +02:00

80 lines
2.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.6">
<POU Name="FB_Vakuumpumpe" Id="{56747386-4093-4ce8-86aa-e3f67ca94e13}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK FB_Vakuumpumpe
VAR_INPUT
bToggle : BOOL;
nMEin : INT := 74;
nMAus : INT := 75;
nChannelIdx : UINT := 0;
bReset : BOOL;
END_VAR
VAR_OUTPUT
bUmrichterFehler AT %I* : BOOL;
bVakuumpumpeEin AT %Q* : BOOL := FALSE;
iFrequenzVakuumpumpe AT %Q* : INT := 0; // 27230 = 50 Hz, 32767 = 60 Hz
END_VAR
VAR
rtToggle : R_TRIG;
rtReset : R_TRIG;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[rtReset(CLK := bReset);
rtToggle(CLK := bToggle);
IF rtToggle.Q THEN
IF NOT bVakuumpumpeEin THEN
bVakuumpumpeEin := TRUE;
iFrequenzVakuumpumpe := 32000;
ELSE
bVakuumpumpeEin := FALSE;
iFrequenzVakuumpumpe := 0;
END_IF
END_IF
IF CNCSystem.Channel[nChannelIdx].M[nMEin].bState_rw THEN
bVakuumpumpeEin := TRUE;
iFrequenzVakuumpumpe := 32000;
CNCSystem.Channel[nChannelIdx].M[nMEin].bState_rw := FALSE;
END_IF
IF CNCSystem.Channel[nChannelIdx].M[nMAus].bState_rw THEN
bVakuumpumpeEin := FALSE;
iFrequenzVakuumpumpe := 0;
CNCSystem.Channel[nChannelIdx].M[nMAus].bState_rw := FALSE;
END_IF
IF rtReset.Q THEN
bVakuumpumpeEin := FALSE;
iFrequenzVakuumpumpe := 0;
CNCSystem.Channel[nChannelIdx].M[nMEin].bState_rw := FALSE;
CNCSystem.Channel[nChannelIdx].M[nMAus].bState_rw := FALSE;
END_IF]]></ST>
</Implementation>
<LineIds Name="FB_Vakuumpumpe">
<LineId Id="9" Count="0" />
<LineId Id="56" Count="0" />
<LineId Id="55" Count="0" />
<LineId Id="58" Count="0" />
<LineId Id="57" Count="0" />
<LineId Id="61" Count="1" />
<LineId Id="64" Count="3" />
<LineId Id="63" Count="0" />
<LineId Id="60" Count="0" />
<LineId Id="18" Count="0" />
<LineId Id="17" Count="0" />
<LineId Id="19" Count="0" />
<LineId Id="21" Count="1" />
<LineId Id="20" Count="0" />
<LineId Id="26" Count="4" />
<LineId Id="25" Count="0" />
<LineId Id="32" Count="0" />
<LineId Id="31" Count="0" />
<LineId Id="33" Count="0" />
<LineId Id="35" Count="2" />
<LineId Id="34" Count="0" />
</LineIds>
</POU>
</TcPlcObject>