﻿<?xml version="1.0" encoding="utf-8"?>
<Symbolconfiguration xmlns="http://www.3s-software.com/schemas/Symbolconfiguration.xsd">
  <Header>
    <Version>3.5.14.0</Version>
    <SymbolConfigObject version="4.5.2.0" runtimeid="3.5.20.20" libversion="4.5.0.0" compiler="3.5.20.20" lmm="3.5.20.20" profile="Automation Builder 2.8+" settings="LayoutCalculator=OptimizedClientSideLayoutCalculator" />
    <ProjectInfo name="MC-2607_packaging" devicename="PLC_AC500_V3" appname="Application" />
  </Header>
  <TypeList>
    <TypeUserDef name="T_RbManager_cmd" size="0" nativesize="0" typeclass="Userdef" pouclass="STRUCTURE" iecname="RbManager_cmd" />
    <TypeSimple name="T_BOOL" size="1" swapsize="0" typeclass="Bool" iecname="BOOL" />
    <TypeSimple name="T_BYTE" size="1" swapsize="1" typeclass="Byte" iecname="BYTE" />
    <TypeSimple name="T_DINT" size="4" swapsize="4" typeclass="DInt" iecname="DINT" />
    <TypeSimple name="T_DWORD" size="4" swapsize="4" typeclass="DWord" iecname="DWORD" />
    <TypeSimple name="T_INT" size="2" swapsize="2" typeclass="Int" iecname="INT" />
    <TypeSimple name="T_STRING" size="81" swapsize="0" typeclass="String" iecname="STRING" />
    <TypeSimple name="T_TIME" size="4" swapsize="4" typeclass="Time" iecname="TIME" />
    <TypeSimple name="T_UDINT" size="4" swapsize="4" typeclass="UDInt" iecname="UDINT" />
    <TypeSimple name="T_WORD" size="2" swapsize="2" typeclass="Word" iecname="WORD" />
    <TypeUserDef name="T_ABBRobotSignals" size="16" nativesize="16" typeclass="Userdef" pouclass="STRUCTURE" iecname="ABBRobotSignals">
      <UserDefElement iecname="i_motorsOn" type="T_BOOL" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="i_autoMode" type="T_BOOL" byteoffset="1" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="i_programRunning" type="T_BOOL" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="i_taskInProgress" type="T_BOOL" byteoffset="3" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="i_actionDone" type="T_BOOL" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="i_robotNearFork" type="T_BOOL" byteoffset="5" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="i_robotNearBox" type="T_BOOL" byteoffset="6" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="i_robotNearToolRack" type="T_BOOL" byteoffset="7" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="i_eStop" type="T_BOOL" byteoffset="8" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="i_driveEnableAllowed" type="T_BOOL" byteoffset="9" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="q_enableMotion" type="T_BOOL" byteoffset="10" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="q_currentTool" type="T_BYTE" byteoffset="11" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="q_taskID" type="T_BYTE" byteoffset="12" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="q_startTask" type="T_BOOL" byteoffset="13" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="q_turnMotorsOn" type="T_BOOL" byteoffset="14" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="q_ppToMainAndStart" type="T_BOOL" byteoffset="15" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeArray name="T_ARRAY__0__125__OF_WORD" size="252" nativesize="252" typeclass="Array" iecname="ARRAY [0..125] OF WORD" basetype="T_WORD">
      <ArrayDim minrange="0" maxrange="125" />
    </TypeArray>
    <TypeUserDef name="T_AbbETrig3" size="4" nativesize="20" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="AbbETrig3">
      <UserDefElement iecname="Execute" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="Done" type="T_BOOL" byteoffset="1" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="Busy" type="T_BOOL" byteoffset="2" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="Error" type="T_BOOL" byteoffset="3" vartype="VAR_OUTPUT" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_Cell_cmd" size="5" nativesize="5" typeclass="Userdef" pouclass="STRUCTURE" iecname="Cell_cmd">
      <UserDefElement iecname="AutomaticReq" type="T_BOOL" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ManualReq" type="T_BOOL" byteoffset="1" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="StartCycleReq" type="T_BOOL" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="StopCycleReq" type="T_BOOL" byteoffset="3" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Reset" type="T_BOOL" byteoffset="4" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_Cell_mac" size="2" nativesize="2" typeclass="Userdef" pouclass="STRUCTURE" iecname="Cell_mac">
      <UserDefElement iecname="ProductID" type="T_INT" byteoffset="0" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_Cell_sts" size="7" nativesize="8" typeclass="Userdef" pouclass="STRUCTURE" iecname="Cell_sts">
      <UserDefElement iecname="State" type="T_INT" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Running" type="T_BOOL" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Idle" type="T_BOOL" byteoffset="3" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Automatic" type="T_BOOL" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Manual" type="T_BOOL" byteoffset="5" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Faulted" type="T_BOOL" byteoffset="6" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_ENDIANESS" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="ENDIANESS" basetype="T_INT">
      <UserDefElement type="T_ENDIANESS" iecname="UNKNOWN" enumvalue="0" />
      <UserDefElement type="T_ENDIANESS" iecname="LITTLE" enumvalue="1" />
      <UserDefElement type="T_ENDIANESS" iecname="BIG" enumvalue="2" />
    </TypeUserDef>
    <TypeUserDef name="T_EQ51_cmd" size="2" nativesize="2" typeclass="Userdef" pouclass="STRUCTURE" iecname="EQ51_cmd">
      <UserDefElement iecname="EmptyReq" type="T_BOOL" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="AddObject" type="T_BOOL" byteoffset="1" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_EQ51_mac" size="8" nativesize="8" typeclass="Userdef" pouclass="STRUCTURE" iecname="EQ51_mac">
      <UserDefElement iecname="MaxCol" type="T_INT" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="MaxObjectsPerCol" type="T_INT" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="MaxForkMoveTime" type="T_TIME" byteoffset="4" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_EQ52_mac" size="6" nativesize="8" typeclass="Userdef" pouclass="STRUCTURE" iecname="EQ52_mac">
      <UserDefElement iecname="toolIdUpdateTime" type="T_TIME" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="maxPartsPerBox" type="T_INT" byteoffset="4" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_EQ53_cmd" size="9" nativesize="9" typeclass="Userdef" pouclass="STRUCTURE" iecname="EQ53_cmd">
      <UserDefElement iecname="StartConv" type="T_BOOL" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="StopConv" type="T_BOOL" byteoffset="1" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="NextBoxReq" type="T_BOOL" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ExtendSeparator" type="T_BOOL" byteoffset="3" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="RetractSeparator" type="T_BOOL" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ExtendStopper" type="T_BOOL" byteoffset="5" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="RetractStopper" type="T_BOOL" byteoffset="6" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ExtendSqueezer" type="T_BOOL" byteoffset="7" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="RetractSqueezer" type="T_BOOL" byteoffset="8" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_EQ53_mac" size="16" nativesize="16" typeclass="Userdef" pouclass="STRUCTURE" iecname="EQ53_mac">
      <UserDefElement iecname="MaxTimeBetween" type="T_TIME" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="SeparatorDelay" type="T_TIME" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="StopperDelay" type="T_TIME" byteoffset="8" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="SqueezerDelay" type="T_TIME" byteoffset="12" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_ERROR_ID" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="ERROR_ID" basetype="T_INT">
      <UserDefElement type="T_ERROR_ID" iecname="NO_ERROR" enumvalue="0" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_NOT_CONFIGURED" enumvalue="1" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INVALID_INTERFACE" enumvalue="2" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_ENDIANESS_NOT_SUPPORTED" enumvalue="3" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_FCT_NOT_SUPPORTED" enumvalue="4" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_ILLEGAL_REGISTER_ADDRESS" enumvalue="5" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_DATA_SIZE" enumvalue="6" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INVALID_ACCESS" enumvalue="7" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INVALID_TIMEOUT_VALUE" enumvalue="8" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_ALREADY_IN_STATE" enumvalue="16" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_FAILED_SET_STATE" enumvalue="17" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_SIMULTANEOUS_ACCESS" enumvalue="18" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_FAILED_CONNECT" enumvalue="256" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_01_ILLEGAL_FUNCTION" enumvalue="257" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_02_ILLEGAL_DATA_ADDRESS" enumvalue="258" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_03_ILLEGAL_DATA_VALUE" enumvalue="259" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_04_SERVER_DEVICE_FAILURE" enumvalue="260" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_05_SERVER_ACKNOWLEDGE" enumvalue="261" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_06_SERVER_DEVICE_BUSY" enumvalue="262" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_07_SERVER_NO_ACKNOWLEDGE" enumvalue="263" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_08_MEMORY_PARITY_ERROR" enumvalue="264" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_09_SERVER_PASSIVE" enumvalue="265" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_0A_GATEWAY_PATH_UNAVAILABLE" enumvalue="266" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_EXCEPT_0B_GATEWAY_TARGET_DEVICE" enumvalue="267" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_TIMEOUT" enumvalue="288" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_CONNECTION_CLOSED" enumvalue="289" />
      <UserDefElement type="T_ERROR_ID" iecname="BUSY" enumvalue="4095" />
      <UserDefElement type="T_ERROR_ID" iecname="FATAL_ERROR" enumvalue="24575" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_NO_MEMORY" enumvalue="-32767" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INTERNAL_IO" enumvalue="-32766" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INTERNAL_INVALID_STATE" enumvalue="-32765" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INTERNAL_ILLEGAL_STATE" enumvalue="-32764" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INTERNAL_UNEXPECTED_STATE" enumvalue="-32763" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INTERNAL_IO_RETRY" enumvalue="-32762" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INTERNAL_ILLEGAL_ARGUMENT" enumvalue="-32761" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INTERNAL_INVALID_HANDLE" enumvalue="-32760" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_INTERNAL_PORTING" enumvalue="-32759" />
      <UserDefElement type="T_ERROR_ID" iecname="ERR_UNKNOWN" enumvalue="-32758" />
    </TypeUserDef>
    <TypeUserDef name="T_ETH_MOD_FCT22_TYPE" size="4" nativesize="4" typeclass="Userdef" pouclass="STRUCTURE" iecname="ETH_MOD_FCT22_TYPE">
      <UserDefElement iecname="wAND_Mask" type="T_WORD" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wOR_Mask" type="T_WORD" byteoffset="2" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_Implicit_Enum__pneumaticValve__Command" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="Implicit_Enum__pneumaticValve__Command" basetype="T_INT">
      <UserDefElement type="T_Implicit_Enum__pneumaticValve__Command" iecname="extend" enumvalue="0" />
      <UserDefElement type="T_Implicit_Enum__pneumaticValve__Command" iecname="retract" enumvalue="1" />
    </TypeUserDef>
    <TypeUserDef name="T_MB_stepper_cmd" size="6" nativesize="6" typeclass="Userdef" pouclass="STRUCTURE" iecname="MB_stepper_cmd">
      <UserDefElement iecname="GoToPos" type="T_BOOL" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="DesiredPos" type="T_INT" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Reset" type="T_BOOL" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="GoHome" type="T_BOOL" byteoffset="5" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_MB_stepper_conf" size="96" nativesize="96" typeclass="Userdef" pouclass="STRUCTURE" iecname="MB_stepper_conf">
      <UserDefElement iecname="IP" type="T_STRING" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="HomeInputCode" type="T_INT" byteoffset="82" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="HomeConditionCode" type="T_INT" byteoffset="84" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="HomeDirection" type="T_INT" byteoffset="86" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="StepsPerMM" type="T_INT" byteoffset="88" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ReadInterval" type="T_TIME" byteoffset="92" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_MB_stepper_mac" size="6" nativesize="6" typeclass="Userdef" pouclass="STRUCTURE" iecname="MB_stepper_mac">
      <UserDefElement iecname="Acc" type="T_INT" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Dec" type="T_INT" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Speed" type="T_INT" byteoffset="4" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeSimple name="T_POINTER_TO_BOOL" size="4" swapsize="4" typeclass="Pointer" iecname="POINTER TO BOOL" />
    <TypeSimple name="T_POINTER_TO_BYTE" size="4" swapsize="4" typeclass="Pointer" iecname="POINTER TO BYTE" />
    <TypeSimple name="T_POINTER_TO_DWORD" size="4" swapsize="4" typeclass="Pointer" iecname="POINTER TO DWORD" />
    <TypeSimple name="T_POINTER_TO_ETH_MOD_FCT22_TYPE" size="4" swapsize="4" typeclass="Pointer" iecname="POINTER TO ETH_MOD_FCT22_TYPE" />
    <TypeSimple name="T_POINTER_TO_ETH_MOD_FCT23_TYPE" size="4" swapsize="4" typeclass="Pointer" iecname="POINTER TO ETH_MOD_FCT23_TYPE" />
    <TypeSimple name="T_POINTER_TO_WORD" size="4" swapsize="4" typeclass="Pointer" iecname="POINTER TO WORD" />
    <TypeSimple name="T_REFERENCE_TO_BOOL_REF" size="1" swapsize="0" typeclass="Reference" iecname="REFERENCE TO BOOL_REF" basetype="T_BOOL" />
    <TypeSimple name="T_REFERENCE_TO_INT_REF" size="2" swapsize="2" typeclass="Reference" iecname="REFERENCE TO INT_REF" basetype="T_INT" />
    <TypeUserDef name="T_RbManager_mac" size="4" nativesize="4" typeclass="Userdef" pouclass="STRUCTURE" iecname="RbManager_mac">
      <UserDefElement iecname="toolIdUpdateTime" type="T_TIME" byteoffset="0" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_SafetyStatus" size="16" nativesize="16" typeclass="Userdef" pouclass="STRUCTURE" iecname="SafetyStatus">
      <UserDefElement iecname="CommunicationOk" type="T_BOOL" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="SystemLockout" type="T_BOOL" byteoffset="1" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="InputFault" type="T_BOOL" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="OutputFault" type="T_BOOL" byteoffset="3" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="iESTOPCell1" type="T_BOOL" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="iESTOPCell2" type="T_BOOL" byteoffset="5" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="iESTOPFanuc" type="T_BOOL" byteoffset="6" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="iLC_Entry" type="T_BOOL" byteoffset="7" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="iEDM_K1K2" type="T_BOOL" byteoffset="8" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="iEDM_K3K4" type="T_BOOL" byteoffset="9" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="iResetBTN" type="T_BOOL" byteoffset="10" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="qK1K2" type="T_BOOL" byteoffset="11" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="qK3K4" type="T_BOOL" byteoffset="12" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ERRNO" type="T_WORD" byteoffset="14" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_TON" size="16" nativesize="28" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="TON">
      <UserDefElement iecname="IN" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="PT" type="T_TIME" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="Q" type="T_BOOL" byteoffset="8" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="ET" type="T_TIME" byteoffset="12" vartype="VAR_OUTPUT" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_eJobRobot" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="eJobRobot" basetype="T_INT">
      <UserDefElement type="T_eJobRobot" iecname="eNone" enumvalue="0" />
      <UserDefElement type="T_eJobRobot" iecname="ePickTool1" enumvalue="1" />
      <UserDefElement type="T_eJobRobot" iecname="ePickTool2" enumvalue="2" />
      <UserDefElement type="T_eJobRobot" iecname="ePickTool3" enumvalue="3" />
      <UserDefElement type="T_eJobRobot" iecname="ePickTool4" enumvalue="4" />
      <UserDefElement type="T_eJobRobot" iecname="eDropTool1" enumvalue="5" />
      <UserDefElement type="T_eJobRobot" iecname="eDropTool2" enumvalue="6" />
      <UserDefElement type="T_eJobRobot" iecname="eDropTool3" enumvalue="7" />
      <UserDefElement type="T_eJobRobot" iecname="eDropTool4" enumvalue="8" />
      <UserDefElement type="T_eJobRobot" iecname="ePickDropPart" enumvalue="9" />
      <UserDefElement type="T_eJobRobot" iecname="ePickPart" enumvalue="10" />
      <UserDefElement type="T_eJobRobot" iecname="eDropPart" enumvalue="11" />
      <UserDefElement type="T_eJobRobot" iecname="eDropRejectPart" enumvalue="12" />
      <UserDefElement type="T_eJobRobot" iecname="eMoveHome" enumvalue="13" />
      <UserDefElement type="T_eJobRobot" iecname="eMoveMaint" enumvalue="14" />
    </TypeUserDef>
    <TypeUserDef name="T_sts_Generic" size="2" nativesize="2" typeclass="Userdef" pouclass="STRUCTURE" iecname="sts_Generic">
      <UserDefElement iecname="Running" type="T_BOOL" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Ready" type="T_BOOL" byteoffset="1" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_teInstState" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="teInstState" basetype="T_INT">
      <UserDefElement type="T_teInstState" iecname="STATE_NONE" enumvalue="0" />
      <UserDefElement type="T_teInstState" iecname="STATE_CONFIG" enumvalue="1" />
      <UserDefElement type="T_teInstState" iecname="STATE_CONNECTING" enumvalue="2" />
      <UserDefElement type="T_teInstState" iecname="STATE_CONNECTED" enumvalue="3" />
      <UserDefElement type="T_teInstState" iecname="STATE_FAILED_CONNECT" enumvalue="4" />
      <UserDefElement type="T_teInstState" iecname="STATE_WAIT_QUERY" enumvalue="5" />
      <UserDefElement type="T_teInstState" iecname="STATE_BUSY_QUERY" enumvalue="6" />
      <UserDefElement type="T_teInstState" iecname="STATE_DONE_QUERY" enumvalue="7" />
      <UserDefElement type="T_teInstState" iecname="STATE_ERROR" enumvalue="8" />
    </TypeUserDef>
    <TypeUserDef name="T_Cell" size="20" nativesize="20" typeclass="Userdef" pouclass="STRUCTURE" iecname="Cell">
      <UserDefElement iecname="cmd" type="T_Cell_cmd" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="sts" type="T_Cell_sts" byteoffset="6" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="mac" type="T_Cell_mac" byteoffset="14" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Fault" type="T_DWORD" byteoffset="16" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_EQ51_sts" size="11" nativesize="12" typeclass="Userdef" pouclass="STRUCTURE" iecname="EQ51_sts" basetype="T_sts_Generic">
      <UserDefElement iecname="Running" type="T_BOOL" byteoffset="0" vartype="VAR" inherited_from="T_sts_Generic" access="ReadWrite" />
      <UserDefElement iecname="Ready" type="T_BOOL" byteoffset="1" vartype="VAR" inherited_from="T_sts_Generic" access="ReadWrite" />
      <UserDefElement iecname="Manual" type="T_BOOL" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ForkPos" type="T_INT" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="NumOfItemsInCol" type="T_INT" byteoffset="6" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ForkMoving" type="T_BOOL" byteoffset="8" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ConveyorRun" type="T_BOOL" byteoffset="9" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Full" type="T_BOOL" byteoffset="10" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_EQ52_cmd" size="2" nativesize="2" typeclass="Userdef" pouclass="STRUCTURE" iecname="EQ52_cmd">
      <UserDefElement iecname="Task" type="T_eJobRobot" byteoffset="0" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_EQ52_sts" size="11" nativesize="12" typeclass="Userdef" pouclass="STRUCTURE" iecname="EQ52_sts" basetype="T_sts_Generic">
      <UserDefElement iecname="Running" type="T_BOOL" byteoffset="0" vartype="VAR" inherited_from="T_sts_Generic" access="ReadWrite" />
      <UserDefElement iecname="Ready" type="T_BOOL" byteoffset="1" vartype="VAR" inherited_from="T_sts_Generic" access="ReadWrite" />
      <UserDefElement iecname="ToolID" type="T_INT" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="RobotHoldsPart" type="T_BOOL" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Manual" type="T_BOOL" byteoffset="5" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="CurrentTask" type="T_eJobRobot" byteoffset="6" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="PartsInBox" type="T_INT" byteoffset="8" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ForkEmptied" type="T_BOOL" byteoffset="10" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_EQ53_sts" size="3" nativesize="3" typeclass="Userdef" pouclass="STRUCTURE" iecname="EQ53_sts" basetype="T_sts_Generic">
      <UserDefElement iecname="Running" type="T_BOOL" byteoffset="0" vartype="VAR" inherited_from="T_sts_Generic" access="ReadWrite" />
      <UserDefElement iecname="Ready" type="T_BOOL" byteoffset="1" vartype="VAR" inherited_from="T_sts_Generic" access="ReadWrite" />
      <UserDefElement iecname="Manual" type="T_BOOL" byteoffset="2" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_ETH_MOD_FCT23_TYPE" size="12" nativesize="12" typeclass="Userdef" pouclass="STRUCTURE" iecname="ETH_MOD_FCT23_TYPE">
      <UserDefElement iecname="pByDataWrite" type="T_POINTER_TO_BYTE" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="pByDataRead" type="T_POINTER_TO_BYTE" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wDataAddressRead" type="T_WORD" byteoffset="8" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wNumDataUnitsRead" type="T_WORD" byteoffset="10" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_MB_stepper_sts" size="14" nativesize="16" typeclass="Userdef" pouclass="STRUCTURE" iecname="MB_stepper_sts" basetype="T_sts_Generic">
      <UserDefElement iecname="Running" type="T_BOOL" byteoffset="0" vartype="VAR" inherited_from="T_sts_Generic" access="ReadWrite" />
      <UserDefElement iecname="Ready" type="T_BOOL" byteoffset="1" vartype="VAR" inherited_from="T_sts_Generic" access="ReadWrite" />
      <UserDefElement iecname="Manual" type="T_BOOL" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Position" type="T_INT" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="StatusCode" type="T_DINT" byteoffset="8" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Error" type="T_BOOL" byteoffset="12" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Moving" type="T_BOOL" byteoffset="13" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_ModTcpMast" size="407" nativesize="424" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="ModTcpMast" basetype="T_AbbETrig3">
      <UserDefElement iecname="Execute" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" inherited_from="T_AbbETrig3" access="ReadWrite" />
      <UserDefElement iecname="Done" type="T_BOOL" byteoffset="1" vartype="VAR_OUTPUT" inherited_from="T_AbbETrig3" access="ReadWrite" />
      <UserDefElement iecname="Busy" type="T_BOOL" byteoffset="2" vartype="VAR_OUTPUT" inherited_from="T_AbbETrig3" access="ReadWrite" />
      <UserDefElement iecname="Error" type="T_BOOL" byteoffset="3" vartype="VAR_OUTPUT" inherited_from="T_AbbETrig3" access="ReadWrite" />
      <UserDefElement iecname="Eth" type="T_BYTE" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="IPAdr" type="T_DWORD" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="UnitID" type="T_BYTE" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="Fct" type="T_BYTE" byteoffset="13" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="Addr" type="T_WORD" byteoffset="14" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="Nb" type="T_WORD" byteoffset="16" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="Data" type="T_DWORD" byteoffset="20" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="ParallelProcessing" type="T_BOOL" byteoffset="24" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="ErrorID" type="T_ERROR_ID" byteoffset="26" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="bErr" type="T_BOOL" byteoffset="28" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="pBool" type="T_POINTER_TO_BOOL" byteoffset="32" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="pWord" type="T_POINTER_TO_WORD" byteoffset="36" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="pFC22" type="T_POINTER_TO_ETH_MOD_FCT22_TYPE" byteoffset="40" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="pFC23" type="T_POINTER_TO_ETH_MOD_FCT23_TYPE" byteoffset="44" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="dwIPAddress" type="T_DWORD" byteoffset="48" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wResponseTimeout" type="T_WORD" byteoffset="52" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="dwKeepAliveTime" type="T_DWORD" byteoffset="56" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="eEndianess" type="T_ENDIANESS" byteoffset="60" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wPort" type="T_WORD" byteoffset="62" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="byUnitID" type="T_BYTE" byteoffset="64" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="byFunctionCode" type="T_BYTE" byteoffset="65" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wAddressWrite" type="T_WORD" byteoffset="66" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wNumWrite" type="T_WORD" byteoffset="68" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="pbyBufferWrite" type="T_POINTER_TO_BYTE" byteoffset="72" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wAddressRead" type="T_WORD" byteoffset="76" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wNumRead" type="T_WORD" byteoffset="78" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="pbyBufferRead" type="T_POINTER_TO_BYTE" byteoffset="80" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wANDMask" type="T_WORD" byteoffset="84" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wORMask" type="T_WORD" byteoffset="86" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wValue" type="T_WORD" byteoffset="88" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="bOn" type="T_BOOL" byteoffset="90" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="dwIPAddressInt" type="T_DWORD" byteoffset="92" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wResponseTimeoutInt" type="T_WORD" byteoffset="96" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="dwKeepAliveTimeInt" type="T_DWORD" byteoffset="100" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="bResetOnCloseInt" type="T_BOOL" byteoffset="104" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="dwConnectTimeout" type="T_DWORD" byteoffset="108" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="bUseGlobalSettings" type="T_BOOL" byteoffset="112" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="eEndianessInt" type="T_ENDIANESS" byteoffset="114" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wPortInt" type="T_WORD" byteoffset="116" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="byUnitIDInt" type="T_BYTE" byteoffset="118" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="byFunctionCodeInt" type="T_BYTE" byteoffset="119" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wAddressWriteInt" type="T_WORD" byteoffset="120" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wNumWriteInt" type="T_WORD" byteoffset="122" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wAddressReadInt" type="T_WORD" byteoffset="124" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wNumReadInt" type="T_WORD" byteoffset="126" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="pbyBufferReadInt" type="T_POINTER_TO_BYTE" byteoffset="128" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wANDMaskInt" type="T_WORD" byteoffset="132" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wORMaskInt" type="T_WORD" byteoffset="134" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="wValueInt" type="T_WORD" byteoffset="136" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="bOnInt" type="T_BOOL" byteoffset="138" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="awBuffer" type="T_ARRAY__0__125__OF_WORD" byteoffset="140" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ePOUState" type="T_teInstState" byteoffset="392" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Result" type="T_UDINT" byteoffset="396" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="pInstance" type="T_POINTER_TO_DWORD" byteoffset="400" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="eInstState" type="T_teInstState" byteoffset="404" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ParallelProcessingInt" type="T_BOOL" byteoffset="406" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_RbManager_sts" size="8" nativesize="8" typeclass="Userdef" pouclass="STRUCTURE" iecname="RbManager_sts" basetype="T_sts_Generic">
      <UserDefElement iecname="Running" type="T_BOOL" byteoffset="0" vartype="VAR" inherited_from="T_sts_Generic" access="ReadWrite" />
      <UserDefElement iecname="Ready" type="T_BOOL" byteoffset="1" vartype="VAR" inherited_from="T_sts_Generic" access="ReadWrite" />
      <UserDefElement iecname="ToolID" type="T_INT" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="InitOK" type="T_BOOL" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="CurrentTask" type="T_eJobRobot" byteoffset="6" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_pneumaticValve" size="72" nativesize="112" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="pneumaticValve">
      <UserDefElement iecname="EN" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_inPX" type="T_BOOL" byteoffset="1" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_outPX" type="T_BOOL" byteoffset="2" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_delayExt" type="T_TIME" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_delayRet" type="T_TIME" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_maxReactionTime" type="T_TIME" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="q_extendPV" type="T_BOOL" byteoffset="16" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="q_retractPV" type="T_BOOL" byteoffset="17" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="Extended" type="T_BOOL" byteoffset="18" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Retracted" type="T_BOOL" byteoffset="19" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Command" type="T_Implicit_Enum__pneumaticValve__Command" byteoffset="20" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Fault" type="T_BOOL" byteoffset="22" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerExt" type="T_TON" byteoffset="24" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerRet" type="T_TON" byteoffset="40" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerFault" type="T_TON" byteoffset="56" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_stateMachine" size="40" nativesize="64" typeclass="Userdef" pouclass="STRUCTURE" iecname="stateMachine">
      <UserDefElement iecname="step" type="T_INT" byteoffset="0" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="running" type="T_BOOL" byteoffset="2" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="delay" type="T_TON" byteoffset="4" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timeout" type="T_TON" byteoffset="20" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="DN" type="T_BOOL" byteoffset="36" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="ER" type="T_BOOL" byteoffset="37" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="reDN" type="T_BOOL" byteoffset="38" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="reER" type="T_BOOL" byteoffset="39" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_MB_read" size="504" nativesize="528" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="MB_read">
      <UserDefElement iecname="enable" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_ipAddress" type="T_STRING" byteoffset="1" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_regAddress" type="T_WORD" byteoffset="82" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_nbWords" type="T_WORD" byteoffset="84" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="iq_data" type="T_INT" byteoffset="86" vartype="VAR_IN_OUT" access="ReadWrite" />
      <UserDefElement iecname="q_mbDone" type="T_BOOL" byteoffset="88" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="q_mbBusy" type="T_BOOL" byteoffset="89" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="q_mbError" type="T_BOOL" byteoffset="90" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="modbusMaster" type="T_ModTcpMast" byteoffset="92" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="dwIPAddress" type="T_DWORD" byteoffset="500" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_MB_write" size="504" nativesize="524" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="MB_write">
      <UserDefElement iecname="enable" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_regAddress" type="T_WORD" byteoffset="2" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_ipAddress" type="T_STRING" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_data" type="T_INT" byteoffset="86" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="q_mbDone" type="T_BOOL" byteoffset="88" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="q_mbBusy" type="T_BOOL" byteoffset="89" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="q_mbError" type="T_BOOL" byteoffset="90" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="modbusMaster" type="T_ModTcpMast" byteoffset="92" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="dwIPAddress" type="T_DWORD" byteoffset="500" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_RobotManager" size="144" nativesize="224" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="RobotManager">
      <UserDefElement iecname="mac" type="T_RbManager_mac" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_toolID1" type="T_BOOL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_toolID2" type="T_BOOL" byteoffset="5" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_toolID3" type="T_BOOL" byteoffset="6" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="cmd" type="T_RbManager_cmd" byteoffset="7" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="sts" type="T_RbManager_sts" byteoffset="8" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="Fault" type="T_INT" byteoffset="16" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="RobotIO" type="T_ABBRobotSignals" byteoffset="18" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="SM" type="T_stateMachine" byteoffset="36" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="toolUpdateTimer" type="T_TON" byteoffset="76" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerAutoReset1" type="T_TON" byteoffset="92" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerAutoReset2" type="T_TON" byteoffset="108" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerAutoReset3" type="T_TON" byteoffset="124" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="mRun" type="T_BOOL" byteoffset="140" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="mTask" type="T_eJobRobot" byteoffset="142" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_MB_paramSetter" size="624" nativesize="664" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="MB_paramSetter">
      <UserDefElement iecname="i_register" type="T_WORD" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_reset" type="T_BOOL" byteoffset="2" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_ipAddress" type="T_STRING" byteoffset="3" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_dataToWrite" type="T_INT" byteoffset="84" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="iq_globalTalkToken" type="T_BOOL" byteoffset="86" vartype="VAR_IN_OUT" access="ReadWrite" />
      <UserDefElement iecname="writeOK" type="T_BOOL" byteoffset="87" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="error" type="T_BOOL" byteoffset="88" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="busy" type="T_BOOL" byteoffset="89" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="done" type="T_BOOL" byteoffset="90" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="MB_writer" type="T_MB_write" byteoffset="92" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="writingRequired" type="T_BOOL" byteoffset="596" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="firstWriteOK" type="T_BOOL" byteoffset="597" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="writtenData" type="T_INT" byteoffset="598" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="personnalToken" type="T_BOOL" byteoffset="600" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerMax" type="T_TON" byteoffset="604" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="maxTime" type="T_TIME" byteoffset="620" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_MB_statusReader" size="644" nativesize="700" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="MB_statusReader">
      <UserDefElement iecname="i_register" type="T_WORD" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_length" type="T_WORD" byteoffset="2" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_reset" type="T_BOOL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_ipAddress" type="T_STRING" byteoffset="5" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="i_readInterval" type="T_TIME" byteoffset="88" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="iq_globalTalkToken" type="T_BOOL" byteoffset="92" vartype="VAR_IN_OUT" access="ReadWrite" />
      <UserDefElement iecname="done" type="T_BOOL" byteoffset="93" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="error" type="T_BOOL" byteoffset="94" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="busy" type="T_BOOL" byteoffset="95" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="q_lastReadData" type="T_INT" byteoffset="96" vartype="VAR_OUTPUT" access="ReadWrite" />
      <UserDefElement iecname="MB_reader" type="T_MB_read" byteoffset="100" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="readTimer" type="T_TON" byteoffset="604" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="readingRequired" type="T_BOOL" byteoffset="620" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="personnalToken" type="T_BOOL" byteoffset="621" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerMax" type="T_TON" byteoffset="624" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="maxTime" type="T_TIME" byteoffset="640" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
    <TypeUserDef name="T_MB_stepper" size="6978" nativesize="7504" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="MB_stepper">
      <UserDefElement iecname="mac" type="T_MB_stepper_mac" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="conf" type="T_MB_stepper_conf" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite" />
      <UserDefElement iecname="sts" type="T_MB_stepper_sts" byteoffset="104" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="cmd" type="T_MB_stepper_cmd" byteoffset="118" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="dist" type="T_INT" byteoffset="124" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="distSign" type="T_INT" byteoffset="126" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="commandCode" type="T_INT" byteoffset="128" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="commandSent" type="T_BOOL" byteoffset="130" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="globalToken" type="T_BOOL" byteoffset="131" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="getStatus" type="T_MB_statusReader" byteoffset="132" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="getPos" type="T_MB_statusReader" byteoffset="776" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="setAcc" type="T_MB_paramSetter" byteoffset="1420" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="setDec" type="T_MB_paramSetter" byteoffset="2044" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="setSpeed" type="T_MB_paramSetter" byteoffset="2668" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="setDistance" type="T_MB_paramSetter" byteoffset="3292" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="setDistNeg" type="T_MB_paramSetter" byteoffset="3916" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="setParam1" type="T_MB_paramSetter" byteoffset="4540" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="setParam2" type="T_MB_paramSetter" byteoffset="5164" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="setCommand" type="T_MB_paramSetter" byteoffset="5788" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="stopCmdSender" type="T_MB_write" byteoffset="6412" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="posReset" type="T_BOOL" byteoffset="6916" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="param1" type="T_INT" byteoffset="6918" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerAutoReset" type="T_TON" byteoffset="6920" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerFinReset" type="T_TON" byteoffset="6936" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="timerPosReset" type="T_TON" byteoffset="6952" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="sendCommand" type="T_BOOL" byteoffset="6968" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="lastStepPos" type="T_INT" byteoffset="6970" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="mRun" type="T_BOOL" byteoffset="6972" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="mGoToPos" type="T_BOOL" byteoffset="6973" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="mDesiredPos" type="T_INT" byteoffset="6974" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="mReset" type="T_BOOL" byteoffset="6976" vartype="VAR" access="ReadWrite" />
      <UserDefElement iecname="mGoHome" type="T_BOOL" byteoffset="6977" vartype="VAR" access="ReadWrite" />
    </TypeUserDef>
  </TypeList>
  <NodeList>
    <Node name="Application">
      <Node name="EQ51_alignmentFork">
        <Node name="cmd" type="T_EQ51_cmd" access="ReadWrite" />
        <Node name="distBetweenPos" type="T_INT" access="ReadWrite" />
        <Node name="EmptyReq" type="T_BOOL" access="ReadWrite" />
        <Node name="Fault" type="T_DWORD" access="ReadWrite" />
        <Node name="forkTarget" type="T_INT" access="ReadWrite" />
        <Node name="i_object1PX" type="T_BOOL" access="ReadWrite" />
        <Node name="i_object2PX" type="T_BOOL" access="ReadWrite" />
        <Node name="i_object3PX" type="T_BOOL" access="ReadWrite" />
        <Node name="i_object4PX" type="T_BOOL" access="ReadWrite" />
        <Node name="mac" type="T_EQ51_mac" access="ReadWrite" />
        <Node name="mRun" type="T_BOOL" access="ReadWrite" />
        <Node name="objectPresent" type="T_BOOL" access="ReadWrite" />
        <Node name="objectWasPresent" type="T_BOOL" access="ReadWrite" />
        <Node name="ProductType" type="T_INT" access="ReadWrite" />
        <Node name="q_conveyorRun" type="T_BOOL" access="ReadWrite" />
        <Node name="q_full" type="T_BOOL" access="ReadWrite" />
        <Node name="sts" type="T_EQ51_sts" access="ReadWrite" />
        <Node name="timerMoveTooLong" type="T_TON" access="ReadWrite" />
      </Node>
      <Node name="EQ52_packagingRobot">
        <Node name="cmd" type="T_EQ52_cmd" access="ReadWrite" />
        <Node name="Fault" type="T_DWORD" access="ReadWrite" />
        <Node name="i_boxPresence" type="T_BOOL" access="ReadWrite" />
        <Node name="i_forkReady" type="T_BOOL" access="ReadWrite" />
        <Node name="mac" type="T_EQ52_mac" access="ReadWrite" />
        <Node name="mRun" type="T_BOOL" access="ReadWrite" />
        <Node name="NextTask" type="T_eJobRobot" access="ReadWrite" />
        <Node name="q_changeBoxReq" type="T_BOOL" access="ReadWrite" />
        <Node name="q_forkRefillReq" type="T_BOOL" access="ReadWrite" />
        <Node name="SM" type="T_stateMachine" access="ReadWrite" />
        <Node name="sts" type="T_EQ52_sts" access="ReadWrite" />
        <Node name="updateTimer" type="T_TON" access="ReadWrite" />
      </Node>
      <Node name="EQ53_outputConveyor">
        <Node name="boxInBetween" type="T_BOOL" access="ReadWrite" />
        <Node name="boxOnWayOut" type="T_BOOL" access="ReadWrite" />
        <Node name="cmd" type="T_EQ53_cmd" access="ReadWrite" />
        <Node name="Fault" type="T_DWORD" access="ReadWrite" />
        <Node name="i_boxAtSeparator" type="T_BOOL" access="ReadWrite" />
        <Node name="i_boxAtStopper" type="T_BOOL" access="ReadWrite" />
        <Node name="i_driveFault" type="T_BOOL" access="ReadWrite" />
        <Node name="i_separatorInLS" type="T_BOOL" access="ReadWrite" />
        <Node name="i_separatorOutLS" type="T_BOOL" access="ReadWrite" />
        <Node name="i_squeezerInLS" type="T_BOOL" access="ReadWrite" />
        <Node name="i_squeezerOutLS" type="T_BOOL" access="ReadWrite" />
        <Node name="i_stopperInLS" type="T_BOOL" access="ReadWrite" />
        <Node name="i_stopperOutLS" type="T_BOOL" access="ReadWrite" />
        <Node name="mac" type="T_EQ53_mac" access="ReadWrite" />
        <Node name="mRun" type="T_BOOL" access="ReadWrite" />
        <Node name="NextBoxReq" type="T_BOOL" access="ReadWrite" />
        <Node name="q_driveRun" type="T_BOOL" access="ReadWrite" />
        <Node name="q_separatorInPV" type="T_BOOL" access="ReadWrite" />
        <Node name="q_separatorOutPV" type="T_BOOL" access="ReadWrite" />
        <Node name="q_squeezerInPV" type="T_BOOL" access="ReadWrite" />
        <Node name="q_squeezerOutPV" type="T_BOOL" access="ReadWrite" />
        <Node name="q_stopperInPV" type="T_BOOL" access="ReadWrite" />
        <Node name="q_stopperOutPV" type="T_BOOL" access="ReadWrite" />
        <Node name="separator" type="T_pneumaticValve" access="ReadWrite" />
        <Node name="squeezer" type="T_pneumaticValve" access="ReadWrite" />
        <Node name="stopper" type="T_pneumaticValve" access="ReadWrite" />
        <Node name="sts" type="T_EQ53_sts" access="ReadWrite" />
        <Node name="timerBoxTooSlow" type="T_TON" access="ReadWrite" />
      </Node>
      <Node name="Global_Objects">
        <Node name="Cell" type="T_Cell" access="ReadWrite" />
        <Node name="D5101_forkStepper" type="T_MB_stepper" access="ReadWrite" />
        <Node name="D5201_robot2" type="T_RobotManager" access="ReadWrite" />
        <Node name="ndx" type="T_INT" access="ReadWrite" />
        <Node name="SafetyStatus" type="T_SafetyStatus" access="ReadWrite" />
        <Node name="stepperCamTest" type="T_MB_stepper" access="ReadWrite" />
      </Node>
      <Node name="IN">
        <Node name="EndConvBoxAtSeparatorPX" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvBoxAtStopperPX" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvDriveFault" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvSeparatorInLS" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvSeparatorOutLS" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvSqueezerInLS" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvSqueezerOutLS" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvStopperInLS" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvStopperOutLS" type="T_BOOL" access="ReadWrite" />
        <Node name="ES3" type="T_BOOL" access="ReadWrite" />
        <Node name="ForkProduct1PX" type="T_BOOL" access="ReadWrite" />
        <Node name="ForkProduct2PX" type="T_BOOL" access="ReadWrite" />
        <Node name="ForkProduct3PX" type="T_BOOL" access="ReadWrite" />
        <Node name="ForkProduct4PX" type="T_BOOL" access="ReadWrite" />
        <Node name="RbToolID1" type="T_BOOL" access="ReadWrite" />
        <Node name="RbToolID2" type="T_BOOL" access="ReadWrite" />
        <Node name="RbToolID3" type="T_BOOL" access="ReadWrite" />
        <Node name="VacuumSwSts" type="T_BOOL" access="ReadWrite" />
      </Node>
      <Node name="OUT">
        <Node name="BeaconGreen" type="T_BOOL" access="ReadWrite" />
        <Node name="BeaconHorn" type="T_BOOL" access="ReadWrite" />
        <Node name="BeaconRed" type="T_BOOL" access="ReadWrite" />
        <Node name="BeaconYellow" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvRun" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvSeparatorExtend" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvSeparatorRetract" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvSqueezerExtend" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvSqueezerRetract" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvStopperExtend" type="T_BOOL" access="ReadWrite" />
        <Node name="EndConvStopperRetract" type="T_BOOL" access="ReadWrite" />
        <Node name="ForkConvRun" type="T_BOOL" access="ReadWrite" />
      </Node>
    </Node>
  </NodeList>
</Symbolconfiguration>