Files
infineon_plc/_Config/PLC/PLC Instance.xti
2026-03-02 10:14:52 +01:00

371 lines
42 KiB
XML

<?xml version="1.0"?>
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.20" ClassName="CTComPlcObjDef">
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" XtvPath="PLC\PLC Instance.xtv" TmcPath="PLC\PLC.tmc">
<Name>__FILENAME__</Name>
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
<UnrestoredVarLinks ImportTime="2026-02-01T12:34:23">
<OwnerA Name="OutputSrc" Prefix="TIPC^PLC^PLC Instance" Type="2">
<OwnerB Name="TIID^Device 1 (EtherCAT)^K20_QM01 (EX260-SEC1)">
<Link VarA="PRG_Main._fbEtcher2.xCloseDoor" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Byte 0^Output[1]" Size="1" RestoreInfo="ANotFound"/>
<Link VarA="PRG_Main._fbEtcher2.xOpenDoor" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Byte 0^Output[0]" Size="1" RestoreInfo="ANotFound"/>
</OwnerB>
</OwnerA>
</UnrestoredVarLinks>
<UnrestoredVarLinks ImportTime="2026-02-04T18:53:56">
<OwnerA Name="InputDst" Prefix="TIPC^PLC^PLC Instance" Type="1">
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 26 (TM-X5K_CB-NEC20E)">
<Link VarA="PRG_Main._fbAligner.rXOffset" TypeA="REAL" InOutA="0" GuidA="{18071995-0000-0000-0000-00000000000D}" VarB="Module 1 (Result Data 128Byte)^Result Data 128Byte^Result Data7" RestoreInfo="ANotFound"/>
<Link VarA="PRG_Main._fbAligner.rYOffset" TypeA="REAL" InOutA="0" GuidA="{18071995-0000-0000-0000-00000000000D}" VarB="Module 1 (Result Data 128Byte)^Result Data 128Byte^Result Data8" RestoreInfo="ANotFound"/>
</OwnerB>
</OwnerA>
</UnrestoredVarLinks>
<UnrestoredVarLinks ImportTime="2026-02-18T23:52:50">
<OwnerA Name="InputDst" Prefix="TIPC^PLC^PLC Instance" Type="1">
<OwnerB Name="TIID^Device 1 (EtherCAT)^HP (EK1100)^Term 48 (EL3202)">
<Link VarA="PRG_Main._fbHeatCoolPlates._fbHeatingPlate._fbTempSensor.iAnalogValue" TypeA="INT" InOutA="0" GuidA="{18071995-0000-0000-0000-000000000006}" VarB="RTD Inputs Channel 1^HOTPLATE_CurrentTemp" RestoreInfo="ANotFound"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^HP (EK1100)^Term 49 (EL6021)">
<Link VarA="PRG_Main._fbHeatCoolPlates._fbCoolPlate.stStatus" TypeA="ST_SerialStatus" InOutA="0" GuidA="{316D4479-F8E3-7DF9-F5FD-35B2CCAFA8B4}" VarB="COM TxPDO-Map Inputs^Status" RestoreInfo="ANotFound"/>
</OwnerB>
</OwnerA>
<OwnerA Name="OutputSrc" Prefix="TIPC^PLC^PLC Instance" Type="2">
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 44 (EX260-SEC1)">
<Link VarA="PRG_Main._fbHVTester.xCloseDoor1" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Byte 0^Output[3]" Size="1" RestoreInfo="ANotFound"/>
<Link VarA="PRG_Main._fbHVTester.xCloseDoor2" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Byte 0^Output[1]" Size="1" RestoreInfo="ANotFound"/>
<Link VarA="PRG_Main._fbHVTester.xOpenDoor1" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Byte 0^Output[2]" Size="1" RestoreInfo="ANotFound"/>
<Link VarA="PRG_Main._fbHVTester.xOpenDoor2" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Byte 0^Output[0]" Size="1" RestoreInfo="ANotFound"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^HP (EK1100)^Term 47 (EL2004)">
<Link VarA="PRG_Main._fbHeatCoolPlates._fbHeatingPlate.xEnableHotplate" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Channel 1^HotplateControl" Size="1" RestoreInfo="ANotFound"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^HP (EK1100)^Term 49 (EL6021)">
<Link VarA="PRG_Main._fbHeatCoolPlates._fbCoolPlate.stCtrl" TypeA="ST_SerialCrl" InOutA="1" GuidA="{3D9C0EE4-9AEB-6E1F-C91F-A19495867B58}" VarB="COM RxPDO-Map Outputs^Ctrl" RestoreInfo="ANotFound"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^HV_K01_KL01^HV_K01_KL07 (EL2008)">
<Link VarA="PRG_Main._fbHVTester.xCloseChamber1" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Channel 6^HV Hot_CloseChamber" Size="1" RestoreInfo="ANotFound"/>
<Link VarA="PRG_Main._fbHVTester.xCloseChamber2" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Channel 3^HV Cold_CloseChamber" Size="1" RestoreInfo="ANotFound"/>
<Link VarA="PRG_Main._fbHVTester.xOpenChamber1" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Channel 5^HV Hot_OpenChamber" Size="1" RestoreInfo="ANotFound"/>
<Link VarA="PRG_Main._fbHVTester.xOpenChamber2" TypeA="BOOL" InOutA="1" GuidA="{18071995-0000-0000-0000-000000000030}" VarB="Channel 2^HV Cold_OpenChamber" Size="1" RestoreInfo="ANotFound"/>
</OwnerB>
</OwnerA>
</UnrestoredVarLinks>
<Contexts>
<Context>
<Id>0</Id>
<Name>PlcTask</Name>
<ManualConfig>
<OTCID>#x02010030</OTCID>
</ManualConfig>
<Priority>20</Priority>
<CycleTime>8000000</CycleTime>
</Context>
</Contexts>
<TaskPouOids>
<TaskPouOid Prio="20" OTCID="#x08502001"/>
</TaskPouOids>
</Instance>
<Mappings>
<OwnerA>
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 26 (TM-X5K_CB-NEC20E)">
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner.diXOffset" VarB="Module 1 (Result Data 128Byte)^Result Data 128Byte^Result Data7"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner.diYOffset" VarB="Module 1 (Result Data 128Byte)^Result Data 128Byte^Result Data8"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^Box 7 (EX600-SEC#)">
<Link VarA="PlcTask Outputs^PRG_Main._fbAligner.xActivateVacuum" VarB="Module 1 (EX600-SEC#, 32 Valves)^Valve Outputs^Aligner enable vacuum" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbAligner.xDeactivateVacuum" VarB="Module 1 (EX600-SEC#, 32 Valves)^Valve Outputs^Aligner disable vacuum" Size="1"/>
</OwnerB>
<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"/>
</OwnerB>
<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"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^K20_A1 (EP1018-0001)">
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbValveDoor.xCloseFeedback" VarB="Channel 3^ShutterClosed" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbValveDoor.xOpenFeedback" VarB="Channel 2^ShutterOpened" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1.xVacuumOk" VarB="Channel 1^ChuckVacuumOn" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^K20_A2 (EP1018-0001)">
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbEjectBack.xCloseFeedback" VarB="Channel 7^Clamping fixture ejector back retracted" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbEjectBack.xOpenFeedback" VarB="Channel 8^Clamping fixture ejector back extended" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbEjectFront.xCloseFeedback" VarB="Channel 5^Clamping fixture ejector front retracted" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbEjectFront.xOpenFeedback" VarB="Channel 6^Clamping fixture ejector front extended" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbUnlockLeft.xCloseFeedback" VarB="Channel 1^Clamping fixture unlock left retracted" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbUnlockLeft.xOpenFeedback" VarB="Channel 2^Clamping fixture unlock left extended" Size="1"/>
<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"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbEjectFront.xCloseValve" VarB="Byte 0^Output[5]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbEjectFront.xOpenValve" VarB="Byte 0^Output[4]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbUnlockLeft.xCloseValve" VarB="Byte 1^Output[1]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbUnlockLeft.xOpenValve" VarB="Byte 1^Output[0]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbUnlockRight.xCloseValve" VarB="Byte 1^Output[3]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbUnlockRight.xOpenValve" VarB="Byte 1^Output[2]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbValveDoor.xCloseValve" VarB="Byte 0^Output[1]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1._fbValveDoor.xOpenValve" VarB="Byte 0^Output[0]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher1.xDisableVacuum" VarB="Byte 0^Output[2]" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^K21_A1 (EP1018-0001)">
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbValveDoor.xCloseFeedback" VarB="Channel 3^ShutterClosed" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbValveDoor.xOpenFeedback" VarB="Channel 2^ShutterOpened" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2.xVacuumOk" VarB="Channel 1^ChuckVacuumOn" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^K21_A2 (EP1018-0001)">
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbEjectBack.xCloseFeedback" VarB="Channel 7^Clamping fixture ejector back retracted" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbEjectBack.xOpenFeedback" VarB="Channel 8^Clamping fixture ejector back extended" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbEjectFront.xCloseFeedback" VarB="Channel 5^Clamping fixture ejector front retracted" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbEjectFront.xOpenFeedback" VarB="Channel 6^Clamping fixture ejector front extended" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbUnlockLeft.xCloseFeedback" VarB="Channel 1^Clamping fixture unlock left retracted" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher2._fbUnlockLeft.xOpenFeedback" VarB="Channel 2^Clamping fixture unlock left extended" Size="1"/>
<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"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbEjectFront.xCloseValve" VarB="Byte 0^Output[5]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbEjectFront.xOpenValve" VarB="Byte 0^Output[4]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbUnlockLeft.xCloseValve" VarB="Byte 1^Output[1]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbUnlockLeft.xOpenValve" VarB="Byte 1^Output[0]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbUnlockRight.xCloseValve" VarB="Byte 1^Output[3]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbUnlockRight.xOpenValve" VarB="Byte 1^Output[2]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbValveDoor.xCloseValve" VarB="Byte 0^Output[1]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2._fbValveDoor.xOpenValve" VarB="Byte 0^Output[0]" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbEtcher2.xDisableVacuum" VarB="Byte 0^Output[2]" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^PC_K01_KL01 (EK1100)^PC_K01_KL02 (EL1918)">
<Link VarA="PlcTask Inputs^PRG_Safety.xComStartup" VarB="StandardInputs^Standard Out Var 12" Size="1"/>
<Link VarA="PlcTask Inputs^PRG_Safety.xEStopOk" VarB="StandardInputs^Standard Out Var 157" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Safety.xErrorAck" VarB="StandardOutputs^Standard In Var 212" Size="1"/>
<Link VarA="PlcTask Outputs^PRG_Safety.xLockDoor" VarB="StandardOutputs^Standard In Var 192" Size="1"/>
</OwnerB>
<OwnerB Name="TIID^Device 1 (EtherCAT)^RobotMain">
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot.abyMirrorToolsAndPositions" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 4 (Greifer/Drehteller/Positionen)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot.asiMotorTemps1To4" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 8 (Motor Temp)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot.asiMotorTemps5To8" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 9 (Motor Temp)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot.awJobStatesFromRobot" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 2 (JobAktiv/JobEnde)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot.diMirrorOffsetPosX" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 5 (Offset X)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot.diMirrorOffsetPosY" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 6 (Offset Y)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot.diMirrorThickness" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 7 (Thickness)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot.dwErrorBits" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 1 (Errorbits)"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot.eJobForPLC" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 3 (JobForPLC)" Size="16"/>
<Link VarA="PlcTask Inputs^PRG_Main._fbRobot.stState" VarB="Module 3 (Default IO)^Std. In (64 Bytes)^Input DWORD 0 (Status)" Size="16"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot.abyToolsAndPositions" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 2 (Greifer/Drehteller/Positionen)"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot.diOffsetPosX" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 3 (Offset X)"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot.diOffsetPosY" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^Output DWORD 4 (Offset Y)"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbRobot.diThickness" VarB="Module 3 (Default IO)^Std. Out (64 Bytes)^ Output DWORD 5 (Thickness)"/>
<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)"/>
</OwnerB>
<OwnerB Name="TIID^Device 2 (Profinet Controller)^vs-0001">
<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"/>
</OwnerB>
<OwnerB Name="TINC^NC-Task 1 SAF^Axes^AlignerYAxis">
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner._fbYAxis._fbAxis.NcToPlc" VarB="Outputs^ToPlc"/>
<Link VarA="PlcTask Outputs^PRG_Main._fbAligner._fbYAxis._fbAxis.PlcToNc" VarB="Inputs^FromPlc"/>
</OwnerB>
</OwnerA>
</Mappings>
</TcSmItem>