Started fixes for HMI
This commit is contained in:
18
Infineon.tmc
18
Infineon.tmc
@@ -211,5 +211,23 @@
|
|||||||
<Hide GUID="{3C12606F-988C-4B37-9511-7C233F8FBCE5}"/>
|
<Hide GUID="{3C12606F-988C-4B37-9511-7C233F8FBCE5}"/>
|
||||||
</Hides>
|
</Hides>
|
||||||
</DataType>
|
</DataType>
|
||||||
|
<DataType>
|
||||||
|
<Name GUID="{B99ECE54-A5B8-4553-AC1E-A541DF25A5ED}">KeyenceVS</Name>
|
||||||
|
<DisplayName TxtId=""><![CDATA[NewEventClass_DisplayText]]></DisplayName>
|
||||||
|
<EventId>
|
||||||
|
<Name Id="1">Error0</Name>
|
||||||
|
<DisplayName TxtId=""><![CDATA[Error 0 with ID: {0}]]></DisplayName>
|
||||||
|
<Severity>Error</Severity>
|
||||||
|
</EventId>
|
||||||
|
<EventId>
|
||||||
|
<Name Id="2">Error1</Name>
|
||||||
|
<DisplayName TxtId=""><![CDATA[Error 1 with ID: {0}]]></DisplayName>
|
||||||
|
<Severity>Error</Severity>
|
||||||
|
</EventId>
|
||||||
|
<Hides>
|
||||||
|
<Hide GUID="{16528473-AB44-490C-A162-8BC066443C77}"/>
|
||||||
|
<Hide GUID="{2386AC4A-F41F-412A-9823-3EFB4C4E996D}"/>
|
||||||
|
</Hides>
|
||||||
|
</DataType>
|
||||||
</DataTypes>
|
</DataTypes>
|
||||||
</TcModuleClass>
|
</TcModuleClass>
|
||||||
|
|||||||
@@ -5,8 +5,7 @@
|
|||||||
<Settings MaxCpus="2"/>
|
<Settings MaxCpus="2"/>
|
||||||
<Licenses>
|
<Licenses>
|
||||||
<Target>
|
<Target>
|
||||||
<ManualSelect>{9FD32FC8-0CF9-4C5B-95FB-F35423496A77}</ManualSelect>
|
<LicenseDevice DongleHardwareId="2" DongleDevice="#x03020036" DongleLevel="60" DongleSystemId="{62CA069B-335C-D22F-33C1-C939EDC0FF9A}" DongleSerialNumber="000brrhk" DongleCacheLicense="false"/>
|
||||||
<LicenseDevice DongleHardwareId="2" DongleDevice="#x03020036" DongleLevel="40" DongleSerialNumber="000brrhk" DongleCacheLicense="true"/>
|
|
||||||
<LicenseDevice Disabled="true" DongleHardwareId="4" DongleDevice="#x71010002" DongleLevel="40" DongleSystemId="{5097FB65-8A2A-EFB0-8273-38CF2A98119D}" DongleSerialNumber="000btjb7" DongleCacheLicense="false"/>
|
<LicenseDevice Disabled="true" DongleHardwareId="4" DongleDevice="#x71010002" DongleLevel="40" DongleSystemId="{5097FB65-8A2A-EFB0-8273-38CF2A98119D}" DongleSerialNumber="000btjb7" DongleCacheLicense="false"/>
|
||||||
</Target>
|
</Target>
|
||||||
</Licenses>
|
</Licenses>
|
||||||
@@ -44,6 +43,8 @@
|
|||||||
<Mappings>
|
<Mappings>
|
||||||
<MappingInfo Identifier="{00000000-2001-0850-0020-500840000403}" Id="#x02030050"/>
|
<MappingInfo Identifier="{00000000-2001-0850-0020-500840000403}" Id="#x02030050"/>
|
||||||
<MappingInfo Identifier="{00000000-2001-0850-0020-500851000403}" Id="#x02030040"/>
|
<MappingInfo Identifier="{00000000-2001-0850-0020-500851000403}" Id="#x02030040"/>
|
||||||
|
<MappingInfo Identifier="{00000000-2001-0850-0020-500890000403}" Id="#x02030080"/>
|
||||||
|
<MappingInfo Identifier="{00000000-2001-0850-0020-5008B0000403}" Id="#x02030070"/>
|
||||||
<MappingInfo Identifier="{00000000-0010-0304-3000-040310000403}" Id="#x02030010"/>
|
<MappingInfo Identifier="{00000000-0010-0304-3000-040310000403}" Id="#x02030010"/>
|
||||||
<MappingInfo Identifier="{00000000-0020-0304-3000-040322000403}" Id="#x02030030"/>
|
<MappingInfo Identifier="{00000000-0020-0304-3000-040322000403}" Id="#x02030030"/>
|
||||||
<MappingInfo Identifier="{05000010-2001-0850-3000-040300205008}" Id="#x02030060" Watchdog="10000000040000000400000004000000"/>
|
<MappingInfo Identifier="{05000010-2001-0850-3000-040300205008}" Id="#x02030060" Watchdog="10000000040000000400000004000000"/>
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ VAR
|
|||||||
_fbCoolplate : FB_Coolplate;
|
_fbCoolplate : FB_Coolplate;
|
||||||
_fbHVTesterHot : FB_HVTester;
|
_fbHVTesterHot : FB_HVTester;
|
||||||
_fbHVTesterCold : FB_HVTester;
|
_fbHVTesterCold : FB_HVTester;
|
||||||
|
//_fbInput : FB_Input;
|
||||||
//_fbNOK : FB_NOK;
|
//_fbNOK : FB_NOK;
|
||||||
//_fbTrayFeederOutput : FB_TrayFeeder(sIPAddr := '192.168.1.11', udiPort := 5000);
|
//_fbTrayFeederOutput : FB_TrayFeeder(sIPAddr := '192.168.1.11', udiPort := 5000);
|
||||||
|
|
||||||
@@ -26,7 +27,6 @@ VAR
|
|||||||
// =======================
|
// =======================
|
||||||
|
|
||||||
_xReleaseAlarms : BOOL;
|
_xReleaseAlarms : BOOL;
|
||||||
_xConfirmAlarms : BOOL;
|
|
||||||
_stRobotCmd : ST_PMLc;
|
_stRobotCmd : ST_PMLc;
|
||||||
_stRobotStatus : ST_PMLs;
|
_stRobotStatus : ST_PMLs;
|
||||||
_stRobotAdmin : ST_PMLa;
|
_stRobotAdmin : ST_PMLa;
|
||||||
@@ -35,14 +35,6 @@ VAR
|
|||||||
stCamResult AT %I* : ST_TrayFeederCamPosData;
|
stCamResult AT %I* : ST_TrayFeederCamPosData;
|
||||||
_rtStopRobotFromSafety : R_TRIG;
|
_rtStopRobotFromSafety : R_TRIG;
|
||||||
|
|
||||||
// commands
|
|
||||||
_xClear : BOOL;
|
|
||||||
_xReset : BOOL;
|
|
||||||
_xStart : BOOL;
|
|
||||||
_xHold : BOOL;
|
|
||||||
_xUnhold : BOOL;
|
|
||||||
_xStop : BOOL;
|
|
||||||
|
|
||||||
_xStartCycle : BOOL;
|
_xStartCycle : BOOL;
|
||||||
|
|
||||||
_xStartTrigger : BOOL;
|
_xStartTrigger : BOOL;
|
||||||
@@ -56,36 +48,6 @@ END_VAR
|
|||||||
<ST><![CDATA[// Data from safety
|
<ST><![CDATA[// Data from safety
|
||||||
_xReleaseAlarms := PRG_Safety.xEStopOk;
|
_xReleaseAlarms := PRG_Safety.xEStopOk;
|
||||||
|
|
||||||
IF _xClear THEN
|
|
||||||
_xClear := FALSE;
|
|
||||||
_fbRobot.M_CmdClear();
|
|
||||||
END_IF
|
|
||||||
|
|
||||||
IF _xReset THEN
|
|
||||||
_xReset := FALSE;
|
|
||||||
_fbRobot.M_CmdReset();
|
|
||||||
END_IF
|
|
||||||
|
|
||||||
IF _xStart THEN
|
|
||||||
_xStart := FALSE;
|
|
||||||
_fbRobot.M_CmdStart();
|
|
||||||
END_IF
|
|
||||||
|
|
||||||
IF _xHold THEN
|
|
||||||
_xHold := FALSE;
|
|
||||||
_fbRobot.M_CmdHold();
|
|
||||||
END_IF
|
|
||||||
|
|
||||||
IF _xUnhold THEN
|
|
||||||
_xUnhold := FALSE;
|
|
||||||
_fbRobot.M_CmdUnhold();
|
|
||||||
END_IF
|
|
||||||
|
|
||||||
IF _xStop THEN
|
|
||||||
_xStop := FALSE;
|
|
||||||
_fbRobot.M_CmdStop();
|
|
||||||
END_IF
|
|
||||||
|
|
||||||
_rtStopRobotFromSafety(CLK := PRG_Safety.xStopRobot);
|
_rtStopRobotFromSafety(CLK := PRG_Safety.xStopRobot);
|
||||||
IF _rtStopRobotFromSafety.Q THEN
|
IF _rtStopRobotFromSafety.Q THEN
|
||||||
_stRobotCmd.eCntrlCmd := E_PackMLCmd.STOP;
|
_stRobotCmd.eCntrlCmd := E_PackMLCmd.STOP;
|
||||||
@@ -100,7 +62,7 @@ _fbRobot(
|
|||||||
stJobParams := _stRobotJobParams,
|
stJobParams := _stRobotJobParams,
|
||||||
stUnitFeedbacks := _stUnitFeedbacks,
|
stUnitFeedbacks := _stUnitFeedbacks,
|
||||||
xReleaseAlarms:= _xReleaseAlarms,
|
xReleaseAlarms:= _xReleaseAlarms,
|
||||||
xConfirmAlarms:= GVL_SCADA.xErrAck,
|
xConfirmAlarms:= GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
|
||||||
stStatus => _stRobotStatus,
|
stStatus => _stRobotStatus,
|
||||||
stAdmin => _stRobotAdmin,
|
stAdmin => _stRobotAdmin,
|
||||||
stHMIInterface := GVL_SCADA.stMachine.stKukaRobot);
|
stHMIInterface := GVL_SCADA.stMachine.stKukaRobot);
|
||||||
@@ -117,42 +79,40 @@ _fbEtcher1(
|
|||||||
xOpenDoor:= GVL_SCADA.xOpenAllChambers,
|
xOpenDoor:= GVL_SCADA.xOpenAllChambers,
|
||||||
xOpenChuckClamp := GVL_SCADA.xOpenChuckClampEtcher1,
|
xOpenChuckClamp := GVL_SCADA.xOpenChuckClampEtcher1,
|
||||||
xReleaseAlarms := _xReleaseAlarms,
|
xReleaseAlarms := _xReleaseAlarms,
|
||||||
xConfirmAlarms := GVL_SCADA.xErrAck,
|
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
|
||||||
stHMIInterface := GVL_SCADA.stMachine.stEtcher1);
|
stHMIInterface := GVL_SCADA.stMachine.stEtcher1);
|
||||||
|
|
||||||
_fbEtcher2(
|
_fbEtcher2(
|
||||||
xOpenDoor:= GVL_SCADA.xOpenAllChambers,
|
xOpenDoor:= GVL_SCADA.xOpenAllChambers,
|
||||||
xOpenChuckClamp := GVL_SCADA.xOpenChuckClampEtcher2,
|
xOpenChuckClamp := GVL_SCADA.xOpenChuckClampEtcher2,
|
||||||
xReleaseAlarms := _xReleaseAlarms,
|
xReleaseAlarms := _xReleaseAlarms,
|
||||||
xConfirmAlarms := GVL_SCADA.xErrAck,
|
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
|
||||||
stHMIInterface := GVL_SCADA.stMachine.stEtcher2);
|
stHMIInterface := GVL_SCADA.stMachine.stEtcher2);
|
||||||
|
|
||||||
_fbTrayFeederInput(
|
_fbTrayFeederInput(
|
||||||
stCommand:= ,
|
stCommand:= ,
|
||||||
xReleaseAlarms := _xReleaseAlarms,
|
xReleaseAlarms := _xReleaseAlarms,
|
||||||
xConfirmAlarms := GVL_SCADA.xErrAck,
|
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
|
||||||
stStatus=> GVL_SCADA.stTrayFeederInputState,
|
|
||||||
stAdmin=> GVL_SCADA.stTRayFeederInputAdmin,
|
|
||||||
stHMIInterface := GVL_SCADA.stMachine.stTrayFeederIn);
|
stHMIInterface := GVL_SCADA.stMachine.stTrayFeederIn);
|
||||||
|
|
||||||
_fbTrayFeederInput(
|
// _fbTrayFeederOut(
|
||||||
stCommand:= ,
|
// stCommand:= ,
|
||||||
xReleaseAlarms := _xReleaseAlarms,
|
// xReleaseAlarms := _xReleaseAlarms,
|
||||||
xConfirmAlarms := GVL_SCADA.xErrAck,
|
// xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
|
||||||
stStatus=> GVL_SCADA.stTrayFeederInputState,
|
// stStatus=> GVL_SCADA.stTrayFeederInputState,
|
||||||
stAdmin=> GVL_SCADA.stTRayFeederInputAdmin,
|
// stAdmin=> GVL_SCADA.stTRayFeederInputAdmin,
|
||||||
stHMIInterface := GVL_SCADA.stMachine.stTrayFeederOut);
|
// stHMIInterface := GVL_SCADA.stMachine.stTrayFeederOut);
|
||||||
|
|
||||||
_fbHotplate(stHMIInterface := GVL_SCADA.stMachine.stHotplate);
|
_fbHotplate(stHMIInterface := GVL_SCADA.stMachine.stHotplate);
|
||||||
|
|
||||||
_fbCoolplate(stHMIInterface := GVL_SCADA.stMachine.stCoolplate);
|
_fbCoolplate(stHMIInterface := GVL_SCADA.stMachine.stCoolplate);
|
||||||
|
|
||||||
_fbAligner(stCommand:= , stStatus=> , stAdmin=> , xConfirmAlarms:= GVL_SCADA.xErrAck, stHMIInterface := GVL_SCADA.stMachine.stAligner);
|
_fbAligner(stCommand:= , stStatus=> , stAdmin=> , xConfirmAlarms:= GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest, stHMIInterface := GVL_SCADA.stMachine.stAligner);
|
||||||
|
|
||||||
|
|
||||||
// Call safety program
|
// Call safety program
|
||||||
PRG_Safety(
|
PRG_Safety(
|
||||||
xConfirmAlarms := GVL_SCADA.xErrAck,
|
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
|
||||||
xRobotStopped := (_stRobotStatus.eStateCurrent <> E_PackMLState.EXECUTE));
|
xRobotStopped := (_stRobotStatus.eStateCurrent <> E_PackMLState.EXECUTE));
|
||||||
|
|
||||||
// Handle robot cmds
|
// Handle robot cmds
|
||||||
@@ -249,11 +209,7 @@ END_IF
|
|||||||
xTriggerCamera := _tofTriggerTime.Q;
|
xTriggerCamera := _tofTriggerTime.Q;
|
||||||
|
|
||||||
// Reset alarm reset request
|
// Reset alarm reset request
|
||||||
GVL_SCADA.xErrAck := FALSE;
|
GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest := FALSE;]]></ST>
|
||||||
|
|
||||||
IF _xConfirmAlarms THEN
|
|
||||||
_xConfirmAlarms := FALSE;
|
|
||||||
END_IF]]></ST>
|
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<Method Name="M_HandleRobotCmd" Id="{14934aaa-b667-4ddb-915d-1d84e8eb799d}">
|
<Method Name="M_HandleRobotCmd" Id="{14934aaa-b667-4ddb-915d-1d84e8eb799d}">
|
||||||
<Declaration><![CDATA[METHOD PRIVATE M_HandleRobotCmd
|
<Declaration><![CDATA[METHOD PRIVATE M_HandleRobotCmd
|
||||||
|
|||||||
@@ -79,6 +79,9 @@ VAR
|
|||||||
_fbRobot : FB_Mecademics;
|
_fbRobot : FB_Mecademics;
|
||||||
|
|
||||||
xDisableVacuum AT %Q* : BOOL;
|
xDisableVacuum AT %Q* : BOOL;
|
||||||
|
|
||||||
|
// Internals
|
||||||
|
_xOpenChuckClamp : BOOL;
|
||||||
END_VAR
|
END_VAR
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
@@ -100,8 +103,11 @@ ELSE
|
|||||||
_tpEjectChuck(IN := FALSE);
|
_tpEjectChuck(IN := FALSE);
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
// Todo bessere implementierung finden
|
||||||
|
_xOpenChuckClamp := xOpenChuckClamp OR stHMIInterface.stChuckUnlockCmd.xRequest;
|
||||||
|
|
||||||
_fbUnlockLeft(
|
_fbUnlockLeft(
|
||||||
xAutomaticOpen:= xOpenChuckClamp,
|
xAutomaticOpen:= _xOpenChuckClamp,
|
||||||
xReleaseErrors:= xReleaseAlarms,
|
xReleaseErrors:= xReleaseAlarms,
|
||||||
stValveConfig:= _stValveUnlockLeftCfg,
|
stValveConfig:= _stValveUnlockLeftCfg,
|
||||||
xReleaseManualMode:= xReleaseManualMode,
|
xReleaseManualMode:= xReleaseManualMode,
|
||||||
@@ -109,7 +115,7 @@ _fbUnlockLeft(
|
|||||||
stHMIInterface:= stHMIInterface.stChuckUnlockLeft);
|
stHMIInterface:= stHMIInterface.stChuckUnlockLeft);
|
||||||
|
|
||||||
_fbUnlockRight(
|
_fbUnlockRight(
|
||||||
xAutomaticOpen:= xOpenChuckClamp,
|
xAutomaticOpen:= _xOpenChuckClamp,
|
||||||
xReleaseErrors:= xReleaseAlarms,
|
xReleaseErrors:= xReleaseAlarms,
|
||||||
stValveConfig:= _stValveUnlockRightCfg,
|
stValveConfig:= _stValveUnlockRightCfg,
|
||||||
xReleaseManualMode:= xReleaseManualMode,
|
xReleaseManualMode:= xReleaseManualMode,
|
||||||
|
|||||||
@@ -26,8 +26,7 @@ VAR
|
|||||||
_xDone : BOOL;
|
_xDone : BOOL;
|
||||||
_xError : BOOL;
|
_xError : BOOL;
|
||||||
_iDS : INT;
|
_iDS : INT;
|
||||||
END_VAR
|
END_VAR]]></Declaration>
|
||||||
]]></Declaration>
|
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[SUPER^(stPackMLHMIInterface := stPackMLHMIInterface);
|
<ST><![CDATA[SUPER^(stPackMLHMIInterface := stPackMLHMIInterface);
|
||||||
|
|
||||||
@@ -257,6 +256,7 @@ END_VAR]]></Declaration>
|
|||||||
M_CmdAbort();
|
M_CmdAbort();
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
|
||||||
// Set wrf
|
// Set wrf
|
||||||
32:
|
32:
|
||||||
M_ExecuteCmd(E_Meca_Cmds.SET_WRF, 163.5, -34.79, 465, -180, 0, 180, xDone => xExecDone, xError => xExecError);
|
M_ExecuteCmd(E_Meca_Cmds.SET_WRF, 163.5, -34.79, 465, -180, 0, 180, xDone => xExecDone, xError => xExecError);
|
||||||
@@ -271,7 +271,8 @@ END_VAR]]></Declaration>
|
|||||||
|
|
||||||
// Set trf
|
// Set trf
|
||||||
33:
|
33:
|
||||||
M_ExecuteCmd(E_Meca_Cmds.SET_TRF, 0, 0, 91, 0, 180, 90, xDone => xExecDone, xError => xExecError);
|
// SetTrf(32.38 , 27.52, 91, 0, 180, -90)
|
||||||
|
M_ExecuteCmd(E_Meca_Cmds.SET_TRF, 32.38, 27.52, 91, 0, 180, -90, xDone => xExecDone, xError => xExecError);
|
||||||
|
|
||||||
IF xExecDone THEN
|
IF xExecDone THEN
|
||||||
_iSSM := 34;
|
_iSSM := 34;
|
||||||
|
|||||||
@@ -4,15 +4,31 @@
|
|||||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Input EXTENDS FB_PackMLGeneric
|
<Declaration><![CDATA[FUNCTION_BLOCK FB_Input EXTENDS FB_PackMLGeneric
|
||||||
VAR_INPUT
|
VAR_INPUT
|
||||||
stRecipe : ST_Input_Recipe;
|
stRecipe : ST_Input_Recipe;
|
||||||
|
|
||||||
|
xReleaseAlarms : BOOL;
|
||||||
|
xConfirmAlarms : BOOL;
|
||||||
END_VAR
|
END_VAR
|
||||||
VAR_OUTPUT
|
VAR_OUTPUT
|
||||||
END_VAR
|
END_VAR
|
||||||
|
VAR_IN_OUT
|
||||||
|
stHMIInterface : ST_HMI_Input;
|
||||||
|
END_VAR
|
||||||
VAR
|
VAR
|
||||||
_fbTrayFeeder : FB_TrayFeeder(sIPAddr := '192.168.1.10', udiPort := 5000);
|
_fbTrayFeeder : FB_TrayFeeder(sIPAddr := '192.168.1.10', udiPort := 5000);
|
||||||
|
_fbCamera : FB_KeyenceVS;
|
||||||
END_VAR
|
END_VAR
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[]]></ST>
|
<ST><![CDATA[// Call components
|
||||||
|
// ===============
|
||||||
|
// _fbTrayFeeder(
|
||||||
|
// stHMIInterface:= stHMIInterface.stTrayFeeder,
|
||||||
|
// xReleaseAlarms:= xReleaseAlarms,
|
||||||
|
// xConfirmAlarms:= xConfirmAlarms);
|
||||||
|
//
|
||||||
|
// _fbCamera(
|
||||||
|
// xReleaseAlarms:= xReleaseAlarms,
|
||||||
|
// xConfirmAlarms:= xConfirmAlarms);]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<Method Name="FB_init" Id="{bbceb3b3-f8a1-472a-b29a-eebb04390aa6}">
|
<Method Name="FB_init" Id="{bbceb3b3-f8a1-472a-b29a-eebb04390aa6}">
|
||||||
<Declaration><![CDATA[//FB_Init ist immer implizit verfügbar und wird primär für die Initialisierung verwendet.
|
<Declaration><![CDATA[//FB_Init ist immer implizit verfügbar und wird primär für die Initialisierung verwendet.
|
||||||
|
|||||||
388
PLC/01_Stationen/Input/FB_KeyenceVS.TcPOU
Normal file
388
PLC/01_Stationen/Input/FB_KeyenceVS.TcPOU
Normal file
@@ -0,0 +1,388 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1">
|
||||||
|
<POU Name="FB_KeyenceVS" Id="{2ea89630-4476-43f8-991b-76955c0d8baf}" SpecialFunc="None">
|
||||||
|
<Declaration><![CDATA[FUNCTION_BLOCK FB_KeyenceVS
|
||||||
|
VAR_INPUT
|
||||||
|
xReleaseAlarms : BOOL;
|
||||||
|
xConfirmAlarms : BOOL;
|
||||||
|
END_VAR
|
||||||
|
VAR_OUTPUT
|
||||||
|
xBusy : BOOL;
|
||||||
|
xDone : BOOL;
|
||||||
|
xError : BOOL;
|
||||||
|
END_VAR
|
||||||
|
VAR
|
||||||
|
// ======
|
||||||
|
// Inputs
|
||||||
|
// ======
|
||||||
|
i_xTriggerRdy AT %I* : BOOL;
|
||||||
|
i_xTriggerAck AT %I* : BOOL;
|
||||||
|
i_xResultRdy AT %I* : BOOL;
|
||||||
|
i_xRunStatus AT %I*: BOOL;
|
||||||
|
i_xCmdComplete AT %I* : BOOL;
|
||||||
|
i_xCmdError AT %I* : BOOL;
|
||||||
|
i_xCmdRdy AT %I* : BOOL;
|
||||||
|
i_xProgLoadComplete AT %I* : BOOL;
|
||||||
|
i_xError0State AT %I* : BOOL;
|
||||||
|
i_xError1State AT %I* : BOOL;
|
||||||
|
i_udiError0Code AT %I* : UDINT;
|
||||||
|
i_udiError1Code AT %I* : UDINT;
|
||||||
|
i_udiPrgNr AT %I* : UDINT;
|
||||||
|
i_udiTotalCnt AT %I* : UDINT;
|
||||||
|
i_abyResult128 AT %I* : ARRAY[0..127] OF BYTE;
|
||||||
|
|
||||||
|
// =======
|
||||||
|
// Outputs
|
||||||
|
// =======
|
||||||
|
o_xTrigger AT %Q* : BOOL;
|
||||||
|
o_xResultHandshakeEnable AT %Q* : BOOL;
|
||||||
|
o_xResultAck AT %Q* : BOOL;
|
||||||
|
o_xGotoRun AT %Q* : BOOL;
|
||||||
|
o_xGotoSetting AT %Q* : BOOL;
|
||||||
|
o_xError0Clear AT %Q* : BOOL;
|
||||||
|
o_xError1Clear AT %Q* : BOOL;
|
||||||
|
o_xCmdRequest AT %Q* : BOOL;
|
||||||
|
o_xPrgLoadExec AT %Q* : BOOL;
|
||||||
|
o_udiPrgNr AT %Q* : UDINT;
|
||||||
|
|
||||||
|
// ======
|
||||||
|
// Alarms
|
||||||
|
// ======
|
||||||
|
_fbError0Alarm : FB_AlarmMessage(stEventEntry := TC_EVENTS.KeyenceVS.Error0, xWithConfirmation := TRUE);
|
||||||
|
_rtError0 : R_TRIG;
|
||||||
|
|
||||||
|
_fbError1Alarm : FB_AlarmMessage(stEventEntry := TC_EVENTS.KeyenceVS.Error1, xWithConfirmation := TRUE);
|
||||||
|
_rtError1 : R_TRIG;
|
||||||
|
|
||||||
|
// ==============
|
||||||
|
// Ouputs buffers
|
||||||
|
// ==============
|
||||||
|
_xBusy : BOOL;
|
||||||
|
_xDone : BOOL;
|
||||||
|
_xError : BOOL;
|
||||||
|
|
||||||
|
// =============
|
||||||
|
// State machine
|
||||||
|
// =============
|
||||||
|
// State of state machine
|
||||||
|
_uiState : UINT;
|
||||||
|
|
||||||
|
// Command to start loading a program with defined number
|
||||||
|
_xLoadProgNr : BOOL;
|
||||||
|
// Program number to load
|
||||||
|
_udiProgNrToLoad : UDINT;
|
||||||
|
|
||||||
|
// Command to change camera into run mode
|
||||||
|
_xSwitchToRunMode : BOOL;
|
||||||
|
|
||||||
|
// Command to change to config mode
|
||||||
|
_xSwitchToConfigMode : BOOL;
|
||||||
|
|
||||||
|
// Trigger a picture
|
||||||
|
_xTrigger : BOOL;
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[// ==============
|
||||||
|
// Alarm handling
|
||||||
|
// ==============
|
||||||
|
// If error 0 occurs, add error code to alarm message
|
||||||
|
_rtError0(CLK := i_xError0State);
|
||||||
|
IF _rtError0.Q THEN
|
||||||
|
_fbError0Alarm.Arguments.Clear().AddUDInt(i_udiError0Code);
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
_fbError0Alarm(
|
||||||
|
xActive:= i_xError0State,
|
||||||
|
xRelease:= xReleaseAlarms,
|
||||||
|
xAcknowledge:= xConfirmAlarms);
|
||||||
|
|
||||||
|
IF _fbError0Alarm.Active THEN
|
||||||
|
_xError := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// If error 1 occurs, add error code to alarm message
|
||||||
|
_rtError1(CLK := i_xError1State);
|
||||||
|
IF _rtError1.Q THEN
|
||||||
|
_fbError1Alarm.Arguments.Clear().AddUDInt(i_udiError1Code);
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
_fbError1Alarm(
|
||||||
|
xActive:= i_xError1State,
|
||||||
|
xRelease:= xReleaseAlarms,
|
||||||
|
xAcknowledge:= xConfirmAlarms);
|
||||||
|
|
||||||
|
IF _fbError1Alarm.Active THEN
|
||||||
|
_xError := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
|
||||||
|
// =============
|
||||||
|
// State machine
|
||||||
|
// =============
|
||||||
|
CASE _uiState OF
|
||||||
|
// Idle
|
||||||
|
0:
|
||||||
|
// Load program number
|
||||||
|
IF _xLoadProgNr THEN
|
||||||
|
_xLoadProgNr := FALSE;
|
||||||
|
_uiState := 10;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xSwitchToRunMode THEN
|
||||||
|
_xSwitchToRunMode := FALSE;
|
||||||
|
_uiState := 20;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xSwitchToConfigMode THEN
|
||||||
|
_xSwitchToConfigMode := FALSE;
|
||||||
|
_uiState := 30;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xTrigger THEN
|
||||||
|
_xTrigger := FALSE;
|
||||||
|
_uiState := 40;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Load program number
|
||||||
|
10:
|
||||||
|
o_udiPrgNr := _udiProgNrToLoad;
|
||||||
|
o_xPrgLoadExec := TRUE;
|
||||||
|
|
||||||
|
IF i_xProgLoadComplete THEN
|
||||||
|
o_xPrgLoadExec := FALSE;
|
||||||
|
_xDone := TRUE;
|
||||||
|
_xBusy := FALSE;
|
||||||
|
_uiState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xError THEN
|
||||||
|
_uiState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
|
||||||
|
// Switch to run mode
|
||||||
|
20:
|
||||||
|
o_xGotoRun := TRUE;
|
||||||
|
o_xGotoSetting := FALSE;
|
||||||
|
|
||||||
|
IF i_xRunStatus THEN
|
||||||
|
o_xGotoRun := FALSE;
|
||||||
|
_xDone := TRUE;
|
||||||
|
_xBusy := FALSE;
|
||||||
|
_uiState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xError THEN
|
||||||
|
_uiState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
|
||||||
|
// Switch to config mode
|
||||||
|
30:
|
||||||
|
o_xGotoSetting := TRUE;
|
||||||
|
o_xGotoRun := FALSE;
|
||||||
|
|
||||||
|
IF (NOT i_xRunStatus) THEN
|
||||||
|
o_xGotoRun := FALSE;
|
||||||
|
_xDone := TRUE;
|
||||||
|
_xBusy := FALSE;
|
||||||
|
_uiState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xError THEN
|
||||||
|
_uiState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Trigger
|
||||||
|
40:
|
||||||
|
o_xTrigger := TRUE;
|
||||||
|
|
||||||
|
IF i_xTriggerAck THEN
|
||||||
|
o_xTrigger := FALSE;
|
||||||
|
_uiState := 41;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xError THEN
|
||||||
|
_uiState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Wait for result
|
||||||
|
41:
|
||||||
|
IF i_xResultRdy THEN
|
||||||
|
o_xResultAck := TRUE;
|
||||||
|
_uiState := 42;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xError THEN
|
||||||
|
_uiState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Wait for result ack done
|
||||||
|
42:
|
||||||
|
IF (NOT i_xResultRdy) THEN
|
||||||
|
o_xResultAck := FALSE;
|
||||||
|
_uiState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xError THEN
|
||||||
|
_uiState := 900;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Error state
|
||||||
|
900:
|
||||||
|
_xError := TRUE;
|
||||||
|
_xDone := FALSE;
|
||||||
|
_xBusy := FALSE;
|
||||||
|
|
||||||
|
_uiState := 901;
|
||||||
|
|
||||||
|
// Wait for error ack
|
||||||
|
901:
|
||||||
|
IF xConfirmAlarms THEN
|
||||||
|
_xError := FALSE;
|
||||||
|
_uiState := 0;
|
||||||
|
END_IF
|
||||||
|
END_CASE
|
||||||
|
|
||||||
|
|
||||||
|
// =============================
|
||||||
|
// Copy output buffers to output
|
||||||
|
// =============================
|
||||||
|
xBusy := _xBusy;
|
||||||
|
xDone := _xDone;
|
||||||
|
xError := _xError;
|
||||||
|
]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
<Method Name="M_GetResult128" Id="{80736d9c-5f6b-4185-a62e-60e64078b87d}">
|
||||||
|
<Declaration><![CDATA[// Get result data from 128 Byte input
|
||||||
|
METHOD M_GetResult128 : BOOL
|
||||||
|
VAR_INPUT
|
||||||
|
// Start index in result byte array
|
||||||
|
uiIdx : UINT;
|
||||||
|
// Target buffer
|
||||||
|
pTarget : PVOID;
|
||||||
|
// Target buffer size
|
||||||
|
udiSize : UDINT := 0;
|
||||||
|
|
||||||
|
// Result of copy
|
||||||
|
udiResult : UDINT;
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[// Check index size
|
||||||
|
IF (uiIdx < 0)
|
||||||
|
OR (uiIdx > 127) // Index to big
|
||||||
|
OR ((uiIdx + udiSize) > 128) // Start index and size will read over the input array bounds
|
||||||
|
OR udiSize = 0 // No target size given
|
||||||
|
OR pTarget = 0 // No valid target pointer
|
||||||
|
THEN
|
||||||
|
M_GetResult128 := FALSE;
|
||||||
|
RETURN;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Copy data
|
||||||
|
udiResult := MEMCPY(destAddr := pTarget, srcAddr := ADR(i_abyResult128[uiIdx]), n := udiSize);
|
||||||
|
|
||||||
|
// Check if copy was successful
|
||||||
|
IF udiResult <> udiSize THEN
|
||||||
|
M_GetResult128 := FALSE;
|
||||||
|
ELSE
|
||||||
|
M_GetResult128 := TRUE;
|
||||||
|
END_IF]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
|
<Method Name="M_SetProgramNr" Id="{61381180-0979-4559-a38e-7a94f647a142}">
|
||||||
|
<Declaration><![CDATA[METHOD M_SetProgramNr : BOOL
|
||||||
|
VAR_INPUT
|
||||||
|
udiPrgNr : UDINT;
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[IF _xBusy OR _xError THEN
|
||||||
|
M_SetProgramNr := FALSE;
|
||||||
|
RETURN;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Set Prg nr
|
||||||
|
_udiProgNrToLoad := udiPrgNr;
|
||||||
|
|
||||||
|
// Start command
|
||||||
|
_xLoadProgNr := TRUE;
|
||||||
|
|
||||||
|
// Set busy
|
||||||
|
_xBusy := TRUE;
|
||||||
|
_xDone := FALSE;
|
||||||
|
|
||||||
|
// Report command result
|
||||||
|
M_SetProgramNr := TRUE;]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
|
<Method Name="M_SwitchToConfig" Id="{97bb226a-9857-448a-8000-4f7ffa070011}">
|
||||||
|
<Declaration><![CDATA[METHOD M_SwitchToConfig : BOOL
|
||||||
|
VAR_INPUT
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[IF _xBusy OR _xError THEN
|
||||||
|
M_SwitchToConfig := FALSE;
|
||||||
|
RETURN;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Start command
|
||||||
|
_xSwitchToConfigMode := TRUE;
|
||||||
|
|
||||||
|
// Set busy
|
||||||
|
_xBusy := TRUE;
|
||||||
|
_xDone := FALSE;
|
||||||
|
|
||||||
|
// Report command result
|
||||||
|
M_SwitchToConfig := TRUE;]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
|
<Method Name="M_SwitchToRun" Id="{949f243b-ddfd-4924-8c44-0bc4957e34cf}">
|
||||||
|
<Declaration><![CDATA[METHOD M_SwitchToRun : BOOL
|
||||||
|
VAR_INPUT
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[IF _xBusy OR _xError THEN
|
||||||
|
M_SwitchToRun := FALSE;
|
||||||
|
RETURN;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Start command
|
||||||
|
_xSwitchToRunMode := TRUE;
|
||||||
|
|
||||||
|
// Set busy
|
||||||
|
_xBusy := TRUE;
|
||||||
|
_xDone := FALSE;
|
||||||
|
|
||||||
|
// Report command result
|
||||||
|
M_SwitchToRun := TRUE;]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
|
<Method Name="M_Trigger" Id="{d463f53a-1fcf-4a61-a95a-507b0a863218}">
|
||||||
|
<Declaration><![CDATA[METHOD M_Trigger : BOOL
|
||||||
|
VAR_INPUT
|
||||||
|
END_VAR
|
||||||
|
]]></Declaration>
|
||||||
|
<Implementation>
|
||||||
|
<ST><![CDATA[IF _xBusy OR _xError OR (NOT i_xTriggerRdy) THEN
|
||||||
|
M_Trigger := FALSE;
|
||||||
|
RETURN;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// Start command
|
||||||
|
_xTrigger := TRUE;
|
||||||
|
|
||||||
|
// Set busy
|
||||||
|
_xBusy := TRUE;
|
||||||
|
_xDone := FALSE;
|
||||||
|
|
||||||
|
// Report command result
|
||||||
|
M_Trigger := TRUE;]]></ST>
|
||||||
|
</Implementation>
|
||||||
|
</Method>
|
||||||
|
</POU>
|
||||||
|
</TcPlcObject>
|
||||||
11
PLC/01_Stationen/Input/ST_HMI_Input.TcDUT
Normal file
11
PLC/01_Stationen/Input/ST_HMI_Input.TcDUT
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1">
|
||||||
|
<DUT Name="ST_HMI_Input" Id="{a4730084-6aa8-4ec8-a056-5ec2c2cb728b}">
|
||||||
|
<Declaration><![CDATA[TYPE ST_HMI_Input :
|
||||||
|
STRUCT
|
||||||
|
stTrayFeeder : ST_HMI_PackML;
|
||||||
|
END_STRUCT
|
||||||
|
END_TYPE
|
||||||
|
]]></Declaration>
|
||||||
|
</DUT>
|
||||||
|
</TcPlcObject>
|
||||||
@@ -356,7 +356,7 @@ END_IF
|
|||||||
<Declaration><![CDATA[METHOD PROTECTED M_Idle
|
<Declaration><![CDATA[METHOD PROTECTED M_Idle
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[_stJobParams := stJobParams;]]></ST>
|
<ST><![CDATA[_stJobParams := stHMIInterface.stJobParams;]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
</Method>
|
</Method>
|
||||||
<Method Name="M_Resetting" Id="{dfe4d36a-80aa-4364-bfd8-6ddd41636d59}" FolderPath="StateMachine\">
|
<Method Name="M_Resetting" Id="{dfe4d36a-80aa-4364-bfd8-6ddd41636d59}" FolderPath="StateMachine\">
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ END_VAR]]></Declaration>
|
|||||||
IF _tonReconnect.Q THEN
|
IF _tonReconnect.Q THEN
|
||||||
_tonReconnect(IN := FALSE, PT := T#5S);
|
_tonReconnect(IN := FALSE, PT := T#5S);
|
||||||
_xConnect := TRUE;
|
_xConnect := TRUE;
|
||||||
_iSSM := 35;
|
_iSSM := 40;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
35:
|
35:
|
||||||
|
|||||||
@@ -11,8 +11,6 @@ VAR_GLOBAL
|
|||||||
// DEBUG - NOT FOR HMI!
|
// DEBUG - NOT FOR HMI!
|
||||||
// ====================
|
// ====================
|
||||||
|
|
||||||
xErrAck : BOOL;
|
|
||||||
|
|
||||||
xOpenAllChambers : BOOL;
|
xOpenAllChambers : BOOL;
|
||||||
|
|
||||||
xOpenChuckClampEtcher1 : BOOL;
|
xOpenChuckClampEtcher1 : BOOL;
|
||||||
|
|||||||
@@ -146,6 +146,12 @@
|
|||||||
<Compile Include="01_Stationen\Input\FB_Input.TcPOU">
|
<Compile Include="01_Stationen\Input\FB_Input.TcPOU">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="01_Stationen\Input\FB_KeyenceVS.TcPOU">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="01_Stationen\Input\ST_HMI_Input.TcDUT">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="01_Stationen\Input\ST_Input_Recipe.TcDUT">
|
<Compile Include="01_Stationen\Input\ST_Input_Recipe.TcDUT">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -633,7 +639,7 @@
|
|||||||
<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>
|
||||||
256
PLC/PLC.tmc
256
PLC/PLC.tmc
File diff suppressed because one or more lines are too long
@@ -68,7 +68,7 @@
|
|||||||
<ImageDatas>
|
<ImageDatas>
|
||||||
<ImageData Id="1000">424de6000000000000007600000028000000100000000e000000010004000000000070000000c21e0000c21e000000000000000000006865630089786200c18c5600c89a64009f918300a9a7a600d7b69400e2d1bf00e2e2e200f4e9db00f7efe700f3efef00f7f7ef00f7f7f700fff7f700ffffff00ffffffffffffffffffffffffffffffff63fffff66fffff44327fffb639fff704723fff4626fff407f329f80522af800df726f505626f505ffc22a00ba22a00bfff62604ff62605ffff92358ff92358fffff337ffff337ffffff969ffff769fffffffffffffffffffffffffffffffffff</ImageData>
|
<ImageData Id="1000">424de6000000000000007600000028000000100000000e000000010004000000000070000000c21e0000c21e000000000000000000006865630089786200c18c5600c89a64009f918300a9a7a600d7b69400e2d1bf00e2e2e200f4e9db00f7efe700f3efef00f7f7ef00f7f7f700fff7f700ffffff00ffffffffffffffffffffffffffffffff63fffff66fffff44327fffb639fff704723fff4626fff407f329f80522af800df726f505626f505ffc22a00ba22a00bfff62604ff62605ffff92358ff92358fffff337ffff337ffffff969ffff769fffffffffffffffffffffffffffffffffff</ImageData>
|
||||||
</ImageDatas>
|
</ImageDatas>
|
||||||
<Device Id="5" Disabled="true" DevType="111" DevFlags="#x0003" AmsPort="28677" AmsNetId="5.127.104.206.6.1" RemoteName="Device 5 (EtherCAT)" InfoImageId="10">
|
<Device Id="5" DevType="111" DevFlags="#x0003" AmsPort="28677" AmsNetId="5.127.104.206.6.1" RemoteName="Device 5 (EtherCAT)" InfoImageId="10">
|
||||||
<Name>__FILENAME__</Name>
|
<Name>__FILENAME__</Name>
|
||||||
<AddressInfo>
|
<AddressInfo>
|
||||||
<Pnp>
|
<Pnp>
|
||||||
|
|||||||
@@ -49,6 +49,41 @@
|
|||||||
</OwnerB>
|
</OwnerB>
|
||||||
</OwnerA>
|
</OwnerA>
|
||||||
</UnrestoredVarLinks>
|
</UnrestoredVarLinks>
|
||||||
|
<UnrestoredVarLinks ImportTime="2026-03-05T17:11:16">
|
||||||
|
<OwnerA Name="InputDst" Prefix="TIPC^PLC^PLC Instance" Type="1">
|
||||||
|
<OwnerB Name="TIID^Device 2 (Profinet Controller)^vs-0001">
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_abyResult128" TypeA="ARRAY [0..127] OF BYTE" InOutA="0" GuidA="{53AB2BCA-C5AB-B7CE-D17C-430953A42679}" VarB="API^Term 4 (Result Data 128Byte)^Subterm 6 (Result Data 128Byte)^Inputs^Result Data" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_udiError0Code" TypeA="UDINT" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000008}" VarB="API^Term 3 (Assignable Status)^Subterm 5 (Assignable Status)^Inputs^Error0 Code" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_udiError1Code" TypeA="UDINT" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000008}" VarB="API^Term 3 (Assignable Status)^Subterm 5 (Assignable Status)^Inputs^Error1 Code" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_udiPrgNr" TypeA="UDINT" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000008}" VarB="API^Term 3 (Assignable Status)^Subterm 5 (Assignable Status)^Inputs^Program Number" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_udiTotalCnt" TypeA="UDINT" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000008}" VarB="API^Term 3 (Assignable Status)^Subterm 5 (Assignable Status)^Inputs^Total Count (24/28)" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_xCmdComplete" TypeA="BOOL" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 2 (Status)^Subterm 4 (Status)^Inputs^Status Register[3]^Command_complete" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_xCmdError" TypeA="BOOL" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 2 (Status)^Subterm 4 (Status)^Inputs^Status Register[3]^Command_error" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_xCmdRdy" TypeA="BOOL" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 2 (Status)^Subterm 4 (Status)^Inputs^Status Register[3]^Command_ready" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_xError0State" TypeA="BOOL" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 2 (Status)^Subterm 4 (Status)^Inputs^Status Register[2]^Error0_Status" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_xError1State" TypeA="BOOL" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 2 (Status)^Subterm 4 (Status)^Inputs^Status Register[2]^Error1_Status" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_xProgLoadComplete" TypeA="BOOL" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 2 (Status)^Subterm 4 (Status)^Inputs^Status Register[3]^Program_Load_Complete" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_xResultRdy" TypeA="BOOL" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 2 (Status)^Subterm 4 (Status)^Inputs^Status Register[2]^Result_Ready" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_xRunStatus" TypeA="BOOL" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 2 (Status)^Subterm 4 (Status)^Inputs^Status Register[2]^Run_Status" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_xTriggerAck" TypeA="BOOL" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 2 (Status)^Subterm 4 (Status)^Inputs^Status Register[1]^Trigger_Ack" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.i_xTriggerRdy" TypeA="BOOL" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 2 (Status)^Subterm 4 (Status)^Inputs^Status Register[0]^Trigger_Ready" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
</OwnerB>
|
||||||
|
</OwnerA>
|
||||||
|
<OwnerA Name="OutputSrc" Prefix="TIPC^PLC^PLC Instance" Type="2">
|
||||||
|
<OwnerB Name="TIID^Device 2 (Profinet Controller)^vs-0001">
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.o_udiPrgNr" TypeA="UDINT" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000008}" VarB="API^Term 11 (Program Number)^Subterm 13 (Program Number)^Outputs^Program Number" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.o_xCmdRequest" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[3]^Command_Request" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.o_xError0Clear" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[2]^Error0_Clear" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.o_xError1Clear" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[2]^Error1_Clear" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.o_xGotoRun" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[2]^Go_to_Run" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.o_xGotoSetting" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[2]^Go_to_Setting" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.o_xPrgLoadExec" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[3]^Program_Load_Execute" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.o_xResultAck" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[2]^Result_Ack" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.o_xResultHandshakeEnable" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[2]^Result_Handshake_Enable" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
<Link VarA="PRG_Main._fbInput._fbCamera.o_xTrigger" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[0]^Trigger" Size="1" RestoreInfo="ANotFound"/>
|
||||||
|
</OwnerB>
|
||||||
|
</OwnerA>
|
||||||
|
</UnrestoredVarLinks>
|
||||||
<Contexts>
|
<Contexts>
|
||||||
<Context>
|
<Context>
|
||||||
<Id>0</Id>
|
<Id>0</Id>
|
||||||
@@ -74,9 +109,83 @@
|
|||||||
<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"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^HP (EK1100)^Term 47 (EL2004)">
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbHotplate.xEnableHotplate" VarB="Channel 1^HotplateControl" Size="1"/>
|
||||||
|
</OwnerB>
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^HP (EK1100)^Term 48 (EL3202)">
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate._fbTempSensor.iAnalogValue" VarB="RTD Inputs Channel 2^CP_CurrentTemp"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate._fbTempSensor.xErrorCard" VarB="RTD Inputs Channel 2^Status^Error" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate._fbTempSensor.xOverrange" VarB="RTD Inputs Channel 2^Status^Overrange" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate._fbTempSensor.xUnderrange" VarB="RTD Inputs Channel 2^Status^Underrange" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHotplate._fbTempSensor.iAnalogValue" VarB="RTD Inputs Channel 1^HOTPLATE_CurrentTemp"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHotplate._fbTempSensor.xErrorCard" VarB="RTD Inputs Channel 1^Status^Error" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHotplate._fbTempSensor.xOverrange" VarB="RTD Inputs Channel 1^Status^Overrange" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbHotplate._fbTempSensor.xUnderrange" VarB="RTD Inputs Channel 1^Status^Underrange" Size="1"/>
|
||||||
|
</OwnerB>
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^HP (EK1100)^Term 49 (EL6021)">
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 0" Size="8"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 1" Size="8" OffsA="8"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 10" Size="8" OffsA="80"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 11" Size="8" OffsA="88"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 12" Size="8" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 13" Size="8" OffsA="104"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 14" Size="8" OffsA="112"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 15" Size="8" OffsA="120"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 16" Size="8" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 17" Size="8" OffsA="136"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 18" Size="8" OffsA="144"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 19" Size="8" OffsA="152"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 2" Size="8" OffsA="16"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 20" Size="8" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 21" Size="8" OffsA="168"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 3" Size="8" OffsA="24"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 4" Size="8" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 5" Size="8" OffsA="40"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 6" Size="8" OffsA="48"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 7" Size="8" OffsA="56"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 8" Size="8" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.abyDataIn" VarB="COM TxPDO-Map Inputs^Data In 9" Size="8" OffsA="72"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.stStatus^bBufferFull" VarB="COM TxPDO-Map Inputs^Status^Buffer full"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.stStatus^bFramingError" VarB="COM TxPDO-Map Inputs^Status^Framing error"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.stStatus^bInitAccepted" VarB="COM TxPDO-Map Inputs^Status^Init accepted"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.stStatus^bOverrunError" VarB="COM TxPDO-Map Inputs^Status^Overrun error"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.stStatus^bParityError" VarB="COM TxPDO-Map Inputs^Status^Parity error"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.stStatus^bReceiveRequested" VarB="COM TxPDO-Map Inputs^Status^Receive request"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbCoolplate.stStatus^bTransmitAccepted" VarB="COM TxPDO-Map Inputs^Status^Transmit accepted"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 0" Size="8"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 1" Size="8" OffsA="8"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 10" Size="8" OffsA="80"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 11" Size="8" OffsA="88"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 12" Size="8" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 13" Size="8" OffsA="104"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 14" Size="8" OffsA="112"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 15" Size="8" OffsA="120"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 16" Size="8" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 17" Size="8" OffsA="136"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 18" Size="8" OffsA="144"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 19" Size="8" OffsA="152"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 2" Size="8" OffsA="16"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 20" Size="8" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 21" Size="8" OffsA="168"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 3" Size="8" OffsA="24"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 4" Size="8" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 5" Size="8" OffsA="40"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 6" Size="8" OffsA="48"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 7" Size="8" OffsA="56"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 8" Size="8" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.abyDataOut" VarB="COM RxPDO-Map Outputs^Data Out 9" Size="8" OffsA="72"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.stCtrl^bInitRequest" VarB="COM RxPDO-Map Outputs^Ctrl^Init request"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbCoolplate.stCtrl^bReceiveAccepted" VarB="COM RxPDO-Map Outputs^Ctrl^Receive accepted"/>
|
||||||
|
<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"/>
|
||||||
|
</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_Safety.xRequestOpenDoor" VarB="Channel 4^MainDoorUnlock" Size="1"/>
|
<Link VarA="PlcTask Inputs^PRG_Safety.xRequestOpenDoor" VarB="Channel 4^MainDoorUnlock" Size="1"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^K01_KL01 (EK1100)^K01_KL04 (EL2008)">
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Safety.xLEDMachineOff" VarB="Channel 2^MachineOff" Size="1"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Safety.xLEDMachineOn" VarB="Channel 1^MachineOn" Size="1"/>
|
||||||
|
</OwnerB>
|
||||||
<OwnerB Name="TIID^Device 1 (EtherCAT)^K12_KL01 (EK1100)^K12_KL04 (EL1018)">
|
<OwnerB Name="TIID^Device 1 (EtherCAT)^K12_KL01 (EK1100)^K12_KL04 (EL1018)">
|
||||||
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner.xVacuumOk" VarB="Channel 7^Input" Size="1"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner.xVacuumOk" VarB="Channel 7^Input" Size="1"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
@@ -166,43 +275,129 @@
|
|||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot.stCtrl" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 0 (CMDs)"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot.stCtrl" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 0 (CMDs)"/>
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot.stJobs" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 1 (JobNr/PLCJobNr)"/>
|
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot.stJobs" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 1 (JobNr/PLCJobNr)"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
<OwnerB Name="TIID^Device 2 (Profinet Controller)^vs-0001">
|
<OwnerB Name="TIID^Device 5 (EtherCAT)^Etcher1Robot (Meca500)">
|
||||||
<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 Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stConfigurations^siElbow" VarB="Configurations^Elbow"/>
|
||||||
<Link VarA="PlcTask Outputs^PRG_Main.xTriggerCamera" VarB="API^Term 10 (Control)^Subterm 12 (Control)^Outputs^Control Register[0]^Trigger" Size="1"/>
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stConfigurations^siShoulder" VarB="Configurations^Shoulder"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stConfigurations^siTurn" VarB="Configurations^Turn"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stConfigurations^siWrist" VarB="Configurations^Wrist"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Dynamic Type" Size="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 0" Size="32" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 1" Size="32" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 2" Size="32" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 3" Size="32" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 4" Size="32" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData0" VarB="Dynamic Data 0^Value 5" Size="32" OffsA="192"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Dynamic Type" Size="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 0" Size="32" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 1" Size="32" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 2" Size="32" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 3" Size="32" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 4" Size="32" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData1" VarB="Dynamic Data 1^Value 5" Size="32" OffsA="192"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Dynamic Type" Size="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 0" Size="32" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 1" Size="32" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 2" Size="32" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 3" Size="32" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 4" Size="32" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData2" VarB="Dynamic Data 2^Value 5" Size="32" OffsA="192"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Dynamic Type" Size="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 0" Size="32" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 1" Size="32" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 2" Size="32" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 3" Size="32" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 4" Size="32" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stDynamicData3" VarB="Dynamic Data 3^Value 5" Size="32" OffsA="192"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stEndEffectorPose" VarB="End-Effector Pose^SubIndex 001" Size="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stEndEffectorPose" VarB="End-Effector Pose^SubIndex 002" Size="32" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stEndEffectorPose" VarB="End-Effector Pose^SubIndex 003" Size="32" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stEndEffectorPose" VarB="End-Effector Pose^SubIndex 004" Size="32" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stEndEffectorPose" VarB="End-Effector Pose^SubIndex 005" Size="32" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stEndEffectorPose" VarB="End-Effector Pose^SubIndex 006" Size="32" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stJointSet" VarB="Joint Set^SubIndex 001" Size="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stJointSet" VarB="Joint Set^SubIndex 002" Size="32" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stJointSet" VarB="Joint Set^SubIndex 003" Size="32" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stJointSet" VarB="Joint Set^SubIndex 004" Size="32" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stJointSet" VarB="Joint Set^SubIndex 005" Size="32" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stJointSet" VarB="Joint Set^SubIndex 006" Size="32" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^PStop2" VarB="Motion Status^PStop2"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^bEOB" VarB="Motion Status^EOB"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^bEOM" VarB="Motion Status^EOM"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^bExcessiveTorque" VarB="Motion Status^Excessive torque"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^bFIFOCleared" VarB="Motion Status^FIFO Cleared"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^bPaused" VarB="Motion Status^Paused"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^uiDiscardedCheckpointId" VarB="Motion Status^DiscardedCheckpointId"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^uiFIFOSpace" VarB="Motion Status^FIFO Space"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^uiMoveID" VarB="Motion Status^Move ID"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^uiOfflineProgramID" VarB="Motion Status^Offline Program ID"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stMotionStatus^uiReachedCheckPointId" VarB="Motion Status^ReachedCheckPointId"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotStatus^bActivated" VarB="Robot Status^Activated"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotStatus^bBrakesEngaged" VarB="Robot Status^BrakesEngaged"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotStatus^bBusy" VarB="Robot Status^Busy"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotStatus^bCollisionStatus" VarB="Robot Status^CollisionStatus"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotStatus^bEStop" VarB="Robot Status^Estop"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotStatus^bHomed" VarB="Robot Status^Homed"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotStatus^bRecoveryMode" VarB="Robot Status^RecoveryMode"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotStatus^bSimActivated" VarB="Robot Status^SimActivated"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotStatus^bWorkZoneStatus" VarB="Robot Status^WorkZoneStatus"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotStatus^uiError" VarB="Robot Status^Error"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotTimestamp^udiDynamic_Data_Cycles" VarB="Robot Timestamp^Dynamic Data Cycles"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotTimestamp^udiTimestamp_Microseconds" VarB="Robot Timestamp^Timestamp Microseconds"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stRobotTimestamp^udiTimestamp_Seconds" VarB="Robot Timestamp^Timestamp Seconds"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stTRF" VarB="TRF^SubIndex 001" Size="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stTRF" VarB="TRF^SubIndex 002" Size="32" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stTRF" VarB="TRF^SubIndex 003" Size="32" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stTRF" VarB="TRF^SubIndex 004" Size="32" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stTRF" VarB="TRF^SubIndex 005" Size="32" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stTRF" VarB="TRF^SubIndex 006" Size="32" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stWRF" VarB="WRF^SubIndex 001" Size="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stWRF" VarB="WRF^SubIndex 002" Size="32" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stWRF" VarB="WRF^SubIndex 003" Size="32" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stWRF" VarB="WRF^SubIndex 004" Size="32" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stWRF" VarB="WRF^SubIndex 005" Size="32" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stWRF" VarB="WRF^SubIndex 006" Size="32" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus^bConnection_Dropped" VarB="Safety Status^Connection Dropped"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus^bConnection_Dropped_Resettable" VarB="Safety Status^Connection Dropped Resettable"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus^bEstop" VarB="Safety Status^Estop"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus^bEstop_Resettable" VarB="Safety Status^Estop Resettable"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus^bPStop2" VarB="Safety Status^PStop2"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus^bPStop2_Resettable" VarB="Safety Status^PStop2 Resettable"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus^bReboot" VarB="Safety Status^Reboot"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus^bReboot_Resettable" VarB="Safety Status^Reboot Resettable"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus^bReset_Ready" VarB="Safety Status^Reset Ready"/>
|
||||||
|
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbRobot.stRobotInputs^stSafetyStatus^bVmotor_on" VarB="Safety Status^Vmotor on"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stBrakesControl^bBrakesControlAllowed" VarB="Brakes Control^BrakesControlAllowed"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stBrakesControl^bBrakesEngaged" VarB="Brakes Control^BrakesEngaged"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMotionControl^Clear_Move" VarB="Motion Control^Clear Move"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMotionControl^Move_ID" VarB="Motion Control^Move ID"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMotionControl^Pause" VarB="Motion Control^Pause"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMotionControl^Resume_Motion" VarB="Motion Control^Resume Motion"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMotionControl^SetPoint" VarB="Motion Control^SetPoint"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMove" VarB="Move^Move Command" Size="32"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 001" Size="32" OffsA="32"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 002" Size="32" OffsA="64"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 003" Size="32" OffsA="96"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 004" Size="32" OffsA="128"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 005" Size="32" OffsA="160"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stMove" VarB="Move^SubIndex 006" Size="32" OffsA="192"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stRobotControl^bActivate" VarB="Robot Control^Activate"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stRobotControl^bDeactivate" VarB="Robot Control^Deactivate"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stRobotControl^bDisableEtherCAT" VarB="Robot Control^DisableEtherCAT"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stRobotControl^bHome" VarB="Robot Control^Home"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stRobotControl^bRecovery_Mode" VarB="Robot Control^Recovery Mode"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stRobotControl^bReset_Error" VarB="Robot Control^Reset Error"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^stRobotControl^bSim_Mode" VarB="Robot Control^Sim Mode"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^udiDynamicDataCfg0" VarB="Dynamic Data Cfg 0^Dynamic Type"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^udiDynamicDataCfg1" VarB="Dynamic Data Cfg 1^Dynamic Type"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^udiDynamicDataCfg2" VarB="Dynamic Data Cfg 2^Dynamic Type"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^udiDynamicDataCfg3" VarB="Dynamic Data Cfg 3^Dynamic Type"/>
|
||||||
|
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbRobot.stRobotOutputs^udiHostTime" VarB="Host Time^Host Time"/>
|
||||||
</OwnerB>
|
</OwnerB>
|
||||||
<OwnerB Name="TIID^Device 7 (EtherCAT)^Etcher2Robot (Meca500)">
|
<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^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^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^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^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_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_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_003" VarB="End-Effector Pose^SubIndex 003"/>
|
||||||
@@ -239,85 +434,6 @@
|
|||||||
<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^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_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^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^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^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^rSubIndex003" VarB="TRF^SubIndex 003"/>
|
||||||
|
|||||||
@@ -2627,7 +2627,7 @@ External Setpoint Generation:
|
|||||||
</Properties>
|
</Properties>
|
||||||
</DataType>
|
</DataType>
|
||||||
</DataTypes>
|
</DataTypes>
|
||||||
<Instance TmcHash="{00C5607E-7A34-8822-F938-2238C3FA34EE}">
|
<Instance TmcHash="{BEB1669A-FD40-47A8-2118-6427AD9B7C58}">
|
||||||
<Vars VarGrpType="1">
|
<Vars VarGrpType="1">
|
||||||
<Name>PlcTask Inputs</Name>
|
<Name>PlcTask Inputs</Name>
|
||||||
<Var>
|
<Var>
|
||||||
@@ -2931,6 +2931,10 @@ External Setpoint Generation:
|
|||||||
</Vars>
|
</Vars>
|
||||||
<Vars VarGrpType="2" AreaNo="1">
|
<Vars VarGrpType="2" AreaNo="1">
|
||||||
<Name>PlcTask Outputs</Name>
|
<Name>PlcTask Outputs</Name>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_Main.xTriggerCamera</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Main._fbRobot.stCtrl</Name>
|
<Name>PRG_Main._fbRobot.stCtrl</Name>
|
||||||
<Comment><![CDATA[ 0 - Nicht aus
|
<Comment><![CDATA[ 0 - Nicht aus
|
||||||
@@ -3194,10 +3198,6 @@ 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.xTriggerCamera</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_Safety.xRun</Name>
|
<Name>PRG_Safety.xRun</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
|
|||||||
Reference in New Issue
Block a user