238 lines
7.3 KiB
XML
238 lines
7.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.6">
|
|
<POU Name="FB_Vakuumfelder" Id="{b73b6e2f-4be0-410a-bacf-8c5aedb29f5d}" SpecialFunc="None">
|
|
<Declaration><![CDATA[FUNCTION_BLOCK FB_Vakuumfelder
|
|
VAR_IN_OUT
|
|
bExecuteHMI : BOOL;
|
|
END_VAR
|
|
VAR_INPUT
|
|
nFieldNumber : INT;
|
|
nMVakuumfeldEin : UINT := 51;
|
|
nMVakuumfeldAus : UINT := 52;
|
|
nMVakuumAlleEin : UINT := 53;
|
|
nMVakuumAlleAus : UINT := 54;
|
|
nChannelIdx : UINT := 0;
|
|
END_VAR
|
|
VAR_OUTPUT
|
|
bVentilVakuumfeld1 AT %Q* : BOOL;
|
|
bVentilVakuumfeld2 AT %Q* : BOOL;
|
|
bVentilVakuumfeld3 AT %Q* : BOOL;
|
|
bVentilVakuumfeld4 AT %Q* : BOOL;
|
|
bVentilVakuumfeld5 AT %Q* : BOOL;
|
|
bVentilVakuumfeld6 AT %Q* : BOOL;
|
|
bVentilVakuumfeld7 AT %Q* : BOOL;
|
|
bVentilVakuumfeld8 AT %Q* : BOOL;
|
|
bVentilVakuumfeld9 AT %Q* : BOOL;
|
|
bVentilVakuumfeld10 AT %Q* : BOOL;
|
|
|
|
bVentilBelueftung AT %Q* : BOOL;
|
|
END_VAR
|
|
VAR
|
|
bEinschalten : BOOL;
|
|
bSchalten : BOOL;
|
|
nVakuumfeldNummer : DINT;
|
|
nState : INT := 0;
|
|
|
|
rtExecuteHMI : R_TRIG;
|
|
END_VAR
|
|
]]></Declaration>
|
|
<Implementation>
|
|
<ST><![CDATA[rtExecuteHMI(CLK := bExecuteHMI);
|
|
|
|
IF rtExecuteHMI.Q THEN
|
|
bExecuteHMI := FALSE;
|
|
bEinschalten := TRUE;
|
|
bSchalten := TRUE;
|
|
nVakuumfeldNummer := nFieldNumber;
|
|
END_IF
|
|
|
|
(* Einschalten aller Vakuumfelder *)
|
|
IF CNCSystem.Channel[nChannelIdx].M[nMVakuumAlleEin].bState_rw THEN
|
|
bVentilVakuumfeld10 := TRUE;
|
|
bVentilVakuumfeld9 := TRUE;
|
|
bVentilVakuumfeld8 := TRUE;
|
|
bVentilVakuumfeld7 := TRUE;
|
|
bVentilVakuumfeld6 := TRUE;
|
|
bVentilVakuumfeld5 := TRUE;
|
|
bVentilVakuumfeld4 := TRUE;
|
|
bVentilVakuumfeld3 := TRUE;
|
|
bVentilVakuumfeld2 := TRUE;
|
|
bVentilVakuumfeld1 := TRUE;
|
|
|
|
bVentilBelueftung := FALSE;
|
|
|
|
CNCSystem.Channel[nChannelIdx].M[nMVakuumAlleEin].bState_rw := FALSE;
|
|
END_IF
|
|
|
|
(* Ausschalten aller Vakuumfelder *)
|
|
IF CNCSystem.Channel[nChannelIdx].M[nMVakuumAlleAus].bState_rw THEN
|
|
bVentilVakuumfeld10 := FALSE;
|
|
bVentilVakuumfeld9 := FALSE;
|
|
bVentilVakuumfeld8 := FALSE;
|
|
bVentilVakuumfeld7 := FALSE;
|
|
bVentilVakuumfeld6 := FALSE;
|
|
bVentilVakuumfeld5 := FALSE;
|
|
bVentilVakuumfeld4 := FALSE;
|
|
bVentilVakuumfeld3 := FALSE;
|
|
bVentilVakuumfeld2 := FALSE;
|
|
bVentilVakuumfeld1 := FALSE;
|
|
|
|
bVentilBelueftung := TRUE;
|
|
|
|
CNCSystem.Channel[nChannelIdx].M[nMVakuumAlleAus].bState_rw := FALSE;
|
|
END_IF
|
|
|
|
(* Einschalten der Vakuumfelder *)
|
|
IF CNCSystem.Channel[nChannelIdx].M[nMVakuumfeldEin].bState_rw THEN
|
|
nVakuumfeldNummer := CNCSystem.Channel[nChannelIdx].M[nMVakuumfeldEin].nArgument_r;
|
|
bSchalten := TRUE;
|
|
bEinschalten := TRUE;
|
|
CNCSystem.Channel[nChannelIdx].M[nMVakuumfeldEin].bState_rw := FALSE;
|
|
END_IF
|
|
|
|
(* Ausschalten der Vakuumfelder *)
|
|
IF CNCSystem.Channel[nChannelIdx].M[nMVakuumfeldAus].bState_rw THEN
|
|
nVakuumfeldNummer := CNCSystem.Channel[nChannelIdx].M[nMVakuumfeldAus].nArgument_r;
|
|
bSchalten := TRUE;
|
|
bEinschalten := FALSE;
|
|
CNCSystem.Channel[nChannelIdx].M[nMVakuumfeldAus].bState_rw := FALSE;
|
|
END_IF
|
|
|
|
IF bSchalten THEN
|
|
bSchalten := FALSE;
|
|
|
|
bVentilVakuumfeld10 := FALSE;
|
|
bVentilVakuumfeld9 := FALSE;
|
|
bVentilVakuumfeld8 := FALSE;
|
|
bVentilVakuumfeld7 := FALSE;
|
|
bVentilVakuumfeld6 := FALSE;
|
|
bVentilVakuumfeld5 := FALSE;
|
|
bVentilVakuumfeld4 := FALSE;
|
|
bVentilVakuumfeld3 := FALSE;
|
|
bVentilVakuumfeld2 := FALSE;
|
|
bVentilVakuumfeld1 := FALSE;
|
|
|
|
bVentilBelueftung := NOT bEinschalten;
|
|
|
|
CASE nVakuumfeldNummer OF
|
|
1:
|
|
bVentilVakuumfeld1 := bEinschalten;
|
|
bVentilVakuumfeld2 := bEinschalten;
|
|
bVentilVakuumfeld5 := bEinschalten;
|
|
bVentilVakuumfeld6 := bEinschalten;
|
|
2:
|
|
bVentilVakuumfeld1 := bEinschalten;
|
|
bVentilVakuumfeld3 := bEinschalten;
|
|
3:
|
|
bVentilVakuumfeld1 := bEinschalten;
|
|
bVentilVakuumfeld2 := bEinschalten;
|
|
bVentilVakuumfeld3 := bEinschalten;
|
|
bVentilVakuumfeld4 := bEinschalten;
|
|
4:
|
|
bVentilVakuumfeld1 := bEinschalten;
|
|
bVentilVakuumfeld2 := bEinschalten;
|
|
bVentilVakuumfeld3 := bEinschalten;
|
|
bVentilVakuumfeld4 := bEinschalten;
|
|
bVentilVakuumfeld7 := bEinschalten;
|
|
5:
|
|
bVentilVakuumfeld1 := bEinschalten;
|
|
bVentilVakuumfeld2 := bEinschalten;
|
|
bVentilVakuumfeld3 := bEinschalten;
|
|
bVentilVakuumfeld4 := bEinschalten;
|
|
bVentilVakuumfeld5 := bEinschalten;
|
|
bVentilVakuumfeld7 := bEinschalten;
|
|
bVentilVakuumfeld8 := bEinschalten;
|
|
6:
|
|
bVentilVakuumfeld1 := bEinschalten;
|
|
bVentilVakuumfeld2 := bEinschalten;
|
|
bVentilVakuumfeld3 := bEinschalten;
|
|
bVentilVakuumfeld4 := bEinschalten;
|
|
bVentilVakuumfeld5 := bEinschalten;
|
|
bVentilVakuumfeld6 := bEinschalten;
|
|
bVentilVakuumfeld7 := bEinschalten;
|
|
bVentilVakuumfeld8 := bEinschalten;
|
|
bVentilVakuumfeld9 := bEinschalten;
|
|
7:
|
|
bVentilVakuumfeld1 := bEinschalten;
|
|
bVentilVakuumfeld2 := bEinschalten;
|
|
bVentilVakuumfeld3 := bEinschalten;
|
|
bVentilVakuumfeld4 := bEinschalten;
|
|
bVentilVakuumfeld5 := bEinschalten;
|
|
bVentilVakuumfeld6 := bEinschalten;
|
|
bVentilVakuumfeld7 := bEinschalten;
|
|
bVentilVakuumfeld8 := bEinschalten;
|
|
bVentilVakuumfeld9 := bEinschalten;
|
|
bVentilVakuumfeld10 := bEinschalten;
|
|
END_CASE
|
|
END_IF]]></ST>
|
|
</Implementation>
|
|
<LineIds Name="FB_Vakuumfelder">
|
|
<LineId Id="233" Count="0" />
|
|
<LineId Id="236" Count="0" />
|
|
<LineId Id="235" Count="0" />
|
|
<LineId Id="237" Count="0" />
|
|
<LineId Id="239" Count="1" />
|
|
<LineId Id="275" Count="0" />
|
|
<LineId Id="238" Count="0" />
|
|
<LineId Id="234" Count="0" />
|
|
<LineId Id="45" Count="15" />
|
|
<LineId Id="43" Count="1" />
|
|
<LineId Id="29" Count="2" />
|
|
<LineId Id="39" Count="0" />
|
|
<LineId Id="32" Count="6" />
|
|
<LineId Id="9" Count="0" />
|
|
<LineId Id="40" Count="0" />
|
|
<LineId Id="42" Count="0" />
|
|
<LineId Id="61" Count="1" />
|
|
<LineId Id="41" Count="0" />
|
|
<LineId Id="64" Count="0" />
|
|
<LineId Id="66" Count="2" />
|
|
<LineId Id="86" Count="0" />
|
|
<LineId Id="77" Count="0" />
|
|
<LineId Id="173" Count="0" />
|
|
<LineId Id="70" Count="4" />
|
|
<LineId Id="87" Count="0" />
|
|
<LineId Id="78" Count="0" />
|
|
<LineId Id="174" Count="0" />
|
|
<LineId Id="63" Count="0" />
|
|
<LineId Id="89" Count="0" />
|
|
<LineId Id="88" Count="0" />
|
|
<LineId Id="90" Count="0" />
|
|
<LineId Id="125" Count="0" />
|
|
<LineId Id="116" Count="8" />
|
|
<LineId Id="115" Count="0" />
|
|
<LineId Id="126" Count="1" />
|
|
<LineId Id="92" Count="2" />
|
|
<LineId Id="105" Count="0" />
|
|
<LineId Id="203" Count="2" />
|
|
<LineId Id="96" Count="0" />
|
|
<LineId Id="128" Count="0" />
|
|
<LineId Id="106" Count="0" />
|
|
<LineId Id="97" Count="0" />
|
|
<LineId Id="129" Count="1" />
|
|
<LineId Id="107" Count="0" />
|
|
<LineId Id="206" Count="0" />
|
|
<LineId Id="98" Count="0" />
|
|
<LineId Id="132" Count="1" />
|
|
<LineId Id="131" Count="0" />
|
|
<LineId Id="108" Count="0" />
|
|
<LineId Id="208" Count="0" />
|
|
<LineId Id="99" Count="0" />
|
|
<LineId Id="135" Count="2" />
|
|
<LineId Id="134" Count="0" />
|
|
<LineId Id="109" Count="0" />
|
|
<LineId Id="211" Count="1" />
|
|
<LineId Id="100" Count="0" />
|
|
<LineId Id="139" Count="3" />
|
|
<LineId Id="138" Count="0" />
|
|
<LineId Id="110" Count="0" />
|
|
<LineId Id="213" Count="2" />
|
|
<LineId Id="101" Count="0" />
|
|
<LineId Id="216" Count="7" />
|
|
<LineId Id="111" Count="0" />
|
|
<LineId Id="224" Count="0" />
|
|
<LineId Id="95" Count="0" />
|
|
<LineId Id="91" Count="0" />
|
|
</LineIds>
|
|
</POU>
|
|
</TcPlcObject> |