Started to change to HAL architecture

This commit is contained in:
2026-03-18 22:49:19 +01:00
parent fe28ade0fe
commit b515ca8588
19 changed files with 6425 additions and 1340 deletions

View File

@@ -127,7 +127,6 @@ _fbCoolplate(stHMIInterface := GVL_SCADA.stMachine.stCoolplate);
_fbAligner(stCommand:= , stStatus=> , stAdmin=> , xConfirmAlarms:= GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest, stHMIInterface := GVL_SCADA.stMachine.stAligner); _fbAligner(stCommand:= , stStatus=> , stAdmin=> , xConfirmAlarms:= GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest, stHMIInterface := GVL_SCADA.stMachine.stAligner);
_fbMediaCabinet( _fbMediaCabinet(
xReleaseManualMode := TRUE,
xReleaseErrors := _xReleaseAlarms, xReleaseErrors := _xReleaseAlarms,
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest, xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
stHMIInterface := GVL_SCADA.stMachine.stMediaCabinet); stHMIInterface := GVL_SCADA.stMachine.stMediaCabinet);

View 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>

View File

@@ -5,7 +5,6 @@
VAR_INPUT VAR_INPUT
xEnableVacuum : BOOL; xEnableVacuum : BOOL;
xExecute : BOOL; xExecute : BOOL;
xReleaseManualMode : BOOL;
xReleaseAlarms : BOOL; xReleaseAlarms : BOOL;
xConfirmAlarms : BOOL; xConfirmAlarms : BOOL;
END_VAR END_VAR
@@ -58,7 +57,7 @@ _fbValveVacuum(
xAutomaticOpen:= xEnableVacuum, xAutomaticOpen:= xEnableVacuum,
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stValveVacuumConfig, stValveConfig:= _stValveVacuumConfig,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stVacuumValve); stHMIInterface:= stHMIInterface.stVacuumValve);

View File

@@ -7,7 +7,6 @@ VAR_INPUT
xEnableVacuum : BOOL; xEnableVacuum : BOOL;
xOpenChuckClamp : BOOL; xOpenChuckClamp : BOOL;
xEjectChuck : BOOL; xEjectChuck : BOOL;
xReleaseManualMode : BOOL;
xReleaseAlarms : BOOL; xReleaseAlarms : BOOL;
xConfirmAlarms : BOOL; xConfirmAlarms : BOOL;
END_VAR END_VAR
@@ -106,7 +105,7 @@ _fbValveDoor(
xAutomaticOpen:= xOpenDoor, xAutomaticOpen:= xOpenDoor,
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stValveDoorCfg, stValveConfig:= _stValveDoorCfg,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stDoorValve); stHMIInterface:= stHMIInterface.stDoorValve);
@@ -126,7 +125,7 @@ _fbValveVacuum(
xAutomaticOpen := xEnableVacuum, xAutomaticOpen := xEnableVacuum,
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stValveVacuumConfig, stValveConfig:= _stValveVacuumConfig,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stVacuumValve); stHMIInterface:= stHMIInterface.stVacuumValve);
@@ -134,7 +133,7 @@ _fbUnlockLeft(
xAutomaticOpen:= _xOpenChuckClamp, xAutomaticOpen:= _xOpenChuckClamp,
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stValveUnlockLeftCfg, stValveConfig:= _stValveUnlockLeftCfg,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stChuckUnlockLeft); stHMIInterface:= stHMIInterface.stChuckUnlockLeft);
@@ -142,7 +141,7 @@ _fbUnlockRight(
xAutomaticOpen:= _xOpenChuckClamp, xAutomaticOpen:= _xOpenChuckClamp,
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stValveUnlockRightCfg, stValveConfig:= _stValveUnlockRightCfg,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stChuckUnlockRight); stHMIInterface:= stHMIInterface.stChuckUnlockRight);
@@ -150,7 +149,7 @@ _fbEjectFront(
xAutomaticOpen:= _xEjectChuck, xAutomaticOpen:= _xEjectChuck,
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stValveClampingFrontCfg, stValveConfig:= _stValveClampingFrontCfg,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stChuckEjectFront); stHMIInterface:= stHMIInterface.stChuckEjectFront);
@@ -158,7 +157,7 @@ _fbEjectBack(
xAutomaticOpen:= _xEjectChuck, xAutomaticOpen:= _xEjectChuck,
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stValveEjectBackCfg, stValveConfig:= _stValveEjectBackCfg,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stChuckEjectBack); stHMIInterface:= stHMIInterface.stChuckEjectBack);
@@ -177,7 +176,7 @@ _fbRobot(stPackMLHMIInterface := stHMIInterface.stMecaCmds);
_fbValveEnableFilmetch( _fbValveEnableFilmetch(
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stValveConfig, stValveConfig:= _stValveConfig,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms := xConfirmAlarms, xConfirmAlarms := xConfirmAlarms,
stHMIInterface:= stHMIInterface.stValveFilmetch); stHMIInterface:= stHMIInterface.stValveFilmetch);

View File

@@ -30,14 +30,14 @@ END_VAR
<ST><![CDATA[_fbDoorValve( <ST><![CDATA[_fbDoorValve(
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stDoorValveConfig, stValveConfig:= _stDoorValveConfig,
xReleaseManualMode:= TRUE, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stDoorValve); stHMIInterface:= stHMIInterface.stDoorValve);
_fbTestChamberValve( _fbTestChamberValve(
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stTestChamberValveConfig, stValveConfig:= _stTestChamberValveConfig,
xReleaseManualMode:= TRUE, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stTestChamberValve); stHMIInterface:= stHMIInterface.stTestChamberValve);
@@ -45,7 +45,7 @@ _fbReleaseChamberMovement(
xAutomaticOpen := TRUE, xAutomaticOpen := TRUE,
xReleaseErrors:= xReleaseAlarms, xReleaseErrors:= xReleaseAlarms,
stValveConfig:= _stReleaseValveConfig, stValveConfig:= _stReleaseValveConfig,
xReleaseManualMode:= TRUE, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stReleaseChamberValve); stHMIInterface:= stHMIInterface.stReleaseChamberValve);

View File

@@ -150,7 +150,8 @@ VAR_INPUT
END_VAR END_VAR
]]></Declaration> ]]></Declaration>
<Implementation> <Implementation>
<ST><![CDATA[stHMIInterface.stEnableBtn.xRelease := (NOT _xEnable); <ST><![CDATA[{warning disable C0371}
stHMIInterface.stEnableBtn.xRelease := (NOT _xEnable) AND _xReleaseManualMode;
IF _xEnable THEN IF _xEnable THEN
stHMIInterface.stEnableBtn.eFeedback := 1; stHMIInterface.stEnableBtn.eFeedback := 1;
stHMIInterface.stDisableBtn.eFeedback := 0; stHMIInterface.stDisableBtn.eFeedback := 0;

View File

@@ -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>

View 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>

View File

@@ -3,6 +3,8 @@
<DUT Name="ST_HMI_MediaCabinet" Id="{531277fd-be49-4a36-8089-70f1b95b2250}"> <DUT Name="ST_HMI_MediaCabinet" Id="{531277fd-be49-4a36-8089-70f1b95b2250}">
<Declaration><![CDATA[TYPE ST_HMI_MediaCabinet : <Declaration><![CDATA[TYPE ST_HMI_MediaCabinet :
STRUCT STRUCT
stStationCmds : ST_HMI_PackML;
// (1) Acetic acid 99% // (1) Acetic acid 99%
stTankAceticAcidHigh : ST_HMI_Tank; stTankAceticAcidHigh : ST_HMI_Tank;

View File

@@ -195,7 +195,8 @@ VAR_INPUT
END_VAR END_VAR
]]></Declaration> ]]></Declaration>
<Implementation> <Implementation>
<ST><![CDATA[// Copy requested state into internal buffer <ST><![CDATA[{warning disable C0371}
// Copy requested state into internal buffer
_wStateReq := wState; _wStateReq := wState;
// Send pump state change request // Send pump state change request

View File

@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1"> <TcPlcObject Version="1.1.0.1">
<POU Name="FB_MediaCabinet" Id="{9de34b64-23ba-4fef-b086-9297bbd06f24}" SpecialFunc="None"> <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 VAR_INPUT
xReleaseManualMode : BOOL;
xReleaseErrors : BOOL; xReleaseErrors : BOOL;
xConfirmAlarms : BOOL; xConfirmAlarms : BOOL;
END_VAR END_VAR
@@ -60,55 +59,55 @@ END_VAR
<Implementation> <Implementation>
<ST><![CDATA[_fbTankAceticAcidHigh( <ST><![CDATA[_fbTankAceticAcidHigh(
xReleaseErrors:= xReleaseErrors, xReleaseErrors:= xReleaseErrors,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stTankAceticAcidHigh); stHMIInterface:= stHMIInterface.stTankAceticAcidHigh);
_fbTankSulfuricAcid( _fbTankSulfuricAcid(
xReleaseErrors:= xReleaseErrors, xReleaseErrors:= xReleaseErrors,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stTankSulfuricAcid); stHMIInterface:= stHMIInterface.stTankSulfuricAcid);
_fbTankNitricAcid( _fbTankNitricAcid(
xReleaseErrors:= xReleaseErrors, xReleaseErrors:= xReleaseErrors,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stTankNitricAcid); stHMIInterface:= stHMIInterface.stTankNitricAcid);
_fbTankAceticAcidLow( _fbTankAceticAcidLow(
xReleaseErrors:= xReleaseErrors, xReleaseErrors:= xReleaseErrors,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stTankAceticAcidLow); stHMIInterface:= stHMIInterface.stTankAceticAcidLow);
_fbTankHydrofluoricAcid( _fbTankHydrofluoricAcid(
xReleaseErrors:= xReleaseErrors, xReleaseErrors:= xReleaseErrors,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stTankHydrofluoricAcid); stHMIInterface:= stHMIInterface.stTankHydrofluoricAcid);
_fbTankSulfuricAcidMixing( _fbTankSulfuricAcidMixing(
xReleaseErrors:= xReleaseErrors, xReleaseErrors:= xReleaseErrors,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stTankSulfuricAcidMixing); stHMIInterface:= stHMIInterface.stTankSulfuricAcidMixing);
_fbTankHydrofluoricAcidMixing( _fbTankHydrofluoricAcidMixing(
xReleaseErrors:= xReleaseErrors, xReleaseErrors:= xReleaseErrors,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stTankHydrofluoricAcidMixing); stHMIInterface:= stHMIInterface.stTankHydrofluoricAcidMixing);
_fbTankSEF( _fbTankSEF(
xReleaseErrors:= xReleaseErrors, xReleaseErrors:= xReleaseErrors,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stTankSEF); stHMIInterface:= stHMIInterface.stTankSEF);
_fbTankFilmetch( _fbTankFilmetch(
xReleaseErrors:= xReleaseErrors, xReleaseErrors:= xReleaseErrors,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stTankFilmetch); stHMIInterface:= stHMIInterface.stTankFilmetch);
@@ -116,7 +115,7 @@ _fbTankFilmetch(
_fbValveFilmetchOut( _fbValveFilmetchOut(
xReleaseErrors:= xReleaseErrors, xReleaseErrors:= xReleaseErrors,
stValveConfig:= _stValveConfig, stValveConfig:= _stValveConfig,
xReleaseManualMode:= xReleaseManualMode, xReleaseManualMode:= _xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms, xConfirmAlarms:= xConfirmAlarms,
stHMIInterface:= stHMIInterface.stValveFilmetch); stHMIInterface:= stHMIInterface.stValveFilmetch);
@@ -128,7 +127,8 @@ _fbLeviPump9(
rSpeedSP:= 2000, rSpeedSP:= 2000,
fbModbusMaster:= _fbMBMaster); fbModbusMaster:= _fbMBMaster);
]]></ST> // Call isa88 base state machine
SUPER^(stPackMLHMIInterface := stHMIInterface.stStationCmds);]]></ST>
</Implementation> </Implementation>
<Method Name="FB_Init" Id="{860f10c9-69ca-4ad7-9edc-00af754d0af0}"> <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. <Declaration><![CDATA[//FB_Init is always available implicitly and it is used primarily for initialization.

View File

@@ -145,7 +145,8 @@ VAR_INPUT
END_VAR END_VAR
]]></Declaration> ]]></Declaration>
<Implementation> <Implementation>
<ST><![CDATA[// Start emptying tank <ST><![CDATA[{warning disable C0371}
// Start emptying tank
IF stHMIInterface.stEmptyButton.xRequest THEN IF stHMIInterface.stEmptyButton.xRequest THEN
stHMIInterface.stEmptyButton.xRequest := FALSE; stHMIInterface.stEmptyButton.xRequest := FALSE;
IF stHMIInterface.stEmptyButton.xRelease THEN IF stHMIInterface.stEmptyButton.xRelease THEN
@@ -168,7 +169,8 @@ VAR_INPUT
END_VAR END_VAR
]]></Declaration> ]]></Declaration>
<Implementation> <Implementation>
<ST><![CDATA[// Overfull sensor is NC <ST><![CDATA[{warning disable C0371}
// Overfull sensor is NC
stHMIInterface.xOverfull := (NOT i_xOverfull); stHMIInterface.xOverfull := (NOT i_xOverfull);
stHMIInterface.xFull := i_xFull; stHMIInterface.xFull := i_xFull;
stHMIInterface.xEmpty := (NOT i_xEmpty); stHMIInterface.xEmpty := (NOT i_xEmpty);

10
PLC/GVLs/GVL_IO.TcGVL Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<GVL Name="GVL_IO" Id="{af1f1967-ece5-41b0-9a22-6f9c542631c5}">
<Declaration><![CDATA[{attribute 'qualified_only'}
VAR_GLOBAL
// TIID^Device 1 (EtherCAT)^Tank_1_4_9 (EK1100)^M1_KL04 (EL1018)^Channel 5^Tank9NotEmpty
stMediaCabinetIO : ST_MediaCabinet_IO;
END_VAR]]></Declaration>
</GVL>
</TcPlcObject>

View File

@@ -46,6 +46,9 @@ VAR
// State state machine variable // State state machine variable
_iSSM : INT := 0; _iSSM : INT := 0;
// Internal manual mode release flag when changed to manual mode
_xReleaseManualMode : BOOL;
END_VAR END_VAR
]]></Declaration> ]]></Declaration>
<Implementation> <Implementation>
@@ -87,6 +90,8 @@ IF _eLastState <> _stStatus.eStateCurrent THEN
_eLastState := _stStatus.eStateCurrent; _eLastState := _stStatus.eStateCurrent;
END_IF END_IF
// Set release manual mode flag when we are in manual mode
_xReleaseManualMode := (_stStatus.eUnitModeCurrent = E_PackMLUnitMode.MANUAL);
// Call state method according to current state // Call state method according to current state
CASE _stStatus.eStateCurrent OF CASE _stStatus.eStateCurrent OF

View File

@@ -37,6 +37,9 @@
<Compile Include="00_Main\ST_TrayFeederCamPosData.TcDUT"> <Compile Include="00_Main\ST_TrayFeederCamPosData.TcDUT">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="01_Stationen\Aligner\DUTs\HAL\ST_Aligner_IO.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="01_Stationen\Aligner\FB_Aligner.TcPOU"> <Compile Include="01_Stationen\Aligner\FB_Aligner.TcPOU">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
@@ -185,6 +188,12 @@
<Compile Include="01_Stationen\MediaStation\DUTs\E_LeviPumpState.TcDUT"> <Compile Include="01_Stationen\MediaStation\DUTs\E_LeviPumpState.TcDUT">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="01_Stationen\MediaStation\DUTs\HAL\ST_MediaCabinet_IO.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="01_Stationen\MediaStation\DUTs\HAL\ST_Tank_IO.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="01_Stationen\MediaStation\DUTs\ST_HMI_MediaCabinet.TcDUT"> <Compile Include="01_Stationen\MediaStation\DUTs\ST_HMI_MediaCabinet.TcDUT">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
@@ -252,6 +261,10 @@
<Compile Include="GlobalTextList.TcGTLO"> <Compile Include="GlobalTextList.TcGTLO">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="GVLs\GVL_IO.TcGVL">
<SubType>Code</SubType>
<LinkAlways>true</LinkAlways>
</Compile>
<Compile Include="GVLs\GVL_SCADA.TcGVL"> <Compile Include="GVLs\GVL_SCADA.TcGVL">
<SubType>Code</SubType> <SubType>Code</SubType>
<LinkAlways>true</LinkAlways> <LinkAlways>true</LinkAlways>
@@ -388,6 +401,8 @@
</Compile> </Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="01_Stationen\Aligner\DUTs" />
<Folder Include="01_Stationen\Aligner\DUTs\HAL" />
<Folder Include="01_Stationen\Coolplate\DUTs" /> <Folder Include="01_Stationen\Coolplate\DUTs" />
<Folder Include="01_Stationen\Coolplate\POUs" /> <Folder Include="01_Stationen\Coolplate\POUs" />
<Folder Include="01_Stationen\Etcher\Mecademics" /> <Folder Include="01_Stationen\Etcher\Mecademics" />
@@ -407,6 +422,7 @@
<Folder Include="01_Stationen\Coolplate" /> <Folder Include="01_Stationen\Coolplate" />
<Folder Include="01_Stationen\MediaStation" /> <Folder Include="01_Stationen\MediaStation" />
<Folder Include="01_Stationen\MediaStation\DUTs" /> <Folder Include="01_Stationen\MediaStation\DUTs" />
<Folder Include="01_Stationen\MediaStation\DUTs\HAL" />
<Folder Include="01_Stationen\MediaStation\POUs" /> <Folder Include="01_Stationen\MediaStation\POUs" />
<Folder Include="01_Stationen\Input" /> <Folder Include="01_Stationen\Input" />
<Folder Include="01_Stationen\Output" /> <Folder Include="01_Stationen\Output" />

File diff suppressed because one or more lines are too long

4985
PLC_Instance_backup.xti Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -385,10 +385,13 @@
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot.stJobs" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 1 (JobNr/PLCJobNr)"/> <Link VarA="PlcTask Outputs^PRG_Main._fbRobot.stJobs" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 1 (JobNr/PLCJobNr)"/>
</OwnerB> </OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^Tank_1_4_9 (EK1100)^M1_KL02 (EL1918)"> <OwnerB Name="TIID^Device 1 (EtherCAT)^Tank_1_4_9 (EK1100)^M1_KL02 (EL1918)">
<Link VarA="PlcTask Inputs^GVL_IO.stMediaCabinetIO.stTankFilmetchIO.i_xOverfull" VarB="Module 1 (FSOE)^FSoE Inputs^FSOE^Tank9NotOverFull" AutoLink="true" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidLow.i_xOverfull" VarB="Module 1 (FSOE)^FSoE Inputs^FSOE^Tank4NotOverFull" Size="1"/> <Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidLow.i_xOverfull" VarB="Module 1 (FSOE)^FSoE Inputs^FSOE^Tank4NotOverFull" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankFilmetch.i_xOverfull" VarB="Module 1 (FSOE)^FSoE Inputs^FSOE^Tank9NotOverFull" Size="1"/> <Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankFilmetch.i_xOverfull" VarB="Module 1 (FSOE)^FSoE Inputs^FSOE^Tank9NotOverFull" Size="1"/>
</OwnerB> </OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^Tank_1_4_9 (EK1100)^M1_KL04 (EL1018)"> <OwnerB Name="TIID^Device 1 (EtherCAT)^Tank_1_4_9 (EK1100)^M1_KL04 (EL1018)">
<Link VarA="PlcTask Inputs^GVL_IO.stMediaCabinetIO.stTankFilmetchIO.i_xEmpty" VarB="Channel 5^Tank9NotEmpty" AutoLink="true" Size="1"/>
<Link VarA="PlcTask Inputs^GVL_IO.stMediaCabinetIO.stTankFilmetchIO.i_xFull" VarB="Channel 6^Tank9Full" AutoLink="true" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidLow.i_xEmpty" VarB="Channel 3^Tank4NotEmpty" Size="1"/> <Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidLow.i_xEmpty" VarB="Channel 3^Tank4NotEmpty" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidLow.i_xFull" VarB="Channel 4^Tank4Full" Size="1"/> <Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidLow.i_xFull" VarB="Channel 4^Tank4Full" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankFilmetch.i_xEmpty" VarB="Channel 5^Tank9NotEmpty" Size="1"/> <Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankFilmetch.i_xEmpty" VarB="Channel 5^Tank9NotEmpty" Size="1"/>

File diff suppressed because it is too large Load Diff