Implemented stuff to get ready for jet measurement
This commit is contained in:
@@ -59,8 +59,11 @@ IF _rtStopRobotFromSafety.Q THEN
|
|||||||
_stRobotCmd.xCmdChangeRequest := TRUE;
|
_stRobotCmd.xCmdChangeRequest := TRUE;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
// Unit feedbacks for the robot
|
||||||
_stUnitFeedbacks.xDoorEtcher1Open := _fbEtcher1.xDoorOpen;
|
_stUnitFeedbacks.xDoorEtcher1Open := _fbEtcher1.xDoorOpen;
|
||||||
_stUnitFeedbacks.xDoorEtcher2Open := _fbEtcher2.xDoorOpen;
|
_stUnitFeedbacks.xDoorEtcher2Open := _fbEtcher2.xDoorOpen;
|
||||||
|
_stUnitFeedbacks.xDoorHVTestHotOpen := _fbHVTesterHot.xDoorOpen AND _fbHVTesterHot.xTestChamberOpen;
|
||||||
|
_stUnitFeedbacks.xDoorHVTestColdOpen := _fbHVTesterCold.xDoorOpen AND _fbHVTesterCold.xTestChamberOpen;
|
||||||
|
|
||||||
_fbRobot(
|
_fbRobot(
|
||||||
stCommand:= _stRobotCmd,
|
stCommand:= _stRobotCmd,
|
||||||
|
|||||||
@@ -77,11 +77,26 @@ VAR
|
|||||||
// =========
|
// =========
|
||||||
|
|
||||||
_fbRobot : FB_Mecademics;
|
_fbRobot : FB_Mecademics;
|
||||||
|
_fbSpinner : FB_AxisPTP;
|
||||||
|
|
||||||
xDisableVacuum AT %Q* : BOOL;
|
xDisableVacuum AT %Q* : BOOL;
|
||||||
|
|
||||||
|
_fbValveEnableFilmetch : FB_Valve('');
|
||||||
|
|
||||||
|
_stValveConfig : ST_ValveConfig;
|
||||||
|
|
||||||
|
|
||||||
// Internals
|
// Internals
|
||||||
_xOpenChuckClamp : BOOL;
|
_xOpenChuckClamp : BOOL;
|
||||||
|
_xEjectChuck : BOOL;
|
||||||
|
|
||||||
|
// Debug
|
||||||
|
_iState : INT;
|
||||||
|
_xEnableSpinner : BOOL;
|
||||||
|
_lrSpinnerVelo : LREAL := 36.0;
|
||||||
|
_xAllCompRetracted : BOOL;
|
||||||
|
_xChuckRemoved : BOOL;
|
||||||
|
_xReleaseChuck : BOOL;
|
||||||
END_VAR
|
END_VAR
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
@@ -104,7 +119,7 @@ ELSE
|
|||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
// Todo bessere implementierung finden
|
// Todo bessere implementierung finden
|
||||||
_xOpenChuckClamp := xOpenChuckClamp OR stHMIInterface.stChuckUnlockCmd.xRequest;
|
//_xOpenChuckClamp := xOpenChuckClamp OR stHMIInterface.stChuckUnlockCmd.xRequest;
|
||||||
|
|
||||||
_fbUnlockLeft(
|
_fbUnlockLeft(
|
||||||
xAutomaticOpen:= _xOpenChuckClamp,
|
xAutomaticOpen:= _xOpenChuckClamp,
|
||||||
@@ -123,7 +138,7 @@ _fbUnlockRight(
|
|||||||
stHMIInterface:= stHMIInterface.stChuckUnlockRight);
|
stHMIInterface:= stHMIInterface.stChuckUnlockRight);
|
||||||
|
|
||||||
_fbEjectFront(
|
_fbEjectFront(
|
||||||
xAutomaticOpen:= _tpEjectChuck.Q,
|
xAutomaticOpen:= _xEjectChuck,
|
||||||
xReleaseErrors:= xReleaseAlarms,
|
xReleaseErrors:= xReleaseAlarms,
|
||||||
stValveConfig:= _stValveClampingFrontCfg,
|
stValveConfig:= _stValveClampingFrontCfg,
|
||||||
xReleaseManualMode:= xReleaseManualMode,
|
xReleaseManualMode:= xReleaseManualMode,
|
||||||
@@ -131,20 +146,143 @@ _fbEjectFront(
|
|||||||
stHMIInterface:= stHMIInterface.stChuckEjectFront);
|
stHMIInterface:= stHMIInterface.stChuckEjectFront);
|
||||||
|
|
||||||
_fbEjectBack(
|
_fbEjectBack(
|
||||||
xAutomaticOpen:= _tpEjectChuck.Q,
|
xAutomaticOpen:= _xEjectChuck,
|
||||||
xReleaseErrors:= xReleaseAlarms,
|
xReleaseErrors:= xReleaseAlarms,
|
||||||
stValveConfig:= _stValveEjectBackCfg,
|
stValveConfig:= _stValveEjectBackCfg,
|
||||||
xReleaseManualMode:= xReleaseManualMode,
|
xReleaseManualMode:= xReleaseManualMode,
|
||||||
xConfirmAlarms:= xConfirmAlarms,
|
xConfirmAlarms:= xConfirmAlarms,
|
||||||
stHMIInterface:= stHMIInterface.stChuckEjectBack);
|
stHMIInterface:= stHMIInterface.stChuckEjectBack);
|
||||||
|
|
||||||
|
_xAllCompRetracted := _fbUnlockLeft.IsClosed AND _fbUnlockRight.IsClosed AND _fbEjectFront.IsClosed AND _fbEjectBack.IsClosed;
|
||||||
|
|
||||||
|
_fbSpinner(
|
||||||
|
xEnable:= _xEnableSpinner,
|
||||||
|
xEnablePositive:= _xEnableSpinner AND _xAllCompRetracted,
|
||||||
|
xEnableNegative:= _xEnableSpinner AND _xAllCompRetracted,
|
||||||
|
rOverride:= 100.0,
|
||||||
|
lrVelocity:= _lrSpinnerVelo,
|
||||||
|
xConfirmAlarms:= xConfirmAlarms);
|
||||||
|
|
||||||
xDisableVacuum := (NOT xEnableVacuum);
|
xDisableVacuum := (NOT xEnableVacuum);
|
||||||
|
|
||||||
_fbRobot(stPackMLHMIInterface := stHMIInterface.stMecaCmds);
|
_fbRobot(stPackMLHMIInterface := stHMIInterface.stMecaCmds);
|
||||||
|
|
||||||
|
_fbValveEnableFilmetch(
|
||||||
|
xReleaseErrors:= xReleaseAlarms,
|
||||||
|
stValveConfig:= _stValveConfig,
|
||||||
|
xReleaseManualMode:= xReleaseManualMode,
|
||||||
|
xConfirmAlarms := xConfirmAlarms,
|
||||||
|
stHMIInterface:= stHMIInterface.stValveFilmetch);
|
||||||
|
|
||||||
// Call base sm
|
// Call base sm
|
||||||
SUPER^(stPackMLHMIInterface := stHMIInterface.stStationCmds);
|
SUPER^(stPackMLHMIInterface := stHMIInterface.stStationCmds);
|
||||||
|
|
||||||
|
// Einbaulage Baumer
|
||||||
|
// 35 deg
|
||||||
|
|
||||||
|
// =====
|
||||||
|
// Debug
|
||||||
|
// =====
|
||||||
|
|
||||||
|
CASE _iState OF
|
||||||
|
// Idle
|
||||||
|
0:
|
||||||
|
IF _xReleaseChuck THEN
|
||||||
|
_xReleaseChuck := FALSE;
|
||||||
|
_iState := 5;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Enable spinner
|
||||||
|
5:
|
||||||
|
_xEnableSpinner := TRUE;
|
||||||
|
IF _fbSpinner.xEnabled THEN
|
||||||
|
_iState := 6;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Start moving to zero position
|
||||||
|
6:
|
||||||
|
_fbSpinner.M_MoveModulo(lrTargetPos := 0.0, eMoveDirection := BC.MC_Direction.MC_Shortest_Way);
|
||||||
|
_iState := 11;
|
||||||
|
|
||||||
|
// Move to zero position
|
||||||
|
11:
|
||||||
|
IF _fbSpinner.xDone THEN
|
||||||
|
_iState := 12;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _fbSpinner.xError THEN
|
||||||
|
_iState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Disable axis
|
||||||
|
12:
|
||||||
|
_xEnableSpinner := FALSE;
|
||||||
|
IF (NOT _fbSpinner.xEnabled) THEN
|
||||||
|
_iState := 13;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Release clamping
|
||||||
|
13:
|
||||||
|
_xOpenChuckClamp := TRUE;
|
||||||
|
|
||||||
|
IF _fbUnlockLeft.IsOpen AND _fbUnlockRight.IsOpen THEN
|
||||||
|
_iState := 14;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _fbUnlockLeft.xError OR _fbUnlockRight.xError THEN
|
||||||
|
_iState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Eject the cuck
|
||||||
|
14:
|
||||||
|
_xEjectChuck := TRUE;
|
||||||
|
|
||||||
|
IF _fbEjectFront.IsOpen AND _fbEjectBack.IsOpen THEN
|
||||||
|
_iState := 15;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _fbEjectFront.xError OR _fbEjectBack.xError THEN
|
||||||
|
_iState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Retract ejectors
|
||||||
|
15:
|
||||||
|
_xEjectChuck := FALSE;
|
||||||
|
|
||||||
|
IF _fbEjectFront.IsClosed AND _fbEjectBack.IsClosed THEN
|
||||||
|
_iState := 16;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _fbEjectFront.xError OR _fbEjectBack.xError THEN
|
||||||
|
_iState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Wait for Chuck to be remove
|
||||||
|
16:
|
||||||
|
IF _xChuckRemoved THEN
|
||||||
|
_xChuckRemoved := FALSE;
|
||||||
|
_iState := 17;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Retract release pins
|
||||||
|
17:
|
||||||
|
_xOpenChuckClamp := FALSE;
|
||||||
|
|
||||||
|
IF _fbUnlockLeft.IsClosed AND _fbUnlockRight.IsClosed THEN
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _fbUnlockLeft.xError OR _fbUnlockRight.xError THEN
|
||||||
|
_iState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Error state
|
||||||
|
900:
|
||||||
|
IF xConfirmAlarms THEN
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
END_CASE
|
||||||
|
|
||||||
// Copy internal signals to output
|
// Copy internal signals to output
|
||||||
xDoorOpen := _fbValveDoor.IsOpen;
|
xDoorOpen := _fbValveDoor.IsOpen;
|
||||||
xChuckClampOpen := _fbUnlockLeft.IsOpen AND _fbUnlockRight.IsOpen;
|
xChuckClampOpen := _fbUnlockLeft.IsOpen AND _fbUnlockRight.IsOpen;
|
||||||
@@ -167,7 +305,52 @@ END_VAR
|
|||||||
_stSMConfig.xCompletingDisabled := TRUE;
|
_stSMConfig.xCompletingDisabled := TRUE;
|
||||||
_stSMConfig.xCompletedDisabled := TRUE;
|
_stSMConfig.xCompletedDisabled := TRUE;
|
||||||
|
|
||||||
_stSMConfig.xAbortingDisabled := TRUE;]]></ST>
|
_stSMConfig.xAbortingDisabled := TRUE;
|
||||||
|
|
||||||
|
// Valve config
|
||||||
|
_stValveConfig.xHasOpenFeedback := FALSE;
|
||||||
|
_stValveConfig.xHasClosedFeedback := FALSE;]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
|
<Method Name="M_JetMeasurement" Id="{5ffd6d61-d32b-40d9-aa63-25591d7cd8df}">
|
||||||
|
<Declaration><![CDATA[METHOD PRIVATE M_JetMeasurement
|
||||||
|
VAR_INPUT
|
||||||
|
xExecute : BOOL;
|
||||||
|
END_VAR
|
||||||
|
VAR_OUTPUT
|
||||||
|
xDone : BOOL;
|
||||||
|
xError : BOOL;
|
||||||
|
END_VAR
|
||||||
|
VAR_INST
|
||||||
|
_iState : INT;
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[CASE _iState OF
|
||||||
|
// Idle
|
||||||
|
0:
|
||||||
|
IF xExecute THEN
|
||||||
|
xDone := FALSE;
|
||||||
|
xError := FALSE;
|
||||||
|
_iState := 10;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Check if robot is in safe position
|
||||||
|
|
||||||
|
// Enable equipment and move robot to measurement position
|
||||||
|
|
||||||
|
// Wait for equipment and robot to be ready
|
||||||
|
|
||||||
|
// Enable nozzle
|
||||||
|
|
||||||
|
// Check measurement and calculate offset
|
||||||
|
|
||||||
|
// Move Robot to new position
|
||||||
|
|
||||||
|
// Check measurement again
|
||||||
|
|
||||||
|
// Move to safe position
|
||||||
|
END_CASE]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
</Method>
|
</Method>
|
||||||
</POU>
|
</POU>
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ STRUCT
|
|||||||
|
|
||||||
// Chuck eject command
|
// Chuck eject command
|
||||||
stChuckEjectCmd : ST_HMI_CONTROL_BUTTON;
|
stChuckEjectCmd : ST_HMI_CONTROL_BUTTON;
|
||||||
|
|
||||||
|
// Filmetch valve
|
||||||
|
stValveFilmetch : ST_HMI_VALVE_DATA;
|
||||||
END_STRUCT
|
END_STRUCT
|
||||||
END_TYPE
|
END_TYPE
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ STRUCT
|
|||||||
// Test chamber open close valve
|
// Test chamber open close valve
|
||||||
stTestChamberValve : ST_HMI_VALVE_DATA;
|
stTestChamberValve : ST_HMI_VALVE_DATA;
|
||||||
|
|
||||||
|
// Safety valve
|
||||||
|
stReleaseChamberValve : ST_HMI_VALVE_DATA;
|
||||||
|
|
||||||
// Optional temperature setpoint
|
// Optional temperature setpoint
|
||||||
stTempSP : ST_HMI_ANALOG_VALUE;
|
stTempSP : ST_HMI_ANALOG_VALUE;
|
||||||
END_STRUCT
|
END_STRUCT
|
||||||
|
|||||||
@@ -4,23 +4,90 @@
|
|||||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_HVTester EXTENDS FB_PackMLGeneric
|
<Declaration><![CDATA[FUNCTION_BLOCK FB_HVTester EXTENDS FB_PackMLGeneric
|
||||||
VAR_INPUT
|
VAR_INPUT
|
||||||
xOpenChambers : BOOL;
|
xOpenChambers : BOOL;
|
||||||
|
|
||||||
|
xReleaseAlarms : BOOL;
|
||||||
|
xConfirmAlarms : BOOL;
|
||||||
END_VAR
|
END_VAR
|
||||||
VAR_OUTPUT
|
VAR_OUTPUT
|
||||||
|
xDoorOpen : BOOL;
|
||||||
|
xTestChamberOpen : BOOL;
|
||||||
END_VAR
|
END_VAR
|
||||||
VAR_IN_OUT
|
VAR_IN_OUT
|
||||||
stHMIInterface : ST_HMI_HVTester;
|
stHMIInterface : ST_HMI_HVTester;
|
||||||
END_VAR
|
END_VAR
|
||||||
VAR
|
VAR
|
||||||
stDoorValve : FB_Valve('');
|
_fbDoorValve : FB_Valve('Door');
|
||||||
stTestChamberValve : FB_Valve('');
|
_stDoorValveConfig : ST_ValveConfig;
|
||||||
stReleaseChamberMovement : FB_Valve('');
|
|
||||||
|
_fbTestChamberValve : FB_Valve('Chamber');
|
||||||
|
_stTestChamberValveConfig : ST_ValveConfig;
|
||||||
|
|
||||||
|
_fbReleaseChamberMovement : FB_Valve('Release Chamber');
|
||||||
|
_stReleaseValveConfig : ST_ValveConfig;
|
||||||
END_VAR
|
END_VAR
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[
|
<ST><![CDATA[_fbDoorValve(
|
||||||
|
xReleaseErrors:= xReleaseAlarms,
|
||||||
|
stValveConfig:= _stDoorValveConfig,
|
||||||
|
xReleaseManualMode:= TRUE,
|
||||||
|
xConfirmAlarms:= xConfirmAlarms,
|
||||||
|
stHMIInterface:= stHMIInterface.stDoorValve);
|
||||||
|
|
||||||
|
_fbTestChamberValve(
|
||||||
|
xReleaseErrors:= xReleaseAlarms,
|
||||||
|
stValveConfig:= _stTestChamberValveConfig,
|
||||||
|
xReleaseManualMode:= TRUE,
|
||||||
|
xConfirmAlarms:= xConfirmAlarms,
|
||||||
|
stHMIInterface:= stHMIInterface.stTestChamberValve);
|
||||||
|
|
||||||
|
_fbReleaseChamberMovement(
|
||||||
|
xAutomaticOpen := TRUE,
|
||||||
|
xReleaseErrors:= xReleaseAlarms,
|
||||||
|
stValveConfig:= _stReleaseValveConfig,
|
||||||
|
xReleaseManualMode:= TRUE,
|
||||||
|
xConfirmAlarms:= xConfirmAlarms,
|
||||||
|
stHMIInterface:= stHMIInterface.stReleaseChamberValve);
|
||||||
|
|
||||||
// Call base sm
|
// Call base sm
|
||||||
SUPER^(stPackMLHMIInterface := stHMIInterface.stStationCmds);]]></ST>
|
SUPER^(stPackMLHMIInterface := stHMIInterface.stStationCmds);
|
||||||
|
|
||||||
|
// Copy to output
|
||||||
|
xDoorOpen := _fbDoorValve.IsOpen;
|
||||||
|
xTestChamberOpen := _fbTestChamberValve.IsOpen;]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
|
<Method Name="FB_Init" Id="{2ed378bb-debf-402c-b944-0cc5602f1aec}">
|
||||||
|
<Declaration><![CDATA[//FB_Init is always available implicitly and it is used primarily for initialization.
|
||||||
|
//The return value is not evaluated. For a specific influence, you can also declare the
|
||||||
|
//methods explicitly and provide additional code there with the standard initialization
|
||||||
|
//code. You can evaluate the return value.
|
||||||
|
METHOD FB_Init: BOOL
|
||||||
|
VAR_INPUT
|
||||||
|
bInitRetains: BOOL; // TRUE: the retain variables are initialized (reset warm / reset cold)
|
||||||
|
bInCopyCode: BOOL; // TRUE: the instance will be copied to the copy code afterward (online change)
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[// Door valve config
|
||||||
|
_stDoorValveConfig.xHasOpenFeedback := TRUE;
|
||||||
|
_stDoorValveConfig.xHasClosedFeedback := TRUE;
|
||||||
|
_stDoorValveConfig.timTimeoutOpen := T#10S;
|
||||||
|
_stDoorValveConfig.timTimeoutClose := T#10S;
|
||||||
|
|
||||||
|
// Test chamber valve config
|
||||||
|
_stTestChamberValveConfig.xHasOpenFeedback := TRUE;
|
||||||
|
_stTestChamberValveConfig.xHasClosedFeedback := TRUE;
|
||||||
|
_stTestChamberValveConfig.timTimeoutOpen := T#10S;
|
||||||
|
_stTestChamberValveConfig.timTimeoutClose := T#10S;
|
||||||
|
_stTestChamberValveConfig.xNormallyOpen := TRUE;
|
||||||
|
|
||||||
|
|
||||||
|
// Release valve config
|
||||||
|
_stReleaseValveConfig.xHasOpenFeedback := FALSE;
|
||||||
|
_stReleaseValveConfig.xHasClosedFeedback := FALSE;
|
||||||
|
_stReleaseValveConfig.timTimeoutOpen := T#0S;
|
||||||
|
_stReleaseValveConfig.timTimeoutClose := T#0S;]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
</POU>
|
</POU>
|
||||||
</TcPlcObject>
|
</TcPlcObject>
|
||||||
19
PLC/01_Stationen/MediaStation/DUTs/E_LeviPumpState.TcDUT
Normal file
19
PLC/01_Stationen/MediaStation/DUTs/E_LeviPumpState.TcDUT
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1">
|
||||||
|
<DUT Name="E_LeviPumpState" Id="{bcd971a7-4a89-44e9-a91b-53458e7d6d43}">
|
||||||
|
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||||
|
{attribute 'strict'}
|
||||||
|
{attribute 'to_string'}
|
||||||
|
TYPE E_LeviPumpState :
|
||||||
|
(
|
||||||
|
OFF := 1,
|
||||||
|
SPEED_CTRL := 2,
|
||||||
|
FLOW_CTRL := 3,
|
||||||
|
SAFE_SPEED_CTRL := 7,
|
||||||
|
SAFE_FLOW_CTRL := 8,
|
||||||
|
HYDR_IDENT := 32
|
||||||
|
)WORD;
|
||||||
|
END_TYPE
|
||||||
|
]]></Declaration>
|
||||||
|
</DUT>
|
||||||
|
</TcPlcObject>
|
||||||
@@ -29,6 +29,9 @@ STRUCT
|
|||||||
|
|
||||||
// (9) Filmetch
|
// (9) Filmetch
|
||||||
stTankFilmetch : ST_HMI_Tank;
|
stTankFilmetch : ST_HMI_Tank;
|
||||||
|
|
||||||
|
// Valve filmetch
|
||||||
|
stValveFilmetch : ST_HMI_VALVE_DATA;
|
||||||
END_STRUCT
|
END_STRUCT
|
||||||
END_TYPE
|
END_TYPE
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
|
|||||||
22
PLC/01_Stationen/MediaStation/DUTs/ST_LeviPumpStatus.TcDUT
Normal file
22
PLC/01_Stationen/MediaStation/DUTs/ST_LeviPumpStatus.TcDUT
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1">
|
||||||
|
<DUT Name="ST_LeviPumpStatus" Id="{a7d91135-e782-4458-9cdc-855a45a5eb97}">
|
||||||
|
<Declaration><![CDATA[{attribute 'pack_mode' := '1'}
|
||||||
|
TYPE ST_LeviPumpStatus :
|
||||||
|
STRUCT
|
||||||
|
eState : E_LeviPumpState;
|
||||||
|
wActSpeed : WORD;
|
||||||
|
wActFlow : WORD;
|
||||||
|
wSpeedSP : WORD;
|
||||||
|
wFlowSP : WORD;
|
||||||
|
wActPumpError : WORD;
|
||||||
|
wActFlowError : WORD;
|
||||||
|
wActPumpWarning : WORD;
|
||||||
|
wActFlowWarning : WORD;
|
||||||
|
wActPumpMsg : WORD;
|
||||||
|
wActFlowMsg : WORD;
|
||||||
|
END_STRUCT
|
||||||
|
END_TYPE
|
||||||
|
]]></Declaration>
|
||||||
|
</DUT>
|
||||||
|
</TcPlcObject>
|
||||||
216
PLC/01_Stationen/MediaStation/POUs/FB_LeviPump.TcPOU
Normal file
216
PLC/01_Stationen/MediaStation/POUs/FB_LeviPump.TcPOU
Normal file
@@ -0,0 +1,216 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1">
|
||||||
|
<POU Name="FB_LeviPump" Id="{5bcbb8cf-d053-4b79-9a6f-fd1b82880719}" SpecialFunc="None">
|
||||||
|
<Declaration><![CDATA[FUNCTION_BLOCK FB_LeviPump
|
||||||
|
VAR_INPUT
|
||||||
|
byAddr : BYTE;
|
||||||
|
xEnable : BOOL;
|
||||||
|
rSpeedSP : REAL;
|
||||||
|
END_VAR
|
||||||
|
VAR_OUTPUT
|
||||||
|
rSpeedPV : REAL;
|
||||||
|
END_VAR
|
||||||
|
VAR_IN_OUT
|
||||||
|
fbModbusMaster : FB_ModbusMaster;
|
||||||
|
END_VAR
|
||||||
|
VAR
|
||||||
|
_iState : INT;
|
||||||
|
|
||||||
|
_stMBReq : ST_Modbus_Req;
|
||||||
|
_stPollReq : ST_Modbus_Req;
|
||||||
|
|
||||||
|
_rSpeedSPOld : REAL := 0.0;
|
||||||
|
_wStateReq : WORD;
|
||||||
|
|
||||||
|
_wSpeedSP : WORD;
|
||||||
|
_xDebug : WORD := 2000;
|
||||||
|
_wFlowSP : WORD;
|
||||||
|
_wFlowSPOld : WORD;
|
||||||
|
|
||||||
|
_xMBReqDone : BOOL;
|
||||||
|
_xMBReqError : BOOL;
|
||||||
|
|
||||||
|
// Polling data
|
||||||
|
_tonPollTimer : TON;
|
||||||
|
_timPollingTime : TIME := T#500MS;
|
||||||
|
_stPumpStatus : ST_LeviPumpStatus;
|
||||||
|
_xMBPollDone : BOOL := TRUE;
|
||||||
|
_xMBPollError : BOOL;
|
||||||
|
|
||||||
|
_xTest : BOOL;
|
||||||
|
END_VAR
|
||||||
|
VAR CONSTANT
|
||||||
|
REG_STATE_REQ : WORD := 16#4000;
|
||||||
|
REG_SPEED_SP : WORD := 16#4001;
|
||||||
|
REG_FLOW_SP : WORD := 16#4002;
|
||||||
|
|
||||||
|
REG_STATUS : WORD := 16#4000;
|
||||||
|
REG_STATUS_SIZE : WORD := 11;
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[// Polling of pump state
|
||||||
|
_tonPollTimer(IN := TRUE, PT := _timPollingTime);
|
||||||
|
// IF _tonPollTimer.Q AND (_xMBPollDone) THEN
|
||||||
|
IF _tonPollTimer.Q AND _xTest THEN
|
||||||
|
_tonPollTimer(IN := FALSE);
|
||||||
|
|
||||||
|
M_GetPumpStatus();
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
CASE _iState OF
|
||||||
|
// Idle
|
||||||
|
0:
|
||||||
|
IF xEnable THEN
|
||||||
|
// Enable pump in speed ctrl
|
||||||
|
M_SendStateChangeReq(wState := E_LeviPumpState.SPEED_CTRL);
|
||||||
|
|
||||||
|
_iState := 10;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Wait for command to be done
|
||||||
|
10:
|
||||||
|
IF _xMBReqDone THEN
|
||||||
|
_iState := 20;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xMBReqError THEN
|
||||||
|
_iState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Enabled
|
||||||
|
20:
|
||||||
|
// Disable pump if requested
|
||||||
|
IF (NOT xEnable) THEN
|
||||||
|
M_SendStateChangeReq(wState := E_LeviPumpState.OFF);
|
||||||
|
_iState := 40;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Send new speed setpoint cmd when changed
|
||||||
|
IF rSpeedSP <> _rSpeedSPOld THEN
|
||||||
|
_rSpeedSPOld := rSpeedSP;
|
||||||
|
M_SendSpeedSP(wSpeed := REAL_TO_WORD(rSpeedSP));
|
||||||
|
_iState := 30;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _wFlowSP <> _wFlowSPOld THEN
|
||||||
|
M_SendFlowSP(wFlow := _xDebug);
|
||||||
|
_wFlowSPOld := _wFlowSP;
|
||||||
|
_iState := 30;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Wait for new command to be done
|
||||||
|
30:
|
||||||
|
IF _xMBReqDone THEN
|
||||||
|
_iState := 20;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xMBReqError THEN
|
||||||
|
_iState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Wait for disable command to be done
|
||||||
|
40:
|
||||||
|
IF _xMBReqDone THEN
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xMBReqError THEN
|
||||||
|
_iState := 900;
|
||||||
|
END_IF
|
||||||
|
END_CASE]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
<Method Name="M_GetPumpStatus" Id="{c29d3781-24af-49d0-ae91-bc8bbcd19d13}">
|
||||||
|
<Declaration><![CDATA[METHOD PRIVATE M_GetPumpStatus
|
||||||
|
VAR_INPUT
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[// Send pump state change request
|
||||||
|
_stPollReq.bySlaveAddr := byAddr;
|
||||||
|
_stPollReq.eCmd := E_Modbus_Cmd.READ_INPUTS;
|
||||||
|
_stPollReq.wStartAddr := REG_STATUS;
|
||||||
|
_stPollReq.pvData := ADR(_stPumpStatus);
|
||||||
|
_stPollReq.wDataSize := SIZEOF(_stPumpStatus);
|
||||||
|
_stPollReq.wQuantity := 8;
|
||||||
|
_stPollReq.pxDone := ADR(_xMBPollDone);
|
||||||
|
_stPollReq.pxError := ADR(_xMBPollError);
|
||||||
|
|
||||||
|
// Put request into queue
|
||||||
|
fbModbusMaster.M_Enqueue(stReq := _stPollReq);]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
|
<Method Name="M_SendFlowSP" Id="{db46ab38-50c8-48c4-b96a-5a58f673f453}">
|
||||||
|
<Declaration><![CDATA[METHOD M_SendFlowSP
|
||||||
|
VAR_INPUT
|
||||||
|
wFlow : WORD;
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[// Copy requested speed into internal buffer
|
||||||
|
_wFlowSP := wFlow;
|
||||||
|
|
||||||
|
// Send pump state change request
|
||||||
|
_stMBReq.bySlaveAddr := byAddr;
|
||||||
|
_stMBReq.eCmd := E_Modbus_Cmd.WRITE_HOLDING;
|
||||||
|
_stMBReq.wStartAddr := REG_FLOW_SP;
|
||||||
|
_stMBReq.pvData := ADR(_wFlowSP);
|
||||||
|
_stMBReq.wDataSize := SIZEOF(_wFlowSP);
|
||||||
|
_stMBReq.wQuantity := 1;
|
||||||
|
_stMBReq.pxDone := ADR(_xMBReqDone);
|
||||||
|
_stMBReq.pxError := ADR(_xMBReqError);
|
||||||
|
|
||||||
|
// Put request into queue
|
||||||
|
fbModbusMaster.M_Enqueue(stReq := _stMBReq);]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
|
<Method Name="M_SendSpeedSP" Id="{a9bf2f20-217d-46ed-911b-cac69c35be30}">
|
||||||
|
<Declaration><![CDATA[METHOD PRIVATE M_SendSpeedSP
|
||||||
|
VAR_INPUT
|
||||||
|
wSpeed : WORD;
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[// Copy requested speed into internal buffer
|
||||||
|
_wSpeedSP := wSpeed;
|
||||||
|
|
||||||
|
// Send pump state change request
|
||||||
|
_stMBReq.bySlaveAddr := byAddr;
|
||||||
|
_stMBReq.eCmd := E_Modbus_Cmd.WRITE_HOLDING;
|
||||||
|
_stMBReq.wStartAddr := REG_SPEED_SP;
|
||||||
|
_stMBReq.pvData := ADR(_wSpeedSP);
|
||||||
|
_stMBReq.wDataSize := SIZEOF(_wSpeedSP);
|
||||||
|
_stMBReq.wQuantity := 1;
|
||||||
|
_stMBReq.pxDone := ADR(_xMBReqDone);
|
||||||
|
_stMBReq.pxError := ADR(_xMBReqError);
|
||||||
|
|
||||||
|
// Put request into queue
|
||||||
|
fbModbusMaster.M_Enqueue(stReq := _stMBReq);]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
|
<Method Name="M_SendStateChangeReq" Id="{74415361-bb7e-4c06-b3ba-110b75c5772b}">
|
||||||
|
<Declaration><![CDATA[METHOD PRIVATE M_SendStateChangeReq
|
||||||
|
VAR_INPUT
|
||||||
|
wState : WORD;
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[// Copy requested state into internal buffer
|
||||||
|
_wStateReq := wState;
|
||||||
|
|
||||||
|
// Send pump state change request
|
||||||
|
_stMBReq.bySlaveAddr := byAddr;
|
||||||
|
_stMBReq.eCmd := E_Modbus_Cmd.WRITE_HOLDING;
|
||||||
|
_stMBReq.wStartAddr := REG_STATE_REQ;
|
||||||
|
_stMBReq.pvData := ADR(_wStateReq);
|
||||||
|
_stMBReq.wDataSize := SIZEOF(_wStateReq);
|
||||||
|
_stMBReq.wQuantity := 1;
|
||||||
|
_stMBReq.pxDone := ADR(_xMBReqDone);
|
||||||
|
_stMBReq.pxError := ADR(_xMBReqError);
|
||||||
|
|
||||||
|
// Put request into queue
|
||||||
|
fbModbusMaster.M_Enqueue(stReq := _stMBReq);]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
|
</POU>
|
||||||
|
</TcPlcObject>
|
||||||
@@ -42,7 +42,19 @@ VAR
|
|||||||
|
|
||||||
// Flowsensors
|
// Flowsensors
|
||||||
//_fbFlowSensors16 : FB_Levi_LFC6IO
|
//_fbFlowSensors16 : FB_Levi_LFC6IO
|
||||||
|
|
||||||
|
// Filmetch valve, NC -> Recirculating back into tank
|
||||||
|
_fbValveFilmetchOut : FB_Valve('');
|
||||||
|
|
||||||
|
// General valve config for valves with no feedback
|
||||||
|
_stValveConfig : ST_ValveConfig;
|
||||||
|
|
||||||
|
// Modbus master for Pumps
|
||||||
|
_fbMBMaster : FB_ModbusMaster;
|
||||||
|
_fbLeviPump9 : FB_LeviPump;
|
||||||
|
_xEnablePump : BOOL;
|
||||||
|
|
||||||
|
_xTest : BOOL;
|
||||||
END_VAR
|
END_VAR
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
@@ -98,7 +110,41 @@ _fbTankFilmetch(
|
|||||||
xReleaseErrors:= xReleaseErrors,
|
xReleaseErrors:= xReleaseErrors,
|
||||||
xReleaseManualMode:= xReleaseManualMode,
|
xReleaseManualMode:= xReleaseManualMode,
|
||||||
xConfirmAlarms:= xConfirmAlarms,
|
xConfirmAlarms:= xConfirmAlarms,
|
||||||
stHMIInterface:= stHMIInterface.stTankFilmetch);]]></ST>
|
stHMIInterface:= stHMIInterface.stTankFilmetch);
|
||||||
|
|
||||||
|
// Valves
|
||||||
|
_fbValveFilmetchOut(
|
||||||
|
xReleaseErrors:= xReleaseErrors,
|
||||||
|
stValveConfig:= _stValveConfig,
|
||||||
|
xReleaseManualMode:= xReleaseManualMode,
|
||||||
|
xConfirmAlarms:= xConfirmAlarms,
|
||||||
|
stHMIInterface:= stHMIInterface.stValveFilmetch);
|
||||||
|
|
||||||
|
_fbMBMaster();
|
||||||
|
|
||||||
|
_fbLeviPump9(
|
||||||
|
byAddr:= 9,
|
||||||
|
xEnable:= _xEnablePump,
|
||||||
|
rSpeedSP:= 2000,
|
||||||
|
fbModbusMaster:= _fbMBMaster);
|
||||||
|
|
||||||
|
]]></ST>
|
||||||
</Implementation>
|
</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.
|
||||||
|
//The return value is not evaluated. For a specific influence, you can also declare the
|
||||||
|
//methods explicitly and provide additional code there with the standard initialization
|
||||||
|
//code. You can evaluate the return value.
|
||||||
|
METHOD FB_Init: BOOL
|
||||||
|
VAR_INPUT
|
||||||
|
bInitRetains: BOOL; // TRUE: the retain variables are initialized (reset warm / reset cold)
|
||||||
|
bInCopyCode: BOOL; // TRUE: the instance will be copied to the copy code afterward (online change)
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[_stValveConfig.xHasOpenFeedback := FALSE;
|
||||||
|
_stValveConfig.xHasClosedFeedback := FALSE;]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
</POU>
|
</POU>
|
||||||
</TcPlcObject>
|
</TcPlcObject>
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
<POU Name="FB_Tank" Id="{d029e65c-5c27-470b-8bee-fea9f0455669}" SpecialFunc="None">
|
<POU Name="FB_Tank" Id="{d029e65c-5c27-470b-8bee-fea9f0455669}" SpecialFunc="None">
|
||||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Tank
|
<Declaration><![CDATA[FUNCTION_BLOCK FB_Tank
|
||||||
VAR_INPUT
|
VAR_INPUT
|
||||||
|
xOpenPumpValve : BOOL;
|
||||||
xReleaseErrors : BOOL;
|
xReleaseErrors : BOOL;
|
||||||
xReleaseManualMode : BOOL;
|
xReleaseManualMode : BOOL;
|
||||||
xConfirmAlarms : BOOL;
|
xConfirmAlarms : BOOL;
|
||||||
@@ -74,6 +75,7 @@ _fbDrainValve(
|
|||||||
stHMIInterface:= stHMIInterface.stDrainValve);
|
stHMIInterface:= stHMIInterface.stDrainValve);
|
||||||
|
|
||||||
_fbPumpValve(
|
_fbPumpValve(
|
||||||
|
xAutomaticOpen := xOpenPumpValve,
|
||||||
xReleaseErrors:= xReleaseErrors,
|
xReleaseErrors:= xReleaseErrors,
|
||||||
stValveConfig:= _stValveConfig,
|
stValveConfig:= _stValveConfig,
|
||||||
xReleaseManualMode:= xReleaseManualMode,
|
xReleaseManualMode:= xReleaseManualMode,
|
||||||
@@ -119,8 +121,7 @@ M_HandleHMIOutput();
|
|||||||
// Copy to output buffer
|
// Copy to output buffer
|
||||||
xOverfull := (NOT i_xOverfull);
|
xOverfull := (NOT i_xOverfull);
|
||||||
xFull := i_xFull;
|
xFull := i_xFull;
|
||||||
xEmpty := (NOT i_xEmpty);
|
xEmpty := (NOT i_xEmpty);]]></ST>
|
||||||
]]></ST>
|
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<Method Name="FB_Init" Id="{9c6d1842-9c2e-4437-b40f-941f77668ffe}">
|
<Method Name="FB_Init" Id="{9c6d1842-9c2e-4437-b40f-941f77668ffe}">
|
||||||
<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.
|
||||||
|
|||||||
@@ -28,10 +28,21 @@ VAR
|
|||||||
|
|
||||||
// Rerun flag for faster state machine
|
// Rerun flag for faster state machine
|
||||||
_xSMCycleDone : BOOL := TRUE;
|
_xSMCycleDone : BOOL := TRUE;
|
||||||
|
|
||||||
|
_xMasterWasBusy : BOOL;
|
||||||
|
|
||||||
|
_xTest : BOOL;
|
||||||
END_VAR
|
END_VAR
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[// Main state machine
|
<ST><![CDATA[//_fbMaster();
|
||||||
|
|
||||||
|
IF _xTest THEN
|
||||||
|
_xTest := FALSE;
|
||||||
|
_fbMaster.ReadInputRegs(Execute := FALSE);
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Main state machine
|
||||||
REPEAT
|
REPEAT
|
||||||
// Safety reset
|
// Safety reset
|
||||||
_xSMCycleDone := TRUE;
|
_xSMCycleDone := TRUE;
|
||||||
@@ -51,13 +62,6 @@ REPEAT
|
|||||||
1:
|
1:
|
||||||
// Get next request from queue if there is one
|
// Get next request from queue if there is one
|
||||||
IF M_Dequeue() THEN
|
IF M_Dequeue() THEN
|
||||||
// Set fb data
|
|
||||||
_fbMaster.UnitID := _stCurrReq.bySlaveAddr;
|
|
||||||
_fbMaster.MBAddr := _stCurrReq.wStartAddr;
|
|
||||||
_fbMaster.Quantity := _stCurrReq.wQuantity;
|
|
||||||
_fbMaster.cbLength := _stCurrReq.wDataSize;
|
|
||||||
_fbMaster.pMemoryAddr := _stCurrReq.pvData;
|
|
||||||
|
|
||||||
// Rerun statemachine this cycle
|
// Rerun statemachine this cycle
|
||||||
_xSMCycleDone := FALSE;
|
_xSMCycleDone := FALSE;
|
||||||
_iState := 10;
|
_iState := 10;
|
||||||
@@ -68,13 +72,34 @@ REPEAT
|
|||||||
// Call modbus master corresponding function
|
// Call modbus master corresponding function
|
||||||
CASE _stCurrReq.eCmd OF
|
CASE _stCurrReq.eCmd OF
|
||||||
E_Modbus_Cmd.READ_HOLDING:
|
E_Modbus_Cmd.READ_HOLDING:
|
||||||
_fbMaster.ReadRegs();
|
_fbMaster.ReadRegs(
|
||||||
|
UnitID := _stCurrReq.bySlaveAddr,
|
||||||
|
Quantity := _stCurrReq.wQuantity,
|
||||||
|
MBAddr := _stCurrReq.wStartAddr,
|
||||||
|
cbLength := _stCurrReq.wDataSize,
|
||||||
|
pMemoryAddr := _stCurrReq.pvData,
|
||||||
|
Execute := TRUE,
|
||||||
|
Timeout := T#1S);
|
||||||
|
|
||||||
E_Modbus_Cmd.READ_INPUTS:
|
E_Modbus_Cmd.READ_INPUTS:
|
||||||
_fbMaster.ReadInputRegs();
|
_fbMaster.ReadInputRegs(
|
||||||
|
UnitID := _stCurrReq.bySlaveAddr,
|
||||||
|
Quantity := _stCurrReq.wQuantity,
|
||||||
|
MBAddr := _stCurrReq.wStartAddr,
|
||||||
|
cbLength := _stCurrReq.wDataSize,
|
||||||
|
pMemoryAddr := _stCurrReq.pvData,
|
||||||
|
Execute := TRUE,
|
||||||
|
Timeout := T#1S);
|
||||||
|
|
||||||
E_Modbus_Cmd.WRITE_HOLDING:
|
E_Modbus_Cmd.WRITE_HOLDING:
|
||||||
_fbMaster.WriteRegs();
|
_fbMaster.WriteRegs(
|
||||||
|
UnitID := _stCurrReq.bySlaveAddr,
|
||||||
|
Quantity := _stCurrReq.wQuantity,
|
||||||
|
MBAddr := _stCurrReq.wStartAddr,
|
||||||
|
cbLength := _stCurrReq.wDataSize,
|
||||||
|
pMemoryAddr := _stCurrReq.pvData,
|
||||||
|
Execute := TRUE,
|
||||||
|
Timeout := T#1S);
|
||||||
|
|
||||||
// Reject unknown commands
|
// Reject unknown commands
|
||||||
ELSE
|
ELSE
|
||||||
@@ -82,8 +107,15 @@ REPEAT
|
|||||||
_iState := 0;
|
_iState := 0;
|
||||||
END_CASE
|
END_CASE
|
||||||
|
|
||||||
|
IF _fbMaster.BUSY THEN
|
||||||
|
_xMasterWasBusy := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
// Wait for fb to be done
|
// Wait for fb to be done
|
||||||
IF (NOT _fbMaster.BUSY) THEN
|
IF (NOT _fbMaster.BUSY) THEN
|
||||||
|
_fbMaster.ReadRegs(Execute := FALSE);
|
||||||
|
_fbMaster.ReadInputRegs(Execute := FALSE);
|
||||||
|
_fbMaster.WriteRegs(Execute := FALSE);
|
||||||
_stCurrReq.pxDone^ := TRUE;
|
_stCurrReq.pxDone^ := TRUE;
|
||||||
// Rerun statemachine this cycle
|
// Rerun statemachine this cycle
|
||||||
_xSMCycleDone := FALSE;
|
_xSMCycleDone := FALSE;
|
||||||
@@ -91,6 +123,9 @@ REPEAT
|
|||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
IF _fbMaster.Error THEN
|
IF _fbMaster.Error THEN
|
||||||
|
_fbMaster.ReadRegs(Execute := FALSE);
|
||||||
|
_fbMaster.ReadInputRegs(Execute := FALSE);
|
||||||
|
_fbMaster.WriteRegs(Execute := FALSE);
|
||||||
_stCurrReq.pxError^ := TRUE;
|
_stCurrReq.pxError^ := TRUE;
|
||||||
// Rerun statemachine this cycle
|
// Rerun statemachine this cycle
|
||||||
_xSMCycleDone := FALSE;
|
_xSMCycleDone := FALSE;
|
||||||
@@ -137,7 +172,7 @@ _iNextTail := (_iTail + 1) MOD GVL_ModbusMaster.QUEUE_SIZE;
|
|||||||
IF _iNextTail = _iHead THEN
|
IF _iNextTail = _iHead THEN
|
||||||
M_Enqueue := FALSE;
|
M_Enqueue := FALSE;
|
||||||
ELSE
|
ELSE
|
||||||
_astReqQueue[_iNextTail] := stReq;
|
_astReqQueue[_iTail] := stReq;
|
||||||
_iTail := _iNextTail;
|
_iTail := _iNextTail;
|
||||||
M_Enqueue := TRUE;
|
M_Enqueue := TRUE;
|
||||||
END_IF
|
END_IF
|
||||||
|
|||||||
@@ -182,12 +182,18 @@
|
|||||||
<Compile Include="01_Stationen\Kuka_Robot\ST_KukaRobot_UnitFeedbacks.TcDUT">
|
<Compile Include="01_Stationen\Kuka_Robot\ST_KukaRobot_UnitFeedbacks.TcDUT">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="01_Stationen\MediaStation\DUTs\E_LeviPumpState.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>
|
||||||
<Compile Include="01_Stationen\MediaStation\DUTs\ST_HMI_Tank.TcDUT">
|
<Compile Include="01_Stationen\MediaStation\DUTs\ST_HMI_Tank.TcDUT">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="01_Stationen\MediaStation\DUTs\ST_LeviPumpStatus.TcDUT">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="01_Stationen\MediaStation\DUTs\ST_Levi_ChData.TcDUT">
|
<Compile Include="01_Stationen\MediaStation\DUTs\ST_Levi_ChData.TcDUT">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -197,6 +203,9 @@
|
|||||||
<Compile Include="01_Stationen\MediaStation\FB_Levi_LFC6IO.TcPOU">
|
<Compile Include="01_Stationen\MediaStation\FB_Levi_LFC6IO.TcPOU">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="01_Stationen\MediaStation\POUs\FB_LeviPump.TcPOU">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="01_Stationen\MediaStation\POUs\FB_MediaCabinet.TcPOU">
|
<Compile Include="01_Stationen\MediaStation\POUs\FB_MediaCabinet.TcPOU">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -516,8 +525,8 @@
|
|||||||
<ProjectExtensions>
|
<ProjectExtensions>
|
||||||
<PlcProjectOptions>
|
<PlcProjectOptions>
|
||||||
<XmlArchive>
|
<XmlArchive>
|
||||||
<Data>
|
<Data>
|
||||||
<o xml:space="preserve" t="OptionKey">
|
<o xml:space="preserve" t="OptionKey">
|
||||||
<v n="Name">"<ProjectRoot>"</v>
|
<v n="Name">"<ProjectRoot>"</v>
|
||||||
<d n="SubKeys" t="Hashtable" ckt="String" cvt="OptionKey">
|
<d n="SubKeys" t="Hashtable" ckt="String" cvt="OptionKey">
|
||||||
<v>{192FAD59-8248-4824-A8DE-9177C94C195A}</v>
|
<v>{192FAD59-8248-4824-A8DE-9177C94C195A}</v>
|
||||||
@@ -662,14 +671,14 @@
|
|||||||
</d>
|
</d>
|
||||||
<d n="Values" t="Hashtable" />
|
<d n="Values" t="Hashtable" />
|
||||||
</o>
|
</o>
|
||||||
</Data>
|
</Data>
|
||||||
<TypeList>
|
<TypeList>
|
||||||
<Type n="Boolean">System.Boolean</Type>
|
<Type n="Boolean">System.Boolean</Type>
|
||||||
<Type n="Hashtable">System.Collections.Hashtable</Type>
|
<Type n="Hashtable">System.Collections.Hashtable</Type>
|
||||||
<Type n="OptionKey">{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}</Type>
|
<Type n="OptionKey">{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}</Type>
|
||||||
<Type n="String">System.String</Type>
|
<Type n="String">System.String</Type>
|
||||||
</TypeList>
|
</TypeList>
|
||||||
</XmlArchive>
|
</XmlArchive>
|
||||||
</PlcProjectOptions>
|
</PlcProjectOptions>
|
||||||
</ProjectExtensions>
|
</ProjectExtensions>
|
||||||
</Project>
|
</Project>
|
||||||
74
PLC/PLC.tmc
74
PLC/PLC.tmc
File diff suppressed because one or more lines are too long
@@ -171,7 +171,7 @@
|
|||||||
</ArrayInfo>
|
</ArrayInfo>
|
||||||
</DataType>
|
</DataType>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000006}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..5] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000006}" IecBaseType="true" BitType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..5] OF BIT</Name>
|
||||||
<BitSize>6</BitSize>
|
<BitSize>6</BitSize>
|
||||||
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
|
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
|
||||||
<ArrayInfo>
|
<ArrayInfo>
|
||||||
@@ -474,7 +474,7 @@
|
|||||||
</ArrayInfo>
|
</ArrayInfo>
|
||||||
</DataType>
|
</DataType>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000004}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..3] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000004}" IecBaseType="true" BitType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..3] OF BIT</Name>
|
||||||
<BitSize>4</BitSize>
|
<BitSize>4</BitSize>
|
||||||
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
|
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
|
||||||
<ArrayInfo>
|
<ArrayInfo>
|
||||||
@@ -519,7 +519,7 @@
|
|||||||
</ArrayInfo>
|
</ArrayInfo>
|
||||||
</DataType>
|
</DataType>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-00200000000D}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..12] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-00200000000D}" IecBaseType="true" BitType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..12] OF BIT</Name>
|
||||||
<BitSize>13</BitSize>
|
<BitSize>13</BitSize>
|
||||||
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
|
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
|
||||||
<ArrayInfo>
|
<ArrayInfo>
|
||||||
@@ -528,7 +528,7 @@
|
|||||||
</ArrayInfo>
|
</ArrayInfo>
|
||||||
</DataType>
|
</DataType>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-00200000000E}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..13] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-00200000000E}" IecBaseType="true" BitType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..13] OF BIT</Name>
|
||||||
<BitSize>14</BitSize>
|
<BitSize>14</BitSize>
|
||||||
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
|
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
|
||||||
<ArrayInfo>
|
<ArrayInfo>
|
||||||
@@ -537,7 +537,7 @@
|
|||||||
</ArrayInfo>
|
</ArrayInfo>
|
||||||
</DataType>
|
</DataType>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-00200000000F}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..14] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-00200000000F}" IecBaseType="true" BitType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..14] OF BIT</Name>
|
||||||
<BitSize>15</BitSize>
|
<BitSize>15</BitSize>
|
||||||
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
|
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
|
||||||
<ArrayInfo>
|
<ArrayInfo>
|
||||||
|
|||||||
@@ -103,9 +103,11 @@
|
|||||||
<OwnerA>
|
<OwnerA>
|
||||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 103 (EX260-SEC1)">
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 103 (EX260-SEC1)">
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidLow._fbWaterValve.xOpenValve" VarB="Byte 2^Output[6]" Size="1"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidLow._fbWaterValve.xOpenValve" VarB="Byte 2^Output[6]" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankFilmetch._fbPumpValve.xOpenValve" VarB="Byte 2^Output[0]" Size="1"/>
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankHydrofluoricAcid._fbWaterValve.xOpenValve" VarB="Byte 2^Output[7]" Size="1"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankHydrofluoricAcid._fbWaterValve.xOpenValve" VarB="Byte 2^Output[7]" Size="1"/>
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankNitricAcid._fbWaterValve.xOpenValve" VarB="Byte 2^Output[5]" Size="1"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankNitricAcid._fbWaterValve.xOpenValve" VarB="Byte 2^Output[5]" Size="1"/>
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankSulfuricAcid._fbWaterValve.xOpenValve" VarB="Byte 2^Output[4]" Size="1"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankSulfuricAcid._fbWaterValve.xOpenValve" VarB="Byte 2^Output[4]" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbValveFilmetchOut.xOpenValve" VarB="Byte 2^Output[1]" Size="1"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 104 (EX260-SEC1)">
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 104 (EX260-SEC1)">
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidHigh._fbDrainValve.xOpenValve" VarB="Byte 1^Output[5]" Size="1"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidHigh._fbDrainValve.xOpenValve" VarB="Byte 1^Output[5]" Size="1"/>
|
||||||
@@ -127,6 +129,12 @@
|
|||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner.diXOffset" VarB="Module 1 (Result Data 128Byte)^Result Data 128Byte^Result Data7"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner.diXOffset" VarB="Module 1 (Result Data 128Byte)^Result Data 128Byte^Result Data7"/>
|
||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner.diYOffset" VarB="Module 1 (Result Data 128Byte)^Result Data 128Byte^Result Data8"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner.diYOffset" VarB="Module 1 (Result Data 128Byte)^Result Data 128Byte^Result Data8"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 44 (EX260-SEC1)">
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTesterCold._fbDoorValve.xCloseValve" VarB="Byte 0^Output[1]" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTesterCold._fbDoorValve.xOpenValve" VarB="Byte 0^Output[0]" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTesterHot._fbDoorValve.xCloseValve" VarB="Byte 0^Output[3]" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTesterHot._fbDoorValve.xOpenValve" VarB="Byte 0^Output[2]" Size="1"/>
|
||||||
|
</OwnerB>
|
||||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 7 (EX600-SEC#)">
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 7 (EX600-SEC#)">
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbAligner.xActivateVacuum" VarB="Module 1 (EX600-SEC#, 32 Valves)^Valve Outputs^Aligner enable vacuum" Size="1"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbAligner.xActivateVacuum" VarB="Module 1 (EX600-SEC#, 32 Valves)^Valve Outputs^Aligner enable vacuum" Size="1"/>
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbAligner.xDeactivateVacuum" VarB="Module 1 (EX600-SEC#, 32 Valves)^Valve Outputs^Aligner disable vacuum" Size="1"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbAligner.xDeactivateVacuum" VarB="Module 1 (EX600-SEC#, 32 Valves)^Valve Outputs^Aligner disable vacuum" Size="1"/>
|
||||||
@@ -201,6 +209,26 @@
|
|||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.stCtrl^bSendContinues" VarB="COM RxPDO-Map Outputs^Ctrl^Send continues"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.stCtrl^bSendContinues" VarB="COM RxPDO-Map Outputs^Ctrl^Send continues"/>
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.stCtrl^bTransmitRequest" VarB="COM RxPDO-Map Outputs^Ctrl^Transmit request"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.stCtrl^bTransmitRequest" VarB="COM RxPDO-Map Outputs^Ctrl^Transmit request"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^HV_K01_KL01^HV_K01_KL05 (EL1018)">
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHVTesterCold._fbDoorValve.xCloseFeedback" VarB="Channel 8^Cold Shutter Closed" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHVTesterCold._fbDoorValve.xOpenFeedback" VarB="Channel 7^Cold Shutter Opened" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHVTesterCold._fbTestChamberValve.xCloseFeedback" VarB="Channel 2^Cold Chamber Closed" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHVTesterCold._fbTestChamberValve.xOpenFeedback" VarB="Channel 1^Cold Chamber Opend" Size="1"/>
|
||||||
|
</OwnerB>
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^HV_K01_KL01^HV_K01_KL06 (EL1018)">
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHVTesterHot._fbDoorValve.xCloseFeedback" VarB="Channel 8^Hot Shutter Closed" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHVTesterHot._fbDoorValve.xOpenFeedback" VarB="Channel 7^Hot Shutter Opened" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHVTesterHot._fbTestChamberValve.xCloseFeedback" VarB="Channel 2^Hot Chamber Closed" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHVTesterHot._fbTestChamberValve.xOpenFeedback" VarB="Channel 1^Hot Chamber Opend" Size="1"/>
|
||||||
|
</OwnerB>
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^HV_K01_KL01^HV_K01_KL07 (EL2008)">
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTesterCold._fbReleaseChamberMovement.xOpenValve" VarB="Channel 4^HV Cold_Vlave" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTesterCold._fbTestChamberValve.xCloseValve" VarB="Channel 3^HV Cold_CloseChamber" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTesterCold._fbTestChamberValve.xOpenValve" VarB="Channel 2^HV Cold_OpenChamber" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTesterHot._fbReleaseChamberMovement.xOpenValve" VarB="Channel 7^HV Hot_Valve" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTesterHot._fbTestChamberValve.xCloseValve" VarB="Channel 6^HV Hot_CloseChamber" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHVTesterHot._fbTestChamberValve.xOpenValve" VarB="Channel 5^HV Hot_OpenChamber" Size="1"/>
|
||||||
|
</OwnerB>
|
||||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^K01_KL01 (EK1100)^K01_KL02 (EL1018)">
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^K01_KL01 (EK1100)^K01_KL02 (EL1018)">
|
||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidHigh.i_xEmpty" VarB="Channel 5^Tank1NotEmpty" Size="1"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidHigh.i_xEmpty" VarB="Channel 5^Tank1NotEmpty" Size="1"/>
|
||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidHigh.i_xFull" VarB="Channel 6^Tank1Full" Size="1"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankAceticAcidHigh.i_xFull" VarB="Channel 6^Tank1Full" Size="1"/>
|
||||||
@@ -247,6 +275,9 @@
|
|||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbValveDoor.xOpenValve" VarB="Byte 0^Output[0]" Size="1"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbValveDoor.xOpenValve" VarB="Byte 0^Output[0]" Size="1"/>
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1.xDisableVacuum" VarB="Byte 0^Output[2]" Size="1"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1.xDisableVacuum" VarB="Byte 0^Output[2]" Size="1"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^K20_QM02 (EX260-SEC1)">
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbValveEnableFilmetch.xOpenValve" VarB="Byte 0^Output[5]" Size="1"/>
|
||||||
|
</OwnerB>
|
||||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^K21_A1 (EP1018-0001)">
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^K21_A1 (EP1018-0001)">
|
||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbValveDoor.xCloseFeedback" VarB="Channel 3^ShutterClosed" Size="1"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbValveDoor.xCloseFeedback" VarB="Channel 3^ShutterClosed" Size="1"/>
|
||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbValveDoor.xOpenFeedback" VarB="Channel 2^ShutterOpened" Size="1"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbValveDoor.xOpenFeedback" VarB="Channel 2^ShutterOpened" Size="1"/>
|
||||||
@@ -363,6 +394,54 @@
|
|||||||
<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"/>
|
||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankFilmetch.i_xFull" VarB="Channel 6^Tank9Full" Size="1"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankFilmetch.i_xFull" VarB="Channel 6^Tank9Full" Size="1"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^Tank_1_4_9 (EK1100)^M1_KL05 (EL6021)">
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 0" Size="8"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 1" Size="8" OffsA="8"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 10" Size="8" OffsA="80"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 11" Size="8" OffsA="88"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 12" Size="8" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 13" Size="8" OffsA="104"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 14" Size="8" OffsA="112"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 15" Size="8" OffsA="120"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 16" Size="8" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 17" Size="8" OffsA="136"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 18" Size="8" OffsA="144"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 19" Size="8" OffsA="152"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 2" Size="8" OffsA="16"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 20" Size="8" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 21" Size="8" OffsA="168"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 3" Size="8" OffsA="24"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 4" Size="8" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 5" Size="8" OffsA="40"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 6" Size="8" OffsA="48"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 7" Size="8" OffsA="56"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 8" Size="8" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^D" VarB="COM TxPDO-Map Inputs^Data In 9" Size="8" OffsA="72"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData^Status" VarB="COM TxPDO-Map Inputs^Status"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^Ctrl" VarB="COM RxPDO-Map Outputs^Ctrl"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 0" Size="8"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 1" Size="8" OffsA="8"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 10" Size="8" OffsA="80"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 11" Size="8" OffsA="88"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 12" Size="8" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 13" Size="8" OffsA="104"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 14" Size="8" OffsA="112"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 15" Size="8" OffsA="120"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 16" Size="8" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 17" Size="8" OffsA="136"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 18" Size="8" OffsA="144"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 19" Size="8" OffsA="152"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 2" Size="8" OffsA="16"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 20" Size="8" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 21" Size="8" OffsA="168"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 3" Size="8" OffsA="24"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 4" Size="8" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 5" Size="8" OffsA="40"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 6" Size="8" OffsA="48"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 7" Size="8" OffsA="56"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 8" Size="8" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData^D" VarB="COM RxPDO-Map Outputs^Data Out 9" Size="8" OffsA="72"/>
|
||||||
|
</OwnerB>
|
||||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^Tank_5_6_2 (EK1100)^M3_KL02 (EL1918)">
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^Tank_5_6_2 (EK1100)^M3_KL02 (EL1918)">
|
||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankHydrofluoricAcid.i_xOverfull" VarB="Module 1 (FSOE)^FSoE Inputs^FSOE^Tank5NotOverFull" Size="1"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankHydrofluoricAcid.i_xOverfull" VarB="Module 1 (FSOE)^FSoE Inputs^FSOE^Tank5NotOverFull" Size="1"/>
|
||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankSulfuricAcid.i_xOverfull" VarB="Module 1 (FSOE)^FSoE Inputs^FSOE^Tank2NotOverFull" Size="1"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbMediaCabinet._fbTankSulfuricAcid.i_xOverfull" VarB="Module 1 (FSOE)^FSoE Inputs^FSOE^Tank2NotOverFull" Size="1"/>
|
||||||
@@ -598,6 +677,14 @@
|
|||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner._fbYAxis._fbAxis.NcToPlc" VarB="Outputs^ToPlc"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner._fbYAxis._fbAxis.NcToPlc" VarB="Outputs^ToPlc"/>
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbAligner._fbYAxis._fbAxis.PlcToNc" VarB="Inputs^FromPlc"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbAligner._fbYAxis._fbAxis.PlcToNc" VarB="Inputs^FromPlc"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
|
<OwnerB Name="TINC^NC-Task 1 SAF^Axes^Etcher1Chuck">
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbSpinner._fbAxis.NcToPlc" VarB="Outputs^ToPlc"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbSpinner._fbAxis.PlcToNc" VarB="Inputs^FromPlc"/>
|
||||||
|
</OwnerB>
|
||||||
|
<OwnerB Name="TINC^NC-Task 1 SAF^Axes^Etcher2Chuck">
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbSpinner._fbAxis.NcToPlc" VarB="Outputs^ToPlc"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbSpinner._fbAxis.PlcToNc" VarB="Inputs^FromPlc"/>
|
||||||
|
</OwnerB>
|
||||||
</OwnerA>
|
</OwnerA>
|
||||||
</Mappings>
|
</Mappings>
|
||||||
</TcSmItem>
|
</TcSmItem>
|
||||||
|
|||||||
@@ -2677,7 +2677,7 @@ External Setpoint Generation:
|
|||||||
</Properties>
|
</Properties>
|
||||||
</DataType>
|
</DataType>
|
||||||
</DataTypes>
|
</DataTypes>
|
||||||
<Instance TmcHash="{6F9D093A-93DD-18C8-E5C5-A2C7DAE3FFFF}">
|
<Instance TmcHash="{CD9996AB-5CC2-8E96-6982-22B7BA0B8855}">
|
||||||
<Vars VarGrpType="1">
|
<Vars VarGrpType="1">
|
||||||
<Name>PlcTask Inputs</Name>
|
<Name>PlcTask Inputs</Name>
|
||||||
<Var>
|
<Var>
|
||||||
@@ -2807,6 +2807,22 @@ External Setpoint Generation:
|
|||||||
<Name>PRG_Main._fbEtcher1._fbRobot.stRobotInputs</Name>
|
<Name>PRG_Main._fbEtcher1._fbRobot.stRobotInputs</Name>
|
||||||
<Type GUID="{F7ADF11A-012A-C92E-EDFE-B3DB3D0D7328}">ST_Meca_Inputs</Type>
|
<Type GUID="{F7ADF11A-012A-C92E-EDFE-B3DB3D0D7328}">ST_Meca_Inputs</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher1._fbSpinner.xCalibrationCam</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher1._fbSpinner._fbAxis.NcToPlc</Name>
|
||||||
|
<Type GUID="{25521FAA-EA5F-4C7F-8864-BBCCDACD2E98}" Namespace="MC">NCTOPLC_AXIS_REF</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher1._fbValveEnableFilmetch.xOpenFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher1._fbValveEnableFilmetch.xCloseFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbEtcher2._fbValveDoor.xOpenFeedback</Name>
|
<Name>PRG_Main._fbEtcher2._fbValveDoor.xOpenFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
@@ -2863,6 +2879,22 @@ External Setpoint Generation:
|
|||||||
<Name>PRG_Main._fbEtcher2._fbRobot.stRobotInputs</Name>
|
<Name>PRG_Main._fbEtcher2._fbRobot.stRobotInputs</Name>
|
||||||
<Type GUID="{F7ADF11A-012A-C92E-EDFE-B3DB3D0D7328}">ST_Meca_Inputs</Type>
|
<Type GUID="{F7ADF11A-012A-C92E-EDFE-B3DB3D0D7328}">ST_Meca_Inputs</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher2._fbSpinner.xCalibrationCam</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher2._fbSpinner._fbAxis.NcToPlc</Name>
|
||||||
|
<Type GUID="{25521FAA-EA5F-4C7F-8864-BBCCDACD2E98}" Namespace="MC">NCTOPLC_AXIS_REF</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher2._fbValveEnableFilmetch.xOpenFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher2._fbValveEnableFilmetch.xCloseFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHotplate._fbTempSensor.iAnalogValue</Name>
|
<Name>PRG_Main._fbHotplate._fbTempSensor.iAnalogValue</Name>
|
||||||
<Comment><![CDATA[ Analog input value]]></Comment>
|
<Comment><![CDATA[ Analog input value]]></Comment>
|
||||||
@@ -2915,75 +2947,51 @@ External Setpoint Generation:
|
|||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stDoorValve.xOpenFeedback</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbDoorValve.xOpenFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stDoorValve.xCloseFeedback</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbDoorValve.xCloseFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stTestChamberValve.xOpenFeedback</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbTestChamberValve.xOpenFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stTestChamberValve.xCloseFeedback</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbTestChamberValve.xCloseFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stReleaseChamberMovement.xOpenFeedback</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbReleaseChamberMovement.xOpenFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stReleaseChamberMovement.xCloseFeedback</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbReleaseChamberMovement.xCloseFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stDoorValve.xOpenFeedback</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbDoorValve.xOpenFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stDoorValve.xCloseFeedback</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbDoorValve.xCloseFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stTestChamberValve.xOpenFeedback</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbTestChamberValve.xOpenFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stTestChamberValve.xCloseFeedback</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbTestChamberValve.xCloseFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stReleaseChamberMovement.xOpenFeedback</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbReleaseChamberMovement.xOpenFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stReleaseChamberMovement.xCloseFeedback</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbReleaseChamberMovement.xCloseFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Main._fbModbusMaster._fbMaster.InData</Name>
|
|
||||||
<Type GUID="{F852D9F7-9DB9-AE77-EE6D-D9BA52CDE308}" Namespace="Tc2_ModbusRTU">MB_KL6inData22B</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Main._fbModbusMaster._fbMaster.WcState</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Main.stCamResult</Name>
|
|
||||||
<Type GUID="{A86AEC57-FBDB-D0EE-AB47-339A794FEE1B}">ST_TrayFeederCamPosData</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xEStopOk</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xComStartup</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xRequestOpenDoor</Name>
|
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
@@ -3382,6 +3390,46 @@ External Setpoint Generation:
|
|||||||
<Name>PRG_Main._fbMediaCabinet._fbTankFilmetch._fbPumpValve.xCloseFeedback</Name>
|
<Name>PRG_Main._fbMediaCabinet._fbTankFilmetch._fbPumpValve.xCloseFeedback</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbMediaCabinet._fbValveFilmetchOut.xOpenFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbMediaCabinet._fbValveFilmetchOut.xCloseFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.InData</Name>
|
||||||
|
<Type GUID="{F852D9F7-9DB9-AE77-EE6D-D9BA52CDE308}" Namespace="Tc2_ModbusRTU">MB_KL6inData22B</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.WcState</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbModbusMaster._fbMaster.InData</Name>
|
||||||
|
<Type GUID="{F852D9F7-9DB9-AE77-EE6D-D9BA52CDE308}" Namespace="Tc2_ModbusRTU">MB_KL6inData22B</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbModbusMaster._fbMaster.WcState</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main.stCamResult</Name>
|
||||||
|
<Type GUID="{A86AEC57-FBDB-D0EE-AB47-339A794FEE1B}">ST_TrayFeederCamPosData</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xEStopOk</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xComStartup</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xRequestOpenDoor</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
</Vars>
|
</Vars>
|
||||||
<Vars VarGrpType="2" AreaNo="1">
|
<Vars VarGrpType="2" AreaNo="1">
|
||||||
<Name>PlcTask Outputs</Name>
|
<Name>PlcTask Outputs</Name>
|
||||||
@@ -3508,10 +3556,24 @@ External Setpoint Generation:
|
|||||||
<Comment><![CDATA[ Safety reset output]]></Comment>
|
<Comment><![CDATA[ Safety reset output]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher1._fbSpinner._fbAxis.PlcToNc</Name>
|
||||||
|
<Type GUID="{96B75FEB-2D84-43BE-A3EC-D9A681F27D52}" Namespace="MC">PLCTONC_AXIS_REF</Type>
|
||||||
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbEtcher1.xDisableVacuum</Name>
|
<Name>PRG_Main._fbEtcher1.xDisableVacuum</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher1._fbValveEnableFilmetch.xOpenValve</Name>
|
||||||
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher1._fbValveEnableFilmetch.xCloseValve</Name>
|
||||||
|
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbEtcher2._fbValveDoor.xOpenValve</Name>
|
<Name>PRG_Main._fbEtcher2._fbValveDoor.xOpenValve</Name>
|
||||||
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
@@ -3571,10 +3633,24 @@ External Setpoint Generation:
|
|||||||
<Comment><![CDATA[ Safety reset output]]></Comment>
|
<Comment><![CDATA[ Safety reset output]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher2._fbSpinner._fbAxis.PlcToNc</Name>
|
||||||
|
<Type GUID="{96B75FEB-2D84-43BE-A3EC-D9A681F27D52}" Namespace="MC">PLCTONC_AXIS_REF</Type>
|
||||||
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbEtcher2.xDisableVacuum</Name>
|
<Name>PRG_Main._fbEtcher2.xDisableVacuum</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher2._fbValveEnableFilmetch.xOpenValve</Name>
|
||||||
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbEtcher2._fbValveEnableFilmetch.xCloseValve</Name>
|
||||||
|
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHotplate.xEnableHotplate</Name>
|
<Name>PRG_Main._fbHotplate.xEnableHotplate</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
@@ -3589,105 +3665,65 @@ External Setpoint Generation:
|
|||||||
<Type GUID="{BBFC3C84-2835-602C-793A-4CCF6A40D1E8}">ARRAY [0..21] OF BYTE</Type>
|
<Type GUID="{BBFC3C84-2835-602C-793A-4CCF6A40D1E8}">ARRAY [0..21] OF BYTE</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stDoorValve.xOpenValve</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbDoorValve.xOpenValve</Name>
|
||||||
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stDoorValve.xCloseValve</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbDoorValve.xCloseValve</Name>
|
||||||
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stTestChamberValve.xOpenValve</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbTestChamberValve.xOpenValve</Name>
|
||||||
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stTestChamberValve.xCloseValve</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbTestChamberValve.xCloseValve</Name>
|
||||||
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stReleaseChamberMovement.xOpenValve</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbReleaseChamberMovement.xOpenValve</Name>
|
||||||
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterHot.stReleaseChamberMovement.xCloseValve</Name>
|
<Name>PRG_Main._fbHVTesterHot._fbReleaseChamberMovement.xCloseValve</Name>
|
||||||
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stDoorValve.xOpenValve</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbDoorValve.xOpenValve</Name>
|
||||||
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stDoorValve.xCloseValve</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbDoorValve.xCloseValve</Name>
|
||||||
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stTestChamberValve.xOpenValve</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbTestChamberValve.xOpenValve</Name>
|
||||||
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stTestChamberValve.xCloseValve</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbTestChamberValve.xCloseValve</Name>
|
||||||
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stReleaseChamberMovement.xOpenValve</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbReleaseChamberMovement.xOpenValve</Name>
|
||||||
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbHVTesterCold.stReleaseChamberMovement.xCloseValve</Name>
|
<Name>PRG_Main._fbHVTesterCold._fbReleaseChamberMovement.xCloseValve</Name>
|
||||||
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
|
||||||
<Name>PRG_Main._fbModbusMaster._fbMaster.OutData</Name>
|
|
||||||
<Type GUID="{E4C24E72-EF65-C814-8E17-663F53275EE3}" Namespace="Tc2_ModbusRTU">MB_KL6outData22B</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Main.xTriggerCamera</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xRun</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xErrorAck</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xLockDoor</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xLEDMachineOn</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xLEDMachineOff</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xLockMediaDoor1</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xLockMediaDoor2</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_Safety.xLockMediaDoor3</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbMediaCabinet._fbTankAceticAcidHigh._fbWaterValve.xOpenValve</Name>
|
<Name>PRG_Main._fbMediaCabinet._fbTankAceticAcidHigh._fbWaterValve.xOpenValve</Name>
|
||||||
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
@@ -4048,6 +4084,60 @@ External Setpoint Generation:
|
|||||||
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbMediaCabinet._fbValveFilmetchOut.xOpenValve</Name>
|
||||||
|
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbMediaCabinet._fbValveFilmetchOut.xCloseValve</Name>
|
||||||
|
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbMediaCabinet._fbMBMaster._fbMaster.OutData</Name>
|
||||||
|
<Type GUID="{E4C24E72-EF65-C814-8E17-663F53275EE3}" Namespace="Tc2_ModbusRTU">MB_KL6outData22B</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main._fbModbusMaster._fbMaster.OutData</Name>
|
||||||
|
<Type GUID="{E4C24E72-EF65-C814-8E17-663F53275EE3}" Namespace="Tc2_ModbusRTU">MB_KL6outData22B</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main.xTriggerCamera</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xRun</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xErrorAck</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xLockDoor</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xLEDMachineOn</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xLEDMachineOff</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xLockMediaDoor1</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xLockMediaDoor2</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Safety.xLockMediaDoor3</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
</Vars>
|
</Vars>
|
||||||
<Vars VarGrpType="8" AreaNo="4">
|
<Vars VarGrpType="8" AreaNo="4">
|
||||||
<Name>PlcTask Retains</Name>
|
<Name>PlcTask Retains</Name>
|
||||||
|
|||||||
Reference in New Issue
Block a user