Started to change to HAL architecture
This commit is contained in:
14
PLC/01_Stationen/Aligner/DUTs/HAL/ST_Aligner_IO.TcDUT
Normal file
14
PLC/01_Stationen/Aligner/DUTs/HAL/ST_Aligner_IO.TcDUT
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Aligner_IO" Id="{2573b629-32bc-4e57-b75e-bbc93eacf509}">
|
||||
<Declaration><![CDATA[TYPE ST_Aligner_IO :
|
||||
STRUCT
|
||||
i_xVacuumOk AT %I* : BOOL;
|
||||
|
||||
i_diXOffset AT %I* : DINT;
|
||||
i_diYOffset AT %I* : DINT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -5,7 +5,6 @@
|
||||
VAR_INPUT
|
||||
xEnableVacuum : BOOL;
|
||||
xExecute : BOOL;
|
||||
xReleaseManualMode : BOOL;
|
||||
xReleaseAlarms : BOOL;
|
||||
xConfirmAlarms : BOOL;
|
||||
END_VAR
|
||||
@@ -58,7 +57,7 @@ _fbValveVacuum(
|
||||
xAutomaticOpen:= xEnableVacuum,
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveVacuumConfig,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stVacuumValve);
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ VAR_INPUT
|
||||
xEnableVacuum : BOOL;
|
||||
xOpenChuckClamp : BOOL;
|
||||
xEjectChuck : BOOL;
|
||||
xReleaseManualMode : BOOL;
|
||||
xReleaseAlarms : BOOL;
|
||||
xConfirmAlarms : BOOL;
|
||||
END_VAR
|
||||
@@ -106,7 +105,7 @@ _fbValveDoor(
|
||||
xAutomaticOpen:= xOpenDoor,
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveDoorCfg,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stDoorValve);
|
||||
|
||||
@@ -126,7 +125,7 @@ _fbValveVacuum(
|
||||
xAutomaticOpen := xEnableVacuum,
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveVacuumConfig,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stVacuumValve);
|
||||
|
||||
@@ -134,7 +133,7 @@ _fbUnlockLeft(
|
||||
xAutomaticOpen:= _xOpenChuckClamp,
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveUnlockLeftCfg,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stChuckUnlockLeft);
|
||||
|
||||
@@ -142,7 +141,7 @@ _fbUnlockRight(
|
||||
xAutomaticOpen:= _xOpenChuckClamp,
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveUnlockRightCfg,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stChuckUnlockRight);
|
||||
|
||||
@@ -150,7 +149,7 @@ _fbEjectFront(
|
||||
xAutomaticOpen:= _xEjectChuck,
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveClampingFrontCfg,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stChuckEjectFront);
|
||||
|
||||
@@ -158,7 +157,7 @@ _fbEjectBack(
|
||||
xAutomaticOpen:= _xEjectChuck,
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveEjectBackCfg,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stChuckEjectBack);
|
||||
|
||||
@@ -177,7 +176,7 @@ _fbRobot(stPackMLHMIInterface := stHMIInterface.stMecaCmds);
|
||||
_fbValveEnableFilmetch(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveConfig,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms := xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stValveFilmetch);
|
||||
|
||||
|
||||
@@ -30,14 +30,14 @@ END_VAR
|
||||
<ST><![CDATA[_fbDoorValve(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stDoorValveConfig,
|
||||
xReleaseManualMode:= TRUE,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stDoorValve);
|
||||
|
||||
_fbTestChamberValve(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stTestChamberValveConfig,
|
||||
xReleaseManualMode:= TRUE,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stTestChamberValve);
|
||||
|
||||
@@ -45,7 +45,7 @@ _fbReleaseChamberMovement(
|
||||
xAutomaticOpen := TRUE,
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stReleaseValveConfig,
|
||||
xReleaseManualMode:= TRUE,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stReleaseChamberValve);
|
||||
|
||||
|
||||
@@ -150,7 +150,8 @@ VAR_INPUT
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[stHMIInterface.stEnableBtn.xRelease := (NOT _xEnable);
|
||||
<ST><![CDATA[{warning disable C0371}
|
||||
stHMIInterface.stEnableBtn.xRelease := (NOT _xEnable) AND _xReleaseManualMode;
|
||||
IF _xEnable THEN
|
||||
stHMIInterface.stEnableBtn.eFeedback := 1;
|
||||
stHMIInterface.stDisableBtn.eFeedback := 0;
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_MediaCabinet_IO" Id="{4cd66bd0-a52a-4f12-b907-78c31a0ae205}">
|
||||
<Declaration><![CDATA[TYPE ST_MediaCabinet_IO :
|
||||
STRUCT
|
||||
// (1) Acetic acid 99%
|
||||
stTank1AceticAcidHighIO : ST_Tank_IO;
|
||||
|
||||
// (2) Sulfuric acid
|
||||
stTank2SulfuricAcidIO : ST_Tank_IO;
|
||||
|
||||
// (3) Nitric acid 65% mixing
|
||||
stTank3NitricAcidIO : ST_Tank_IO;
|
||||
|
||||
// (4) Acetic acid 10%
|
||||
stTank4AceticAcidLowIO : ST_Tank_IO;
|
||||
|
||||
// (5) Hydrofluoric acid 40%
|
||||
stTank5HydrofluoricAcidIO : ST_Tank_IO;
|
||||
|
||||
// (6) Sulfuric acid mixing
|
||||
stTank6SulfuricAcidMixingIO : ST_Tank_IO;
|
||||
|
||||
// (7) Hydrofluoric acid 40% for mixing
|
||||
stTank7HydrofluoricAcidMixingIO : ST_Tank_IO;
|
||||
|
||||
// (8) SEF
|
||||
stTank8SEFIO : ST_Tank_IO;
|
||||
|
||||
// (9) Filmetch
|
||||
stTank9FilmetchIO : ST_Tank_IO;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
13
PLC/01_Stationen/MediaStation/DUTs/HAL/ST_Tank_IO.TcDUT
Normal file
13
PLC/01_Stationen/MediaStation/DUTs/HAL/ST_Tank_IO.TcDUT
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Tank_IO" Id="{dfa73416-0b16-4c4f-94ca-fabd1404e589}">
|
||||
<Declaration><![CDATA[TYPE ST_Tank_IO :
|
||||
STRUCT
|
||||
i_xOverfull AT %I* : BOOL;
|
||||
i_xFull AT %I* : BOOL;
|
||||
i_xEmpty AT %I* : BOOL;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -3,6 +3,8 @@
|
||||
<DUT Name="ST_HMI_MediaCabinet" Id="{531277fd-be49-4a36-8089-70f1b95b2250}">
|
||||
<Declaration><![CDATA[TYPE ST_HMI_MediaCabinet :
|
||||
STRUCT
|
||||
stStationCmds : ST_HMI_PackML;
|
||||
|
||||
// (1) Acetic acid 99%
|
||||
stTankAceticAcidHigh : ST_HMI_Tank;
|
||||
|
||||
|
||||
@@ -195,7 +195,8 @@ VAR_INPUT
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[// Copy requested state into internal buffer
|
||||
<ST><![CDATA[{warning disable C0371}
|
||||
// Copy requested state into internal buffer
|
||||
_wStateReq := wState;
|
||||
|
||||
// Send pump state change request
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<POU Name="FB_MediaCabinet" Id="{9de34b64-23ba-4fef-b086-9297bbd06f24}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_MediaCabinet
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_MediaCabinet EXTENDS FB_PackMLGeneric
|
||||
VAR_INPUT
|
||||
xReleaseManualMode : BOOL;
|
||||
xReleaseErrors : BOOL;
|
||||
xConfirmAlarms : BOOL;
|
||||
END_VAR
|
||||
@@ -60,55 +59,55 @@ END_VAR
|
||||
<Implementation>
|
||||
<ST><![CDATA[_fbTankAceticAcidHigh(
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stTankAceticAcidHigh);
|
||||
|
||||
_fbTankSulfuricAcid(
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stTankSulfuricAcid);
|
||||
|
||||
_fbTankNitricAcid(
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stTankNitricAcid);
|
||||
|
||||
_fbTankAceticAcidLow(
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stTankAceticAcidLow);
|
||||
|
||||
_fbTankHydrofluoricAcid(
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stTankHydrofluoricAcid);
|
||||
|
||||
_fbTankSulfuricAcidMixing(
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stTankSulfuricAcidMixing);
|
||||
|
||||
_fbTankHydrofluoricAcidMixing(
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stTankHydrofluoricAcidMixing);
|
||||
|
||||
_fbTankSEF(
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stTankSEF);
|
||||
|
||||
_fbTankFilmetch(
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stTankFilmetch);
|
||||
|
||||
@@ -116,7 +115,7 @@ _fbTankFilmetch(
|
||||
_fbValveFilmetchOut(
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
stValveConfig:= _stValveConfig,
|
||||
xReleaseManualMode:= xReleaseManualMode,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface:= stHMIInterface.stValveFilmetch);
|
||||
|
||||
@@ -128,7 +127,8 @@ _fbLeviPump9(
|
||||
rSpeedSP:= 2000,
|
||||
fbModbusMaster:= _fbMBMaster);
|
||||
|
||||
]]></ST>
|
||||
// Call isa88 base state machine
|
||||
SUPER^(stPackMLHMIInterface := stHMIInterface.stStationCmds);]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="FB_Init" Id="{860f10c9-69ca-4ad7-9edc-00af754d0af0}">
|
||||
<Declaration><![CDATA[//FB_Init is always available implicitly and it is used primarily for initialization.
|
||||
|
||||
@@ -145,7 +145,8 @@ VAR_INPUT
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[// Start emptying tank
|
||||
<ST><![CDATA[{warning disable C0371}
|
||||
// Start emptying tank
|
||||
IF stHMIInterface.stEmptyButton.xRequest THEN
|
||||
stHMIInterface.stEmptyButton.xRequest := FALSE;
|
||||
IF stHMIInterface.stEmptyButton.xRelease THEN
|
||||
@@ -168,7 +169,8 @@ VAR_INPUT
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[// Overfull sensor is NC
|
||||
<ST><![CDATA[{warning disable C0371}
|
||||
// Overfull sensor is NC
|
||||
stHMIInterface.xOverfull := (NOT i_xOverfull);
|
||||
stHMIInterface.xFull := i_xFull;
|
||||
stHMIInterface.xEmpty := (NOT i_xEmpty);
|
||||
|
||||
Reference in New Issue
Block a user