Relinked everything with HAL and Execute pattern
- Switched to BaseConponents V2.0
This commit is contained in:
18
PLC/01_Stationen/HVTester/DUTs/ST_HVTester_IO.TcDUT
Normal file
18
PLC/01_Stationen/HVTester/DUTs/ST_HVTester_IO.TcDUT
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_HVTester_IO" Id="{e4332098-37a5-407c-844f-9ed62f4ca4eb}">
|
||||
<Declaration><![CDATA[TYPE ST_HVTester_IO :
|
||||
STRUCT
|
||||
stValveDoor : ST_Valve_IO;
|
||||
stValveTestChamber : ST_Valve_IO;
|
||||
stValveReleaseChamber : ST_Valve_IO;
|
||||
|
||||
i_xDoorCollisionDetectOk AT %I* : BOOL;
|
||||
i_xVacuumOk AT %I* : BOOL;
|
||||
i_xChamberFree AT %I* : BOOL;
|
||||
i_xChamberNotFree AT %I* : BOOL;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -13,32 +13,46 @@ VAR_OUTPUT
|
||||
xTestChamberOpen : BOOL;
|
||||
END_VAR
|
||||
VAR_IN_OUT
|
||||
stIO : ST_HVTester_IO;
|
||||
stHMIInterface : ST_HMI_HVTester;
|
||||
END_VAR
|
||||
VAR
|
||||
_fbDoorValve : FB_Valve('Door');
|
||||
_stDoorValveConfig : ST_ValveConfig;
|
||||
_stDoorValveConfig : ST_ValveConfig := (xNormallyOpen := TRUE);
|
||||
|
||||
_fbTestChamberValve : FB_Valve('Chamber');
|
||||
_stTestChamberValveConfig : ST_ValveConfig;
|
||||
|
||||
_fbReleaseChamberMovement : FB_Valve('Release Chamber');
|
||||
_stReleaseValveConfig : ST_ValveConfig;
|
||||
|
||||
_xFirstCycle : BOOL := TRUE;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[_fbDoorValve(
|
||||
<ST><![CDATA[IF _xFirstCycle THEN
|
||||
_xFirstCycle := FALSE;
|
||||
|
||||
stHMIInterface.stDoorValve.stInterlock.asSafetyINTLKName[0] := 'Door collision sensor';
|
||||
END_IF
|
||||
|
||||
|
||||
_fbDoorValve.wSafetyINTLK.0 := stIO.i_xDoorCollisionDetectOk;
|
||||
_fbDoorValve(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stDoorValveConfig,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stIO := stIO.stValveDoor,
|
||||
stHMIInterface:= stHMIInterface.stDoorValve);
|
||||
|
||||
|
||||
_fbTestChamberValve(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stTestChamberValveConfig,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stIO := stIO.stValveTestChamber,
|
||||
stHMIInterface:= stHMIInterface.stTestChamberValve);
|
||||
|
||||
_fbReleaseChamberMovement(
|
||||
@@ -46,7 +60,8 @@ _fbReleaseChamberMovement(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stReleaseValveConfig,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stIO := stIO.stValveReleaseChamber,
|
||||
stHMIInterface:= stHMIInterface.stReleaseChamberValve);
|
||||
|
||||
// Call base sm
|
||||
@@ -73,6 +88,10 @@ _stDoorValveConfig.xHasOpenFeedback := TRUE;
|
||||
_stDoorValveConfig.xHasClosedFeedback := TRUE;
|
||||
_stDoorValveConfig.timTimeoutOpen := T#10S;
|
||||
_stDoorValveConfig.timTimeoutClose := T#10S;
|
||||
_stDoorValveConfig.xNormallyOpen := TRUE;
|
||||
|
||||
// First safety interlock is the collision sensor
|
||||
_fbDoorValve.wSafetyINTLKUsed.0 := 1;
|
||||
|
||||
// Test chamber valve config
|
||||
_stTestChamberValveConfig.xHasOpenFeedback := TRUE;
|
||||
@@ -81,6 +100,8 @@ _stTestChamberValveConfig.timTimeoutOpen := T#10S;
|
||||
_stTestChamberValveConfig.timTimeoutClose := T#10S;
|
||||
_stTestChamberValveConfig.xNormallyOpen := TRUE;
|
||||
|
||||
// Open test chamber normally after restart
|
||||
_fbTestChamberValve.xAutomaticOpen := TRUE;
|
||||
|
||||
// Release valve config
|
||||
_stReleaseValveConfig.xHasOpenFeedback := FALSE;
|
||||
|
||||
Reference in New Issue
Block a user