Files
6040-003/6040-003上下料 V2.1.Device.Application.xml

2261 lines
201 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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="1.9.0.0" runtimeid="3.5.11.50" libversion="3.5.11.0" compiler="3.5.11.76" lmm="1.9.0.0" profile="InoProShop(V1.9.0.1)" settings="SupportOPCUA, XmlIncludeComments, LayoutCalculator=OptimizedClientSideLayoutCalculator" />
<ProjectInfo name="6040-003上下料 V2.1" devicename="Device" appname="Application" />
</Header>
<TypeList>
<TypeUserDef name="T_U1_EM00_Tag" size="0" nativesize="0" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_Tag" />
<TypeUserDef name="T_U2_EM00_Tag" size="0" nativesize="0" typeclass="Userdef" pouclass="STRUCTURE" iecname="U2_EM00_Tag" />
<TypeUserDef name="T_U3_EM00_Tag" size="0" nativesize="0" typeclass="Userdef" pouclass="STRUCTURE" iecname="U3_EM00_Tag" />
<TypeUserDef name="T_U4_EM00_Tag" size="0" nativesize="0" typeclass="Userdef" pouclass="STRUCTURE" iecname="U4_EM00_Tag" />
<TypeSimple name="T_BIT_X_0" size="1" swapsize="0" typeclass="Bit" iecname="BIT" bitoffset="0" />
<TypeSimple name="T_BIT_X_1" size="1" swapsize="0" typeclass="Bit" iecname="BIT" bitoffset="1" />
<TypeSimple name="T_BIT_X_2" size="1" swapsize="0" typeclass="Bit" iecname="BIT" bitoffset="2" />
<TypeSimple name="T_BIT_X_3" size="1" swapsize="0" typeclass="Bit" iecname="BIT" bitoffset="3" />
<TypeSimple name="T_BIT_X_4" size="1" swapsize="0" typeclass="Bit" iecname="BIT" bitoffset="4" />
<TypeSimple name="T_BIT_X_5" size="1" swapsize="0" typeclass="Bit" iecname="BIT" bitoffset="5" />
<TypeSimple name="T_BIT_X_6" size="1" swapsize="0" typeclass="Bit" iecname="BIT" bitoffset="6" />
<TypeSimple name="T_BIT_X_7" size="1" swapsize="0" typeclass="Bit" iecname="BIT" bitoffset="7" />
<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_LREAL" size="8" swapsize="8" typeclass="LReal" iecname="LREAL" />
<TypeSimple name="T_REAL" size="4" swapsize="4" typeclass="Real" iecname="REAL" />
<TypeSimple name="T_STRING_12_" size="13" swapsize="0" typeclass="String" iecname="STRING(12)" />
<TypeSimple name="T_UDINT" size="4" swapsize="4" typeclass="UDInt" iecname="UDINT" />
<TypeSimple name="T_UINT" size="2" swapsize="2" typeclass="UInt" iecname="UINT" />
<TypeSimple name="T_USINT" size="1" swapsize="1" typeclass="USInt" iecname="USINT" />
<TypeSimple name="T_WSTRING" size="162" swapsize="2" typeclass="WString" iecname="WSTRING" />
<TypeSimple name="T_WSTRING_10_" size="22" swapsize="2" typeclass="WString" iecname="WSTRING(10)" />
<TypeSimple name="T_WSTRING_20_" size="42" swapsize="2" typeclass="WString" iecname="WSTRING(20)" />
<TypeSimple name="T_WSTRING_30_" size="62" swapsize="2" typeclass="WString" iecname="WSTRING(30)" />
<TypeSimple name="T_WSTRING_40_" size="82" swapsize="2" typeclass="WString" iecname="WSTRING(40)" />
<TypeArray name="T_ARRAY__0__100__OF_BOOL" size="101" nativesize="101" typeclass="Array" iecname="ARRAY [0..100] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="0" maxrange="100" />
</TypeArray>
<TypeArray name="T_ARRAY__0__100__OF_INT" size="202" nativesize="202" typeclass="Array" iecname="ARRAY [0..100] OF INT" basetype="T_INT">
<ArrayDim minrange="0" maxrange="100" />
</TypeArray>
<TypeArray name="T_ARRAY__0__100__OF_UDINT" size="404" nativesize="404" typeclass="Array" iecname="ARRAY [0..100] OF UDINT" basetype="T_UDINT">
<ArrayDim minrange="0" maxrange="100" />
</TypeArray>
<TypeArray name="T_ARRAY__0__10__OF_REAL" size="44" nativesize="44" typeclass="Array" iecname="ARRAY [0..10] OF REAL" basetype="T_REAL">
<ArrayDim minrange="0" maxrange="10" />
</TypeArray>
<TypeArray name="T_ARRAY__0__128__OF_BOOL" size="129" nativesize="129" typeclass="Array" iecname="ARRAY [0..128] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="0" maxrange="128" />
</TypeArray>
<TypeArray name="T_ARRAY__0__128__OF_REAL" size="516" nativesize="516" typeclass="Array" iecname="ARRAY [0..128] OF REAL" basetype="T_REAL">
<ArrayDim minrange="0" maxrange="128" />
</TypeArray>
<TypeArray name="T_ARRAY__0__15__OF_BOOL" size="16" nativesize="16" typeclass="Array" iecname="ARRAY [0..15] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="0" maxrange="15" />
</TypeArray>
<TypeArray name="T_ARRAY__0__1__OF_REAL" size="8" nativesize="8" typeclass="Array" iecname="ARRAY [0..1] OF REAL" basetype="T_REAL">
<ArrayDim minrange="0" maxrange="1" />
</TypeArray>
<TypeArray name="T_ARRAY__0__1__OF_UDINT" size="8" nativesize="8" typeclass="Array" iecname="ARRAY [0..1] OF UDINT" basetype="T_UDINT">
<ArrayDim minrange="0" maxrange="1" />
</TypeArray>
<TypeArray name="T_ARRAY__0__20__OF_BOOL" size="21" nativesize="21" typeclass="Array" iecname="ARRAY [0..20] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="0" maxrange="20" />
</TypeArray>
<TypeArray name="T_ARRAY__0__20__OF_INT" size="42" nativesize="42" typeclass="Array" iecname="ARRAY [0..20] OF INT" basetype="T_INT">
<ArrayDim minrange="0" maxrange="20" />
</TypeArray>
<TypeArray name="T_ARRAY__0__23__OF_REAL" size="96" nativesize="96" typeclass="Array" iecname="ARRAY [0..23] OF REAL" basetype="T_REAL">
<ArrayDim minrange="0" maxrange="23" />
</TypeArray>
<TypeArray name="T_ARRAY__0__23__OF_UDINT" size="96" nativesize="96" typeclass="Array" iecname="ARRAY [0..23] OF UDINT" basetype="T_UDINT">
<ArrayDim minrange="0" maxrange="23" />
</TypeArray>
<TypeArray name="T_ARRAY__0__250__OF_BYTE" size="251" nativesize="251" typeclass="Array" iecname="ARRAY [0..250] OF BYTE" basetype="T_BYTE">
<ArrayDim minrange="0" maxrange="250" />
</TypeArray>
<TypeArray name="T_ARRAY__0__3__OF_BOOL" size="4" nativesize="4" typeclass="Array" iecname="ARRAY [0..3] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="0" maxrange="3" />
</TypeArray>
<TypeArray name="T_ARRAY__0__3__OF_UINT" size="8" nativesize="8" typeclass="Array" iecname="ARRAY [0..3] OF UINT" basetype="T_UINT">
<ArrayDim minrange="0" maxrange="3" />
</TypeArray>
<TypeArray name="T_ARRAY__0__4__OF_DINT" size="20" nativesize="20" typeclass="Array" iecname="ARRAY [0..4] OF DINT" basetype="T_DINT">
<ArrayDim minrange="0" maxrange="4" />
</TypeArray>
<TypeArray name="T_ARRAY__0__61__OF_BOOL" size="62" nativesize="62" typeclass="Array" iecname="ARRAY [0..61] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="0" maxrange="61" />
</TypeArray>
<TypeArray name="T_ARRAY__0__61__OF_UDINT" size="248" nativesize="248" typeclass="Array" iecname="ARRAY [0..61] OF UDINT" basetype="T_UDINT">
<ArrayDim minrange="0" maxrange="61" />
</TypeArray>
<TypeArray name="T_ARRAY__0__63__OF_BYTE" size="64" nativesize="64" typeclass="Array" iecname="ARRAY [0..63] OF BYTE" basetype="T_BYTE">
<ArrayDim minrange="0" maxrange="63" />
</TypeArray>
<TypeArray name="T_ARRAY__0__99__OF_BOOL" size="100" nativesize="100" typeclass="Array" iecname="ARRAY [0..99] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="0" maxrange="99" />
</TypeArray>
<TypeArray name="T_ARRAY__1__10__OF_BOOL" size="10" nativesize="10" typeclass="Array" iecname="ARRAY [1..10] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="1" maxrange="10" />
</TypeArray>
<TypeArray name="T_ARRAY__1__11__OF_UINT" size="22" nativesize="22" typeclass="Array" iecname="ARRAY [1..11] OF UINT" basetype="T_UINT">
<ArrayDim minrange="1" maxrange="11" />
</TypeArray>
<TypeArray name="T_ARRAY__1__15__OF_BOOL" size="15" nativesize="15" typeclass="Array" iecname="ARRAY [1..15] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="1" maxrange="15" />
</TypeArray>
<TypeArray name="T_ARRAY__1__16__OF_UDINT" size="64" nativesize="64" typeclass="Array" iecname="ARRAY [1..16] OF UDINT" basetype="T_UDINT">
<ArrayDim minrange="1" maxrange="16" />
</TypeArray>
<TypeArray name="T_ARRAY__1__16__OF_UINT" size="32" nativesize="32" typeclass="Array" iecname="ARRAY [1..16] OF UINT" basetype="T_UINT">
<ArrayDim minrange="1" maxrange="16" />
</TypeArray>
<TypeArray name="T_ARRAY__1__19__OF_BOOL" size="19" nativesize="19" typeclass="Array" iecname="ARRAY [1..19] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="1" maxrange="19" />
</TypeArray>
<TypeArray name="T_ARRAY__1__19__OF_UDINT" size="76" nativesize="76" typeclass="Array" iecname="ARRAY [1..19] OF UDINT" basetype="T_UDINT">
<ArrayDim minrange="1" maxrange="19" />
</TypeArray>
<TypeArray name="T_ARRAY__1__4__OF_BOOL" size="4" nativesize="4" typeclass="Array" iecname="ARRAY [1..4] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="1" maxrange="4" />
</TypeArray>
<TypeArray name="T_ARRAY__1__9__OF_BOOL" size="9" nativesize="9" typeclass="Array" iecname="ARRAY [1..9] OF BOOL" basetype="T_BOOL">
<ArrayDim minrange="1" maxrange="9" />
</TypeArray>
<TypeUserDef name="T_E_OpMode" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="E_OpMode" basetype="T_INT">
<UserDefElement type="T_E_OpMode" iecname="Null" enumvalue="0">
<Comment> 未选择,模式无效 </Comment>
</UserDefElement>
<UserDefElement type="T_E_OpMode" iecname="Manual" enumvalue="1">
<Comment> 手动模式 </Comment>
</UserDefElement>
<UserDefElement type="T_E_OpMode" iecname="Debug" enumvalue="2">
<Comment>调试模式</Comment>
</UserDefElement>
<UserDefElement type="T_E_OpMode" iecname="Maintenance" enumvalue="3">
<Comment>维修模式 </Comment>
</UserDefElement>
<UserDefElement type="T_E_OpMode" iecname="SystemInit" enumvalue="4">
<Comment> 整机初始化 </Comment>
</UserDefElement>
<UserDefElement type="T_E_OpMode" iecname="Product" enumvalue="5">
<Comment> 生产模式</Comment>
</UserDefElement>
<UserDefElement type="T_E_OpMode" iecname="EmptyLine" enumvalue="6">
<Comment> 清线模式 </Comment>
</UserDefElement>
<UserDefElement type="T_E_OpMode" iecname="WithoutPart" enumvalue="7">
<Comment> 空跑模式</Comment>
</UserDefElement>
</TypeUserDef>
<TypeUserDef name="T_E_StationState" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="E_StationState" basetype="T_INT">
<UserDefElement type="T_E_StationState" iecname="Unknown" enumvalue="0" />
<UserDefElement type="T_E_StationState" iecname="PlaceReq" enumvalue="10">
<Comment>已请求上料等WCS反馈</Comment>
</UserDefElement>
<UserDefElement type="T_E_StationState" iecname="PlaceWait" enumvalue="11">
<Comment>WCS已反馈等待上料完成</Comment>
</UserDefElement>
<UserDefElement type="T_E_StationState" iecname="PlaceDone" enumvalue="12">
<Comment>上料完成 </Comment>
</UserDefElement>
<UserDefElement type="T_E_StationState" iecname="PickReq" enumvalue="20">
<Comment>已请求下料等WCS反馈</Comment>
</UserDefElement>
<UserDefElement type="T_E_StationState" iecname="PickWait" enumvalue="21">
<Comment>WCS已反馈等待下料完成</Comment>
</UserDefElement>
<UserDefElement type="T_E_StationState" iecname="PickDone" enumvalue="22">
<Comment>下料完成 </Comment>
</UserDefElement>
</TypeUserDef>
<TypeUserDef name="T_E_StationWcsCommand" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="E_StationWcsCommand" basetype="T_INT">
<UserDefElement type="T_E_StationWcsCommand" iecname="Unknown" enumvalue="0" />
<UserDefElement type="T_E_StationWcsCommand" iecname="PlaceReq" enumvalue="10">
<Comment>无托盘,上料请求</Comment>
</UserDefElement>
<UserDefElement type="T_E_StationWcsCommand" iecname="PickReq" enumvalue="20">
<Comment>有托盘,下料请求</Comment>
</UserDefElement>
</TypeUserDef>
<TypeUserDef name="T_MC_DIRECTION" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="MC_DIRECTION" basetype="T_INT">
<UserDefElement type="T_MC_DIRECTION" iecname="fastest" enumvalue="3">
<Comment> Selects the direction automatically in order to reach the target
position as fast as possible (only modulo axes). </Comment>
</UserDefElement>
<UserDefElement type="T_MC_DIRECTION" iecname="current" enumvalue="2">
<Comment> Keeps the current direction to reach the target (only modulo axes). </Comment>
</UserDefElement>
<UserDefElement type="T_MC_DIRECTION" iecname="positive" enumvalue="1">
<Comment> Moves in positive direction. </Comment>
</UserDefElement>
<UserDefElement type="T_MC_DIRECTION" iecname="shortest" enumvalue="0">
<Comment> Selects the direction according to the shortest distance
(only modulo axes). </Comment>
</UserDefElement>
<UserDefElement type="T_MC_DIRECTION" iecname="negative" enumvalue="-1">
<Comment> Moves in negative direction.</Comment>
</UserDefElement>
</TypeUserDef>
<TypeUserDef name="T_OEE_Energy" size="112" nativesize="112" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_Energy">
<UserDefElement iecname="REAL_总电能" type="T_REAL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="REAL_有功电能" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="REAL_有功电能占比" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="REAL_频率" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="REAL_A相相电压" type="T_REAL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="REAL_B相相电压" type="T_REAL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="REAL_C相相电压" type="T_REAL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="REAL_A相线电压" type="T_REAL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="REAL_B相线电压" type="T_REAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="REAL_C相线电压" type="T_REAL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="REAL_A相电流" type="T_REAL" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="REAL_B相电流" type="T_REAL" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="REAL_C相电流" type="T_REAL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="REAL_A相有功功率" type="T_REAL" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="REAL_B相有功功率" type="T_REAL" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="REAL_C相有功功率" type="T_REAL" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="REAL_合相有功功率" type="T_REAL" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="REAL_A相无功功率" type="T_REAL" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="REAL_B相无功功率" type="T_REAL" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="REAL_C相无功功率" type="T_REAL" byteoffset="76" vartype="VAR" />
<UserDefElement iecname="REAL_合相无功功率" type="T_REAL" byteoffset="80" vartype="VAR" />
<UserDefElement iecname="REAL_A相功率因数" type="T_REAL" byteoffset="84" vartype="VAR" />
<UserDefElement iecname="REAL_B相功率因数" type="T_REAL" byteoffset="88" vartype="VAR" />
<UserDefElement iecname="REAL_C相功率因数" type="T_REAL" byteoffset="92" vartype="VAR" />
<UserDefElement iecname="REAL_合相功率因数" type="T_REAL" byteoffset="96" vartype="VAR" />
<UserDefElement iecname="REAL_总气源压力" type="T_REAL" byteoffset="100" vartype="VAR" />
<UserDefElement iecname="REAL_总气源流量" type="T_REAL" byteoffset="104" vartype="VAR" />
<UserDefElement iecname="REAL_总气源露点" type="T_REAL" byteoffset="108" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_OEE_Production" size="312" nativesize="312" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_Production">
<UserDefElement iecname="REAL_白班产出" type="T_REAL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="REAL_白班优率" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="REAL_白班PPM" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="REAL_夜班产出" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="REAL_夜班优率" type="T_REAL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="REAL_夜班PPM" type="T_REAL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="REAL_产出1" type="T_REAL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="REAL_优率1" type="T_REAL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="REAL_PPM1" type="T_REAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="REAL_产出2" type="T_REAL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="REAL_优率2" type="T_REAL" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="REAL_PPM2" type="T_REAL" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="REAL_产出3" type="T_REAL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="REAL_优率3" type="T_REAL" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="REAL_PPM3" type="T_REAL" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="REAL_产出4" type="T_REAL" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="REAL_优率4" type="T_REAL" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="REAL_PPM4" type="T_REAL" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="REAL_产出5" type="T_REAL" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="REAL_优率5" type="T_REAL" byteoffset="76" vartype="VAR" />
<UserDefElement iecname="REAL_PPM5" type="T_REAL" byteoffset="80" vartype="VAR" />
<UserDefElement iecname="REAL_产出6" type="T_REAL" byteoffset="84" vartype="VAR" />
<UserDefElement iecname="REAL_优率6" type="T_REAL" byteoffset="88" vartype="VAR" />
<UserDefElement iecname="REAL_PPM6" type="T_REAL" byteoffset="92" vartype="VAR" />
<UserDefElement iecname="REAL_产出7" type="T_REAL" byteoffset="96" vartype="VAR" />
<UserDefElement iecname="REAL_优率7" type="T_REAL" byteoffset="100" vartype="VAR" />
<UserDefElement iecname="REAL_PPM7" type="T_REAL" byteoffset="104" vartype="VAR" />
<UserDefElement iecname="REAL_产出8" type="T_REAL" byteoffset="108" vartype="VAR" />
<UserDefElement iecname="REAL_优率8" type="T_REAL" byteoffset="112" vartype="VAR" />
<UserDefElement iecname="REAL_PPM8" type="T_REAL" byteoffset="116" vartype="VAR" />
<UserDefElement iecname="REAL_产出9" type="T_REAL" byteoffset="120" vartype="VAR" />
<UserDefElement iecname="REAL_优率9" type="T_REAL" byteoffset="124" vartype="VAR" />
<UserDefElement iecname="REAL_PPM9" type="T_REAL" byteoffset="128" vartype="VAR" />
<UserDefElement iecname="REAL_产出10" type="T_REAL" byteoffset="132" vartype="VAR" />
<UserDefElement iecname="REAL_优率10" type="T_REAL" byteoffset="136" vartype="VAR" />
<UserDefElement iecname="REAL_PPM10" type="T_REAL" byteoffset="140" vartype="VAR" />
<UserDefElement iecname="REAL_产出11" type="T_REAL" byteoffset="144" vartype="VAR" />
<UserDefElement iecname="REAL_优率11" type="T_REAL" byteoffset="148" vartype="VAR" />
<UserDefElement iecname="REAL_PPM11" type="T_REAL" byteoffset="152" vartype="VAR" />
<UserDefElement iecname="REAL_产出12" type="T_REAL" byteoffset="156" vartype="VAR" />
<UserDefElement iecname="REAL_优率12" type="T_REAL" byteoffset="160" vartype="VAR" />
<UserDefElement iecname="REAL_PPM12" type="T_REAL" byteoffset="164" vartype="VAR" />
<UserDefElement iecname="REAL_产出13" type="T_REAL" byteoffset="168" vartype="VAR" />
<UserDefElement iecname="REAL_优率13" type="T_REAL" byteoffset="172" vartype="VAR" />
<UserDefElement iecname="REAL_PPM13" type="T_REAL" byteoffset="176" vartype="VAR" />
<UserDefElement iecname="REAL_产出14" type="T_REAL" byteoffset="180" vartype="VAR" />
<UserDefElement iecname="REAL_优率14" type="T_REAL" byteoffset="184" vartype="VAR" />
<UserDefElement iecname="REAL_PPM14" type="T_REAL" byteoffset="188" vartype="VAR" />
<UserDefElement iecname="REAL_产出15" type="T_REAL" byteoffset="192" vartype="VAR" />
<UserDefElement iecname="REAL_优率15" type="T_REAL" byteoffset="196" vartype="VAR" />
<UserDefElement iecname="REAL_PPM15" type="T_REAL" byteoffset="200" vartype="VAR" />
<UserDefElement iecname="REAL_产出16" type="T_REAL" byteoffset="204" vartype="VAR" />
<UserDefElement iecname="REAL_优率16" type="T_REAL" byteoffset="208" vartype="VAR" />
<UserDefElement iecname="REAL_PPM16" type="T_REAL" byteoffset="212" vartype="VAR" />
<UserDefElement iecname="REAL_产出17" type="T_REAL" byteoffset="216" vartype="VAR" />
<UserDefElement iecname="REAL_优率17" type="T_REAL" byteoffset="220" vartype="VAR" />
<UserDefElement iecname="REAL_PPM17" type="T_REAL" byteoffset="224" vartype="VAR" />
<UserDefElement iecname="REAL_产出18" type="T_REAL" byteoffset="228" vartype="VAR" />
<UserDefElement iecname="REAL_优率18" type="T_REAL" byteoffset="232" vartype="VAR" />
<UserDefElement iecname="REAL_PPM18" type="T_REAL" byteoffset="236" vartype="VAR" />
<UserDefElement iecname="REAL_产出19" type="T_REAL" byteoffset="240" vartype="VAR" />
<UserDefElement iecname="REAL_优率19" type="T_REAL" byteoffset="244" vartype="VAR" />
<UserDefElement iecname="REAL_PPM19" type="T_REAL" byteoffset="248" vartype="VAR" />
<UserDefElement iecname="REAL_产出20" type="T_REAL" byteoffset="252" vartype="VAR" />
<UserDefElement iecname="REAL_优率20" type="T_REAL" byteoffset="256" vartype="VAR" />
<UserDefElement iecname="REAL_PPM20" type="T_REAL" byteoffset="260" vartype="VAR" />
<UserDefElement iecname="REAL_产出21" type="T_REAL" byteoffset="264" vartype="VAR" />
<UserDefElement iecname="REAL_优率21" type="T_REAL" byteoffset="268" vartype="VAR" />
<UserDefElement iecname="REAL_PPM21" type="T_REAL" byteoffset="272" vartype="VAR" />
<UserDefElement iecname="REAL_产出22" type="T_REAL" byteoffset="276" vartype="VAR" />
<UserDefElement iecname="REAL_优率22" type="T_REAL" byteoffset="280" vartype="VAR" />
<UserDefElement iecname="REAL_PPM22" type="T_REAL" byteoffset="284" vartype="VAR" />
<UserDefElement iecname="REAL_产出23" type="T_REAL" byteoffset="288" vartype="VAR" />
<UserDefElement iecname="REAL_优率23" type="T_REAL" byteoffset="292" vartype="VAR" />
<UserDefElement iecname="REAL_PPM23" type="T_REAL" byteoffset="296" vartype="VAR" />
<UserDefElement iecname="REAL_产出24" type="T_REAL" byteoffset="300" vartype="VAR" />
<UserDefElement iecname="REAL_优率24" type="T_REAL" byteoffset="304" vartype="VAR" />
<UserDefElement iecname="REAL_PPM24" type="T_REAL" byteoffset="308" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_OEE_生产统计字符串" size="13" nativesize="13" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_生产统计字符串">
<UserDefElement iecname="STRING_字符串" type="T_STRING_12_" byteoffset="0" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_PredicitiveCyl_Data" size="60" nativesize="60" typeclass="Userdef" pouclass="STRUCTURE" iecname="PredicitiveCyl_Data">
<UserDefElement iecname="relNumberOfUses" type="T_REAL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="relHpOfUses" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="relWpOfUses" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="relTotalLead" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="relSingleLead" type="T_REAL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="relSetNumberLimits_Msg" type="T_REAL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="relSetNumberLimits_Err" type="T_REAL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="relHpTimeLimits_DownMsg" type="T_REAL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="relHpTimeLimits_UpMsg" type="T_REAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="relWpTimeLimits_DownMsg" type="T_REAL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="relWpTimeLimits_UpMsg" type="T_REAL" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="relSetMileageLimits_Msg" type="T_REAL" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="relSetMileageLimits_Err" type="T_REAL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="relActualTime_HP" type="T_REAL" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="relActualTime_WP" type="T_REAL" byteoffset="56" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_PredicitiveCyl_HMI" size="3" nativesize="3" typeclass="Userdef" pouclass="STRUCTURE" iecname="PredicitiveCyl_HMI">
<UserDefElement iecname="bWpNumberClear" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bHpNumberClear" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="bMileageClear" type="T_BOOL" byteoffset="2" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_PredicitiveRelay_Name" size="82" nativesize="82" typeclass="Userdef" pouclass="STRUCTURE" iecname="PredicitiveRelay_Name">
<UserDefElement iecname="stringRelayName" type="T_WSTRING_40_" byteoffset="0" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_FromRobot" size="108" nativesize="24" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_FromRobot">
<UserDefElement iecname="bAlarm_Stop" type="T_BIT_X_0" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bUser_Safe" type="T_BIT_X_1" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="bPeri_rdy" type="T_BIT_X_2" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="bStop_message" type="T_BIT_X_3" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="bProcess_active" type="T_BIT_X_4" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="bProgram_number_request" type="T_BIT_X_5" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="bApplication_Run" type="T_BIT_X_6" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="bRobot_IN_Home" type="T_BIT_X_7" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="bRobot_on_path" type="T_BIT_X_0" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bMode_T1" type="T_BIT_X_1" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="bMode_T2" type="T_BIT_X_2" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="bMode_Auto" type="T_BIT_X_3" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="bMode_Ext" type="T_BIT_X_4" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bRobot_near_path" type="T_BIT_X_5" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="bApplication_fault" type="T_BIT_X_6" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="bReserved1" type="T_BIT_X_7" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="bReserved20" type="T_BIT_X_0" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bReserved21" type="T_BIT_X_1" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="bReserved22" type="T_BIT_X_2" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bReserved23" type="T_BIT_X_3" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bReserved24" type="T_BIT_X_4" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bReserved25" type="T_BIT_X_5" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bReserved26" type="T_BIT_X_6" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bReserved27" type="T_BIT_X_7" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bReserved30" type="T_BIT_X_0" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bReserved31" type="T_BIT_X_1" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bReserved32" type="T_BIT_X_2" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bReserved33" type="T_BIT_X_3" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bReserved34" type="T_BIT_X_4" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bReserved35" type="T_BIT_X_5" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bReserved36" type="T_BIT_X_6" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bReserved37" type="T_BIT_X_7" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bPickDone" type="T_BIT_X_0" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bPlaceDone" type="T_BIT_X_1" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bReserved42" type="T_BIT_X_2" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bReserved43" type="T_BIT_X_3" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bReserved44" type="T_BIT_X_4" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bReserved45" type="T_BIT_X_5" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bReserved46" type="T_BIT_X_6" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bReserved47" type="T_BIT_X_7" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bReserved50" type="T_BIT_X_0" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="bReserved51" type="T_BIT_X_1" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="bReserved52" type="T_BIT_X_2" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="bReserved53" type="T_BIT_X_3" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="bReserved54" type="T_BIT_X_4" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="bReserved55" type="T_BIT_X_5" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="bReserved56" type="T_BIT_X_6" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="bReserved57" type="T_BIT_X_7" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="bInHome1" type="T_BIT_X_0" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="bInHome2" type="T_BIT_X_1" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="bInHome3" type="T_BIT_X_2" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="bInHome4" type="T_BIT_X_3" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="bInHome5" type="T_BIT_X_4" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="bInHome6" type="T_BIT_X_5" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="bInHome7" type="T_BIT_X_6" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="bInHome8" type="T_BIT_X_7" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="bInHome9" type="T_BIT_X_0" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="bInHome10" type="T_BIT_X_1" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="bInHome11" type="T_BIT_X_2" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="bInHome12" type="T_BIT_X_3" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="bInHome13" type="T_BIT_X_4" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="bInHome14" type="T_BIT_X_5" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="bInHome15" type="T_BIT_X_6" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="bInHome16" type="T_BIT_X_7" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="bAreaEnter1" type="T_BIT_X_0" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="bAreaEnter2" type="T_BIT_X_1" byteoffset="65" vartype="VAR" />
<UserDefElement iecname="bAreaEnter3" type="T_BIT_X_2" byteoffset="66" vartype="VAR" />
<UserDefElement iecname="bAreaEnter4" type="T_BIT_X_3" byteoffset="67" vartype="VAR" />
<UserDefElement iecname="bAreaEnter5" type="T_BIT_X_4" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="bAreaEnter6" type="T_BIT_X_5" byteoffset="69" vartype="VAR" />
<UserDefElement iecname="bAreaEnter7" type="T_BIT_X_6" byteoffset="70" vartype="VAR" />
<UserDefElement iecname="bAreaEnter8" type="T_BIT_X_7" byteoffset="71" vartype="VAR" />
<UserDefElement iecname="bAreaEnter9" type="T_BIT_X_0" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="bAreaEnter10" type="T_BIT_X_1" byteoffset="73" vartype="VAR" />
<UserDefElement iecname="bAreaEnter11" type="T_BIT_X_2" byteoffset="74" vartype="VAR" />
<UserDefElement iecname="bAreaEnter12" type="T_BIT_X_3" byteoffset="75" vartype="VAR" />
<UserDefElement iecname="bAreaEnter13" type="T_BIT_X_4" byteoffset="76" vartype="VAR" />
<UserDefElement iecname="bAreaEnter14" type="T_BIT_X_5" byteoffset="77" vartype="VAR" />
<UserDefElement iecname="bAreaEnter15" type="T_BIT_X_6" byteoffset="78" vartype="VAR" />
<UserDefElement iecname="bAreaEnter16" type="T_BIT_X_7" byteoffset="79" vartype="VAR" />
<UserDefElement iecname="bError1" type="T_BIT_X_0" byteoffset="80" vartype="VAR" />
<UserDefElement iecname="bError2" type="T_BIT_X_1" byteoffset="81" vartype="VAR" />
<UserDefElement iecname="bError3" type="T_BIT_X_2" byteoffset="82" vartype="VAR" />
<UserDefElement iecname="bError4" type="T_BIT_X_3" byteoffset="83" vartype="VAR" />
<UserDefElement iecname="bError5" type="T_BIT_X_4" byteoffset="84" vartype="VAR" />
<UserDefElement iecname="bError6" type="T_BIT_X_5" byteoffset="85" vartype="VAR" />
<UserDefElement iecname="bError7" type="T_BIT_X_6" byteoffset="86" vartype="VAR" />
<UserDefElement iecname="bError8" type="T_BIT_X_7" byteoffset="87" vartype="VAR" />
<UserDefElement iecname="bError9" type="T_BIT_X_0" byteoffset="88" vartype="VAR" />
<UserDefElement iecname="bError10" type="T_BIT_X_1" byteoffset="89" vartype="VAR" />
<UserDefElement iecname="bError11" type="T_BIT_X_2" byteoffset="90" vartype="VAR" />
<UserDefElement iecname="bError12" type="T_BIT_X_3" byteoffset="91" vartype="VAR" />
<UserDefElement iecname="bError13" type="T_BIT_X_4" byteoffset="92" vartype="VAR" />
<UserDefElement iecname="bError14" type="T_BIT_X_5" byteoffset="93" vartype="VAR" />
<UserDefElement iecname="bError15" type="T_BIT_X_6" byteoffset="94" vartype="VAR" />
<UserDefElement iecname="bError16" type="T_BIT_X_7" byteoffset="95" vartype="VAR" />
<UserDefElement iecname="iCmdRet" type="T_INT" byteoffset="96" vartype="VAR" />
<UserDefElement iecname="iCmdCountRet" type="T_INT" byteoffset="98" vartype="VAR" />
<UserDefElement iecname="iCmdResult" type="T_INT" byteoffset="100" vartype="VAR" />
<UserDefElement iecname="iCmd_Running" type="T_INT" byteoffset="102" vartype="VAR" />
<UserDefElement iecname="iGripPosIndex" type="T_INT" byteoffset="104" vartype="VAR" />
<UserDefElement iecname="iGripPosCount" type="T_INT" byteoffset="106" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_HMI" size="40" nativesize="40" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_HMI">
<UserDefElement iecname="btnLightControl" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="relCT_Current" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="relCT_Act" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="relCT_Current_Line" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="relCT_Act_Line" type="T_REAL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="intOK" type="T_DINT" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="intNG" type="T_DINT" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="intAllProduct" type="T_DINT" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="relRate" type="T_REAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bClearCT" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bScanDisable" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bRobotGoHome" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bRobotStart" type="T_BOOL" byteoffset="39" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_Port" size="41" nativesize="44" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_Port">
<UserDefElement iecname="bFeedScanFromWcsDone1" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bFeedScanFromWcsDone2" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="dFeedScanFromWcsCode1" type="T_DINT" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="dFeedScanFromWcsCode2" type="T_DINT" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bPallet1FromWcsParam" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bPallet2FromWcsParam" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="iWaterBatteryIndexFromWcs1" type="T_INT" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="iWaterBatteryIndexFromWcs2" type="T_INT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bFeedScanToWcsRequest1" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bFeedScanToWcsRequest2" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bPallet1ToWcsParam" type="T_BOOL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bPallet2ToWcsParam" type="T_BOOL" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bBelt1ToBelt2Request" type="T_BOOL" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bBelt2ToBelt1Allow" type="T_BOOL" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bBelt2ToBelt1Done" type="T_BOOL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotPickRequest1" type="T_BOOL" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotPickRequest2" type="T_BOOL" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotNgPickRequest1" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotNgPickRequest2" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bBelt2FromRobotPickDone1" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bBelt2FromRobotPickDone2" type="T_BOOL" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bReFeedBeltFromRobotPickDone" type="T_BOOL" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bReFeedBeltToRobotPickRequest" type="T_BOOL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bWaterBeltFromRobotPickDone" type="T_BOOL" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bWaterBeltToRobotPickRequest" type="T_BOOL" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bNgBeltFromRobotPlaceDone" type="T_BOOL" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bNgBeltToRobotPlaceRequest" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bPlallet1ToRobotPlaceRequest" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bPlallet1FromRobotPlaceDone" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bPlallet2ToRobotPlaceRequest" type="T_BOOL" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bPlallet2FromRobotPlaceDone" type="T_BOOL" byteoffset="40" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_ToRobot" size="84" nativesize="28" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_ToRobot">
<UserDefElement iecname="bParity" type="T_BIT_X_0" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bPgnoValid" type="T_BIT_X_1" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="bExtStart" type="T_BIT_X_2" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="bMoveEnable" type="T_BIT_X_3" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="bConfMess" type="T_BIT_X_4" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="bDrivesOff" type="T_BIT_X_5" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="bDrivesON" type="T_BIT_X_6" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="bAlarmReset" type="T_BIT_X_7" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="bReserved20" type="T_BIT_X_0" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bReserved21" type="T_BIT_X_1" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="bReserved22" type="T_BIT_X_2" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="bReserved23" type="T_BIT_X_3" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="bReserved24" type="T_BIT_X_4" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bReserved25" type="T_BIT_X_5" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="bReserved26" type="T_BIT_X_6" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="bReserved27" type="T_BIT_X_7" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="bAreaReady1" type="T_BIT_X_0" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bAreaReady2" type="T_BIT_X_1" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="bAreaReady3" type="T_BIT_X_2" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bAreaReady4" type="T_BIT_X_3" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bAreaReady5" type="T_BIT_X_4" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bAreaReady6" type="T_BIT_X_5" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bAreaReady7" type="T_BIT_X_6" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bAreaReady8" type="T_BIT_X_7" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bAreaReady9" type="T_BIT_X_0" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bAreaReady10" type="T_BIT_X_1" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bAreaReady11" type="T_BIT_X_2" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bAreaReady12" type="T_BIT_X_3" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bAreaReady13" type="T_BIT_X_4" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bAreaReady14" type="T_BIT_X_5" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bAreaReady15" type="T_BIT_X_6" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bAreaReady16" type="T_BIT_X_7" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bSignal1" type="T_BIT_X_0" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bSignal2" type="T_BIT_X_1" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bSignal3" type="T_BIT_X_2" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bSignal4" type="T_BIT_X_3" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bSignal5" type="T_BIT_X_4" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bSignal6" type="T_BIT_X_5" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bSignal7" type="T_BIT_X_6" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bSignal8" type="T_BIT_X_7" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bSignal9" type="T_BIT_X_0" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="bSignal10" type="T_BIT_X_1" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="bSignal11" type="T_BIT_X_2" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="bSignal12" type="T_BIT_X_3" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="bSignal13" type="T_BIT_X_4" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="bSignal14" type="T_BIT_X_5" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="bSignal15" type="T_BIT_X_6" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="bSignal16" type="T_BIT_X_7" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="bGripSafty1" type="T_BIT_X_0" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="bGripSafty2" type="T_BIT_X_1" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="bGripBelowExist" type="T_BIT_X_2" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="bGripExist" type="T_BIT_X_3" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="bGripOpen" type="T_BIT_X_4" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="bGripClose" type="T_BIT_X_5" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="bReserved36" type="T_BIT_X_6" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="bReserved37" type="T_BIT_X_7" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="bReserved40" type="T_BIT_X_0" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="bReserved41" type="T_BIT_X_1" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="bReserved42" type="T_BIT_X_2" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="bReserved43" type="T_BIT_X_3" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="bReserved44" type="T_BIT_X_4" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="bReserved45" type="T_BIT_X_5" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="bReserved46" type="T_BIT_X_6" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="bReserved47" type="T_BIT_X_7" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="iProductType" type="T_INT" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="iCmd" type="T_INT" byteoffset="66" vartype="VAR" />
<UserDefElement iecname="iCmdCount" type="T_INT" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="iGripPosIndexRet" type="T_INT" byteoffset="70" vartype="VAR" />
<UserDefElement iecname="iGripPosCountRet" type="T_INT" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="iGripPosResult" type="T_INT" byteoffset="74" vartype="VAR" />
<UserDefElement iecname="iOffsetX" type="T_INT" byteoffset="76" vartype="VAR" />
<UserDefElement iecname="iOffsetY" type="T_INT" byteoffset="78" vartype="VAR" />
<UserDefElement iecname="iCountX" type="T_INT" byteoffset="80" vartype="VAR" />
<UserDefElement iecname="iCountY" type="T_INT" byteoffset="82" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM01_Data" size="8" nativesize="8" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM01_Data">
<UserDefElement iecname="relCamOffsetMax" type="T_REAL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="relCamOffsetMin" type="T_REAL" byteoffset="4" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U2_EM00_FromRobot" size="108" nativesize="24" typeclass="Userdef" pouclass="STRUCTURE" iecname="U2_EM00_FromRobot">
<UserDefElement iecname="bAlarm_Stop" type="T_BIT_X_0" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bUser_Safe" type="T_BIT_X_1" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="bPeri_rdy" type="T_BIT_X_2" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="bStop_message" type="T_BIT_X_3" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="bProcess_active" type="T_BIT_X_4" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="bProgram_number_request" type="T_BIT_X_5" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="bApplication_Run" type="T_BIT_X_6" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="bRobot_IN_Home" type="T_BIT_X_7" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="bRobot_on_path" type="T_BIT_X_0" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bMode_T1" type="T_BIT_X_1" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="bMode_T2" type="T_BIT_X_2" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="bMode_Auto" type="T_BIT_X_3" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="bMode_Ext" type="T_BIT_X_4" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bRobot_near_path" type="T_BIT_X_5" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="bApplication_fault" type="T_BIT_X_6" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="bReserved1" type="T_BIT_X_7" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="bReserved20" type="T_BIT_X_0" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bReserved21" type="T_BIT_X_1" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="bReserved22" type="T_BIT_X_2" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bReserved23" type="T_BIT_X_3" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bReserved24" type="T_BIT_X_4" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bReserved25" type="T_BIT_X_5" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bReserved26" type="T_BIT_X_6" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bReserved27" type="T_BIT_X_7" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bReserved30" type="T_BIT_X_0" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bReserved31" type="T_BIT_X_1" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bReserved32" type="T_BIT_X_2" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bReserved33" type="T_BIT_X_3" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bReserved34" type="T_BIT_X_4" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bReserved35" type="T_BIT_X_5" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bReserved36" type="T_BIT_X_6" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bReserved37" type="T_BIT_X_7" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bPickDone" type="T_BIT_X_0" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bPlaceDone" type="T_BIT_X_1" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bReserved42" type="T_BIT_X_2" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bReserved43" type="T_BIT_X_3" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bReserved44" type="T_BIT_X_4" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bReserved45" type="T_BIT_X_5" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bReserved46" type="T_BIT_X_6" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bReserved47" type="T_BIT_X_7" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bReserved50" type="T_BIT_X_0" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="bReserved51" type="T_BIT_X_1" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="bReserved52" type="T_BIT_X_2" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="bReserved53" type="T_BIT_X_3" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="bReserved54" type="T_BIT_X_4" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="bReserved55" type="T_BIT_X_5" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="bReserved56" type="T_BIT_X_6" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="bReserved57" type="T_BIT_X_7" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="bInHome1" type="T_BIT_X_0" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="bInHome2" type="T_BIT_X_1" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="bInHome3" type="T_BIT_X_2" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="bInHome4" type="T_BIT_X_3" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="bInHome5" type="T_BIT_X_4" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="bInHome6" type="T_BIT_X_5" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="bInHome7" type="T_BIT_X_6" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="bInHome8" type="T_BIT_X_7" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="bInHome9" type="T_BIT_X_0" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="bInHome10" type="T_BIT_X_1" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="bInHome11" type="T_BIT_X_2" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="bInHome12" type="T_BIT_X_3" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="bInHome13" type="T_BIT_X_4" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="bInHome14" type="T_BIT_X_5" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="bInHome15" type="T_BIT_X_6" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="bInHome16" type="T_BIT_X_7" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="bAreaEnter1" type="T_BIT_X_0" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="bAreaEnter2" type="T_BIT_X_1" byteoffset="65" vartype="VAR" />
<UserDefElement iecname="bAreaEnter3" type="T_BIT_X_2" byteoffset="66" vartype="VAR" />
<UserDefElement iecname="bAreaEnter4" type="T_BIT_X_3" byteoffset="67" vartype="VAR" />
<UserDefElement iecname="bAreaEnter5" type="T_BIT_X_4" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="bAreaEnter6" type="T_BIT_X_5" byteoffset="69" vartype="VAR" />
<UserDefElement iecname="bAreaEnter7" type="T_BIT_X_6" byteoffset="70" vartype="VAR" />
<UserDefElement iecname="bAreaEnter8" type="T_BIT_X_7" byteoffset="71" vartype="VAR" />
<UserDefElement iecname="bAreaEnter9" type="T_BIT_X_0" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="bAreaEnter10" type="T_BIT_X_1" byteoffset="73" vartype="VAR" />
<UserDefElement iecname="bAreaEnter11" type="T_BIT_X_2" byteoffset="74" vartype="VAR" />
<UserDefElement iecname="bAreaEnter12" type="T_BIT_X_3" byteoffset="75" vartype="VAR" />
<UserDefElement iecname="bAreaEnter13" type="T_BIT_X_4" byteoffset="76" vartype="VAR" />
<UserDefElement iecname="bAreaEnter14" type="T_BIT_X_5" byteoffset="77" vartype="VAR" />
<UserDefElement iecname="bAreaEnter15" type="T_BIT_X_6" byteoffset="78" vartype="VAR" />
<UserDefElement iecname="bAreaEnter16" type="T_BIT_X_7" byteoffset="79" vartype="VAR" />
<UserDefElement iecname="bError1" type="T_BIT_X_0" byteoffset="80" vartype="VAR" />
<UserDefElement iecname="bError2" type="T_BIT_X_1" byteoffset="81" vartype="VAR" />
<UserDefElement iecname="bError3" type="T_BIT_X_2" byteoffset="82" vartype="VAR" />
<UserDefElement iecname="bError4" type="T_BIT_X_3" byteoffset="83" vartype="VAR" />
<UserDefElement iecname="bError5" type="T_BIT_X_4" byteoffset="84" vartype="VAR" />
<UserDefElement iecname="bError6" type="T_BIT_X_5" byteoffset="85" vartype="VAR" />
<UserDefElement iecname="bError7" type="T_BIT_X_6" byteoffset="86" vartype="VAR" />
<UserDefElement iecname="bError8" type="T_BIT_X_7" byteoffset="87" vartype="VAR" />
<UserDefElement iecname="bError9" type="T_BIT_X_0" byteoffset="88" vartype="VAR" />
<UserDefElement iecname="bError10" type="T_BIT_X_1" byteoffset="89" vartype="VAR" />
<UserDefElement iecname="bError11" type="T_BIT_X_2" byteoffset="90" vartype="VAR" />
<UserDefElement iecname="bError12" type="T_BIT_X_3" byteoffset="91" vartype="VAR" />
<UserDefElement iecname="bError13" type="T_BIT_X_4" byteoffset="92" vartype="VAR" />
<UserDefElement iecname="bError14" type="T_BIT_X_5" byteoffset="93" vartype="VAR" />
<UserDefElement iecname="bError15" type="T_BIT_X_6" byteoffset="94" vartype="VAR" />
<UserDefElement iecname="bError16" type="T_BIT_X_7" byteoffset="95" vartype="VAR" />
<UserDefElement iecname="iCmdRet" type="T_INT" byteoffset="96" vartype="VAR" />
<UserDefElement iecname="iCmdCountRet" type="T_INT" byteoffset="98" vartype="VAR" />
<UserDefElement iecname="iCmdResult" type="T_INT" byteoffset="100" vartype="VAR" />
<UserDefElement iecname="iCmd_Running" type="T_INT" byteoffset="102" vartype="VAR" />
<UserDefElement iecname="iGripPosIndex" type="T_INT" byteoffset="104" vartype="VAR" />
<UserDefElement iecname="iGripPosCount" type="T_INT" byteoffset="106" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U2_EM00_HMI" size="40" nativesize="40" typeclass="Userdef" pouclass="STRUCTURE" iecname="U2_EM00_HMI">
<UserDefElement iecname="btnLightControl" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="relCT_Current" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="relCT_Act" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="relCT_Current_Line" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="relCT_Act_Line" type="T_REAL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="intOK" type="T_DINT" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="intNG" type="T_DINT" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="intAllProduct" type="T_DINT" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="relRate" type="T_REAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bClearCT" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bScanDisable" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bRobotGoHome" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bRobotStart" type="T_BOOL" byteoffset="39" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U2_EM00_Port" size="41" nativesize="44" typeclass="Userdef" pouclass="STRUCTURE" iecname="U2_EM00_Port">
<UserDefElement iecname="bFeedScanFromWcsDone1" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bFeedScanFromWcsDone2" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="dFeedScanFromWcsCode1" type="T_DINT" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="dFeedScanFromWcsCode2" type="T_DINT" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bPallet1FromWcsParam" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bPallet2FromWcsParam" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="iWaterBatteryIndexFromWcs1" type="T_INT" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="iWaterBatteryIndexFromWcs2" type="T_INT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bFeedScanToWcsRequest1" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bFeedScanToWcsRequest2" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bPallet1ToWcsParam" type="T_BOOL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bPallet2ToWcsParam" type="T_BOOL" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bBelt1ToBelt2Request" type="T_BOOL" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bBelt2ToBelt1Allow" type="T_BOOL" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bBelt2ToBelt1Done" type="T_BOOL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotPickRequest1" type="T_BOOL" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotPickRequest2" type="T_BOOL" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotNgPickRequest1" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotNgPickRequest2" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bBelt2FromRobotPickDone1" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bBelt2FromRobotPickDone2" type="T_BOOL" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bReFeedBeltFromRobotPickDone" type="T_BOOL" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bReFeedBeltToRobotPickRequest" type="T_BOOL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bWaterBeltFromRobotPickDone" type="T_BOOL" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bWaterBeltToRobotPickRequest" type="T_BOOL" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bNgBeltFromRobotPlaceDone" type="T_BOOL" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bNgBeltToRobotPlaceRequest" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bPlallet1ToRobotPlaceRequest" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bPlallet1FromRobotPlaceDone" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bPlallet2ToRobotPlaceRequest" type="T_BOOL" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bPlallet2FromRobotPlaceDone" type="T_BOOL" byteoffset="40" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U2_EM00_ToRobot" size="76" nativesize="20" typeclass="Userdef" pouclass="STRUCTURE" iecname="U2_EM00_ToRobot">
<UserDefElement iecname="bParity" type="T_BIT_X_0" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bPgnoValid" type="T_BIT_X_1" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="bExtStart" type="T_BIT_X_2" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="bMoveEnable" type="T_BIT_X_3" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="bConfMess" type="T_BIT_X_4" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="bDrivesOff" type="T_BIT_X_5" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="bDrivesON" type="T_BIT_X_6" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="bAlarmReset" type="T_BIT_X_7" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="bReserved20" type="T_BIT_X_0" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bReserved21" type="T_BIT_X_1" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="bReserved22" type="T_BIT_X_2" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="bReserved23" type="T_BIT_X_3" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="bReserved24" type="T_BIT_X_4" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bReserved25" type="T_BIT_X_5" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="bReserved26" type="T_BIT_X_6" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="bReserved27" type="T_BIT_X_7" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="bAreaReady1" type="T_BIT_X_0" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bAreaReady2" type="T_BIT_X_1" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="bAreaReady3" type="T_BIT_X_2" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bAreaReady4" type="T_BIT_X_3" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bAreaReady5" type="T_BIT_X_4" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bAreaReady6" type="T_BIT_X_5" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bAreaReady7" type="T_BIT_X_6" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bAreaReady8" type="T_BIT_X_7" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bAreaReady9" type="T_BIT_X_0" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bAreaReady10" type="T_BIT_X_1" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bAreaReady11" type="T_BIT_X_2" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bAreaReady12" type="T_BIT_X_3" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bAreaReady13" type="T_BIT_X_4" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bAreaReady14" type="T_BIT_X_5" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bAreaReady15" type="T_BIT_X_6" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bAreaReady16" type="T_BIT_X_7" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bSignal1" type="T_BIT_X_0" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bSignal2" type="T_BIT_X_1" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bSignal3" type="T_BIT_X_2" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bSignal4" type="T_BIT_X_3" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bSignal5" type="T_BIT_X_4" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bSignal6" type="T_BIT_X_5" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bSignal7" type="T_BIT_X_6" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bSignal8" type="T_BIT_X_7" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bSignal9" type="T_BIT_X_0" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="bSignal10" type="T_BIT_X_1" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="bSignal11" type="T_BIT_X_2" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="bSignal12" type="T_BIT_X_3" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="bSignal13" type="T_BIT_X_4" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="bSignal14" type="T_BIT_X_5" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="bSignal15" type="T_BIT_X_6" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="bSignal16" type="T_BIT_X_7" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="bGripSafty1" type="T_BIT_X_0" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="bGripSafty2" type="T_BIT_X_1" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="bGripBelowExist" type="T_BIT_X_2" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="bGripExist" type="T_BIT_X_3" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="bReserved34" type="T_BIT_X_4" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="bReserved35" type="T_BIT_X_5" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="bReserved36" type="T_BIT_X_6" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="bReserved37" type="T_BIT_X_7" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="bReserved40" type="T_BIT_X_0" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="bReserved41" type="T_BIT_X_1" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="bReserved42" type="T_BIT_X_2" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="bReserved43" type="T_BIT_X_3" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="bReserved44" type="T_BIT_X_4" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="bReserved45" type="T_BIT_X_5" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="bReserved46" type="T_BIT_X_6" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="bReserved47" type="T_BIT_X_7" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="iProductType" type="T_INT" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="iCmd" type="T_INT" byteoffset="66" vartype="VAR" />
<UserDefElement iecname="iCmdCount" type="T_INT" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="iGripPosIndexRet" type="T_INT" byteoffset="70" vartype="VAR" />
<UserDefElement iecname="iGripPosCountRet" type="T_INT" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="iGripPosResult" type="T_INT" byteoffset="74" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U3_EM00_FromRobot" size="108" nativesize="24" typeclass="Userdef" pouclass="STRUCTURE" iecname="U3_EM00_FromRobot">
<UserDefElement iecname="bAlarm_Stop" type="T_BIT_X_0" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bUser_Safe" type="T_BIT_X_1" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="bPeri_rdy" type="T_BIT_X_2" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="bStop_message" type="T_BIT_X_3" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="bProcess_active" type="T_BIT_X_4" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="bProgram_number_request" type="T_BIT_X_5" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="bApplication_Run" type="T_BIT_X_6" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="bRobot_IN_Home" type="T_BIT_X_7" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="bRobot_on_path" type="T_BIT_X_0" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bMode_T1" type="T_BIT_X_1" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="bMode_T2" type="T_BIT_X_2" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="bMode_Auto" type="T_BIT_X_3" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="bMode_Ext" type="T_BIT_X_4" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bRobot_near_path" type="T_BIT_X_5" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="bApplication_fault" type="T_BIT_X_6" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="bReserved1" type="T_BIT_X_7" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="bReserved20" type="T_BIT_X_0" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bReserved21" type="T_BIT_X_1" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="bReserved22" type="T_BIT_X_2" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bReserved23" type="T_BIT_X_3" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bReserved24" type="T_BIT_X_4" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bReserved25" type="T_BIT_X_5" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bReserved26" type="T_BIT_X_6" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bReserved27" type="T_BIT_X_7" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bReserved30" type="T_BIT_X_0" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bReserved31" type="T_BIT_X_1" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bReserved32" type="T_BIT_X_2" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bReserved33" type="T_BIT_X_3" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bReserved34" type="T_BIT_X_4" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bReserved35" type="T_BIT_X_5" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bReserved36" type="T_BIT_X_6" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bReserved37" type="T_BIT_X_7" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bPickDone" type="T_BIT_X_0" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bPlaceDone" type="T_BIT_X_1" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bReserved42" type="T_BIT_X_2" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bReserved43" type="T_BIT_X_3" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bReserved44" type="T_BIT_X_4" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bReserved45" type="T_BIT_X_5" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bReserved46" type="T_BIT_X_6" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bReserved47" type="T_BIT_X_7" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bReserved50" type="T_BIT_X_0" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="bReserved51" type="T_BIT_X_1" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="bReserved52" type="T_BIT_X_2" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="bReserved53" type="T_BIT_X_3" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="bReserved54" type="T_BIT_X_4" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="bReserved55" type="T_BIT_X_5" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="bReserved56" type="T_BIT_X_6" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="bReserved57" type="T_BIT_X_7" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="bInHome1" type="T_BIT_X_0" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="bInHome2" type="T_BIT_X_1" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="bInHome3" type="T_BIT_X_2" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="bInHome4" type="T_BIT_X_3" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="bInHome5" type="T_BIT_X_4" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="bInHome6" type="T_BIT_X_5" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="bInHome7" type="T_BIT_X_6" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="bInHome8" type="T_BIT_X_7" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="bInHome9" type="T_BIT_X_0" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="bInHome10" type="T_BIT_X_1" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="bInHome11" type="T_BIT_X_2" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="bInHome12" type="T_BIT_X_3" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="bInHome13" type="T_BIT_X_4" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="bInHome14" type="T_BIT_X_5" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="bInHome15" type="T_BIT_X_6" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="bInHome16" type="T_BIT_X_7" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="bAreaEnter1" type="T_BIT_X_0" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="bAreaEnter2" type="T_BIT_X_1" byteoffset="65" vartype="VAR" />
<UserDefElement iecname="bAreaEnter3" type="T_BIT_X_2" byteoffset="66" vartype="VAR" />
<UserDefElement iecname="bAreaEnter4" type="T_BIT_X_3" byteoffset="67" vartype="VAR" />
<UserDefElement iecname="bAreaEnter5" type="T_BIT_X_4" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="bAreaEnter6" type="T_BIT_X_5" byteoffset="69" vartype="VAR" />
<UserDefElement iecname="bAreaEnter7" type="T_BIT_X_6" byteoffset="70" vartype="VAR" />
<UserDefElement iecname="bAreaEnter8" type="T_BIT_X_7" byteoffset="71" vartype="VAR" />
<UserDefElement iecname="bAreaEnter9" type="T_BIT_X_0" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="bAreaEnter10" type="T_BIT_X_1" byteoffset="73" vartype="VAR" />
<UserDefElement iecname="bAreaEnter11" type="T_BIT_X_2" byteoffset="74" vartype="VAR" />
<UserDefElement iecname="bAreaEnter12" type="T_BIT_X_3" byteoffset="75" vartype="VAR" />
<UserDefElement iecname="bAreaEnter13" type="T_BIT_X_4" byteoffset="76" vartype="VAR" />
<UserDefElement iecname="bAreaEnter14" type="T_BIT_X_5" byteoffset="77" vartype="VAR" />
<UserDefElement iecname="bAreaEnter15" type="T_BIT_X_6" byteoffset="78" vartype="VAR" />
<UserDefElement iecname="bAreaEnter16" type="T_BIT_X_7" byteoffset="79" vartype="VAR" />
<UserDefElement iecname="bError1" type="T_BIT_X_0" byteoffset="80" vartype="VAR" />
<UserDefElement iecname="bError2" type="T_BIT_X_1" byteoffset="81" vartype="VAR" />
<UserDefElement iecname="bError3" type="T_BIT_X_2" byteoffset="82" vartype="VAR" />
<UserDefElement iecname="bError4" type="T_BIT_X_3" byteoffset="83" vartype="VAR" />
<UserDefElement iecname="bError5" type="T_BIT_X_4" byteoffset="84" vartype="VAR" />
<UserDefElement iecname="bError6" type="T_BIT_X_5" byteoffset="85" vartype="VAR" />
<UserDefElement iecname="bError7" type="T_BIT_X_6" byteoffset="86" vartype="VAR" />
<UserDefElement iecname="bError8" type="T_BIT_X_7" byteoffset="87" vartype="VAR" />
<UserDefElement iecname="bError9" type="T_BIT_X_0" byteoffset="88" vartype="VAR" />
<UserDefElement iecname="bError10" type="T_BIT_X_1" byteoffset="89" vartype="VAR" />
<UserDefElement iecname="bError11" type="T_BIT_X_2" byteoffset="90" vartype="VAR" />
<UserDefElement iecname="bError12" type="T_BIT_X_3" byteoffset="91" vartype="VAR" />
<UserDefElement iecname="bError13" type="T_BIT_X_4" byteoffset="92" vartype="VAR" />
<UserDefElement iecname="bError14" type="T_BIT_X_5" byteoffset="93" vartype="VAR" />
<UserDefElement iecname="bError15" type="T_BIT_X_6" byteoffset="94" vartype="VAR" />
<UserDefElement iecname="bError16" type="T_BIT_X_7" byteoffset="95" vartype="VAR" />
<UserDefElement iecname="iCmdRet" type="T_INT" byteoffset="96" vartype="VAR" />
<UserDefElement iecname="iCmdCountRet" type="T_INT" byteoffset="98" vartype="VAR" />
<UserDefElement iecname="iCmdResult" type="T_INT" byteoffset="100" vartype="VAR" />
<UserDefElement iecname="iCmd_Running" type="T_INT" byteoffset="102" vartype="VAR" />
<UserDefElement iecname="iGripPosIndex" type="T_INT" byteoffset="104" vartype="VAR" />
<UserDefElement iecname="iGripPosCount" type="T_INT" byteoffset="106" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U3_EM00_HMI" size="40" nativesize="40" typeclass="Userdef" pouclass="STRUCTURE" iecname="U3_EM00_HMI">
<UserDefElement iecname="btnLightControl" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="relCT_Current" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="relCT_Act" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="relCT_Current_Line" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="relCT_Act_Line" type="T_REAL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="intOK" type="T_DINT" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="intNG" type="T_DINT" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="intAllProduct" type="T_DINT" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="relRate" type="T_REAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bClearCT" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bScanDisable" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bRobotGoHome" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bRobotStart" type="T_BOOL" byteoffset="39" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U3_EM00_Port" size="41" nativesize="44" typeclass="Userdef" pouclass="STRUCTURE" iecname="U3_EM00_Port">
<UserDefElement iecname="bFeedScanFromWcsDone1" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bFeedScanFromWcsDone2" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="dFeedScanFromWcsCode1" type="T_DINT" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="dFeedScanFromWcsCode2" type="T_DINT" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bPallet1FromWcsParam" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bPallet2FromWcsParam" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="iWaterBatteryIndexFromWcs1" type="T_INT" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="iWaterBatteryIndexFromWcs2" type="T_INT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bFeedScanToWcsRequest1" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bFeedScanToWcsRequest2" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bPallet1ToWcsParam" type="T_BOOL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bPallet2ToWcsParam" type="T_BOOL" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bBelt1ToBelt2Request" type="T_BOOL" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bBelt2ToBelt1Allow" type="T_BOOL" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bBelt2ToBelt1Done" type="T_BOOL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotPickRequest1" type="T_BOOL" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotPickRequest2" type="T_BOOL" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotNgPickRequest1" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotNgPickRequest2" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bBelt2FromRobotPickDone1" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bBelt2FromRobotPickDone2" type="T_BOOL" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bReFeedBeltFromRobotPickDone" type="T_BOOL" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bReFeedBeltToRobotPickRequest" type="T_BOOL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bWaterBeltFromRobotPickDone" type="T_BOOL" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bWaterBeltToRobotPickRequest" type="T_BOOL" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bNgBeltFromRobotPlaceDone" type="T_BOOL" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bNgBeltToRobotPlaceRequest" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bPlallet1ToRobotPlaceRequest" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bPlallet1FromRobotPlaceDone" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bPlallet2ToRobotPlaceRequest" type="T_BOOL" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bPlallet2FromRobotPlaceDone" type="T_BOOL" byteoffset="40" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U3_EM00_ToRobot" size="76" nativesize="20" typeclass="Userdef" pouclass="STRUCTURE" iecname="U3_EM00_ToRobot">
<UserDefElement iecname="bParity" type="T_BIT_X_0" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bPgnoValid" type="T_BIT_X_1" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="bExtStart" type="T_BIT_X_2" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="bMoveEnable" type="T_BIT_X_3" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="bConfMess" type="T_BIT_X_4" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="bDrivesOff" type="T_BIT_X_5" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="bDrivesON" type="T_BIT_X_6" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="bAlarmReset" type="T_BIT_X_7" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="bReserved20" type="T_BIT_X_0" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bReserved21" type="T_BIT_X_1" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="bReserved22" type="T_BIT_X_2" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="bReserved23" type="T_BIT_X_3" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="bReserved24" type="T_BIT_X_4" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bReserved25" type="T_BIT_X_5" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="bReserved26" type="T_BIT_X_6" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="bReserved27" type="T_BIT_X_7" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="bAreaReady1" type="T_BIT_X_0" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bAreaReady2" type="T_BIT_X_1" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="bAreaReady3" type="T_BIT_X_2" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bAreaReady4" type="T_BIT_X_3" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bAreaReady5" type="T_BIT_X_4" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bAreaReady6" type="T_BIT_X_5" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bAreaReady7" type="T_BIT_X_6" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bAreaReady8" type="T_BIT_X_7" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bAreaReady9" type="T_BIT_X_0" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bAreaReady10" type="T_BIT_X_1" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bAreaReady11" type="T_BIT_X_2" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bAreaReady12" type="T_BIT_X_3" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bAreaReady13" type="T_BIT_X_4" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bAreaReady14" type="T_BIT_X_5" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bAreaReady15" type="T_BIT_X_6" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bAreaReady16" type="T_BIT_X_7" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bSignal1" type="T_BIT_X_0" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bSignal2" type="T_BIT_X_1" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bSignal3" type="T_BIT_X_2" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bSignal4" type="T_BIT_X_3" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bSignal5" type="T_BIT_X_4" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bSignal6" type="T_BIT_X_5" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bSignal7" type="T_BIT_X_6" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bSignal8" type="T_BIT_X_7" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bSignal9" type="T_BIT_X_0" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="bSignal10" type="T_BIT_X_1" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="bSignal11" type="T_BIT_X_2" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="bSignal12" type="T_BIT_X_3" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="bSignal13" type="T_BIT_X_4" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="bSignal14" type="T_BIT_X_5" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="bSignal15" type="T_BIT_X_6" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="bSignal16" type="T_BIT_X_7" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="bGripSafty1" type="T_BIT_X_0" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="bGripSafty2" type="T_BIT_X_1" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="bGripBelowExist" type="T_BIT_X_2" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="bGripExist" type="T_BIT_X_3" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="bReserved34" type="T_BIT_X_4" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="bReserved35" type="T_BIT_X_5" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="bReserved36" type="T_BIT_X_6" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="bReserved37" type="T_BIT_X_7" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="bReserved40" type="T_BIT_X_0" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="bReserved41" type="T_BIT_X_1" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="bReserved42" type="T_BIT_X_2" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="bReserved43" type="T_BIT_X_3" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="bReserved44" type="T_BIT_X_4" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="bReserved45" type="T_BIT_X_5" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="bReserved46" type="T_BIT_X_6" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="bReserved47" type="T_BIT_X_7" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="iProductType" type="T_INT" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="iCmd" type="T_INT" byteoffset="66" vartype="VAR" />
<UserDefElement iecname="iCmdCount" type="T_INT" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="iGripPosIndexRet" type="T_INT" byteoffset="70" vartype="VAR" />
<UserDefElement iecname="iGripPosCountRet" type="T_INT" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="iGripPosResult" type="T_INT" byteoffset="74" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U4_EM00_FromRobot" size="108" nativesize="24" typeclass="Userdef" pouclass="STRUCTURE" iecname="U4_EM00_FromRobot">
<UserDefElement iecname="bAlarm_Stop" type="T_BIT_X_0" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bUser_Safe" type="T_BIT_X_1" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="bPeri_rdy" type="T_BIT_X_2" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="bStop_message" type="T_BIT_X_3" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="bProcess_active" type="T_BIT_X_4" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="bProgram_number_request" type="T_BIT_X_5" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="bApplication_Run" type="T_BIT_X_6" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="bRobot_IN_Home" type="T_BIT_X_7" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="bRobot_on_path" type="T_BIT_X_0" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bMode_T1" type="T_BIT_X_1" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="bMode_T2" type="T_BIT_X_2" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="bMode_Auto" type="T_BIT_X_3" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="bMode_Ext" type="T_BIT_X_4" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bRobot_near_path" type="T_BIT_X_5" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="bApplication_fault" type="T_BIT_X_6" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="bReserved1" type="T_BIT_X_7" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="bReserved20" type="T_BIT_X_0" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bReserved21" type="T_BIT_X_1" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="bReserved22" type="T_BIT_X_2" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bReserved23" type="T_BIT_X_3" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bReserved24" type="T_BIT_X_4" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bReserved25" type="T_BIT_X_5" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bReserved26" type="T_BIT_X_6" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bReserved27" type="T_BIT_X_7" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bReserved30" type="T_BIT_X_0" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bReserved31" type="T_BIT_X_1" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bReserved32" type="T_BIT_X_2" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bReserved33" type="T_BIT_X_3" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bReserved34" type="T_BIT_X_4" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bReserved35" type="T_BIT_X_5" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bReserved36" type="T_BIT_X_6" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bReserved37" type="T_BIT_X_7" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bPickDone" type="T_BIT_X_0" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bPlaceDone" type="T_BIT_X_1" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bReserved42" type="T_BIT_X_2" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bReserved43" type="T_BIT_X_3" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bReserved44" type="T_BIT_X_4" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bReserved45" type="T_BIT_X_5" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bReserved46" type="T_BIT_X_6" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bReserved47" type="T_BIT_X_7" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bReserved50" type="T_BIT_X_0" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="bReserved51" type="T_BIT_X_1" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="bReserved52" type="T_BIT_X_2" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="bReserved53" type="T_BIT_X_3" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="bReserved54" type="T_BIT_X_4" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="bReserved55" type="T_BIT_X_5" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="bReserved56" type="T_BIT_X_6" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="bReserved57" type="T_BIT_X_7" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="bInHome1" type="T_BIT_X_0" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="bInHome2" type="T_BIT_X_1" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="bInHome3" type="T_BIT_X_2" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="bInHome4" type="T_BIT_X_3" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="bInHome5" type="T_BIT_X_4" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="bInHome6" type="T_BIT_X_5" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="bInHome7" type="T_BIT_X_6" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="bInHome8" type="T_BIT_X_7" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="bInHome9" type="T_BIT_X_0" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="bInHome10" type="T_BIT_X_1" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="bInHome11" type="T_BIT_X_2" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="bInHome12" type="T_BIT_X_3" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="bInHome13" type="T_BIT_X_4" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="bInHome14" type="T_BIT_X_5" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="bInHome15" type="T_BIT_X_6" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="bInHome16" type="T_BIT_X_7" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="bAreaEnter1" type="T_BIT_X_0" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="bAreaEnter2" type="T_BIT_X_1" byteoffset="65" vartype="VAR" />
<UserDefElement iecname="bAreaEnter3" type="T_BIT_X_2" byteoffset="66" vartype="VAR" />
<UserDefElement iecname="bAreaEnter4" type="T_BIT_X_3" byteoffset="67" vartype="VAR" />
<UserDefElement iecname="bAreaEnter5" type="T_BIT_X_4" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="bAreaEnter6" type="T_BIT_X_5" byteoffset="69" vartype="VAR" />
<UserDefElement iecname="bAreaEnter7" type="T_BIT_X_6" byteoffset="70" vartype="VAR" />
<UserDefElement iecname="bAreaEnter8" type="T_BIT_X_7" byteoffset="71" vartype="VAR" />
<UserDefElement iecname="bAreaEnter9" type="T_BIT_X_0" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="bAreaEnter10" type="T_BIT_X_1" byteoffset="73" vartype="VAR" />
<UserDefElement iecname="bAreaEnter11" type="T_BIT_X_2" byteoffset="74" vartype="VAR" />
<UserDefElement iecname="bAreaEnter12" type="T_BIT_X_3" byteoffset="75" vartype="VAR" />
<UserDefElement iecname="bAreaEnter13" type="T_BIT_X_4" byteoffset="76" vartype="VAR" />
<UserDefElement iecname="bAreaEnter14" type="T_BIT_X_5" byteoffset="77" vartype="VAR" />
<UserDefElement iecname="bAreaEnter15" type="T_BIT_X_6" byteoffset="78" vartype="VAR" />
<UserDefElement iecname="bAreaEnter16" type="T_BIT_X_7" byteoffset="79" vartype="VAR" />
<UserDefElement iecname="bError1" type="T_BIT_X_0" byteoffset="80" vartype="VAR" />
<UserDefElement iecname="bError2" type="T_BIT_X_1" byteoffset="81" vartype="VAR" />
<UserDefElement iecname="bError3" type="T_BIT_X_2" byteoffset="82" vartype="VAR" />
<UserDefElement iecname="bError4" type="T_BIT_X_3" byteoffset="83" vartype="VAR" />
<UserDefElement iecname="bError5" type="T_BIT_X_4" byteoffset="84" vartype="VAR" />
<UserDefElement iecname="bError6" type="T_BIT_X_5" byteoffset="85" vartype="VAR" />
<UserDefElement iecname="bError7" type="T_BIT_X_6" byteoffset="86" vartype="VAR" />
<UserDefElement iecname="bError8" type="T_BIT_X_7" byteoffset="87" vartype="VAR" />
<UserDefElement iecname="bError9" type="T_BIT_X_0" byteoffset="88" vartype="VAR" />
<UserDefElement iecname="bError10" type="T_BIT_X_1" byteoffset="89" vartype="VAR" />
<UserDefElement iecname="bError11" type="T_BIT_X_2" byteoffset="90" vartype="VAR" />
<UserDefElement iecname="bError12" type="T_BIT_X_3" byteoffset="91" vartype="VAR" />
<UserDefElement iecname="bError13" type="T_BIT_X_4" byteoffset="92" vartype="VAR" />
<UserDefElement iecname="bError14" type="T_BIT_X_5" byteoffset="93" vartype="VAR" />
<UserDefElement iecname="bError15" type="T_BIT_X_6" byteoffset="94" vartype="VAR" />
<UserDefElement iecname="bError16" type="T_BIT_X_7" byteoffset="95" vartype="VAR" />
<UserDefElement iecname="iCmdRet" type="T_INT" byteoffset="96" vartype="VAR" />
<UserDefElement iecname="iCmdCountRet" type="T_INT" byteoffset="98" vartype="VAR" />
<UserDefElement iecname="iCmdResult" type="T_INT" byteoffset="100" vartype="VAR" />
<UserDefElement iecname="iCmd_Running" type="T_INT" byteoffset="102" vartype="VAR" />
<UserDefElement iecname="iGripPosIndex" type="T_INT" byteoffset="104" vartype="VAR" />
<UserDefElement iecname="iGripPosCount" type="T_INT" byteoffset="106" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U4_EM00_HMI" size="40" nativesize="40" typeclass="Userdef" pouclass="STRUCTURE" iecname="U4_EM00_HMI">
<UserDefElement iecname="btnLightControl" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="relCT_Current" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="relCT_Act" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="relCT_Current_Line" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="relCT_Act_Line" type="T_REAL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="intOK" type="T_DINT" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="intNG" type="T_DINT" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="intAllProduct" type="T_DINT" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="relRate" type="T_REAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bClearCT" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bScanDisable" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bRobotGoHome" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bRobotStart" type="T_BOOL" byteoffset="39" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U4_EM00_Port" size="41" nativesize="44" typeclass="Userdef" pouclass="STRUCTURE" iecname="U4_EM00_Port">
<UserDefElement iecname="bFeedScanFromWcsDone1" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bFeedScanFromWcsDone2" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="dFeedScanFromWcsCode1" type="T_DINT" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="dFeedScanFromWcsCode2" type="T_DINT" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bPallet1FromWcsParam" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bPallet2FromWcsParam" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="iWaterBatteryIndexFromWcs1" type="T_INT" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="iWaterBatteryIndexFromWcs2" type="T_INT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bFeedScanToWcsRequest1" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bFeedScanToWcsRequest2" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bPallet1ToWcsParam" type="T_BOOL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bPallet2ToWcsParam" type="T_BOOL" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bBelt1ToBelt2Request" type="T_BOOL" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bBelt2ToBelt1Allow" type="T_BOOL" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bBelt2ToBelt1Done" type="T_BOOL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotPickRequest1" type="T_BOOL" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotPickRequest2" type="T_BOOL" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotNgPickRequest1" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bBelt2ToRobotNgPickRequest2" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bBelt2FromRobotPickDone1" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bBelt2FromRobotPickDone2" type="T_BOOL" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bReFeedBeltFromRobotPickDone" type="T_BOOL" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bReFeedBeltToRobotPickRequest" type="T_BOOL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bWaterBeltFromRobotPickDone" type="T_BOOL" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bWaterBeltToRobotPickRequest" type="T_BOOL" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bNgBeltFromRobotPlaceDone" type="T_BOOL" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bNgBeltToRobotPlaceRequest" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bPlallet1ToRobotPlaceRequest" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bPlallet1FromRobotPlaceDone" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bPlallet2ToRobotPlaceRequest" type="T_BOOL" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bPlallet2FromRobotPlaceDone" type="T_BOOL" byteoffset="40" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U4_EM00_ToRobot" size="76" nativesize="20" typeclass="Userdef" pouclass="STRUCTURE" iecname="U4_EM00_ToRobot">
<UserDefElement iecname="bParity" type="T_BIT_X_0" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="bPgnoValid" type="T_BIT_X_1" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="bExtStart" type="T_BIT_X_2" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="bMoveEnable" type="T_BIT_X_3" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="bConfMess" type="T_BIT_X_4" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="bDrivesOff" type="T_BIT_X_5" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="bDrivesON" type="T_BIT_X_6" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="bAlarmReset" type="T_BIT_X_7" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="bReserved20" type="T_BIT_X_0" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="bReserved21" type="T_BIT_X_1" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="bReserved22" type="T_BIT_X_2" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="bReserved23" type="T_BIT_X_3" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="bReserved24" type="T_BIT_X_4" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="bReserved25" type="T_BIT_X_5" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="bReserved26" type="T_BIT_X_6" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="bReserved27" type="T_BIT_X_7" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="bAreaReady1" type="T_BIT_X_0" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="bAreaReady2" type="T_BIT_X_1" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="bAreaReady3" type="T_BIT_X_2" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="bAreaReady4" type="T_BIT_X_3" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="bAreaReady5" type="T_BIT_X_4" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="bAreaReady6" type="T_BIT_X_5" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="bAreaReady7" type="T_BIT_X_6" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="bAreaReady8" type="T_BIT_X_7" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="bAreaReady9" type="T_BIT_X_0" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bAreaReady10" type="T_BIT_X_1" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="bAreaReady11" type="T_BIT_X_2" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bAreaReady12" type="T_BIT_X_3" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="bAreaReady13" type="T_BIT_X_4" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="bAreaReady14" type="T_BIT_X_5" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="bAreaReady15" type="T_BIT_X_6" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="bAreaReady16" type="T_BIT_X_7" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="bSignal1" type="T_BIT_X_0" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="bSignal2" type="T_BIT_X_1" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="bSignal3" type="T_BIT_X_2" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="bSignal4" type="T_BIT_X_3" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="bSignal5" type="T_BIT_X_4" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="bSignal6" type="T_BIT_X_5" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="bSignal7" type="T_BIT_X_6" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="bSignal8" type="T_BIT_X_7" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="bSignal9" type="T_BIT_X_0" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="bSignal10" type="T_BIT_X_1" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="bSignal11" type="T_BIT_X_2" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="bSignal12" type="T_BIT_X_3" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="bSignal13" type="T_BIT_X_4" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="bSignal14" type="T_BIT_X_5" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="bSignal15" type="T_BIT_X_6" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="bSignal16" type="T_BIT_X_7" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="bGripSafty1" type="T_BIT_X_0" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="bGripSafty2" type="T_BIT_X_1" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="bGripBelowExist" type="T_BIT_X_2" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="bGripExist" type="T_BIT_X_3" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="bReserved34" type="T_BIT_X_4" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="bReserved35" type="T_BIT_X_5" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="bReserved36" type="T_BIT_X_6" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="bReserved37" type="T_BIT_X_7" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="bReserved40" type="T_BIT_X_0" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="bReserved41" type="T_BIT_X_1" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="bReserved42" type="T_BIT_X_2" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="bReserved43" type="T_BIT_X_3" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="bReserved44" type="T_BIT_X_4" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="bReserved45" type="T_BIT_X_5" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="bReserved46" type="T_BIT_X_6" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="bReserved47" type="T_BIT_X_7" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="iProductType" type="T_INT" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="iCmd" type="T_INT" byteoffset="66" vartype="VAR" />
<UserDefElement iecname="iCmdCount" type="T_INT" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="iGripPosIndexRet" type="T_INT" byteoffset="70" vartype="VAR" />
<UserDefElement iecname="iGripPosCountRet" type="T_INT" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="iGripPosResult" type="T_INT" byteoffset="74" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_AxisAlarm" size="48" nativesize="48" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_AxisAlarm">
<UserDefElement iecname="xNoEnable" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="xNoRef" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="xServoWarn" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="xServoError" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="xManLock" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="wsErrorMsg" type="T_WSTRING_20_" byteoffset="6" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_OpAlarm" size="8" nativesize="8" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_OpAlarm">
<UserDefElement iecname="xEstop" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="xErrorSafety" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="xErrorHardware" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="xErrorHomePos" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="xErrorComm" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="xErrorMaintain" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="xErrorTips1" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="xErrorTips2" type="T_BOOL" byteoffset="7" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_OpCtrlCmd" size="21" nativesize="21" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_OpCtrlCmd">
<UserDefElement iecname="xHmiStart" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="xHmiEStop" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="xHmiCycleStop" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="xHmiStepPlus" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="xHmiBackInitPos" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="xBuzzerDisable" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="xBoxStart" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="xBoxCycleStop" type="T_BOOL" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="xBoxBackInitPos" type="T_BOOL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="xBoxDebug" type="T_BOOL" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="xBoxMaintenance" type="T_BOOL" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="xProduct" type="T_BOOL" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="xWithoutPart" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="xEmptyLine" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="xStepMode" type="T_BOOL" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="xHmiAlarmReset" type="T_BOOL" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="xBoxAlarmReset" type="T_BOOL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="xBoxAuto" type="T_BOOL" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="xBoxManual" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="xHmiAuto" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="xHmiManual" type="T_BOOL" byteoffset="20" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_RM_Input" size="18" nativesize="20" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_RM_Input">
<UserDefElement iecname="rActPos" type="T_REAL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="rActVel" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="rActTrq" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="rActForce" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="usHomeRef" type="T_USINT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="usError" type="T_USINT" byteoffset="17" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_RM_Output" size="23" nativesize="24" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_RM_Output">
<UserDefElement iecname="rSetPos" type="T_REAL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="rSetVel" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="rSetTrq" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="rSetACC" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="usGoHome" type="T_USINT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="usResetError" type="T_USINT" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="usPower" type="T_USINT" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="usStop" type="T_USINT" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="usResetForce" type="T_USINT" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="usJogAdd" type="T_USINT" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="usJogDec" type="T_USINT" byteoffset="22" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_ValveAlarm" size="5" nativesize="5" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_ValveAlarm">
<UserDefElement iecname="xAlarmLeft" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="xAlarmRight" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="xAlarmSenLR" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="xManLockLeft" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="xManLockRight" type="T_BOOL" byteoffset="4" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_ValveCtrl" size="8" nativesize="8" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_ValveCtrl">
<UserDefElement iecname="xCondLeft" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="xCondRight" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="xUnCondLeft" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="xUnCondRight" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="xSenLeft" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="xSenRight" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="xHmiCmdLeft" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="xHmiCmdRight" type="T_BOOL" byteoffset="7" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_ValveParam" size="64" nativesize="64" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_ValveParam">
<UserDefElement iecname="wsName" type="T_WSTRING_20_" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="xHoldLR" type="T_BOOL" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="xManLockEnable" type="T_BOOL" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="xShieldSenLeft" type="T_BOOL" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="xShieldSenRight" type="T_BOOL" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="xInterlockLR" type="T_BOOL" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="rSetSenTimeLeft" type="T_REAL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="rSetSenTimeRight" type="T_REAL" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="rSetAlarmTimeLeft" type="T_REAL" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="rSetAlarmTimeRight" type="T_REAL" byteoffset="60" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_ValveState" size="12" nativesize="12" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_ValveState">
<UserDefElement iecname="xOutLeft" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="xOutRight" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="xArriveLeft" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="xArriveRight" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="rActTimeLeft" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="rActTimeRight" type="T_REAL" byteoffset="8" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T__sDT" size="16" nativesize="16" typeclass="Userdef" pouclass="STRUCTURE" iecname="_sDT">
<UserDefElement iecname="uiYear" type="T_UINT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="uiMonth" type="T_UINT" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="uiDay" type="T_UINT" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="uiHour" type="T_UINT" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="uiMinute" type="T_UINT" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="uiSecond" type="T_UINT" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="uiMillisecond" type="T_UINT" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="uiDayOfWeek" type="T_UINT" byteoffset="14" vartype="VAR" />
</TypeUserDef>
<TypeArray name="T_ARRAY__0__100__OF_UDT_AxisAlarm" size="4848" nativesize="4848" typeclass="Array" iecname="ARRAY [0..100] OF UDT_AxisAlarm" basetype="T_UDT_AxisAlarm">
<ArrayDim minrange="0" maxrange="100" />
</TypeArray>
<TypeArray name="T_ARRAY__0__100__OF_UDT_ValveAlarm" size="505" nativesize="505" typeclass="Array" iecname="ARRAY [0..100] OF UDT_ValveAlarm" basetype="T_UDT_ValveAlarm">
<ArrayDim minrange="0" maxrange="100" />
</TypeArray>
<TypeArray name="T_ARRAY__0__23__OF_OEE_生产统计字符串" size="312" nativesize="312" typeclass="Array" iecname="ARRAY [0..23] OF OEE_生产统计字符串" basetype="T_OEE_生产统计字符串">
<ArrayDim minrange="0" maxrange="23" />
</TypeArray>
<TypeArray name="T_ARRAY__0__3__OF_OEE_生产统计字符串" size="52" nativesize="52" typeclass="Array" iecname="ARRAY [0..3] OF OEE_生产统计字符串" basetype="T_OEE_生产统计字符串">
<ArrayDim minrange="0" maxrange="3" />
</TypeArray>
<TypeArray name="T_ARRAY__0__40__OF_PredicitiveCyl_Data" size="2460" nativesize="2460" typeclass="Array" iecname="ARRAY [0..40] OF PredicitiveCyl_Data" basetype="T_PredicitiveCyl_Data">
<ArrayDim minrange="0" maxrange="40" />
</TypeArray>
<TypeArray name="T_ARRAY__0__40__OF_PredicitiveCyl_HMI" size="123" nativesize="123" typeclass="Array" iecname="ARRAY [0..40] OF PredicitiveCyl_HMI" basetype="T_PredicitiveCyl_HMI">
<ArrayDim minrange="0" maxrange="40" />
</TypeArray>
<TypeArray name="T_ARRAY__0__40__OF_UDT_ValveParam" size="2624" nativesize="2624" typeclass="Array" iecname="ARRAY [0..40] OF UDT_ValveParam" basetype="T_UDT_ValveParam">
<ArrayDim minrange="0" maxrange="40" />
</TypeArray>
<TypeArray name="T_ARRAY__1__16__OF_PredicitiveRelay_Name" size="1312" nativesize="1312" typeclass="Array" iecname="ARRAY [1..16] OF PredicitiveRelay_Name" basetype="T_PredicitiveRelay_Name">
<ArrayDim minrange="1" maxrange="16" />
</TypeArray>
<TypeUserDef name="T_IO_Status" size="18" nativesize="18" typeclass="Userdef" pouclass="STRUCTURE" iecname="IO_Status">
<UserDefElement iecname="States" type="T_ARRAY__0__15__OF_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="PageIndex" type="T_INT" byteoffset="16" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_OEE_Cmd" size="42" nativesize="42" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_Cmd">
<UserDefElement iecname="Reset" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="Planned_downtime" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="Blocked" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="Starved" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="BoolRunning" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="BoolError" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="BoolBlocked" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="BoolStarved" type="T_BOOL" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="BoolPlannedDowntime" type="T_BOOL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="BoolStartMaint" type="T_BOOL" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="UINTPPM_Cycle" type="T_UINT" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="First_Run" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="Bool_First_Run" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="Bool_Enable" type="T_BOOL" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="INT_State" type="T_INT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="Bool_Running" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="Bool_Error" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="Bool_Blocked" type="T_BOOL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="Bool_Starved" type="T_BOOL" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="Bool_PlannedDowntime" type="T_BOOL" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="Bool_StartMaint" type="T_BOOL" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="Bool_Debug" type="T_BOOL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="Bool_Manual" type="T_BOOL" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="Bool_Reseting" type="T_BOOL" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="Bool_Standby" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="Bool_Pause" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="Bool_Break" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="Bool_Reserve" type="T_BOOL" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="ARRAYBOOL_Reserve" type="T_ARRAY__1__9__OF_BOOL" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="UINT_PPM_Cycle" type="T_UINT" byteoffset="40" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_OEE_Data" size="436" nativesize="436" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_Data">
<UserDefElement iecname="BOOL_Prod_count_in_OK" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="BOOL_Prod_count_in_NG" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="UDINT_OK_increment" type="T_UDINT" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="UDINT_NG_increment" type="T_UDINT" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="Energy" type="T_OEE_Energy" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="ab_Prod_count_in_NG" type="T_ARRAY__0__61__OF_BOOL" byteoffset="124" vartype="VAR" />
<UserDefElement iecname="aUDINT_NG_increment" type="T_ARRAY__0__61__OF_UDINT" byteoffset="188" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_OEE_HMI" size="292" nativesize="292" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_HMI">
<UserDefElement iecname="UDINT_总产量" type="T_UDINT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="REAL_优率" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="REAL_PPM" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="REAL_UPH" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="REAL_CT" type="T_REAL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="UDINT_OK品数量" type="T_UDINT" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="UDINT_NG品数量" type="T_UDINT" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="FB_当前时间" type="T__sDT" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="aUDINT_NG品类别" type="T_ARRAY__0__61__OF_UDINT" byteoffset="44" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_OEE_NG类别" size="104" nativesize="104" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_NG类别">
<UserDefElement iecname="时间" type="T_ARRAY__0__23__OF_UDINT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="单班NG分类总数" type="T_ARRAY__0__1__OF_UDINT" byteoffset="96" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_OEE_State" size="32" nativesize="32" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_State">
<UserDefElement iecname="BOOL_Pause" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="BOOL_Manual" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="BOOL_Running" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="BOOL_Error" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="BOOL_Reseting" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="BOOL_Blocked" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="BOOL_Starved" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="BOOL_Reserve1" type="T_BOOL" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="BOOL_StartMaint" type="T_BOOL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="BOOL_Debug" type="T_BOOL" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="BOOL_Standby" type="T_BOOL" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="BOOL_AutoBlockedStarved" type="T_BOOL" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="BOOL_Reserve2" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="BOOL_Reserve3" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="BOOL_Reserve4" type="T_BOOL" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="BOOL_PLCToPC" type="T_BOOL" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="BOOL_PCToPLC" type="T_BOOL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="Reserve" type="T_ARRAY__1__15__OF_BOOL" byteoffset="17" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_OEE_StateTime" size="40" nativesize="40" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_StateTime">
<UserDefElement iecname="UINT_暂停状态时间" type="T_UINT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="UINT_手动状态时间" type="T_UINT" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="UINT_自动状态时间" type="T_UINT" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="UINT_故障状态时间" type="T_UINT" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="UINT_待机状态时间" type="T_UINT" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="UINT_维修状态时间" type="T_UINT" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="UINT_待料状态时间" type="T_UINT" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="UINT_堵料状态时间" type="T_UINT" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="UINT_PC断线状态时间" type="T_UINT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="ARRAYUDINT_预留状态时间" type="T_ARRAY__1__11__OF_UINT" byteoffset="18" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_PredicitiveRelay_HMI" size="32" nativesize="32" typeclass="Userdef" pouclass="STRUCTURE" iecname="PredicitiveRelay_HMI">
<UserDefElement iecname="auintNumberClear" type="T_ARRAY__1__16__OF_UINT" byteoffset="0" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_PredicitiveSv_Data" size="7224" nativesize="7224" typeclass="Userdef" pouclass="STRUCTURE" iecname="PredicitiveSv_Data">
<UserDefElement iecname="arelNumberLimit_Msg" type="T_ARRAY__0__128__OF_REAL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="arelNumberLimit_Err" type="T_ARRAY__0__128__OF_REAL" byteoffset="516" vartype="VAR" />
<UserDefElement iecname="arelMileageLimit_Msg" type="T_ARRAY__0__128__OF_REAL" byteoffset="1032" vartype="VAR" />
<UserDefElement iecname="arelMileageLimit_Err" type="T_ARRAY__0__128__OF_REAL" byteoffset="1548" vartype="VAR" />
<UserDefElement iecname="arelScrewLimit_Msg" type="T_ARRAY__0__128__OF_REAL" byteoffset="2064" vartype="VAR" />
<UserDefElement iecname="arelScrewLimit_Err" type="T_ARRAY__0__128__OF_REAL" byteoffset="2580" vartype="VAR" />
<UserDefElement iecname="arelTorqueLimit_Msg" type="T_ARRAY__0__128__OF_REAL" byteoffset="3096" vartype="VAR" />
<UserDefElement iecname="arelTorqueLimit_Err" type="T_ARRAY__0__128__OF_REAL" byteoffset="3612" vartype="VAR" />
<UserDefElement iecname="arelScrewNumber" type="T_ARRAY__0__128__OF_REAL" byteoffset="4128" vartype="VAR" />
<UserDefElement iecname="arelRunDistance" type="T_ARRAY__0__128__OF_REAL" byteoffset="4644" vartype="VAR" />
<UserDefElement iecname="arelRunNumber" type="T_ARRAY__0__128__OF_REAL" byteoffset="5160" vartype="VAR" />
<UserDefElement iecname="arelTorqueMsgNumber" type="T_ARRAY__0__128__OF_REAL" byteoffset="5676" vartype="VAR" />
<UserDefElement iecname="arelTorqueErrNumber" type="T_ARRAY__0__128__OF_REAL" byteoffset="6192" vartype="VAR" />
<UserDefElement iecname="arelActTorque" type="T_ARRAY__0__128__OF_REAL" byteoffset="6708" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_PredicitiveSv_HMI" size="776" nativesize="776" typeclass="Userdef" pouclass="STRUCTURE" iecname="PredicitiveSv_HMI">
<UserDefElement iecname="abMileageClear" type="T_ARRAY__0__128__OF_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="abQuantityClear" type="T_ARRAY__0__128__OF_BOOL" byteoffset="129" vartype="VAR" />
<UserDefElement iecname="abTorqueMsgClear" type="T_ARRAY__0__128__OF_BOOL" byteoffset="258" vartype="VAR" />
<UserDefElement iecname="abTorqueErrClear" type="T_ARRAY__0__128__OF_BOOL" byteoffset="387" vartype="VAR" />
<UserDefElement iecname="abScrewClear" type="T_ARRAY__0__128__OF_BOOL" byteoffset="516" vartype="VAR" />
<UserDefElement iecname="abShield" type="T_ARRAY__0__128__OF_BOOL" byteoffset="645" vartype="VAR" />
<UserDefElement iecname="uintActAxisNumber" type="T_UINT" byteoffset="774" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_StepTimeOUT" size="676" nativesize="676" typeclass="Userdef" pouclass="STRUCTURE" iecname="StepTimeOUT">
<UserDefElement iecname="aintFlowStep" type="T_ARRAY__0__100__OF_INT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="aLintFlowTime" type="T_ARRAY__0__100__OF_UDINT" byteoffset="204" vartype="VAR" />
<UserDefElement iecname="udintCycleTime" type="T_UDINT" byteoffset="608" vartype="VAR" />
<UserDefElement iecname="wstringStepName" type="T_WSTRING_30_" byteoffset="612" vartype="VAR" />
<UserDefElement iecname="intActStep" type="T_INT" byteoffset="674" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_Input" size="82" nativesize="84" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_Input">
<UserDefElement iecname="biEMG" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="biAirPressure" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="biCabinetTemp" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="abiFan" type="T_ARRAY__1__10__OF_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="abiPower24V" type="T_ARRAY__1__4__OF_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="abiAxisBreak" type="T_ARRAY__1__10__OF_BOOL" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ1" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ2" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ3" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ4" type="T_BOOL" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ5" type="T_BOOL" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="biNgBelt_SQ6" type="T_BOOL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="biWaterBelt_SQ7" type="T_BOOL" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="biReFeedBelt_SQ8" type="T_BOOL" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="biNgBelt_SQ9" type="T_BOOL" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="biWaterBelt_SQ10" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="biReFeedBelt_SQ11" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ14" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="biReFeedBtn" type="T_BOOL" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="biWaterBtn" type="T_BOOL" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="biNgBtn" type="T_BOOL" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="biGripSafty1" type="T_BOOL" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="biGripSafty2" type="T_BOOL" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="biGripBelowExist" type="T_BOOL" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="biGripExist" type="T_BOOL" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="biFromPrevRequest" type="T_BOOL" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="biPalletArrive1" type="T_BOOL" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="biPalletArrive2" type="T_BOOL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="biPalletArrive3" type="T_BOOL" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="biPalletArrive4" type="T_BOOL" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="biSafeDoorRelayMonitor" type="T_BOOL" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose1" type="T_BOOL" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen1" type="T_BOOL" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback1" type="T_BOOL" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose2" type="T_BOOL" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen2" type="T_BOOL" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback2" type="T_BOOL" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose3" type="T_BOOL" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen3" type="T_BOOL" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback3" type="T_BOOL" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose4" type="T_BOOL" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen4" type="T_BOOL" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback4" type="T_BOOL" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="stiRM" type="T_UDT_RM_Input" byteoffset="64" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_Output" size="55" nativesize="56" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_Output">
<UserDefElement iecname="boStackLightRed" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="boStackLightGreen" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="boStackLightYellow" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="boBuzzer" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="boSafeReset" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="boHomePosLight" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="boResetLight" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="boStartLight" type="T_BOOL" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="boStopLight" type="T_BOOL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="boSafeDoorDisable" type="T_BOOL" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="boReFeedLight" type="T_BOOL" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="boWaterLight" type="T_BOOL" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="boNgLight" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="boReFeedBuzzer" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="boWaterBuzzer" type="T_BOOL" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="boNgBuzzer" type="T_BOOL" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="boToPrevAllow" type="T_BOOL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="boToPrevFeedDone" type="T_BOOL" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose1" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight1" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight1" type="T_BOOL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose2" type="T_BOOL" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight2" type="T_BOOL" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight2" type="T_BOOL" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose3" type="T_BOOL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight3" type="T_BOOL" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight3" type="T_BOOL" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose4" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight4" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight4" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="stoRM" type="T_UDT_RM_Output" byteoffset="32" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_ScanData" size="28" nativesize="28" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_ScanData">
<UserDefElement iecname="aScanCodeBuff" type="T_ARRAY__0__4__OF_DINT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="dintScanCode" type="T_DINT" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="intBuffCount" type="T_UINT" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="bClear" type="T_BOOL" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="bError" type="T_BOOL" byteoffset="27" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_Un_FromRobot" size="0" nativesize="64" typeclass="Userdef" pouclass="UNION" iecname="U1_EM00_Un_FromRobot">
<UserDefElement iecname="Data" type="T_U1_EM00_FromRobot" byteoffset="-1" vartype="VAR" />
<UserDefElement iecname="Bytes" type="T_ARRAY__0__63__OF_BYTE" byteoffset="-1" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_Un_ToRobot" size="0" nativesize="64" typeclass="Userdef" pouclass="UNION" iecname="U1_EM00_Un_ToRobot">
<UserDefElement iecname="Data" type="T_U1_EM00_ToRobot" byteoffset="-1" vartype="VAR" />
<UserDefElement iecname="Bytes" type="T_ARRAY__0__63__OF_BYTE" byteoffset="-1" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U2_EM00_Input" size="82" nativesize="84" typeclass="Userdef" pouclass="STRUCTURE" iecname="U2_EM00_Input">
<UserDefElement iecname="biEMG" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="biAirPressure" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="biCabinetTemp" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="abiFan" type="T_ARRAY__1__10__OF_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="abiPower24V" type="T_ARRAY__1__4__OF_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="abiAxisBreak" type="T_ARRAY__1__10__OF_BOOL" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ1" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ2" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ3" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ4" type="T_BOOL" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ5" type="T_BOOL" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="biNgBelt_SQ6" type="T_BOOL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="biWaterBelt_SQ7" type="T_BOOL" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="biReFeedBelt_SQ8" type="T_BOOL" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="biNgBelt_SQ9" type="T_BOOL" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="biWaterBelt_SQ10" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="biReFeedBelt_SQ11" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ14" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="biReFeedBtn" type="T_BOOL" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="biWaterBtn" type="T_BOOL" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="biNgBtn" type="T_BOOL" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="biGripSafty1" type="T_BOOL" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="biGripSafty2" type="T_BOOL" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="biGripBelowExist" type="T_BOOL" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="biGripExist" type="T_BOOL" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="biFromPrevRequest" type="T_BOOL" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="biPalletArrive1" type="T_BOOL" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="biPalletArrive2" type="T_BOOL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="biPalletArrive3" type="T_BOOL" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="biPalletArrive4" type="T_BOOL" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="biSafeDoorRelayMonitor" type="T_BOOL" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose1" type="T_BOOL" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen1" type="T_BOOL" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback1" type="T_BOOL" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose2" type="T_BOOL" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen2" type="T_BOOL" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback2" type="T_BOOL" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose3" type="T_BOOL" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen3" type="T_BOOL" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback3" type="T_BOOL" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose4" type="T_BOOL" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen4" type="T_BOOL" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback4" type="T_BOOL" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="stiRM" type="T_UDT_RM_Input" byteoffset="64" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U2_EM00_Output" size="55" nativesize="56" typeclass="Userdef" pouclass="STRUCTURE" iecname="U2_EM00_Output">
<UserDefElement iecname="boStackLightRed" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="boStackLightGreen" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="boStackLightYellow" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="boBuzzer" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="boHomePosLight" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="boResetLight" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="boStartLight" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="boStopLight" type="T_BOOL" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="boSafeReset" type="T_BOOL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="boSafeDoorDisable" type="T_BOOL" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="boReFeedLight" type="T_BOOL" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="boWaterLight" type="T_BOOL" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="boNgLight" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="boReFeedBuzzer" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="boWaterBuzzer" type="T_BOOL" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="boNgBuzzer" type="T_BOOL" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="boToPrevAllow" type="T_BOOL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="boToPrevFeedDone" type="T_BOOL" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose1" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight1" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight1" type="T_BOOL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose2" type="T_BOOL" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight2" type="T_BOOL" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight2" type="T_BOOL" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose3" type="T_BOOL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight3" type="T_BOOL" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight3" type="T_BOOL" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose4" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight4" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight4" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="stoRM" type="T_UDT_RM_Output" byteoffset="32" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U2_EM00_Un_FromRobot" size="0" nativesize="64" typeclass="Userdef" pouclass="UNION" iecname="U2_EM00_Un_FromRobot">
<UserDefElement iecname="Data" type="T_U2_EM00_FromRobot" byteoffset="-1" vartype="VAR" />
<UserDefElement iecname="Bytes" type="T_ARRAY__0__63__OF_BYTE" byteoffset="-1" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U2_EM00_Un_ToRobot" size="0" nativesize="252" typeclass="Userdef" pouclass="UNION" iecname="U2_EM00_Un_ToRobot">
<UserDefElement iecname="Data" type="T_U2_EM00_ToRobot" byteoffset="-1" vartype="VAR" />
<UserDefElement iecname="Bytes" type="T_ARRAY__0__250__OF_BYTE" byteoffset="-1" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U3_EM00_Input" size="82" nativesize="84" typeclass="Userdef" pouclass="STRUCTURE" iecname="U3_EM00_Input">
<UserDefElement iecname="biEMG" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="biAirPressure" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="biCabinetTemp" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="abiFan" type="T_ARRAY__1__10__OF_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="abiPower24V" type="T_ARRAY__1__4__OF_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="abiAxisBreak" type="T_ARRAY__1__10__OF_BOOL" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ1" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ2" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ3" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ4" type="T_BOOL" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ5" type="T_BOOL" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="biNgBelt_SQ6" type="T_BOOL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="biWaterBelt_SQ7" type="T_BOOL" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="biReFeedBelt_SQ8" type="T_BOOL" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="biNgBelt_SQ9" type="T_BOOL" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="biWaterBelt_SQ10" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="biReFeedBelt_SQ11" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ14" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="biReFeedBtn" type="T_BOOL" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="biWaterBtn" type="T_BOOL" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="biNgBtn" type="T_BOOL" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="biGripSafty1" type="T_BOOL" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="biGripSafty2" type="T_BOOL" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="biGripBelowExist" type="T_BOOL" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="biGripExist" type="T_BOOL" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="biFromPrevRequest" type="T_BOOL" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="biPalletArrive1" type="T_BOOL" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="biPalletArrive2" type="T_BOOL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="biPalletArrive3" type="T_BOOL" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="biPalletArrive4" type="T_BOOL" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="biSafeDoorRelayMonitor" type="T_BOOL" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose1" type="T_BOOL" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen1" type="T_BOOL" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback1" type="T_BOOL" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose2" type="T_BOOL" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen2" type="T_BOOL" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback2" type="T_BOOL" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose3" type="T_BOOL" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen3" type="T_BOOL" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback3" type="T_BOOL" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose4" type="T_BOOL" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen4" type="T_BOOL" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback4" type="T_BOOL" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="stiRM" type="T_UDT_RM_Input" byteoffset="64" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U3_EM00_Output" size="55" nativesize="56" typeclass="Userdef" pouclass="STRUCTURE" iecname="U3_EM00_Output">
<UserDefElement iecname="boStackLightRed" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="boStackLightGreen" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="boStackLightYellow" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="boBuzzer" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="boHomePosLight" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="boResetLight" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="boStartLight" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="boStopLight" type="T_BOOL" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="boSafeReset" type="T_BOOL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="boSafeDoorDisable" type="T_BOOL" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="boReFeedLight" type="T_BOOL" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="boWaterLight" type="T_BOOL" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="boNgLight" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="boReFeedBuzzer" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="boWaterBuzzer" type="T_BOOL" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="boNgBuzzer" type="T_BOOL" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="boToPrevAllow" type="T_BOOL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="boToPrevFeedDone" type="T_BOOL" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose1" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight1" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight1" type="T_BOOL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose2" type="T_BOOL" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight2" type="T_BOOL" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight2" type="T_BOOL" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose3" type="T_BOOL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight3" type="T_BOOL" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight3" type="T_BOOL" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose4" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight4" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight4" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="stoRM" type="T_UDT_RM_Output" byteoffset="32" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U3_EM00_Un_FromRobot" size="0" nativesize="64" typeclass="Userdef" pouclass="UNION" iecname="U3_EM00_Un_FromRobot">
<UserDefElement iecname="Data" type="T_U3_EM00_FromRobot" byteoffset="-1" vartype="VAR" />
<UserDefElement iecname="Bytes" type="T_ARRAY__0__63__OF_BYTE" byteoffset="-1" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U3_EM00_Un_ToRobot" size="0" nativesize="64" typeclass="Userdef" pouclass="UNION" iecname="U3_EM00_Un_ToRobot">
<UserDefElement iecname="Data" type="T_U3_EM00_ToRobot" byteoffset="-1" vartype="VAR" />
<UserDefElement iecname="Bytes" type="T_ARRAY__0__63__OF_BYTE" byteoffset="-1" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U4_EM00_Input" size="82" nativesize="84" typeclass="Userdef" pouclass="STRUCTURE" iecname="U4_EM00_Input">
<UserDefElement iecname="biEMG" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="biAirPressure" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="biCabinetTemp" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="abiFan" type="T_ARRAY__1__10__OF_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="abiPower24V" type="T_ARRAY__1__4__OF_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="abiAxisBreak" type="T_ARRAY__1__10__OF_BOOL" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ1" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ2" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="biFeedBelt1_SQ3" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ4" type="T_BOOL" byteoffset="30" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ5" type="T_BOOL" byteoffset="31" vartype="VAR" />
<UserDefElement iecname="biNgBelt_SQ6" type="T_BOOL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="biWaterBelt_SQ7" type="T_BOOL" byteoffset="33" vartype="VAR" />
<UserDefElement iecname="biReFeedBelt_SQ8" type="T_BOOL" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="biNgBelt_SQ9" type="T_BOOL" byteoffset="35" vartype="VAR" />
<UserDefElement iecname="biWaterBelt_SQ10" type="T_BOOL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="biReFeedBelt_SQ11" type="T_BOOL" byteoffset="37" vartype="VAR" />
<UserDefElement iecname="biFeedBelt2_SQ14" type="T_BOOL" byteoffset="38" vartype="VAR" />
<UserDefElement iecname="biReFeedBtn" type="T_BOOL" byteoffset="39" vartype="VAR" />
<UserDefElement iecname="biWaterBtn" type="T_BOOL" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="biNgBtn" type="T_BOOL" byteoffset="41" vartype="VAR" />
<UserDefElement iecname="biGripSafty1" type="T_BOOL" byteoffset="42" vartype="VAR" />
<UserDefElement iecname="biGripSafty2" type="T_BOOL" byteoffset="43" vartype="VAR" />
<UserDefElement iecname="biGripBelowExist" type="T_BOOL" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="biGripExist" type="T_BOOL" byteoffset="45" vartype="VAR" />
<UserDefElement iecname="biFromPrevRequest" type="T_BOOL" byteoffset="46" vartype="VAR" />
<UserDefElement iecname="biPalletArrive1" type="T_BOOL" byteoffset="47" vartype="VAR" />
<UserDefElement iecname="biPalletArrive2" type="T_BOOL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="biPalletArrive3" type="T_BOOL" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="biPalletArrive4" type="T_BOOL" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="biSafeDoorRelayMonitor" type="T_BOOL" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose1" type="T_BOOL" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen1" type="T_BOOL" byteoffset="53" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback1" type="T_BOOL" byteoffset="54" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose2" type="T_BOOL" byteoffset="55" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen2" type="T_BOOL" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback2" type="T_BOOL" byteoffset="57" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose3" type="T_BOOL" byteoffset="58" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen3" type="T_BOOL" byteoffset="59" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback3" type="T_BOOL" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="biSafeDoorClose4" type="T_BOOL" byteoffset="61" vartype="VAR" />
<UserDefElement iecname="biSafeDoorOpen4" type="T_BOOL" byteoffset="62" vartype="VAR" />
<UserDefElement iecname="biSafeDoorFeedback4" type="T_BOOL" byteoffset="63" vartype="VAR" />
<UserDefElement iecname="stiRM" type="T_UDT_RM_Input" byteoffset="64" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U4_EM00_Output" size="55" nativesize="56" typeclass="Userdef" pouclass="STRUCTURE" iecname="U4_EM00_Output">
<UserDefElement iecname="boStackLightRed" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="boStackLightGreen" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="boStackLightYellow" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="boBuzzer" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="boHomePosLight" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="boResetLight" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="boStartLight" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="boStopLight" type="T_BOOL" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="boSafeReset" type="T_BOOL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="boSafeDoorDisable" type="T_BOOL" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="boReFeedLight" type="T_BOOL" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="boWaterLight" type="T_BOOL" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="boNgLight" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="boReFeedBuzzer" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="boWaterBuzzer" type="T_BOOL" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="boNgBuzzer" type="T_BOOL" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="boToPrevAllow" type="T_BOOL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="boToPrevFeedDone" type="T_BOOL" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose1" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight1" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight1" type="T_BOOL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose2" type="T_BOOL" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight2" type="T_BOOL" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight2" type="T_BOOL" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose3" type="T_BOOL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight3" type="T_BOOL" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight3" type="T_BOOL" byteoffset="26" vartype="VAR" />
<UserDefElement iecname="boSafeDoorClose4" type="T_BOOL" byteoffset="27" vartype="VAR" />
<UserDefElement iecname="boSafeDoorCloseLight4" type="T_BOOL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="boSafeDoorOpenLight4" type="T_BOOL" byteoffset="29" vartype="VAR" />
<UserDefElement iecname="stoRM" type="T_UDT_RM_Output" byteoffset="32" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U4_EM00_Un_FromRobot" size="0" nativesize="64" typeclass="Userdef" pouclass="UNION" iecname="U4_EM00_Un_FromRobot">
<UserDefElement iecname="Data" type="T_U4_EM00_FromRobot" byteoffset="-1" vartype="VAR" />
<UserDefElement iecname="Bytes" type="T_ARRAY__0__63__OF_BYTE" byteoffset="-1" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U4_EM00_Un_ToRobot" size="0" nativesize="64" typeclass="Userdef" pouclass="UNION" iecname="U4_EM00_Un_ToRobot">
<UserDefElement iecname="Data" type="T_U4_EM00_ToRobot" byteoffset="-1" vartype="VAR" />
<UserDefElement iecname="Bytes" type="T_ARRAY__0__63__OF_BYTE" byteoffset="-1" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_AxisCtrl" size="85" nativesize="88" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_AxisCtrl">
<UserDefElement iecname="xAxisEnable" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="xHmiJogFor" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="xHmiJogBack" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="xHmiHome" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="xHmiSetPos" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="xHmiAlarmReset" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="xHmiStop" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="xHmiAbs" type="T_BOOL" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="xHmiClearRecord" type="T_BOOL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="xJogForSafe" type="T_BOOL" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="xJogBackSafe" type="T_BOOL" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="xUnJogForSafe" type="T_BOOL" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="xUnJogBackSafe" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="xBackRecordPos" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="xSetSimulation" type="T_BOOL" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="xHmiTeachPos" type="T_BOOL" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="iSelectedPos" type="T_INT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="xCmdVel" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="xCmdRel" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="iHmiCmd" type="T_INT" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="iProgCmd" type="T_INT" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="iHmiHeart" type="T_DINT" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="fSetDist" type="T_LREAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="fSetAcc" type="T_LREAL" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="fSetDec" type="T_LREAL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="fSetJerk" type="T_LREAL" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="aPosSafe" type="T_ARRAY__0__20__OF_BOOL" byteoffset="64" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_AxisPos" size="54" nativesize="56" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_AxisPos">
<UserDefElement iecname="wsPosName" type="T_WSTRING_10_" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="fTargetPos" type="T_LREAL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="fOffset" type="T_LREAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="fVelocity" type="T_LREAL" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="fTargetTrq" type="T_REAL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="eDir" type="T_MC_DIRECTION" byteoffset="52" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_AxisState" size="61" nativesize="64" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_AxisState">
<UserDefElement iecname="xAxisEnable" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="xAxisRef" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="xVirtual" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="xAxisStandstill" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="xAxisBusy" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="xAxisError" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="xForLimitSen" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="xRevLimitSen" type="T_BOOL" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="xHomeSen" type="T_BOOL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="xHmiPosArrive" type="T_BOOL" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="xHmiPosSafe" type="T_BOOL" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="eFbErrorID" type="T_DWORD" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="iAxisState" type="T_INT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="dwAxisErrorId" type="T_DWORD" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="fRecordPos" type="T_REAL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="fAxisPos" type="T_REAL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="fAxisVel" type="T_REAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="fAxisTrq" type="T_REAL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="aPosArrive" type="T_ARRAY__0__20__OF_BOOL" byteoffset="40" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_OpState" size="198" nativesize="198" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_OpState">
<UserDefElement iecname="xManual" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="xAuto" type="T_BOOL" byteoffset="1" vartype="VAR" />
<UserDefElement iecname="xProductSel" type="T_BOOL" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="xWithoutPartSel" type="T_BOOL" byteoffset="3" vartype="VAR" />
<UserDefElement iecname="xEmptyLineSel" type="T_BOOL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="xProductCondition" type="T_BOOL" byteoffset="5" vartype="VAR" />
<UserDefElement iecname="xWithoutCondition" type="T_BOOL" byteoffset="6" vartype="VAR" />
<UserDefElement iecname="xEmptyLineCondition" type="T_BOOL" byteoffset="7" vartype="VAR" />
<UserDefElement iecname="xProductStart" type="T_BOOL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="xSystemIniting" type="T_BOOL" byteoffset="9" vartype="VAR" />
<UserDefElement iecname="xWithoutPartStart" type="T_BOOL" byteoffset="10" vartype="VAR" />
<UserDefElement iecname="xEmptyLineStart" type="T_BOOL" byteoffset="11" vartype="VAR" />
<UserDefElement iecname="xStepMode" type="T_BOOL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="xStepPlus" type="T_BOOL" byteoffset="13" vartype="VAR" />
<UserDefElement iecname="xSystemInitPlus" type="T_BOOL" byteoffset="14" vartype="VAR" />
<UserDefElement iecname="xInHomePos" type="T_BOOL" byteoffset="15" vartype="VAR" />
<UserDefElement iecname="xAlarmReset" type="T_BOOL" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="xNoStopAlarm" type="T_BOOL" byteoffset="17" vartype="VAR" />
<UserDefElement iecname="xStopAlarm" type="T_BOOL" byteoffset="18" vartype="VAR" />
<UserDefElement iecname="xWarn" type="T_BOOL" byteoffset="19" vartype="VAR" />
<UserDefElement iecname="xCycModeSel" type="T_BOOL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="xCycModeStart" type="T_BOOL" byteoffset="21" vartype="VAR" />
<UserDefElement iecname="xWaitFeedIn" type="T_BOOL" byteoffset="22" vartype="VAR" />
<UserDefElement iecname="xWaitFeedOut" type="T_BOOL" byteoffset="23" vartype="VAR" />
<UserDefElement iecname="xNgFull" type="T_BOOL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="stAlarm" type="T_UDT_OpAlarm" byteoffset="25" vartype="VAR" />
<UserDefElement iecname="stModeCurr" type="T_E_OpMode" byteoffset="34" vartype="VAR" />
<UserDefElement iecname="wsMessage" type="T_WSTRING" byteoffset="36" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_Valve" size="20" nativesize="20" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_Valve">
<UserDefElement iecname="stCtrl" type="T_UDT_ValveCtrl" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="stState" type="T_UDT_ValveState" byteoffset="8" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_WcsToStation" size="4" nativesize="4" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_WcsToStation">
<UserDefElement iecname="eRetCommand" type="T_E_StationWcsCommand" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="iResult" type="T_INT" byteoffset="2" vartype="VAR" />
</TypeUserDef>
<TypeArray name="T_ARRAY__0__20__OF_StepTimeOUT" size="14196" nativesize="14196" typeclass="Array" iecname="ARRAY [0..20] OF StepTimeOUT" basetype="T_StepTimeOUT">
<ArrayDim minrange="0" maxrange="20" />
</TypeArray>
<TypeArray name="T_ARRAY__0__20__OF_UDT_AxisPos" size="1176" nativesize="1176" typeclass="Array" iecname="ARRAY [0..20] OF UDT_AxisPos" basetype="T_UDT_AxisPos">
<ArrayDim minrange="0" maxrange="20" />
</TypeArray>
<TypeArray name="T_ARRAY__0__40__OF_UDT_Valve" size="820" nativesize="820" typeclass="Array" iecname="ARRAY [0..40] OF UDT_Valve" basetype="T_UDT_Valve">
<ArrayDim minrange="0" maxrange="40" />
</TypeArray>
<TypeArray name="T_ARRAY__0__4__OF_PredicitiveRelay_HMI" size="160" nativesize="160" typeclass="Array" iecname="ARRAY [0..4] OF PredicitiveRelay_HMI" basetype="T_PredicitiveRelay_HMI">
<ArrayDim minrange="0" maxrange="4" />
</TypeArray>
<TypeArray name="T_ARRAY__0__61__OF_OEE_NG类别" size="6448" nativesize="6448" typeclass="Array" iecname="ARRAY [0..61] OF OEE_NG类别" basetype="T_OEE_NG类别">
<ArrayDim minrange="0" maxrange="61" />
</TypeArray>
<TypeUserDef name="T_PredicitiveRelay_Data" size="1440" nativesize="1440" typeclass="Userdef" pouclass="STRUCTURE" iecname="PredicitiveRelay_Data">
<UserDefElement iecname="audintNumberOfUses" type="T_ARRAY__1__16__OF_UDINT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="audintSetNumberLimits" type="T_ARRAY__1__16__OF_UDINT" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="RelayName" type="T_ARRAY__1__16__OF_PredicitiveRelay_Name" byteoffset="128" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_Data" size="276" nativesize="276" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_Data">
<UserDefElement iecname="bWcsEnable" type="T_BOOL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="BatteryRowSet" type="T_INT" byteoffset="2" vartype="VAR" />
<UserDefElement iecname="BatteryColumnSet" type="T_INT" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="FeedScanData1" type="T_U1_EM00_ScanData" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="FeedScanData2" type="T_U1_EM00_ScanData" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="PalletWaterBatteryIndex1" type="T_INT" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="PalletWaterBatteryIndex2" type="T_INT" byteoffset="66" vartype="VAR" />
<UserDefElement iecname="PalletPlaceIndex1" type="T_INT" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="PalletPlaceIndex2" type="T_INT" byteoffset="70" vartype="VAR" />
<UserDefElement iecname="PalletBattery1" type="T_ARRAY__0__99__OF_BOOL" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="PalletBattery2" type="T_ARRAY__0__99__OF_BOOL" byteoffset="172" vartype="VAR" />
<UserDefElement iecname="LoadPallet1_State" type="T_E_StationState" byteoffset="272" vartype="VAR" />
<UserDefElement iecname="LoadPallet2_State" type="T_E_StationState" byteoffset="274" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_Error" size="6061" nativesize="6062" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_Error">
<UserDefElement iecname="ErrorValves" type="T_ARRAY__0__100__OF_UDT_ValveAlarm" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="ErrorAxiss" type="T_ARRAY__0__100__OF_UDT_AxisAlarm" byteoffset="506" vartype="VAR" />
<UserDefElement iecname="ErrorEstops" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5354" vartype="VAR" />
<UserDefElement iecname="ErrorSafetys" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5455" vartype="VAR" />
<UserDefElement iecname="ErrorHardwares" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5556" vartype="VAR" />
<UserDefElement iecname="ErrorComms" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5657" vartype="VAR" />
<UserDefElement iecname="ErrorMaintains" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5758" vartype="VAR" />
<UserDefElement iecname="ErrorTips1s" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5859" vartype="VAR" />
<UserDefElement iecname="ErrorTips2s" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5960" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U2_EM00_Error" size="6061" nativesize="6062" typeclass="Userdef" pouclass="STRUCTURE" iecname="U2_EM00_Error">
<UserDefElement iecname="ErrorValves" type="T_ARRAY__0__100__OF_UDT_ValveAlarm" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="ErrorAxiss" type="T_ARRAY__0__100__OF_UDT_AxisAlarm" byteoffset="506" vartype="VAR" />
<UserDefElement iecname="ErrorEstops" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5354" vartype="VAR" />
<UserDefElement iecname="ErrorSafetys" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5455" vartype="VAR" />
<UserDefElement iecname="ErrorHardwares" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5556" vartype="VAR" />
<UserDefElement iecname="ErrorComms" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5657" vartype="VAR" />
<UserDefElement iecname="ErrorMaintains" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5758" vartype="VAR" />
<UserDefElement iecname="ErrorTips1s" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5859" vartype="VAR" />
<UserDefElement iecname="ErrorTips2s" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5960" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U3_EM00_Error" size="6061" nativesize="6062" typeclass="Userdef" pouclass="STRUCTURE" iecname="U3_EM00_Error">
<UserDefElement iecname="ErrorValves" type="T_ARRAY__0__100__OF_UDT_ValveAlarm" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="ErrorAxiss" type="T_ARRAY__0__100__OF_UDT_AxisAlarm" byteoffset="506" vartype="VAR" />
<UserDefElement iecname="ErrorEstops" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5354" vartype="VAR" />
<UserDefElement iecname="ErrorSafetys" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5455" vartype="VAR" />
<UserDefElement iecname="ErrorHardwares" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5556" vartype="VAR" />
<UserDefElement iecname="ErrorComms" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5657" vartype="VAR" />
<UserDefElement iecname="ErrorMaintains" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5758" vartype="VAR" />
<UserDefElement iecname="ErrorTips1s" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5859" vartype="VAR" />
<UserDefElement iecname="ErrorTips2s" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5960" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U4_EM00_Error" size="6061" nativesize="6062" typeclass="Userdef" pouclass="STRUCTURE" iecname="U4_EM00_Error">
<UserDefElement iecname="ErrorValves" type="T_ARRAY__0__100__OF_UDT_ValveAlarm" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="ErrorAxiss" type="T_ARRAY__0__100__OF_UDT_AxisAlarm" byteoffset="506" vartype="VAR" />
<UserDefElement iecname="ErrorEstops" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5354" vartype="VAR" />
<UserDefElement iecname="ErrorSafetys" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5455" vartype="VAR" />
<UserDefElement iecname="ErrorHardwares" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5556" vartype="VAR" />
<UserDefElement iecname="ErrorComms" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5657" vartype="VAR" />
<UserDefElement iecname="ErrorMaintains" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5758" vartype="VAR" />
<UserDefElement iecname="ErrorTips1s" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5859" vartype="VAR" />
<UserDefElement iecname="ErrorTips2s" type="T_ARRAY__0__100__OF_BOOL" byteoffset="5960" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_AixsData" size="149" nativesize="152" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_AixsData">
<UserDefElement iecname="stAxisCtrl" type="T_UDT_AxisCtrl" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="stAxisState" type="T_UDT_AxisState" byteoffset="88" vartype="VAR" />
</TypeUserDef>
<TypeArray name="T_ARRAY__0__40__OF_UDT_AixsData" size="6232" nativesize="6232" typeclass="Array" iecname="ARRAY [0..40] OF UDT_AixsData" basetype="T_UDT_AixsData">
<ArrayDim minrange="0" maxrange="40" />
</TypeArray>
<TypeArray name="T_ARRAY__0__4__OF_PredicitiveRelay_Data" size="7200" nativesize="7200" typeclass="Array" iecname="ARRAY [0..4] OF PredicitiveRelay_Data" basetype="T_PredicitiveRelay_Data">
<ArrayDim minrange="0" maxrange="4" />
</TypeArray>
<TypeUserDef name="T_OEE_生产统计数据" size="8036" nativesize="8036" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_生产统计数据">
<UserDefElement iecname="ARRAYUDINT_单小时OK计数" type="T_ARRAY__0__23__OF_UDINT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="ARRAYUDINT_单小时NG计数" type="T_ARRAY__0__23__OF_UDINT" byteoffset="96" vartype="VAR" />
<UserDefElement iecname="ARRAYUDINT_单小时NG类别" type="T_ARRAY__0__61__OF_OEE_NG类别" byteoffset="192" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时运行时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="6640" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时故障时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="6736" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时待料时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="6832" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时堵料时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="6928" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时维护时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="7024" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时手动时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="7120" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时复位时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="7216" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时待机时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="7312" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时暂停时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="7408" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时断开时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="7504" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时调试时间" type="T_ARRAY__0__23__OF_REAL" byteoffset="7600" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时备用时间2" type="T_ARRAY__0__23__OF_REAL" byteoffset="7696" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时备用时间3" type="T_ARRAY__0__23__OF_REAL" byteoffset="7792" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单小时优率" type="T_ARRAY__0__23__OF_REAL" byteoffset="7888" vartype="VAR" />
<UserDefElement iecname="单班日期显示" type="T_ARRAY__0__3__OF_OEE_生产统计字符串" byteoffset="7984" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U1_EM00_APP" size="6520" nativesize="6648" typeclass="Userdef" pouclass="STRUCTURE" iecname="U1_EM00_APP">
<UserDefElement iecname="OpState" type="T_UDT_OpState" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="OpCtrlCmd" type="T_UDT_OpCtrlCmd" byteoffset="198" vartype="VAR" />
<UserDefElement iecname="I" type="T_U1_EM00_Input" byteoffset="220" vartype="VAR" />
<UserDefElement iecname="Q" type="T_U1_EM00_Output" byteoffset="304" vartype="VAR" />
<UserDefElement iecname="Err" type="T_U1_EM00_Error" byteoffset="360" vartype="VAR" />
<UserDefElement iecname="Port" type="T_U1_EM00_Port" byteoffset="6424" vartype="VAR" />
<UserDefElement iecname="Tag" type="T_U1_EM00_Tag" byteoffset="6465" vartype="VAR" />
<UserDefElement iecname="HMI" type="T_U1_EM00_HMI" byteoffset="6468" vartype="VAR" />
<UserDefElement iecname="FromRobot" type="T_U1_EM00_Un_FromRobot" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="ToRobot" type="T_U1_EM00_Un_ToRobot" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="LoadPallet1_ToWcs" type="T_E_StationWcsCommand" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="LoadPallet2_ToWcs" type="T_E_StationWcsCommand" byteoffset="6510" vartype="VAR" />
<UserDefElement iecname="LoadPallet1_FromWcs" type="T_UDT_WcsToStation" byteoffset="6512" vartype="VAR" />
<UserDefElement iecname="LoadPallet2_FromWcs" type="T_UDT_WcsToStation" byteoffset="6516" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U2_EM00_APP" size="6520" nativesize="6836" typeclass="Userdef" pouclass="STRUCTURE" iecname="U2_EM00_APP">
<UserDefElement iecname="OpState" type="T_UDT_OpState" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="OpCtrlCmd" type="T_UDT_OpCtrlCmd" byteoffset="198" vartype="VAR" />
<UserDefElement iecname="I" type="T_U2_EM00_Input" byteoffset="220" vartype="VAR" />
<UserDefElement iecname="Q" type="T_U2_EM00_Output" byteoffset="304" vartype="VAR" />
<UserDefElement iecname="Err" type="T_U2_EM00_Error" byteoffset="360" vartype="VAR" />
<UserDefElement iecname="Port" type="T_U2_EM00_Port" byteoffset="6424" vartype="VAR" />
<UserDefElement iecname="Tag" type="T_U2_EM00_Tag" byteoffset="6465" vartype="VAR" />
<UserDefElement iecname="HMI" type="T_U2_EM00_HMI" byteoffset="6468" vartype="VAR" />
<UserDefElement iecname="FromRobot" type="T_U2_EM00_Un_FromRobot" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="ToRobot" type="T_U2_EM00_Un_ToRobot" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="LoadPallet1_ToWcs" type="T_E_StationWcsCommand" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="LoadPallet2_ToWcs" type="T_E_StationWcsCommand" byteoffset="6510" vartype="VAR" />
<UserDefElement iecname="LoadPallet1_FromWcs" type="T_UDT_WcsToStation" byteoffset="6512" vartype="VAR" />
<UserDefElement iecname="LoadPallet2_FromWcs" type="T_UDT_WcsToStation" byteoffset="6516" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U3_EM00_APP" size="6520" nativesize="6648" typeclass="Userdef" pouclass="STRUCTURE" iecname="U3_EM00_APP">
<UserDefElement iecname="OpState" type="T_UDT_OpState" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="OpCtrlCmd" type="T_UDT_OpCtrlCmd" byteoffset="198" vartype="VAR" />
<UserDefElement iecname="I" type="T_U3_EM00_Input" byteoffset="220" vartype="VAR" />
<UserDefElement iecname="Q" type="T_U3_EM00_Output" byteoffset="304" vartype="VAR" />
<UserDefElement iecname="Err" type="T_U3_EM00_Error" byteoffset="360" vartype="VAR" />
<UserDefElement iecname="Port" type="T_U3_EM00_Port" byteoffset="6424" vartype="VAR" />
<UserDefElement iecname="Tag" type="T_U3_EM00_Tag" byteoffset="6465" vartype="VAR" />
<UserDefElement iecname="HMI" type="T_U3_EM00_HMI" byteoffset="6468" vartype="VAR" />
<UserDefElement iecname="FromRobot" type="T_U3_EM00_Un_FromRobot" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="ToRobot" type="T_U3_EM00_Un_ToRobot" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="LoadPallet1_ToWcs" type="T_E_StationWcsCommand" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="LoadPallet2_ToWcs" type="T_E_StationWcsCommand" byteoffset="6510" vartype="VAR" />
<UserDefElement iecname="LoadPallet1_FromWcs" type="T_UDT_WcsToStation" byteoffset="6512" vartype="VAR" />
<UserDefElement iecname="LoadPallet2_FromWcs" type="T_UDT_WcsToStation" byteoffset="6516" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_U4_EM00_APP" size="6520" nativesize="6648" typeclass="Userdef" pouclass="STRUCTURE" iecname="U4_EM00_APP">
<UserDefElement iecname="OpState" type="T_UDT_OpState" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="OpCtrlCmd" type="T_UDT_OpCtrlCmd" byteoffset="198" vartype="VAR" />
<UserDefElement iecname="I" type="T_U4_EM00_Input" byteoffset="220" vartype="VAR" />
<UserDefElement iecname="Q" type="T_U4_EM00_Output" byteoffset="304" vartype="VAR" />
<UserDefElement iecname="Err" type="T_U4_EM00_Error" byteoffset="360" vartype="VAR" />
<UserDefElement iecname="Port" type="T_U4_EM00_Port" byteoffset="6424" vartype="VAR" />
<UserDefElement iecname="Tag" type="T_U4_EM00_Tag" byteoffset="6465" vartype="VAR" />
<UserDefElement iecname="HMI" type="T_U4_EM00_HMI" byteoffset="6468" vartype="VAR" />
<UserDefElement iecname="FromRobot" type="T_U4_EM00_Un_FromRobot" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="ToRobot" type="T_U4_EM00_Un_ToRobot" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="LoadPallet1_ToWcs" type="T_E_StationWcsCommand" byteoffset="6508" vartype="VAR" />
<UserDefElement iecname="LoadPallet2_ToWcs" type="T_E_StationWcsCommand" byteoffset="6510" vartype="VAR" />
<UserDefElement iecname="LoadPallet1_FromWcs" type="T_UDT_WcsToStation" byteoffset="6512" vartype="VAR" />
<UserDefElement iecname="LoadPallet2_FromWcs" type="T_UDT_WcsToStation" byteoffset="6516" vartype="VAR" />
</TypeUserDef>
<TypeUserDef name="T_UDT_AxisParam" size="1264" nativesize="1264" typeclass="Userdef" pouclass="STRUCTURE" iecname="UDT_AxisParam">
<UserDefElement iecname="fSetOverVel" type="T_REAL" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="fSetPosWidth" type="T_REAL" byteoffset="4" vartype="VAR" />
<UserDefElement iecname="fSetAccDec" type="T_REAL" byteoffset="8" vartype="VAR" />
<UserDefElement iecname="fSetJerk" type="T_REAL" byteoffset="12" vartype="VAR" />
<UserDefElement iecname="iUnit" type="T_INT" byteoffset="16" vartype="VAR" />
<UserDefElement iecname="fStopDec" type="T_REAL" byteoffset="20" vartype="VAR" />
<UserDefElement iecname="fStopJerk" type="T_REAL" byteoffset="24" vartype="VAR" />
<UserDefElement iecname="rSetJogVel" type="T_REAL" byteoffset="28" vartype="VAR" />
<UserDefElement iecname="rSetJogAcc" type="T_REAL" byteoffset="32" vartype="VAR" />
<UserDefElement iecname="rSetJogJerk" type="T_REAL" byteoffset="36" vartype="VAR" />
<UserDefElement iecname="fTeachPos" type="T_REAL" byteoffset="40" vartype="VAR" />
<UserDefElement iecname="fTeachVel" type="T_REAL" byteoffset="44" vartype="VAR" />
<UserDefElement iecname="xHmiSelectedPos" type="T_BOOL" byteoffset="48" vartype="VAR" />
<UserDefElement iecname="xHmiSetPosParam" type="T_BOOL" byteoffset="49" vartype="VAR" />
<UserDefElement iecname="xHmiPosUnSafe" type="T_BOOL" byteoffset="50" vartype="VAR" />
<UserDefElement iecname="xSetHtype" type="T_BOOL" byteoffset="51" vartype="VAR" />
<UserDefElement iecname="uiSetHMode" type="T_INT" byteoffset="52" vartype="VAR" />
<UserDefElement iecname="fSetHPos" type="T_REAL" byteoffset="56" vartype="VAR" />
<UserDefElement iecname="fSetHVel" type="T_REAL" byteoffset="60" vartype="VAR" />
<UserDefElement iecname="fSetHAcc" type="T_REAL" byteoffset="64" vartype="VAR" />
<UserDefElement iecname="fSetHOverTime" type="T_REAL" byteoffset="68" vartype="VAR" />
<UserDefElement iecname="fSetHSrchVel" type="T_REAL" byteoffset="72" vartype="VAR" />
<UserDefElement iecname="xSwLimitEnable" type="T_BOOL" byteoffset="76" vartype="VAR" />
<UserDefElement iecname="fSwLimitN" type="T_REAL" byteoffset="80" vartype="VAR" />
<UserDefElement iecname="fSwLimitP" type="T_REAL" byteoffset="84" vartype="VAR" />
<UserDefElement iecname="aAxisPosData" type="T_ARRAY__0__20__OF_UDT_AxisPos" byteoffset="88" vartype="VAR" />
</TypeUserDef>
<TypeArray name="T_ARRAY__0__31__OF_OEE_生产统计数据" size="257152" nativesize="257152" typeclass="Array" iecname="ARRAY [0..31] OF OEE_生产统计数据" basetype="T_OEE_生产统计数据">
<ArrayDim minrange="0" maxrange="31" />
</TypeArray>
<TypeArray name="T_ARRAY__0__40__OF_UDT_AxisParam" size="51824" nativesize="51824" typeclass="Array" iecname="ARRAY [0..40] OF UDT_AxisParam" basetype="T_UDT_AxisParam">
<ArrayDim minrange="0" maxrange="40" />
</TypeArray>
<TypeUserDef name="T_OEE_生产统计汇总" size="272126" nativesize="272128" typeclass="Userdef" pouclass="STRUCTURE" iecname="OEE_生产统计汇总">
<UserDefElement iecname="生产数据" type="T_ARRAY__0__31__OF_OEE_生产统计数据" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="HMI数据" type="T_OEE_生产统计数据" byteoffset="257152" vartype="VAR" />
<UserDefElement iecname="ARRAYUDINT_单班OK计数" type="T_ARRAY__0__1__OF_UDINT" byteoffset="265188" vartype="VAR" />
<UserDefElement iecname="ARRAYUDINT_单班NG计数" type="T_ARRAY__0__1__OF_UDINT" byteoffset="265196" vartype="VAR" />
<UserDefElement iecname="ARRAYUDINT_单班NG分类" type="T_ARRAY__0__61__OF_OEE_NG类别" byteoffset="265204" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班运行时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271652" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班故障时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271660" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班待料时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271668" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班堵料时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271676" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班维护时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271684" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班手动时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271692" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班复位时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271700" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班待机时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271708" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班暂停时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271716" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班断开时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271724" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班调试时间" type="T_ARRAY__0__1__OF_REAL" byteoffset="271732" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班备用时间2" type="T_ARRAY__0__1__OF_REAL" byteoffset="271740" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班备用时间3" type="T_ARRAY__0__1__OF_REAL" byteoffset="271748" vartype="VAR" />
<UserDefElement iecname="ARRAYREAL_单班优率" type="T_ARRAY__0__1__OF_REAL" byteoffset="271756" vartype="VAR" />
<UserDefElement iecname="单小时时间显示" type="T_ARRAY__0__23__OF_OEE_生产统计字符串" byteoffset="271764" vartype="VAR" />
<UserDefElement iecname="ARRAYUDINT_班次开始时间_小时" type="T_ARRAY__0__3__OF_UINT" byteoffset="272076" vartype="VAR" />
<UserDefElement iecname="ARRAYUDINT_班次开始时间_分钟" type="T_ARRAY__0__3__OF_UINT" byteoffset="272084" vartype="VAR" />
<UserDefElement iecname="ARRAYUDINT_班次结束时间_小时" type="T_ARRAY__0__3__OF_UINT" byteoffset="272092" vartype="VAR" />
<UserDefElement iecname="ARRAYUDINT_班次结束时间_分钟" type="T_ARRAY__0__3__OF_UINT" byteoffset="272100" vartype="VAR" />
<UserDefElement iecname="ARRAYBOOL_班次更新标志" type="T_ARRAY__0__3__OF_BOOL" byteoffset="272108" vartype="VAR" />
<UserDefElement iecname="BOOL_产量清零" type="T_BOOL" byteoffset="272112" vartype="VAR" />
<UserDefElement iecname="BOOL_PPM计算模式切换" type="T_BOOL" byteoffset="272113" vartype="VAR" />
<UserDefElement iecname="BOOL_班次3和4隐藏显示" type="T_BOOL" byteoffset="272114" vartype="VAR" />
<UserDefElement iecname="BOOL_班次3和4数据切换" type="T_BOOL" byteoffset="272115" vartype="VAR" />
<UserDefElement iecname="UINT_日期选择" type="T_UINT" byteoffset="272116" vartype="VAR" />
<UserDefElement iecname="UINT_时间显示切换" type="T_UINT" byteoffset="272118" vartype="VAR" />
<UserDefElement iecname="UINT_班次时间设置切换" type="T_UINT" byteoffset="272120" vartype="VAR" />
<UserDefElement iecname="UINT_班次选择" type="T_UINT" byteoffset="272122" vartype="VAR" />
<UserDefElement iecname="UINT_提示" type="T_UINT" byteoffset="272124" vartype="VAR" />
</TypeUserDef>
</TypeList>
<NodeList>
<Node name="Application">
<Node name="GlobalData">
<Node name="U1_EM00" type="T_U1_EM00_APP" access="ReadWrite" />
<Node name="U2_EM00" type="T_U2_EM00_APP" access="ReadWrite" />
<Node name="U3_EM00" type="T_U3_EM00_APP" access="ReadWrite" />
<Node name="U4_EM00" type="T_U4_EM00_APP" access="ReadWrite" />
</Node>
<Node name="HMI">
<Node name="abSafeEquipHMI" type="T_ARRAY__0__99__OF_BOOL" access="ReadWrite" />
<Node name="aintStep" type="T_ARRAY__0__20__OF_INT" access="ReadWrite" />
<Node name="Cyl_HMI" type="T_ARRAY__0__40__OF_UDT_Valve" access="ReadWrite">
<Comment>所有气缸</Comment>
</Node>
<Node name="PredicitiveCylHMI" type="T_ARRAY__0__40__OF_PredicitiveCyl_HMI" access="ReadWrite" />
<Node name="PredicitiveRelay_HMI" type="T_ARRAY__0__4__OF_PredicitiveRelay_HMI" access="ReadWrite" />
<Node name="PredicitiveSV_HMI" type="T_PredicitiveSv_HMI" access="ReadWrite" />
<Node name="stepANDtime" type="T_ARRAY__0__20__OF_StepTimeOUT" access="ReadWrite" />
<Node name="SVHMI" type="T_ARRAY__0__40__OF_UDT_AixsData" access="ReadWrite" />
<Node name="U1_Input_Status" type="T_IO_Status" access="ReadWrite" />
<Node name="U1_Output_Status" type="T_IO_Status" access="ReadWrite" />
<Node name="U2_Input_Status" type="T_IO_Status" access="ReadWrite" />
<Node name="U2_Output_Status" type="T_IO_Status" access="ReadWrite" />
<Node name="U3_Input_Status" type="T_IO_Status" access="ReadWrite" />
<Node name="U3_Output_Status" type="T_IO_Status" access="ReadWrite" />
<Node name="U4_Input_Status" type="T_IO_Status" access="ReadWrite" />
<Node name="U4_Output_Status" type="T_IO_Status" access="ReadWrite" />
</Node>
<Node name="OEE">
<Node name="OEE_生产统计" type="T_OEE_生产统计汇总" access="ReadWrite" directaddress="%MB1502664" />
<Node name="OEE_Cmd" type="T_OEE_Cmd" access="ReadWrite" />
<Node name="OEE_Data" type="T_OEE_Data" access="ReadWrite" />
<Node name="OEE_Debug" type="T_ARRAY__1__19__OF_BOOL" access="ReadWrite" />
<Node name="OEE_Debugng" type="T_ARRAY__1__19__OF_BOOL" access="ReadWrite">
<Comment> ng分类</Comment>
</Node>
<Node name="OEE_Energy" type="T_OEE_Energy" access="ReadWrite" directaddress="%MB131396" />
<Node name="OEE_EnergyDebug" type="T_OEE_Energy" access="ReadWrite" />
<Node name="OEE_HMI" type="T_OEE_HMI" access="ReadWrite" />
<Node name="OEE_Int" type="T_ARRAY__1__19__OF_UDINT" access="ReadWrite" />
<Node name="OEE_Production" type="T_OEE_Production" access="ReadWrite" directaddress="%MB131508" />
<Node name="OEE_State" type="T_OEE_State" access="ReadWrite" />
<Node name="OEE_StateTime" type="T_OEE_StateTime" access="ReadWrite" directaddress="%MB131820" />
</Node>
<Node name="RetainData">
<Node name="CylData" type="T_ARRAY__0__40__OF_UDT_ValveParam" access="ReadWrite" directaddress="%MB131920" />
<Node name="PredicitiveCylData" type="T_ARRAY__0__40__OF_PredicitiveCyl_Data" access="ReadWrite" directaddress="%MB134544">
<Comment>气缸预测维护数据</Comment>
</Node>
<Node name="PredicitiveRelay_Data" type="T_ARRAY__0__4__OF_PredicitiveRelay_Data" access="ReadWrite" directaddress="%MB249792" />
<Node name="PredicitiveSV_Data" type="T_PredicitiveSv_Data" access="ReadWrite" directaddress="%MB203884">
<Comment>伺服预测维护数据</Comment>
</Node>
<Node name="SVData" type="T_ARRAY__0__40__OF_UDT_AxisParam" access="ReadWrite" directaddress="%MB256992" />
<Node name="U1_EM00_Data" type="T_U1_EM00_Data" access="ReadWrite" directaddress="%MB137012" />
<Node name="U1_EM01_Data" type="T_U1_EM01_Data" access="ReadWrite" directaddress="%MB131912" />
<Node name="UnitOverride" type="T_ARRAY__0__10__OF_REAL" access="ReadWrite" directaddress="%MB131860">
<Comment>整机倍率设定</Comment>
</Node>
</Node>
</Node>
</NodeList>
</Symbolconfiguration>