Started fixes for HMI

This commit is contained in:
2026-03-06 08:39:54 +01:00
parent 64f561b0c5
commit bcff5a1132
16 changed files with 899 additions and 270 deletions

View File

@@ -49,6 +49,41 @@
</OwnerB>
</OwnerA>
</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>
<Context>
<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.xDeactivateVacuum" VarB="Module 1 (EX600-SEC#, 32 Valves)^Valve Outputs^Aligner disable vacuum" Size="1"/>
</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)">
<Link VarA="PlcTask Inputs^PRG_Safety.xRequestOpenDoor" VarB="Channel 4^MainDoorUnlock" Size="1"/>
</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)">
<Link VarA="PlcTask Inputs^PRG_Main._fbAligner.xVacuumOk" VarB="Channel 7^Input" Size="1"/>
</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.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 Name="TIID^Device 5 (EtherCAT)^Etcher1Robot (Meca500)">
<Link VarA="PlcTask Inputs^PRG_Main._fbEtcher1._fbRobot.stRobotInputs^stConfigurations^siElbow" VarB="Configurations^Elbow"/>
<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 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"/>
@@ -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^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"/>

View File

@@ -2627,7 +2627,7 @@ External Setpoint Generation:
</Properties>
</DataType>
</DataTypes>
<Instance TmcHash="{00C5607E-7A34-8822-F938-2238C3FA34EE}">
<Instance TmcHash="{BEB1669A-FD40-47A8-2118-6427AD9B7C58}">
<Vars VarGrpType="1">
<Name>PlcTask Inputs</Name>
<Var>
@@ -2931,6 +2931,10 @@ External Setpoint Generation:
</Vars>
<Vars VarGrpType="2" AreaNo="1">
<Name>PlcTask Outputs</Name>
<Var>
<Name>PRG_Main.xTriggerCamera</Name>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_Main._fbRobot.stCtrl</Name>
<Comment><![CDATA[ 0 - Nicht aus
@@ -3194,10 +3198,6 @@ External Setpoint Generation:
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_Main.xTriggerCamera</Name>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_Safety.xRun</Name>
<Type>BOOL</Type>