41 lines
987 B
XML
41 lines
987 B
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<TcPlcObject Version="1.1.0.1">
|
|
<POU Name="PRG_Safety" Id="{3b12eabc-3e96-45aa-8279-75f07072b9b0}" SpecialFunc="None">
|
|
<Declaration><![CDATA[PROGRAM PRG_Safety
|
|
VAR_INPUT
|
|
xConfirmAlarms : BOOL;
|
|
xRobotStopped : BOOL;
|
|
END_VAR
|
|
VAR_OUTPUT
|
|
xStopRobot : BOOL := FALSE;
|
|
END_VAR
|
|
VAR
|
|
_xRun AT %Q* : BOOL;
|
|
_xEStopOk AT %I* : BOOL;
|
|
|
|
|
|
_xRequestOpenDoor AT %I* : BOOL;
|
|
_rtrigDoorUnlock : R_TRIG;
|
|
|
|
_xLockDoor AT %Q* : BOOL := TRUE;
|
|
|
|
_xComStartup AT %I* : BOOL;
|
|
|
|
_xErrorAck AT %Q* : BOOL;
|
|
_tofErrorAck : TOF := (PT := T#500MS);
|
|
END_VAR
|
|
]]></Declaration>
|
|
<Implementation>
|
|
<ST><![CDATA[_xRun := NOT _xComStartup;
|
|
|
|
_rtrigDoorUnlock(CLK := _xRequestOpenDoor AND xRobotStopped);
|
|
IF _rtrigDoorUnlock.Q THEN
|
|
xStopRobot := (NOT xStopRobot);
|
|
_xLockDoor := (NOT _xLockDoor);
|
|
END_IF
|
|
|
|
// Reset safety group errors
|
|
_tofErrorAck(IN:= xConfirmAlarms, PT:= T#500MS, Q=> _xErrorAck, ET=> );]]></ST>
|
|
</Implementation>
|
|
</POU>
|
|
</TcPlcObject> |