Files
infineon_plc/PLC/LibraryCandidates/ISA88/FB_Isa88_SM.TcPOU
m.heisig 2d11c43579 Added minimal functionality for Robot teaching
- Added minimal HMI
- Added possibility to open and close all chamber doors
2026-01-17 09:20:39 +01:00

177 lines
4.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<POU Name="FB_Isa88_SM" Id="{29def7dc-7eb7-4788-94bf-20badd909417}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK FB_Isa88_SM IMPLEMENTS I_Isa88_SM
VAR_INPUT
xExecute : BOOL;
eCMD : E_Isa88_Cmd;
END_VAR
VAR_OUTPUT
eCurrentState : E_Isa88_State;
eCurrentCMD : E_Isa88_Cmd;
END_VAR
VAR
_eState : E_Isa88_State;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[CASE _eState OF
E_Isa88_State.IDLE:
M_StateIdle();
E_Isa88_State.RUNNING:
M_StateRunning();
E_Isa88_State.COMPLETE:
M_StateComplete();
E_Isa88_State.PAUSING:
IF M_StatePausing() THEN
_eState := E_Isa88_State.PAUSED;
END_IF
E_Isa88_State.PAUSED:
M_StatePaused();
E_Isa88_State.HOLDING:
IF M_StateHolding() THEN
_eState := E_Isa88_State.HELD;
END_IF
E_Isa88_State.HELD:
M_StateHeld();
E_Isa88_State.RESTARTING:
IF M_StateRestarting() THEN
_eState := E_Isa88_State.RUNNING;
END_IF
E_Isa88_State.STOPPING:
IF M_StateStopping() THEN
_eState := E_Isa88_State.STOPPED;
END_IF
E_Isa88_State.STOPPED:
M_StateStopped();
E_Isa88_State.ABORTING:
IF M_StateAborting() THEN
_eState := E_Isa88_State.ABORTED;
END_IF
E_Isa88_State.ABORTED:
M_StateAborted();
ELSE
;
END_CASE]]></ST>
</Implementation>
<Method Name="M_StateAborted" Id="{7d3ae447-cd1c-41c4-ac16-4adbba3ca9d2}">
<Declaration><![CDATA[METHOD M_StateAborted
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StateAborting" Id="{65c188ca-e49a-469e-8acf-15108e45afc4}">
<Declaration><![CDATA[METHOD M_StateAborting : BOOL
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StateComplete" Id="{c6f588b5-faa7-4cdb-8ef7-15b60b1b3437}">
<Declaration><![CDATA[METHOD M_StateComplete
VAR_INPUT
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StateHeld" Id="{d3017117-19ee-4be8-a004-3bf1cb3e986c}">
<Declaration><![CDATA[METHOD M_StateHeld
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StateHolding" Id="{aa747568-2f98-4853-8a09-082a8e71cb49}">
<Declaration><![CDATA[METHOD M_StateHolding : BOOL
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StateIdle" Id="{a1e6fb67-08b4-4452-a103-1e87b93b70df}">
<Declaration><![CDATA[METHOD M_StateIdle
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StatePaused" Id="{e2e36464-c119-471f-8bba-3290f653d282}">
<Declaration><![CDATA[METHOD M_StatePaused
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StatePausing" Id="{02b59ba7-54b7-4ccd-88ad-9fc49284626e}">
<Declaration><![CDATA[METHOD M_StatePausing : BOOL
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StateRestarting" Id="{b6ffa7ab-5439-47ef-8993-798aa3ec7e01}">
<Declaration><![CDATA[METHOD M_StateRestarting : BOOL
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StateRunning" Id="{e61c2773-08f6-421e-88fd-c87d0d7d7581}">
<Declaration><![CDATA[METHOD M_StateRunning
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StateStopped" Id="{0455a3a5-4745-4cf5-8c40-69d001c1d9aa}">
<Declaration><![CDATA[METHOD M_StateStopped
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
<Method Name="M_StateStopping" Id="{e88bc558-0424-4a5f-99cd-f9d787839b47}">
<Declaration><![CDATA[METHOD M_StateStopping : BOOL
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
</Method>
</POU>
</TcPlcObject>