More Meca implementation
This commit is contained in:
@@ -76,6 +76,8 @@ VAR
|
||||
// Actuators
|
||||
// =========
|
||||
|
||||
_fbRobot : FB_Mecademics;
|
||||
|
||||
xDisableVacuum AT %Q* : BOOL;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
@@ -132,6 +134,8 @@ _fbEjectBack(
|
||||
|
||||
xDisableVacuum := (NOT xEnableVacuum);
|
||||
|
||||
_fbRobot(stPackMLHMIInterface := stHMIInterface.stMecaCmds);
|
||||
|
||||
// Call base sm
|
||||
SUPER^(stPackMLHMIInterface := stHMIInterface.stStationCmds);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<GVL Name="GVL_ETCHER" Id="{ef1ba925-5452-40f1-b847-57ee34065909}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
VAR_GLOBAL
|
||||
VAR_GLOBAL CONSTANT
|
||||
MAX_ROBOT_POS : UINT := 10;
|
||||
END_VAR]]></Declaration>
|
||||
</GVL>
|
||||
|
||||
@@ -53,7 +53,7 @@ TYPE E_Meca_Cmds :
|
||||
SET_TOOL_SPHERE := 155,
|
||||
SET_CALIBRATION_CFG := 156,
|
||||
REBOOT_ROBOT := 200
|
||||
);
|
||||
)UDINT := NO_MOVEMENT;
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_Configurations" Id="{d428df95-5825-4c78-9c82-db07b6f06b2a}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_Configurations :
|
||||
STRUCT
|
||||
siShoulder : SINT;
|
||||
siElbow : SINT;
|
||||
siWrist : SINT;
|
||||
siTurn : SINT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_DynamicData" Id="{eb440853-1144-466e-801d-c83f27997752}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_DynamicData :
|
||||
STRUCT
|
||||
udiDynamic_Type : UDINT;
|
||||
rValue_0 : REAL;
|
||||
rValue_1 : REAL;
|
||||
rValue_2 : REAL;
|
||||
rValue_3 : REAL;
|
||||
rValue_4 : REAL;
|
||||
rValue_5 : REAL;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_EndEffectorPose" Id="{550369ad-a02a-4994-845f-0e5bcd8c28d2}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_EndEffectorPose :
|
||||
STRUCT
|
||||
rSubIndex_001 : REAL;
|
||||
rSubIndex_002 : REAL;
|
||||
rSubIndex_003 : REAL;
|
||||
rSubIndex_004 : REAL;
|
||||
rSubIndex_005 : REAL;
|
||||
rSubIndex_006 : REAL;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_RobotTimestamp" Id="{8c6943a9-eb48-4002-9676-3b975565fe21}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_RobotTimestamp :
|
||||
STRUCT
|
||||
udiTimestamp_Seconds : UDINT;
|
||||
udiTimestamp_Microseconds : UDINT;
|
||||
udiDynamic_Data_Cycles : UDINT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_SafetyStatus" Id="{87f1a6a3-00a5-4cfe-890e-38e5886ffb63}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_SafetyStatus :
|
||||
STRUCT
|
||||
bEstop : BIT;
|
||||
bUnused2 : BIT;
|
||||
bPStop2 : BIT;
|
||||
bUnused4 : BIT;
|
||||
bUnused5 : BIT;
|
||||
bUnused6 : BIT;
|
||||
bUnused7 : BIT;
|
||||
bReboot : BIT;
|
||||
bUnused9 : BIT;
|
||||
bUnused10 : BIT;
|
||||
bConnection_Dropped : BIT;
|
||||
bUnused12 : BIT;
|
||||
bUnused13 : BIT;
|
||||
bUnused14 : BIT;
|
||||
bUnused15 : BIT;
|
||||
bUnused16 : BIT;
|
||||
bUnused17 : BIT;
|
||||
bUnused18 : BIT;
|
||||
bUnused19 : BIT;
|
||||
bUnused20 : BIT;
|
||||
bUnused21 : BIT;
|
||||
bUnused22 : BIT;
|
||||
bUnused23 : BIT;
|
||||
bUnused24 : BIT;
|
||||
bUnused25 : BIT;
|
||||
bUnused26 : BIT;
|
||||
bUnused27 : BIT;
|
||||
bUnused28 : BIT;
|
||||
bUnused29 : BIT;
|
||||
bUnused30 : BIT;
|
||||
bUnused31 : BIT;
|
||||
bUnused32 : BIT;
|
||||
bEstop_Resettable : BIT;
|
||||
bUnused34 : BIT;
|
||||
bPStop2_Resettable : BIT;
|
||||
bUnused36 : BIT;
|
||||
bUnused37 : BIT;
|
||||
bUnused38 : BIT;
|
||||
bUnused39 : BIT;
|
||||
bReboot_Resettable : BIT;
|
||||
bUnused41 : BIT;
|
||||
bUnused42 : BIT;
|
||||
bConnection_Dropped_Resettable : BIT;
|
||||
bUnused44 : BIT;
|
||||
bUnused45 : BIT;
|
||||
bUnused46 : BIT;
|
||||
bUnused47 : BIT;
|
||||
bUnused48 : BIT;
|
||||
bUnused49 : BIT;
|
||||
bUnused50 : BIT;
|
||||
bUnused51 : BIT;
|
||||
bUnused52 : BIT;
|
||||
bUnused53 : BIT;
|
||||
bUnused54 : BIT;
|
||||
bUnused55 : BIT;
|
||||
bUnused56 : BIT;
|
||||
bUnused57 : BIT;
|
||||
bUnused58 : BIT;
|
||||
bUnused59 : BIT;
|
||||
bUnused60 : BIT;
|
||||
bUnused61 : BIT;
|
||||
bUnused62 : BIT;
|
||||
bUnused63 : BIT;
|
||||
bUnused64 : BIT;
|
||||
bUnused65 : USINT;
|
||||
bReset_Ready : BIT;
|
||||
bVmotor_on : BIT;
|
||||
bUnused68 : BIT;
|
||||
bUnused69 : BIT;
|
||||
bUnused70 : BIT;
|
||||
bUnused71 : BIT;
|
||||
bUnused72 : BIT;
|
||||
bUnused73 : BIT;
|
||||
bUnused74 : BIT;
|
||||
bUnused75 : BIT;
|
||||
bUnused76 : BIT;
|
||||
bUnused77 : BIT;
|
||||
bUnused78 : BIT;
|
||||
bUnused79 : BIT;
|
||||
{attribute 'hide'}
|
||||
breserved1 : BIT;
|
||||
{attribute 'hide'}
|
||||
breserved2 : BIT;
|
||||
{attribute 'hide'}
|
||||
breserved3 : USINT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_JointSet" Id="{11c9caa0-793d-42a4-a6d6-9b5ea59d2923}">
|
||||
<DUT Name="ST_Meca_SubIndex" Id="{11c9caa0-793d-42a4-a6d6-9b5ea59d2923}">
|
||||
<Declaration><![CDATA[{attribute 'pack_mode' := '1'}
|
||||
TYPE ST_Meca_JointSet :
|
||||
TYPE ST_Meca_SubIndex :
|
||||
STRUCT
|
||||
rSubIndex001 : REAL;
|
||||
rSubIndex002 : REAL;
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_BreaksControl" Id="{d002e7e2-c385-4270-8e84-4eabb3a35679}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_BreaksControl :
|
||||
STRUCT
|
||||
bBrakesControlAllowed : BIT;
|
||||
bBrakesEngaged : BIT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_MotionControl" Id="{74b560dc-7b24-4a46-bcf7-f3928a356b76}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_MotionControl :
|
||||
STRUCT
|
||||
Move_ID : UINT;
|
||||
SetPoint : BIT;
|
||||
Pause : BIT;
|
||||
Clear_Move : BIT;
|
||||
Resume_Motion : BIT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_Move" Id="{fb9f8b41-eddc-4ca4-9e77-c3d7e9282c37}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_Move :
|
||||
STRUCT
|
||||
udiMove_Command : UDINT;
|
||||
rSubIndex_001 : REAL;
|
||||
rSubIndex_002 : REAL;
|
||||
rSubIndex_003 : REAL;
|
||||
rSubIndex_004 : REAL;
|
||||
rSubIndex_005 : REAL;
|
||||
rSubIndex_006 : REAL;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_RobotControl" Id="{b7dca174-83b7-4e16-8fce-bddd2eb93964}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_RobotControl :
|
||||
STRUCT
|
||||
bDeactivate : BIT;
|
||||
bActivate : BIT;
|
||||
bHome : BIT;
|
||||
bReset_Error : BIT;
|
||||
bSim_Mode : BIT;
|
||||
bRecovery_Mode : BIT;
|
||||
bDisableEtherCAT : BIT;
|
||||
{attribute 'hide'}
|
||||
_reserved1 : BIT;
|
||||
{attribute 'hide'}
|
||||
_reserved2 : ARRAY [1..3] OF USINT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
23
PLC/01_Stationen/Etcher/Mecademics/DUTs/ST_Meca_Inputs.TcDUT
Normal file
23
PLC/01_Stationen/Etcher/Mecademics/DUTs/ST_Meca_Inputs.TcDUT
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_Inputs" Id="{aee4d747-0300-4e1c-963b-4297e692d221}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_Inputs :
|
||||
STRUCT
|
||||
stRobotStatus : ST_Meca_RobotStatus;
|
||||
stMotionStatus : ST_Meca_MotionStatus;
|
||||
stJointSet : ST_Meca_SubIndex;
|
||||
stEndEffectorPose : ST_Meca_EndEffectorPose;
|
||||
stConfigurations : ST_Meca_Configurations;
|
||||
stWRF : ST_Meca_SubIndex;
|
||||
stTRF : ST_Meca_SubIndex;
|
||||
stRobotTimestamp : ST_Meca_RobotTimestamp;
|
||||
stSafetyStatus : ST_Meca_SafetyStatus;
|
||||
stDynamicData0 : ST_Meca_DynamicData;
|
||||
stDynamicData1 : ST_Meca_DynamicData;
|
||||
stDynamicData2 : ST_Meca_DynamicData;
|
||||
stDynamicData3 : ST_Meca_DynamicData;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<DUT Name="ST_Meca_Outputs" Id="{4c92256b-96a9-4346-9b9b-5d7a337cd273}">
|
||||
<Declaration><![CDATA[TYPE ST_Meca_Outputs :
|
||||
STRUCT
|
||||
stRobotControl : ST_Meca_RobotControl;
|
||||
stMotionControl : ST_Meca_MotionControl;
|
||||
stMove : ST_Meca_Move;
|
||||
udiHostTime : UDINT;
|
||||
stBrakesControl : ST_Meca_BreaksControl;
|
||||
udiDynamicDataCfg0 : UDINT;
|
||||
udiDynamicDataCfg1 : UDINT;
|
||||
udiDynamicDataCfg2 : UDINT;
|
||||
udiDynamicDataCfg3 : UDINT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -1,16 +1,303 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<POU Name="FB_Mecademics" Id="{c81cf0ae-3f01-4427-918b-0d3e1c93ae01}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Mecademics
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Mecademics EXTENDS FB_PackMLGeneric
|
||||
VAR_INPUT
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
xBusy : BOOL;
|
||||
xDone : BOOL;
|
||||
xError : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
stRobotInputs AT %I* : ST_Meca_Inputs;
|
||||
stRobotOutputs AT %Q* : ST_Meca_Outputs;
|
||||
|
||||
// Safety reset output
|
||||
xReset AT %Q* : BOOL;
|
||||
|
||||
_fbResetPulse : TP;
|
||||
|
||||
// Current move id
|
||||
_uiMoveId : UINT := 1;
|
||||
|
||||
// Debug
|
||||
_xTest : BOOL;
|
||||
_xDone : BOOL;
|
||||
_xError : BOOL;
|
||||
_iDS : INT;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[]]></ST>
|
||||
<ST><![CDATA[SUPER^(stPackMLHMIInterface := stPackMLHMIInterface);
|
||||
|
||||
|
||||
CASE _iDS OF
|
||||
0:
|
||||
IF _xTest THEN
|
||||
_xTest := FALSE;
|
||||
_iDS := 10;
|
||||
END_IF
|
||||
|
||||
10:
|
||||
M_ExecuteCmd(
|
||||
eCmd:= E_Meca_Cmds.MOVE_LIN,
|
||||
rSI1:= 80,
|
||||
rSI2:= 80,
|
||||
rSI3:= 10,
|
||||
rSI4:= 0,
|
||||
rSI5:= 0,
|
||||
rSI6:= 0,
|
||||
xDone=> _xDone,
|
||||
xError=> _xError);
|
||||
|
||||
IF _xDone OR _xError THEN
|
||||
_iDS := 0;
|
||||
END_IF
|
||||
|
||||
END_CASE]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="FB_init" Id="{b39b41a5-5e30-4480-88f3-9748b615d950}">
|
||||
<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[_stSMConfig.xSuspededDisabled := TRUE;
|
||||
_stSMConfig.xHeldDisabled := TRUE;
|
||||
_stSMConfig.xCompletedDisabled := TRUE;
|
||||
_stSMConfig.xClearingDisabled := TRUE;
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Method Name="M_ClearCmd" Id="{3363b63b-d0d9-4750-b0b8-c2b0abdc2690}">
|
||||
<Declaration><![CDATA[METHOD PRIVATE M_ClearCmd
|
||||
VAR_INPUT
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[stRobotOutputs.stMove.udiMove_Command := E_Meca_Cmds.NO_MOVEMENT;
|
||||
stRobotOutputs.stMove.rSubIndex_001 := 0;
|
||||
stRobotOutputs.stMove.rSubIndex_002 := 0;
|
||||
stRobotOutputs.stMove.rSubIndex_003 := 0;
|
||||
stRobotOutputs.stMove.rSubIndex_004 := 0;
|
||||
stRobotOutputs.stMove.rSubIndex_005 := 0;
|
||||
stRobotOutputs.stMove.rSubIndex_006 := 0;
|
||||
|
||||
stRobotOutputs.stMotionControl.Move_ID := 0;
|
||||
stRobotOutputs.stMotionControl.SetPoint := 0;]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Method Name="M_Execute" Id="{b1f00bfa-a0a0-4a86-98a4-0a9242f7788f}">
|
||||
<Declaration><![CDATA[METHOD PROTECTED M_Execute
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[CASE _iSSM OF
|
||||
// Idle no command
|
||||
0:
|
||||
// Wait for robot command execute trigger
|
||||
|
||||
END_CASE]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Method Name="M_ExecuteCmd" Id="{5a17ad67-b9f0-443e-b4f3-cbcd71a5ce3e}">
|
||||
<Declaration><![CDATA[METHOD PRIVATE M_ExecuteCmd
|
||||
VAR_INPUT
|
||||
eCmd : E_Meca_Cmds;
|
||||
rSI1 : REAL := 0;
|
||||
rSI2 : REAL := 0;
|
||||
rSI3 : REAL := 0;
|
||||
rSI4 : REAL := 0;
|
||||
rSI5 : REAL := 0;
|
||||
rSI6 : REAL := 0;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
xDone : BOOL;
|
||||
xError : BOOL;
|
||||
END_VAR
|
||||
VAR_INST
|
||||
_iState : INT;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[CASE _iState OF
|
||||
0:
|
||||
stRobotOutputs.stMove.udiMove_Command := eCmd;
|
||||
stRobotOutputs.stMove.rSubIndex_001 := rSI1;
|
||||
stRobotOutputs.stMove.rSubIndex_002 := rSI2;
|
||||
stRobotOutputs.stMove.rSubIndex_003 := rSI3;
|
||||
stRobotOutputs.stMove.rSubIndex_004 := rSI4;
|
||||
stRobotOutputs.stMove.rSubIndex_005 := rSI5;
|
||||
stRobotOutputs.stMove.rSubIndex_006 := rSI6;
|
||||
|
||||
stRobotOutputs.stMotionControl.Move_ID := _uiMoveId;
|
||||
stRobotOutputs.stMotionControl.SetPoint := 1;
|
||||
xDone := FALSE;
|
||||
xError := FALSE;
|
||||
_iState := 10;
|
||||
|
||||
10:
|
||||
IF stRobotInputs.stMotionStatus.uiMoveID = _uiMoveId THEN
|
||||
_uiMoveId := _uiMoveId + 1;
|
||||
M_ClearCmd();
|
||||
xDone := TRUE;
|
||||
_iState := 0;
|
||||
END_IF
|
||||
|
||||
IF stRobotInputs.stRobotStatus.uiError <> 0 THEN
|
||||
_uiMoveId := _uiMoveId + 1;
|
||||
M_ClearCmd();
|
||||
xError := TRUE;
|
||||
_iState := 0;
|
||||
END_IF
|
||||
END_CASE]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Method Name="M_Resetting" Id="{807f1e42-2b9f-4d36-82a0-1e9f3b86646a}">
|
||||
<Declaration><![CDATA[METHOD PROTECTED M_Resetting
|
||||
VAR_INST
|
||||
_tonTimer : TON;
|
||||
xExecDone : BOOL;
|
||||
xExecError : BOOL;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[CASE _iSSM OF
|
||||
0:
|
||||
// Reset E-Stop if required
|
||||
IF stRobotInputs.stSafetyStatus.bEstop THEN
|
||||
// Can we reset the estop?
|
||||
IF stRobotInputs.stSafetyStatus.bEstop_Resettable THEN
|
||||
_iSSM := 10;
|
||||
ELSE
|
||||
_eCmd := E_PackMLCmd.ABORT;
|
||||
END_IF
|
||||
ELSE
|
||||
// Go to activate state
|
||||
_iSSM := 20;
|
||||
END_IF
|
||||
|
||||
// Reset E-Stop
|
||||
10:
|
||||
xReset := TRUE;
|
||||
_tonTimer(IN := TRUE, PT := T#250MS);
|
||||
IF _tonTimer.Q THEN
|
||||
_tonTimer(IN := FALSE);
|
||||
xReset := FALSE;
|
||||
_iSSM := 15;
|
||||
END_IF
|
||||
|
||||
// Check if E-Stop was resetted
|
||||
15:
|
||||
// Timeout safety reset
|
||||
_tonTimer(IN := TRUE, PT := T#10S);
|
||||
IF _tonTimer.Q THEN
|
||||
_tonTimer(IN := FALSE);
|
||||
// TODO trigger error message
|
||||
_eCmd := E_PackMLCmd.ABORT;
|
||||
END_IF
|
||||
|
||||
IF (NOT stRobotInputs.stSafetyStatus.bEstop) THEN
|
||||
_iSSM := 20;
|
||||
END_IF
|
||||
|
||||
|
||||
// Activate robot if needed
|
||||
20:
|
||||
IF (NOT stRobotInputs.stRobotStatus.bActivated) THEN
|
||||
_iSSM := 21;
|
||||
ELSE
|
||||
_iSSM := 30;
|
||||
END_IF
|
||||
|
||||
|
||||
// Activate robot
|
||||
21:
|
||||
stRobotOutputs.stRobotControl.bActivate := TRUE;
|
||||
IF stRobotInputs.stRobotStatus.bActivated THEN
|
||||
stRobotOutputs.stRobotControl.bActivate := FALSE;
|
||||
_iSSM := 30;
|
||||
END_IF
|
||||
|
||||
// Timeout
|
||||
_tonTimer(IN := TRUE, PT := T#10S);
|
||||
IF _tonTimer.Q THEN
|
||||
_tonTimer(IN := FALSE);
|
||||
stRobotOutputs.stRobotControl.bActivate := FALSE;
|
||||
// TODO trigger error message
|
||||
_eCmd := E_PackMLCmd.ABORT;
|
||||
END_IF
|
||||
|
||||
// Check homing
|
||||
30:
|
||||
IF (NOT stRobotInputs.stRobotStatus.bHomed) THEN
|
||||
_iSSM := 31;
|
||||
ELSE
|
||||
_iSSM := 40;
|
||||
END_IF
|
||||
|
||||
// Home robot
|
||||
31:
|
||||
stRobotOutputs.stRobotControl.bHome := TRUE;
|
||||
IF stRobotInputs.stRobotStatus.bHomed THEN
|
||||
stRobotOutputs.stRobotControl.bHome := FALSE;
|
||||
_iSSM := 40;
|
||||
END_IF
|
||||
|
||||
// Timeout
|
||||
_tonTimer(IN := TRUE, PT := T#20S);
|
||||
IF _tonTimer.Q THEN
|
||||
_tonTimer(IN := FALSE);
|
||||
stRobotOutputs.stRobotControl.bHome := FALSE;
|
||||
// TODO trigger error message
|
||||
_eCmd := E_PackMLCmd.ABORT;
|
||||
END_IF
|
||||
|
||||
// Set wrf
|
||||
32:
|
||||
M_ExecuteCmd(E_Meca_Cmds.SET_WRF, 163.5, -34.79, 465, -180, 0, 180, xDone => xExecDone, xError => xExecError);
|
||||
|
||||
IF xExecDone THEN
|
||||
_iSSM := 33;
|
||||
END_IF
|
||||
|
||||
IF xExecError THEN
|
||||
_eCmd := E_PackMLCmd.ABORT;
|
||||
END_IF
|
||||
|
||||
// Set trf
|
||||
33:
|
||||
M_ExecuteCmd(E_Meca_Cmds.SET_TRF, 0, 0, 92, 0, 180, 90, xDone => xExecDone, xError => xExecError);
|
||||
|
||||
IF xExecDone THEN
|
||||
_iSSM := 34;
|
||||
END_IF
|
||||
|
||||
IF xExecError THEN
|
||||
_eCmd := E_PackMLCmd.ABORT;
|
||||
END_IF
|
||||
|
||||
// Move to save position
|
||||
34:
|
||||
M_ExecuteCmd(E_Meca_Cmds.MOVE_LIN, 0, 0, 10, 0, 0, 0, xDone => xExecDone, xError => xExecError);
|
||||
|
||||
IF xExecDone THEN
|
||||
_iSSM := 40;
|
||||
END_IF
|
||||
|
||||
IF xExecError THEN
|
||||
_eCmd := E_PackMLCmd.ABORT;
|
||||
END_IF
|
||||
|
||||
// Robot ready
|
||||
40:
|
||||
M_StateComplete();
|
||||
END_CASE]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
@@ -5,6 +5,8 @@
|
||||
STRUCT
|
||||
stStationCmds : ST_HMI_PackML;
|
||||
|
||||
stMecaCmds : ST_HMI_PackML;
|
||||
|
||||
// Vacuum valve
|
||||
stVacuumValve : ST_HMI_VALVE_DATA;
|
||||
|
||||
|
||||
1132
PLC/Debug_Visu/Visualization.TcVIS
Normal file
1132
PLC/Debug_Visu/Visualization.TcVIS
Normal file
File diff suppressed because it is too large
Load Diff
39
PLC/GlobalTextList.TcGTLO
Normal file
39
PLC/GlobalTextList.TcGTLO
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<GlobalTextList Name="GlobalTextList" Id="{e60dd1d6-8d51-4ae9-ba5d-cc349a8d1933}">
|
||||
<XmlArchive>
|
||||
<Data>
|
||||
<o xml:space="preserve" t="GlobalTextListObject">
|
||||
<l n="TextList" t="ArrayList" cet="TextListRow">
|
||||
<o>
|
||||
<v n="TextID">"930"</v>
|
||||
<v n="TextDefault">"Abort"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"612"</v>
|
||||
<v n="TextDefault">"Clear"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"693"</v>
|
||||
<v n="TextDefault">"Reset"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
</l>
|
||||
<l n="Languages" t="ArrayList" />
|
||||
<v n="GuidInit">{b012a327-a2e9-40f6-a9ac-a558f04e2f3f}</v>
|
||||
<v n="GuidReInit">{4365fb23-3b15-4428-9d09-72ef62da5c17}</v>
|
||||
<v n="GuidExitX">{632d5581-5da5-45c9-a1ef-c89a6839e11d}</v>
|
||||
</o>
|
||||
</Data>
|
||||
<TypeList>
|
||||
<Type n="ArrayList">System.Collections.ArrayList</Type>
|
||||
<Type n="GlobalTextListObject">{63784cbb-9ba0-45e6-9d69-babf3f040511}</Type>
|
||||
<Type n="Guid">System.Guid</Type>
|
||||
<Type n="String">System.String</Type>
|
||||
<Type n="TextListRow">{53da1be7-ad25-47c3-b0e8-e26286dad2e0}</Type>
|
||||
</TypeList>
|
||||
</XmlArchive>
|
||||
</GlobalTextList>
|
||||
</TcPlcObject>
|
||||
104
PLC/PLC.plcproj
104
PLC/PLC.plcproj
@@ -68,13 +68,46 @@
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\E_Meca_Cmds.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\ST_Meca_JointSet.TcDUT">
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Inpus\ST_Meca_Configurations.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\ST_Meca_MotionStatus.TcDUT">
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Inpus\ST_Meca_DynamicData.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\ST_Meca_RobotStatus.TcDUT">
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Inpus\ST_Meca_EndEffectorPose.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Inpus\ST_Meca_MotionStatus.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Inpus\ST_Meca_RobotStatus.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Inpus\ST_Meca_RobotTimestamp.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Inpus\ST_Meca_SafetyStatus.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Inpus\ST_Meca_SubIndex.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Outputs\ST_Meca_BreaksControl.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Outputs\ST_Meca_MotionControl.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Outputs\ST_Meca_Move.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Outputs\ST_Meca_RobotControl.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\ST_Meca_Inputs.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\DUTs\ST_Meca_Outputs.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="01_Stationen\Etcher\Mecademics\FB_Mecademics.TcPOU">
|
||||
@@ -170,6 +203,13 @@
|
||||
<Compile Include="01_Stationen\TrayFeeder\ST_TrayFeederStatus.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Debug_Visu\Visualization.TcVIS">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>Visualization Manager.TcVMO</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="GlobalTextList.TcGTLO">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="GVLs\GVL_SCADA.TcGVL">
|
||||
<SubType>Code</SubType>
|
||||
<LinkAlways>true</LinkAlways>
|
||||
@@ -288,12 +328,17 @@
|
||||
<Compile Include="PlcTask.TcTTO">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Visualization Manager.TcVMO">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="01_Stationen\Coolplate\DUTs" />
|
||||
<Folder Include="01_Stationen\Coolplate\POUs" />
|
||||
<Folder Include="01_Stationen\Etcher\Mecademics" />
|
||||
<Folder Include="01_Stationen\Etcher\Mecademics\DUTs" />
|
||||
<Folder Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Inpus" />
|
||||
<Folder Include="01_Stationen\Etcher\Mecademics\DUTs\Meca500_Outputs" />
|
||||
<Folder Include="01_Stationen\Hotplate\DUTs" />
|
||||
<Folder Include="01_Stationen\Hotplate\POUs" />
|
||||
<Folder Include="01_Stationen\HVTester\DUTs" />
|
||||
@@ -323,12 +368,55 @@
|
||||
<Folder Include="LibraryCandidates\Unittests" />
|
||||
<Folder Include="LibraryCandidates\PackML" />
|
||||
<Folder Include="LibraryCandidates\PackML\ITFs" />
|
||||
<Folder Include="Debug_Visu" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PlaceholderReference Include="BaseComponents">
|
||||
<DefaultResolution>BaseComponents, * (Heisig GmbH)</DefaultResolution>
|
||||
<Namespace>BC</Namespace>
|
||||
</PlaceholderReference>
|
||||
<PlaceholderReference Include="System_VisuElemMeter">
|
||||
<DefaultResolution>VisuElemMeter, 4.7.0.0 (System)</DefaultResolution>
|
||||
<Namespace>VisuElemMeter</Namespace>
|
||||
<SystemLibrary>true</SystemLibrary>
|
||||
<ResolverGuid>2717eb6a-dd07-4c66-8d8d-cacebd7b18ae</ResolverGuid>
|
||||
</PlaceholderReference>
|
||||
<PlaceholderReference Include="System_VisuElems">
|
||||
<DefaultResolution>VisuElems, 4.8.0.0 (System)</DefaultResolution>
|
||||
<Namespace>VisuElems</Namespace>
|
||||
<SystemLibrary>true</SystemLibrary>
|
||||
<ResolverGuid>2717eb6a-dd07-4c66-8d8d-cacebd7b18ae</ResolverGuid>
|
||||
</PlaceholderReference>
|
||||
<PlaceholderReference Include="System_VisuElemsSpecialControls">
|
||||
<DefaultResolution>VisuElemsSpecialControls, 4.7.0.0 (System)</DefaultResolution>
|
||||
<Namespace>VisuElemsSpecialControls</Namespace>
|
||||
<SystemLibrary>true</SystemLibrary>
|
||||
<ResolverGuid>2717eb6a-dd07-4c66-8d8d-cacebd7b18ae</ResolverGuid>
|
||||
</PlaceholderReference>
|
||||
<PlaceholderReference Include="System_VisuElemsWinControls">
|
||||
<DefaultResolution>VisuElemsWinControls, 4.8.0.0 (System)</DefaultResolution>
|
||||
<Namespace>VisuElemsWinControls</Namespace>
|
||||
<SystemLibrary>true</SystemLibrary>
|
||||
<ResolverGuid>2717eb6a-dd07-4c66-8d8d-cacebd7b18ae</ResolverGuid>
|
||||
</PlaceholderReference>
|
||||
<PlaceholderReference Include="System_VisuElemTextEditor">
|
||||
<DefaultResolution>VisuElemTextEditor, 4.8.0.0 (System)</DefaultResolution>
|
||||
<Namespace>VisuElemTextEditor</Namespace>
|
||||
<SystemLibrary>true</SystemLibrary>
|
||||
<ResolverGuid>2717eb6a-dd07-4c66-8d8d-cacebd7b18ae</ResolverGuid>
|
||||
</PlaceholderReference>
|
||||
<PlaceholderReference Include="System_VisuInputs">
|
||||
<DefaultResolution>VisuInputs, 4.7.0.0 (System)</DefaultResolution>
|
||||
<Namespace>VisuInputs</Namespace>
|
||||
<SystemLibrary>true</SystemLibrary>
|
||||
<ResolverGuid>2717eb6a-dd07-4c66-8d8d-cacebd7b18ae</ResolverGuid>
|
||||
</PlaceholderReference>
|
||||
<PlaceholderReference Include="System_VisuNativeControl">
|
||||
<DefaultResolution>VisuNativeControl, 4.8.0.0 (System)</DefaultResolution>
|
||||
<Namespace>VisuNativeControl</Namespace>
|
||||
<SystemLibrary>true</SystemLibrary>
|
||||
<ResolverGuid>2717eb6a-dd07-4c66-8d8d-cacebd7b18ae</ResolverGuid>
|
||||
</PlaceholderReference>
|
||||
<PlaceholderReference Include="Tc2_Standard">
|
||||
<DefaultResolution>Tc2_Standard, * (Beckhoff Automation GmbH)</DefaultResolution>
|
||||
<Namespace>Tc2_Standard</Namespace>
|
||||
@@ -354,6 +442,10 @@
|
||||
<DefaultResolution>TcUnit, * (www.tcunit.org)</DefaultResolution>
|
||||
<Namespace>TcUnit</Namespace>
|
||||
</PlaceholderReference>
|
||||
<PlaceholderReference Include="VisuDialogs">
|
||||
<DefaultResolution>VisuDialogs, * (System)</DefaultResolution>
|
||||
<Namespace>VisuDialogs</Namespace>
|
||||
</PlaceholderReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="PLC.tmc">
|
||||
@@ -393,6 +485,12 @@
|
||||
<o>
|
||||
<v n="Name">"{29BD8D0C-3586-4548-BB48-497B9A01693F}"</v>
|
||||
<d n="SubKeys" t="Hashtable" ckt="String" cvt="OptionKey">
|
||||
<v>NamingConventions</v>
|
||||
<o>
|
||||
<v n="Name">"NamingConventions"</v>
|
||||
<d n="SubKeys" t="Hashtable" />
|
||||
<d n="Values" t="Hashtable" />
|
||||
</o>
|
||||
<v>Rules</v>
|
||||
<o>
|
||||
<v n="Name">"Rules"</v>
|
||||
|
||||
286
PLC/PLC.tmc
286
PLC/PLC.tmc
File diff suppressed because one or more lines are too long
587
PLC/Visualization Manager.TcVMO
Normal file
587
PLC/Visualization Manager.TcVMO
Normal file
@@ -0,0 +1,587 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<VisuManager Name="Visualization Manager" Id="{0419276f-2100-4c11-bc47-ef128dfa5c0e}">
|
||||
<XmlArchive>
|
||||
<Data>
|
||||
<o xml:space="preserve" t="VisualManagerObject">
|
||||
<v n="UseUnicodeStrings" t="UnicodeSupport">Undefined</v>
|
||||
<v n="UseOverlay" t="OverlaySupport">Undefined</v>
|
||||
<o n="ViewSettings" t="VisualManagerViewSettings">
|
||||
<n n="StartVisu" />
|
||||
<v n="StartVisu33">"Visualization"</v>
|
||||
<v n="OpenTargetvisu">false</v>
|
||||
<v n="BestFit">false</v>
|
||||
<v n="ClientSizeMode" t="VisualClientSizeMode">AutoDetect</v>
|
||||
<v n="ClientSizeX">2000</v>
|
||||
<v n="ClientSizeY">2000</v>
|
||||
<v n="ExtendedSettings">false</v>
|
||||
<v n="PaintBufferSize">50000</v>
|
||||
<v n="MemorybufferSize">400000</v>
|
||||
<v n="VisuInternal">false</v>
|
||||
<v n="CurrentVisuGlobal">false</v>
|
||||
<v n="FileTransferMode">true</v>
|
||||
<v n="VisuStyle">"Default, 3.1.9.0 (Beckhoff Automation GmbH)"</v>
|
||||
<v n="MaxNumOfClients">100</v>
|
||||
<n n="Language" />
|
||||
<v n="NumpadDialog">"VisuDialogs.Numpad"</v>
|
||||
<v n="KeypadDialog">"VisuDialogs.Keypad"</v>
|
||||
<v n="InputWithLimitsDialog">"VisuDialogs.TextinputWithLimits"</v>
|
||||
<v n="UseInputWithLimits">false</v>
|
||||
<v n="TouchHandlingActive">false</v>
|
||||
<v n="TouchScrollbarsActive">false</v>
|
||||
<v n="SemiTransparentDrawingActive">true</v>
|
||||
<v n="UpdateColorvariablesAfterActivationDone">true</v>
|
||||
<v n="TransferSvgAndConvertedImages">false</v>
|
||||
<v n="LoginDialog">"VisuUserManagement.VUM_Login"</v>
|
||||
<v n="ChangePasswordDialog">"VisuUserManagement.VUM_ChangePassword"</v>
|
||||
<v n="ChangeConfigDialog">"VisuUserManagement.VUM_UserManagementWide"</v>
|
||||
<v n="GuidShowChangePasswordDialogFunction">{00000000-0000-0000-0000-000000000000}</v>
|
||||
<v n="GuidShowChangeConfigDialogFunction">{00000000-0000-0000-0000-000000000000}</v>
|
||||
<v n="UseStandardKeyboardHandling">true</v>
|
||||
<v n="PaintDeactiveElementsGrayedOut">true</v>
|
||||
<n n="GlobalOpenNumpadKeypadSettings" />
|
||||
<v n="UseBackgroundForModalDialog">true</v>
|
||||
<v n="AnimationDuration">200</v>
|
||||
<v n="ConvertImages">false</v>
|
||||
<v n="ConversionType">""</v>
|
||||
<v n="BackImage">""</v>
|
||||
<v n="BackImageTop">0</v>
|
||||
<v n="BackImageLeft">0</v>
|
||||
<v n="BackImageBot">0</v>
|
||||
<v n="BackImageRight">0</v>
|
||||
<v n="BackImageWarning">true</v>
|
||||
<v n="BackImageLimit">true</v>
|
||||
<v n="ResponsiveVisualizationSize">false</v>
|
||||
</o>
|
||||
<o n="RegisterDesc" t="GenericFbDescription">
|
||||
<d n="FbMethods" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
|
||||
<v>FB_Exit</v>
|
||||
<v>48334f63-9579-4549-8e3b-b1d93755b2ac</v>
|
||||
<v>FB_Init</v>
|
||||
<v>bb8a0df7-9042-44c1-b571-932eb4caf1ba</v>
|
||||
<v>FB_Reinit</v>
|
||||
<v>469f0cd7-b348-40a7-b44c-651c4498a2db</v>
|
||||
</d>
|
||||
<d n="FbProperties" t="CaseInsensitiveHashtable" />
|
||||
<v n="FbName">"NotImportant"</v>
|
||||
<v n="FbGuid">{d535eea1-7362-4b95-ab0a-5ee8db379f0c}</v>
|
||||
</o>
|
||||
<o n="TargetProperties" t="VisualizationTargetProperties">
|
||||
<o n="AvailableKeys" t="DeviceBasedHotkeysProvider">
|
||||
<v n="Modifiers">7</v>
|
||||
<v n="DevType">4096</v>
|
||||
<v n="DevId">"1002 0004"</v>
|
||||
<v n="DevVersion">"1.0.0.9"</v>
|
||||
<v n="BaseProvider">{cb73a13e-6ccc-4bc6-8859-f5aa98bb116b}</v>
|
||||
<l n="Keys" t="ArrayList" cet="DeviceBasedHotkeyItem">
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">48</v>
|
||||
<v n="CanonicalName">"0"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">49</v>
|
||||
<v n="CanonicalName">"1"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">50</v>
|
||||
<v n="CanonicalName">"2"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">51</v>
|
||||
<v n="CanonicalName">"3"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">52</v>
|
||||
<v n="CanonicalName">"4"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">53</v>
|
||||
<v n="CanonicalName">"5"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">54</v>
|
||||
<v n="CanonicalName">"6"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">55</v>
|
||||
<v n="CanonicalName">"7"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">56</v>
|
||||
<v n="CanonicalName">"8"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">57</v>
|
||||
<v n="CanonicalName">"9"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">65</v>
|
||||
<v n="CanonicalName">"A"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">107</v>
|
||||
<v n="CanonicalName">"ADDITION"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">66</v>
|
||||
<v n="CanonicalName">"B"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">8</v>
|
||||
<v n="CanonicalName">"BACKSPACE"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">67</v>
|
||||
<v n="CanonicalName">"C"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">110</v>
|
||||
<v n="CanonicalName">"COMMA"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">68</v>
|
||||
<v n="CanonicalName">"D"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">46</v>
|
||||
<v n="CanonicalName">"DELETE"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">111</v>
|
||||
<v n="CanonicalName">"DIVIDE"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">40</v>
|
||||
<v n="CanonicalName">"DOWN"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">69</v>
|
||||
<v n="CanonicalName">"E"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">35</v>
|
||||
<v n="CanonicalName">"END"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">27</v>
|
||||
<v n="CanonicalName">"ESCAPE"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">70</v>
|
||||
<v n="CanonicalName">"F"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">112</v>
|
||||
<v n="CanonicalName">"F1"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">121</v>
|
||||
<v n="CanonicalName">"F10"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">122</v>
|
||||
<v n="CanonicalName">"F11"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">123</v>
|
||||
<v n="CanonicalName">"F12"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">113</v>
|
||||
<v n="CanonicalName">"F2"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">114</v>
|
||||
<v n="CanonicalName">"F3"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">115</v>
|
||||
<v n="CanonicalName">"F4"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">116</v>
|
||||
<v n="CanonicalName">"F5"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">117</v>
|
||||
<v n="CanonicalName">"F6"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">118</v>
|
||||
<v n="CanonicalName">"F7"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">119</v>
|
||||
<v n="CanonicalName">"F8"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">120</v>
|
||||
<v n="CanonicalName">"F9"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">71</v>
|
||||
<v n="CanonicalName">"G"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">72</v>
|
||||
<v n="CanonicalName">"H"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">36</v>
|
||||
<v n="CanonicalName">"HOME"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">73</v>
|
||||
<v n="CanonicalName">"I"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">45</v>
|
||||
<v n="CanonicalName">"INSERT"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">74</v>
|
||||
<v n="CanonicalName">"J"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">75</v>
|
||||
<v n="CanonicalName">"K"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">76</v>
|
||||
<v n="CanonicalName">"L"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">37</v>
|
||||
<v n="CanonicalName">"LEFT"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">77</v>
|
||||
<v n="CanonicalName">"M"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">106</v>
|
||||
<v n="CanonicalName">"MULTIPLY"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">78</v>
|
||||
<v n="CanonicalName">"N"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">96</v>
|
||||
<v n="CanonicalName">"NUM0"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">97</v>
|
||||
<v n="CanonicalName">"NUM1"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">98</v>
|
||||
<v n="CanonicalName">"NUM2"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">99</v>
|
||||
<v n="CanonicalName">"NUM3"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">100</v>
|
||||
<v n="CanonicalName">"NUM4"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">101</v>
|
||||
<v n="CanonicalName">"NUM5"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">102</v>
|
||||
<v n="CanonicalName">"NUM6"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">103</v>
|
||||
<v n="CanonicalName">"NUM7"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">104</v>
|
||||
<v n="CanonicalName">"NUM8"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">105</v>
|
||||
<v n="CanonicalName">"NUM9"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">79</v>
|
||||
<v n="CanonicalName">"O"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">80</v>
|
||||
<v n="CanonicalName">"P"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">19</v>
|
||||
<v n="CanonicalName">"PAUSE"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">42</v>
|
||||
<v n="CanonicalName">"PRINT"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">81</v>
|
||||
<v n="CanonicalName">"Q"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">82</v>
|
||||
<v n="CanonicalName">"R"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">13</v>
|
||||
<v n="CanonicalName">"RETURN_KEY"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">39</v>
|
||||
<v n="CanonicalName">"RIGHT"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">83</v>
|
||||
<v n="CanonicalName">"S"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">32</v>
|
||||
<v n="CanonicalName">"SPACE"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">109</v>
|
||||
<v n="CanonicalName">"SUBTRACT"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">84</v>
|
||||
<v n="CanonicalName">"T"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">9</v>
|
||||
<v n="CanonicalName">"TAB"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">85</v>
|
||||
<v n="CanonicalName">"U"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">38</v>
|
||||
<v n="CanonicalName">"UP"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">86</v>
|
||||
<v n="CanonicalName">"V"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">87</v>
|
||||
<v n="CanonicalName">"W"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">88</v>
|
||||
<v n="CanonicalName">"X"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">89</v>
|
||||
<v n="CanonicalName">"Y"</v>
|
||||
</o>
|
||||
<o>
|
||||
<v n="FromBase">true</v>
|
||||
<v n="KeyCode">90</v>
|
||||
<v n="CanonicalName">"Z"</v>
|
||||
</o>
|
||||
</l>
|
||||
</o>
|
||||
</o>
|
||||
<o n="ConfiguredHotkeys" t="HotkeyConfiguration">
|
||||
<v n="IdMin">481037385728L</v>
|
||||
<v n="IdMax">549755813887L</v>
|
||||
<v n="Id">481037385728L</v>
|
||||
<v n="IdMask">549754765312L</v>
|
||||
<v n="IdStep">1048576L</v>
|
||||
<l2 n="Inputs" />
|
||||
</o>
|
||||
<o n="DefInpHandlerGuids" t="GenericFbDescription">
|
||||
<d n="FbMethods" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
|
||||
<v>abstrGetDefaultCursor</v>
|
||||
<v>b3d08a5c-8b08-41f4-bfb1-38b604e777c5</v>
|
||||
<v>ExecuteDialogClosed</v>
|
||||
<v>30e9a87e-be52-4d3b-816b-46b44407f24e</v>
|
||||
<v>ExecuteKeyDown</v>
|
||||
<v>f5fa304a-334b-4b78-96fb-5142817880c1</v>
|
||||
<v>ExecuteKeyUp</v>
|
||||
<v>489255bc-d58f-4b59-aeb6-eb0f0f76b726</v>
|
||||
<v>ExecuteLooseCapture</v>
|
||||
<v>839ba222-dfb7-45e3-b36d-06dec414eb2b</v>
|
||||
<v>ExecuteMouseClick</v>
|
||||
<v>e0101b46-4e18-4f66-b460-4c9925207dba</v>
|
||||
<v>ExecuteMouseDblClick</v>
|
||||
<v>79adf297-294e-4696-9a51-2c37bc6e0f13</v>
|
||||
<v>ExecuteMouseDown</v>
|
||||
<v>5af6fa10-8965-44fe-b025-3b78eadaa3b9</v>
|
||||
<v>ExecuteMouseEnter</v>
|
||||
<v>d8d4c727-e51f-4749-80f7-8c491f67591f</v>
|
||||
<v>ExecuteMouseLeave</v>
|
||||
<v>70c2f2d3-def1-43c7-a96e-065c98930316</v>
|
||||
<v>ExecuteMouseMove</v>
|
||||
<v>46d59831-8fb8-40dd-a5a6-a5443fc060c8</v>
|
||||
<v>ExecuteMouseUp</v>
|
||||
<v>968b3edb-7ab6-45e4-a356-0df9fc0b1c64</v>
|
||||
<v>ExecuteValueChanged</v>
|
||||
<v>87680bd7-388f-4d0d-8bd7-dc1f2df427d8</v>
|
||||
<v>FB_Exit</v>
|
||||
<v>a0514203-55ff-4533-95e7-e8c1d1ed68fa</v>
|
||||
<v>FB_Init</v>
|
||||
<v>8cf8813c-92ae-4b89-9e3b-e103042801e2</v>
|
||||
<v>FB_Reinit</v>
|
||||
<v>910a0ccd-4eaa-471c-bfe3-ef96dd6b36ed</v>
|
||||
<v>GetElementInfo</v>
|
||||
<v>ce872c1e-2cf3-429d-b34a-09673af9c80a</v>
|
||||
<v>Init</v>
|
||||
<v>fc607a16-019c-4282-a9ff-653f5848a3e1</v>
|
||||
<v>Initialize</v>
|
||||
<v>102ff2a8-eecf-4d11-a4a2-8741acbc9b1a</v>
|
||||
</d>
|
||||
<d n="FbProperties" t="CaseInsensitiveHashtable" />
|
||||
<v n="FbName">"NotImportant"</v>
|
||||
<v n="FbGuid">{561f33cf-05ab-4b74-91f4-d5038bf6c17b}</v>
|
||||
</o>
|
||||
<n n="InstantiationStorage" />
|
||||
<n n="VisuUserManagement" />
|
||||
<v n="UseLocalUserMgmt">true</v>
|
||||
<v n="UseUserMgmtInPlc">true</v>
|
||||
<n n="RemoteUserMgmtPath" />
|
||||
<n n="FontsConfig" />
|
||||
<n n="FontDownloadConfig" />
|
||||
<n n="VisuInitializationCode" />
|
||||
<n n="FontSettings" />
|
||||
<v n="GuidVisuSettingsPou">{01aa8356-5435-4bd5-9497-7555a85e7c2e}</v>
|
||||
<v n="GuidVisuSettingsPouInit">{235bf19a-0f8a-412a-b2a7-35673ed10a8c}</v>
|
||||
<v n="GuidVisuSettingsPouReInit">{f03fcfa4-4cb3-4106-8285-054ddaaaff2f}</v>
|
||||
<v n="GuidVisuSettingsPouBoolMethod">{8ff256ad-537e-4ea6-aaff-51d67d6a6760}</v>
|
||||
<v n="GuidVisuSettingsPouDIntMethod">{d4ee9633-b545-4fc4-b4ef-c18cdb48acce}</v>
|
||||
<v n="GuidVisuSettingsPouStringMethod">{0ed0da21-c049-4d32-ab8f-61fb849fb2e9}</v>
|
||||
<v n="GuidVisuSettingsPouReservedMethod">{38a1316b-712f-4c0a-bfdb-436fa63963e8}</v>
|
||||
<v n="GuidMemManInitPou">{1ffdd871-2940-443f-943c-722476235f3e}</v>
|
||||
<v n="GuidMemManInitPouInit">{c258055b-1ec4-481b-ac7c-72e65dcef4eb}</v>
|
||||
<v n="GuidMemManInitPouReInit">{9711ab64-61fe-4d9f-af9b-2283d2f97831}</v>
|
||||
<v n="GuidStartVisuInitPou">{436d87ac-a5cd-4e01-9c1b-b674da962bf1}</v>
|
||||
<v n="GuidStartVisuInitPouInit">{c0c17a5b-b48b-49a0-a22d-4873f20c2281}</v>
|
||||
<v n="GuidStartVisuInitPouReInit">{59923462-48ed-4683-96c5-9e493a00f86f}</v>
|
||||
<v n="GuidVisuGVL0">{c86a8ec3-ebc4-45a7-b813-93192e387651}</v>
|
||||
<v n="GuidVisuGVL1">{f13d8114-4b51-4aff-b484-d57cab58cc73}</v>
|
||||
<v n="GuidVisuGVL2">{4d87f86a-fad3-4644-958e-cb5a6b2ee792}</v>
|
||||
<v n="GuidVisuGVL_3">{ea28f9cf-fb0b-41ee-a3b8-766f9332d8aa}</v>
|
||||
<v n="GuidReservedPou">{d3b33740-87f9-45ed-aef6-96dbfe905694}</v>
|
||||
<v n="GuidVisuGVL3">{6027f589-e862-4e70-8bda-b1f6dcc88244}</v>
|
||||
<v n="GuidReservedPouInit">{1b24f182-395f-4ea6-a7af-a641e50c9369}</v>
|
||||
<v n="GuidVisuGVL4">{936d864a-4e86-4cca-a278-9f184c70c713}</v>
|
||||
<v n="GuidVisuGVL5">{efb3ce8f-5578-4c06-941f-d865b3bd4278}</v>
|
||||
<v n="GuidLicenseGVL">{61ed01e0-c65d-4885-a6ec-1080f19366e4}</v>
|
||||
<v n="GuidGlobalClientManagerGVL">{51f5291b-4d21-4500-8be2-ffa5b7eb3732}</v>
|
||||
<v n="GuidVisuUserMgmtInitPou">{663b8360-f37f-41f1-b134-10b3d81ec558}</v>
|
||||
<v n="GuidVisuUserMgmtInitPouInit">{ae4df67a-2450-4349-8566-64f336ffc50c}</v>
|
||||
<v n="GuidBeforeCompileCommonGVL">{708a4250-04ba-4d8e-ba9c-5bf0805a22e3}</v>
|
||||
<v n="GuidVisuGVL6">{100dd71a-7acf-4d8e-bcbe-6a73d96b5e03}</v>
|
||||
<v n="GuidReservedPouMethod1">{314fab2d-76b1-40e4-a535-bb6aa30afe32}</v>
|
||||
<v n="GuidReservedPouReInit">{9ef62e4a-1eab-4fe5-b3eb-b679d26630f0}</v>
|
||||
<v n="GuidReservedPouMethod0">{af20bfc0-5c03-4702-878f-6c76e22ed779}</v>
|
||||
<v n="GuidReservedPouMethod2">{381aba7e-1371-4431-87bf-d8db5b4b9d80}</v>
|
||||
</o>
|
||||
</Data>
|
||||
<TypeList>
|
||||
<Type n="ArrayList">System.Collections.ArrayList</Type>
|
||||
<Type n="Boolean">System.Boolean</Type>
|
||||
<Type n="CaseInsensitiveHashtable">{7df88604-7ac5-4e36-91c4-55e4fdad3e68}</Type>
|
||||
<Type n="DeviceBasedHotkeyItem">{11a86981-4b02-4f98-b432-96e385cb41b7}</Type>
|
||||
<Type n="DeviceBasedHotkeysProvider">{c91fc5aa-1e38-43b2-9a05-c52cc5d7f5b6}</Type>
|
||||
<Type n="GenericFbDescription">{40d6dd8d-dfd0-493a-8e29-c9a35e1e6539}</Type>
|
||||
<Type n="Guid">System.Guid</Type>
|
||||
<Type n="HotkeyConfiguration">{6b108d46-58af-4e41-a3f4-174d8f160cc4}</Type>
|
||||
<Type n="Int32">System.Int32</Type>
|
||||
<Type n="Int64">System.Int64</Type>
|
||||
<Type n="OverlaySupport">{05125339-dc8c-4673-b403-e21bec548370}</Type>
|
||||
<Type n="String">System.String</Type>
|
||||
<Type n="UnicodeSupport">{19611221-ebd3-4607-86d2-9822fbe84c30}</Type>
|
||||
<Type n="VisualClientSizeMode">{c37fe731-4f69-4d98-82fe-4f9aefbe200d}</Type>
|
||||
<Type n="VisualizationTargetProperties">{997fedbb-1888-4256-b61c-2933d8056bfd}</Type>
|
||||
<Type n="VisualManagerObject">{4d3fdb8f-ab50-4c35-9d3a-d4bb9bb9a628}</Type>
|
||||
<Type n="VisualManagerViewSettings">{ec9b2ec6-92a2-4856-be72-7866fb274c64}</Type>
|
||||
</TypeList>
|
||||
</XmlArchive>
|
||||
</VisuManager>
|
||||
</TcPlcObject>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -95,6 +95,9 @@
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbUnlockRight.xCloseFeedback" VarB="Channel 3^Clamping fixture unlock right retracted" Size="1"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbUnlockRight.xOpenFeedback" VarB="Channel 4^Clamping fixture unlock right extended" Size="1"/>
|
||||
</OwnerB>
|
||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^K20_KL01 (EK1100)^K20_KL07 (EL2008)">
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.xReset" VarB="Channel 2^RobotReset" Size="1"/>
|
||||
</OwnerB>
|
||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^K20_QM01 (EX260-SEC1)">
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbEjectBack.xCloseValve" VarB="Byte 0^Output[7]" Size="1"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbEjectBack.xOpenValve" VarB="Byte 0^Output[6]" Size="1"/>
|
||||
@@ -123,6 +126,9 @@
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbUnlockRight.xCloseFeedback" VarB="Channel 3^Clamping fixture unlock right retracted" Size="1"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbUnlockRight.xOpenFeedback" VarB="Channel 4^Clamping fixture unlock right extended" Size="1"/>
|
||||
</OwnerB>
|
||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^K21_KL01 (EK1100)^K21_KL07 (EL2008) Done">
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.xReset" VarB="Channel 2^RobotReset" Size="1"/>
|
||||
</OwnerB>
|
||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^K21_QM01 (EX260-SEC1)">
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbEjectBack.xCloseValve" VarB="Byte 0^Output[7]" Size="1"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbEjectBack.xOpenValve" VarB="Byte 0^Output[6]" Size="1"/>
|
||||
@@ -164,6 +170,193 @@
|
||||
<Link VarA="PlcTask Inputs^PRG_Main.stCamResult" VarB="API^Term 4 (Result Data 128Byte)^Subterm 6 (Result Data 128Byte)^Inputs^Result Data" Size="264" OffsB="224"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main.xTriggerCamera" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[0]^Trigger" Size="1"/>
|
||||
</OwnerB>
|
||||
<OwnerB Name="TIID^Device 7 (EtherCAT)^Etcher2Robot (Meca500)">
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stConfigurations^siElbow" VarB="Configurations^Elbow"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stConfigurations^siShoulder" VarB="Configurations^Shoulder"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stConfigurations^siTurn" VarB="Configurations^Turn"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stConfigurations^siWrist" VarB="Configurations^Wrist"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Dynamic Type" Size="32"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 0" Size="32" OffsA="32"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 1" Size="32" OffsA="64"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 2" Size="32" OffsA="96"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 3" Size="32" OffsA="128"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 4" Size="32" OffsA="160"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 5" Size="32" OffsA="192"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Dynamic Type" Size="32"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 0" Size="32" OffsA="32"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 1" Size="32" OffsA="64"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 2" Size="32" OffsA="96"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 3" Size="32" OffsA="128"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 4" Size="32" OffsA="160"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 5" Size="32" OffsA="192"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Dynamic Type" Size="32"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 0" Size="32" OffsA="32"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 1" Size="32" OffsA="64"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 2" Size="32" OffsA="96"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 3" Size="32" OffsA="128"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 4" Size="32" OffsA="160"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 5" Size="32" OffsA="192"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Dynamic Type" Size="32"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 0" Size="32" OffsA="32"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 1" Size="32" OffsA="64"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 2" Size="32" OffsA="96"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 3" Size="32" OffsA="128"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 4" Size="32" OffsA="160"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 5" Size="32" OffsA="192"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stEndEffectorPose^rSubIndex_001" VarB="End-Effector Pose^SubIndex 001"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stEndEffectorPose^rSubIndex_002" VarB="End-Effector Pose^SubIndex 002"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stEndEffectorPose^rSubIndex_003" VarB="End-Effector Pose^SubIndex 003"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stEndEffectorPose^rSubIndex_004" VarB="End-Effector Pose^SubIndex 004"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stEndEffectorPose^rSubIndex_005" VarB="End-Effector Pose^SubIndex 005"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stEndEffectorPose^rSubIndex_006" VarB="End-Effector Pose^SubIndex 006"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stJointSet^rSubIndex001" VarB="Joint Set^SubIndex 001"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stJointSet^rSubIndex002" VarB="Joint Set^SubIndex 002"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stJointSet^rSubIndex003" VarB="Joint Set^SubIndex 003"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stJointSet^rSubIndex004" VarB="Joint Set^SubIndex 004"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stJointSet^rSubIndex005" VarB="Joint Set^SubIndex 005"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stJointSet^rSubIndex006" VarB="Joint Set^SubIndex 006"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^PStop2" VarB="Motion Status^PStop2"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^bEOB" VarB="Motion Status^EOB"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^bEOM" VarB="Motion Status^EOM"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^bExcessiveTorque" VarB="Motion Status^Excessive torque"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^bFIFOCleared" VarB="Motion Status^FIFO Cleared"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^bPaused" VarB="Motion Status^Paused"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^uiDiscardedCheckpointId" VarB="Motion Status^DiscardedCheckpointId"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^uiFIFOSpace" VarB="Motion Status^FIFO Space"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^uiMoveID" VarB="Motion Status^Move ID"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^uiOfflineProgramID" VarB="Motion Status^Offline Program ID"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stMotionStatus^uiReachedCheckPointId" VarB="Motion Status^ReachedCheckPointId"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotStatus^bActivated" VarB="Robot Status^Activated"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotStatus^bBrakesEngaged" VarB="Robot Status^BrakesEngaged"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotStatus^bBusy" VarB="Robot Status^Busy"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotStatus^bCollisionStatus" VarB="Robot Status^CollisionStatus"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotStatus^bEStop" VarB="Robot Status^Estop"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotStatus^bHomed" VarB="Robot Status^Homed"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotStatus^bRecoveryMode" VarB="Robot Status^RecoveryMode"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotStatus^bSimActivated" VarB="Robot Status^SimActivated"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotStatus^bWorkZoneStatus" VarB="Robot Status^WorkZoneStatus"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotStatus^uiError" VarB="Robot Status^Error"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotTimestamp^udiDynamic_Data_Cycles" VarB="Robot Timestamp^Dynamic Data Cycles"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotTimestamp^udiTimestamp_Microseconds" VarB="Robot Timestamp^Timestamp Microseconds"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stRobotTimestamp^udiTimestamp_Seconds" VarB="Robot Timestamp^Timestamp Seconds"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Connection Dropped" Size="1" OffsA="10"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Connection Dropped Resettable" Size="1" OffsA="42"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Estop" Size="1"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Estop Resettable" Size="1" OffsA="32"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^PStop2" Size="1" OffsA="2"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^PStop2 Resettable" Size="1" OffsA="34"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Reboot" Size="1" OffsA="7"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Reboot Resettable" Size="1" OffsA="39"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Reset Ready" Size="1" OffsA="72"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused10" Size="1" OffsA="9"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused12" Size="1" OffsA="11"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused13" Size="1" OffsA="12"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused14" Size="1" OffsA="13"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused15" Size="1" OffsA="14"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused16" Size="1" OffsA="15"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused17" Size="1" OffsA="16"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused18" Size="1" OffsA="17"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused19" Size="1" OffsA="18"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused2" Size="1" OffsA="1"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused20" Size="1" OffsA="19"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused21" Size="1" OffsA="20"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused22" Size="1" OffsA="21"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused23" Size="1" OffsA="22"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused24" Size="1" OffsA="23"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused25" Size="1" OffsA="24"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused26" Size="1" OffsA="25"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused27" Size="1" OffsA="26"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused28" Size="1" OffsA="27"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused29" Size="1" OffsA="28"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused30" Size="1" OffsA="29"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused31" Size="1" OffsA="30"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused32" Size="1" OffsA="31"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused34" Size="1" OffsA="33"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused36" Size="1" OffsA="35"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused37" Size="1" OffsA="36"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused38" Size="1" OffsA="37"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused39" Size="1" OffsA="38"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused4" Size="1" OffsA="3"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused41" Size="1" OffsA="40"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused42" Size="1" OffsA="41"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused44" Size="1" OffsA="43"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused45" Size="1" OffsA="44"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused46" Size="1" OffsA="45"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused47" Size="1" OffsA="46"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused48" Size="1" OffsA="47"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused49" Size="1" OffsA="48"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused5" Size="1" OffsA="4"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused50" Size="1" OffsA="49"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused51" Size="1" OffsA="50"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused52" Size="1" OffsA="51"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused53" Size="1" OffsA="52"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused54" Size="1" OffsA="53"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused55" Size="1" OffsA="54"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused56" Size="1" OffsA="55"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused57" Size="1" OffsA="56"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused58" Size="1" OffsA="57"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused59" Size="1" OffsA="58"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused6" Size="1" OffsA="5"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused60" Size="1" OffsA="59"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused61" Size="1" OffsA="60"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused62" Size="1" OffsA="61"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused63" Size="1" OffsA="62"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused64" Size="1" OffsA="63"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused65" Size="8" OffsA="64"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused68" Size="1" OffsA="74"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused69" Size="1" OffsA="75"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused7" Size="1" OffsA="6"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused70" Size="1" OffsA="76"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused71" Size="1" OffsA="77"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused72" Size="1" OffsA="78"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused73" Size="1" OffsA="79"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused74" Size="1" OffsA="80"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused75" Size="1" OffsA="81"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused76" Size="1" OffsA="82"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused77" Size="1" OffsA="83"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused78" Size="1" OffsA="84"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused79" Size="1" OffsA="85"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Unused9" Size="1" OffsA="8"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus" VarB="Safety Status^Vmotor on" Size="1" OffsA="73"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stTRF^rSubIndex001" VarB="TRF^SubIndex 001"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stTRF^rSubIndex002" VarB="TRF^SubIndex 002"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stTRF^rSubIndex003" VarB="TRF^SubIndex 003"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stTRF^rSubIndex004" VarB="TRF^SubIndex 004"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stTRF^rSubIndex005" VarB="TRF^SubIndex 005"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stTRF^rSubIndex006" VarB="TRF^SubIndex 006"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stWRF^rSubIndex001" VarB="WRF^SubIndex 001"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stWRF^rSubIndex002" VarB="WRF^SubIndex 002"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stWRF^rSubIndex003" VarB="WRF^SubIndex 003"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stWRF^rSubIndex004" VarB="WRF^SubIndex 004"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stWRF^rSubIndex005" VarB="WRF^SubIndex 005"/>
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stWRF^rSubIndex006" VarB="WRF^SubIndex 006"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stBrakesControl^bBrakesControlAllowed" VarB="Brakes Control^BrakesControlAllowed"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stBrakesControl^bBrakesEngaged" VarB="Brakes Control^BrakesEngaged"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMotionControl^Clear_Move" VarB="Motion Control^Clear Move"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMotionControl^Move_ID" VarB="Motion Control^Move ID"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMotionControl^Pause" VarB="Motion Control^Pause"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMotionControl^Resume_Motion" VarB="Motion Control^Resume Motion"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMotionControl^SetPoint" VarB="Motion Control^SetPoint"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMove" VarB="Move^Move Command" Size="32"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 001" Size="32" OffsA="32"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 002" Size="32" OffsA="64"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 003" Size="32" OffsA="96"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 004" Size="32" OffsA="128"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 005" Size="32" OffsA="160"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 006" Size="32" OffsA="192"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stRobotControl^bActivate" VarB="Robot Control^Activate"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stRobotControl^bDeactivate" VarB="Robot Control^Deactivate"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stRobotControl^bDisableEtherCAT" VarB="Robot Control^DisableEtherCAT"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stRobotControl^bHome" VarB="Robot Control^Home"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stRobotControl^bRecovery_Mode" VarB="Robot Control^Recovery Mode"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stRobotControl^bReset_Error" VarB="Robot Control^Reset Error"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^stRobotControl^bSim_Mode" VarB="Robot Control^Sim Mode"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^udiDynamicDataCfg0" VarB="Dynamic Data Cfg 0^Dynamic Type"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^udiDynamicDataCfg1" VarB="Dynamic Data Cfg 1^Dynamic Type"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^udiDynamicDataCfg2" VarB="Dynamic Data Cfg 2^Dynamic Type"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^udiDynamicDataCfg3" VarB="Dynamic Data Cfg 3^Dynamic Type"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbRobot.stRobotOutputs^udiHostTime" VarB="Host Time^Host Time"/>
|
||||
</OwnerB>
|
||||
<OwnerB Name="TINC^NC-Task 1 SAF^Axes^AlignerXAxis">
|
||||
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner._fbXAxis._fbAxis.NcToPlc" VarB="Outputs^ToPlc"/>
|
||||
<Link VarA="PlcTask Outputs^PRG_Main._fbAligner._fbXAxis._fbAxis.PlcToNc" VarB="Inputs^FromPlc"/>
|
||||
|
||||
Reference in New Issue
Block a user