2026-02-01 11:35:56 +08:00
<?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" />
2026-02-01 14:32:43 +08:00
<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" />
2026-02-02 16:58:47 +08:00
<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" />
2026-02-01 11:35:56 +08:00
<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" />
2026-02-02 11:19:00 +08:00
<TypeSimple name= "T_USINT" size= "1" swapsize= "1" typeclass= "USInt" iecname= "USINT" />
2026-02-01 11:35:56 +08:00
<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>
2026-02-02 11:19:00 +08:00
<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>
2026-02-01 11:35:56 +08:00
<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>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-02 20:54:40 +08:00
<UserDefElement iecname= "bPeri_rdy" type= "T_BIT_X_2" byteoffset= "2" vartype= "VAR" />
2026-02-02 16:58:47 +08:00
<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" />
2026-02-12 17:08:23 +08:00
<UserDefElement iecname= "bIO_Act_CONF" type= "T_BIT_X_1" byteoffset= "17" vartype= "VAR" />
2026-02-02 16:58:47 +08:00
<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" />
2026-02-25 15:51:17 +08:00
<UserDefElement iecname= "bPlaceSafe" type= "T_BIT_X_2" byteoffset= "34" vartype= "VAR" />
<UserDefElement iecname= "bActPosErr" type= "T_BIT_X_3" byteoffset= "35" vartype= "VAR" />
2026-02-02 16:58:47 +08:00
<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>
2026-02-25 10:37:25 +08:00
<TypeUserDef name= "T_U1_EM00_HMI" size= "46" nativesize= "48" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U1_EM00_HMI" >
2026-02-01 11:35:56 +08:00
<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" />
2026-02-06 10:17:37 +08:00
<UserDefElement iecname= "bTestMode" type= "T_BOOL" byteoffset= "38" vartype= "VAR" />
2026-02-08 11:50:28 +08:00
<UserDefElement iecname= "bBeltTest" type= "T_BOOL" byteoffset= "39" vartype= "VAR" />
<UserDefElement iecname= "bPalletArrive1" type= "T_BOOL" byteoffset= "40" vartype= "VAR" />
<UserDefElement iecname= "bPalletArrive2" type= "T_BOOL" byteoffset= "41" vartype= "VAR" />
2026-02-25 10:37:25 +08:00
<UserDefElement iecname= "bPallet1Test" type= "T_BOOL" byteoffset= "42" vartype= "VAR" />
<UserDefElement iecname= "bPallet2Test" type= "T_BOOL" byteoffset= "43" vartype= "VAR" />
<UserDefElement iecname= "bRobotGoHome" type= "T_BOOL" byteoffset= "44" vartype= "VAR" />
<UserDefElement iecname= "bRobotStart" type= "T_BOOL" byteoffset= "45" vartype= "VAR" />
2026-02-01 11:35:56 +08:00
</TypeUserDef>
2026-02-09 21:10:48 +08:00
<TypeUserDef name= "T_U1_EM00_Port" size= "43" nativesize= "44" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U1_EM00_Port" >
2026-02-01 11:35:56 +08:00
<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" />
2026-02-09 21:10:48 +08:00
<UserDefElement iecname= "bPlallet1PlaceRequest" type= "T_BOOL" byteoffset= "41" vartype= "VAR" />
<UserDefElement iecname= "bPlallet2PlaceRequest" type= "T_BOOL" byteoffset= "42" vartype= "VAR" />
2026-02-01 11:35:56 +08:00
</TypeUserDef>
2026-02-09 21:10:48 +08:00
<TypeUserDef name= "T_U1_EM00_ToRobot" size= "92" nativesize= "36" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U1_EM00_ToRobot" >
2026-02-02 16:58:47 +08:00
<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" />
2026-02-04 16:45:39 +08:00
<UserDefElement iecname= "bGripOpen" type= "T_BIT_X_4" byteoffset= "52" vartype= "VAR" />
<UserDefElement iecname= "bGripClose" type= "T_BIT_X_5" byteoffset= "53" vartype= "VAR" />
2026-02-02 16:58:47 +08:00
<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" />
2026-02-09 21:10:48 +08:00
<UserDefElement iecname= "iPlaceCountX" type= "T_INT" byteoffset= "76" vartype= "VAR" />
<UserDefElement iecname= "iPlaceCountY" type= "T_INT" byteoffset= "78" vartype= "VAR" />
<UserDefElement iecname= "iPickOffsetX" type= "T_INT" byteoffset= "80" vartype= "VAR" />
<UserDefElement iecname= "iPickOffsetY" type= "T_INT" byteoffset= "82" vartype= "VAR" />
<UserDefElement iecname= "iPickOffsetZ" type= "T_INT" byteoffset= "84" vartype= "VAR" />
<UserDefElement iecname= "iPlaceOffsetX" type= "T_INT" byteoffset= "86" vartype= "VAR" />
<UserDefElement iecname= "iPlaceOffsetY" type= "T_INT" byteoffset= "88" vartype= "VAR" />
<UserDefElement iecname= "iPlaceOffsetZ" type= "T_INT" byteoffset= "90" vartype= "VAR" />
2026-02-02 16:58:47 +08:00
</TypeUserDef>
2026-02-01 11:35:56 +08:00
<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>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-02 20:54:40 +08:00
<UserDefElement iecname= "bPeri_rdy" type= "T_BIT_X_2" byteoffset= "2" vartype= "VAR" />
2026-02-02 16:58:47 +08:00
<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>
2026-02-02 20:54:40 +08:00
<TypeUserDef name= "T_U2_EM00_HMI" size= "40" nativesize= "40" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U2_EM00_HMI" >
2026-02-01 14:32:43 +08:00
<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" />
2026-02-02 20:54:40 +08:00
<UserDefElement iecname= "bRobotGoHome" type= "T_BOOL" byteoffset= "38" vartype= "VAR" />
<UserDefElement iecname= "bRobotStart" type= "T_BOOL" byteoffset= "39" vartype= "VAR" />
2026-02-01 14:32:43 +08:00
</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>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-02 20:54:40 +08:00
<UserDefElement iecname= "bPeri_rdy" type= "T_BIT_X_2" byteoffset= "2" vartype= "VAR" />
2026-02-02 16:58:47 +08:00
<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>
2026-02-02 20:54:40 +08:00
<TypeUserDef name= "T_U3_EM00_HMI" size= "40" nativesize= "40" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U3_EM00_HMI" >
2026-02-01 14:32:43 +08:00
<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" />
2026-02-02 20:54:40 +08:00
<UserDefElement iecname= "bRobotGoHome" type= "T_BOOL" byteoffset= "38" vartype= "VAR" />
<UserDefElement iecname= "bRobotStart" type= "T_BOOL" byteoffset= "39" vartype= "VAR" />
2026-02-01 14:32:43 +08:00
</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>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-02 20:54:40 +08:00
<UserDefElement iecname= "bPeri_rdy" type= "T_BIT_X_2" byteoffset= "2" vartype= "VAR" />
2026-02-02 16:58:47 +08:00
<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>
2026-02-02 20:54:40 +08:00
<TypeUserDef name= "T_U4_EM00_HMI" size= "40" nativesize= "40" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U4_EM00_HMI" >
2026-02-01 14:32:43 +08:00
<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" />
2026-02-02 20:54:40 +08:00
<UserDefElement iecname= "bRobotGoHome" type= "T_BOOL" byteoffset= "38" vartype= "VAR" />
<UserDefElement iecname= "bRobotStart" type= "T_BOOL" byteoffset= "39" vartype= "VAR" />
2026-02-01 14:32:43 +08:00
</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>
2026-02-02 16:58:47 +08:00
<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>
2026-02-01 11:35:56 +08:00
<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>
2026-02-11 17:34:41 +08:00
<TypeUserDef name= "T_UDT_RM_Input" size= "20" nativesize= "20" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "UDT_RM_Input" >
2026-02-02 11:19:00 +08:00
<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" />
2026-02-11 17:34:41 +08:00
<UserDefElement iecname= "usBatteryError" type= "T_USINT" byteoffset= "18" vartype= "VAR" />
<UserDefElement iecname= "usEncoderError" type= "T_USINT" byteoffset= "19" vartype= "VAR" />
2026-02-02 11:19:00 +08:00
</TypeUserDef>
2026-02-02 20:54:40 +08:00
<TypeUserDef name= "T_UDT_RM_Output" size= "23" nativesize= "24" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "UDT_RM_Output" >
2026-02-02 11:19:00 +08:00
<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" />
2026-02-02 20:54:40 +08:00
<UserDefElement iecname= "usJogAdd" type= "T_USINT" byteoffset= "21" vartype= "VAR" />
<UserDefElement iecname= "usJogDec" type= "T_USINT" byteoffset= "22" vartype= "VAR" />
2026-02-02 11:19:00 +08:00
</TypeUserDef>
2026-02-01 11:35:56 +08:00
<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>
2026-02-11 17:34:41 +08:00
<TypeUserDef name= "T_U1_EM00_Input" size= "84" nativesize= "84" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U1_EM00_Input" >
2026-02-01 11:35:56 +08:00
<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" />
2026-02-02 11:19:00 +08:00
<UserDefElement iecname= "stiRM" type= "T_UDT_RM_Input" byteoffset= "64" vartype= "VAR" />
</TypeUserDef>
2026-02-02 20:54:40 +08:00
<TypeUserDef name= "T_U1_EM00_Output" size= "55" nativesize= "56" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U1_EM00_Output" >
2026-02-02 11:19:00 +08:00
<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" />
2026-02-01 11:35:56 +08:00
</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>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-01 11:35:56 +08:00
</TypeUserDef>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-01 11:35:56 +08:00
</TypeUserDef>
2026-02-11 17:34:41 +08:00
<TypeUserDef name= "T_U2_EM00_Input" size= "84" nativesize= "84" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U2_EM00_Input" >
2026-02-01 14:32:43 +08:00
<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" />
2026-02-02 11:19:00 +08:00
<UserDefElement iecname= "stiRM" type= "T_UDT_RM_Input" byteoffset= "64" vartype= "VAR" />
</TypeUserDef>
2026-02-02 20:54:40 +08:00
<TypeUserDef name= "T_U2_EM00_Output" size= "55" nativesize= "56" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U2_EM00_Output" >
2026-02-02 11:19:00 +08:00
<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" />
2026-02-01 14:32:43 +08:00
</TypeUserDef>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-01 14:32:43 +08:00
</TypeUserDef>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-01 14:32:43 +08:00
</TypeUserDef>
2026-02-11 17:34:41 +08:00
<TypeUserDef name= "T_U3_EM00_Input" size= "84" nativesize= "84" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U3_EM00_Input" >
2026-02-01 14:32:43 +08:00
<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" />
2026-02-02 11:19:00 +08:00
<UserDefElement iecname= "stiRM" type= "T_UDT_RM_Input" byteoffset= "64" vartype= "VAR" />
</TypeUserDef>
2026-02-02 20:54:40 +08:00
<TypeUserDef name= "T_U3_EM00_Output" size= "55" nativesize= "56" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U3_EM00_Output" >
2026-02-02 11:19:00 +08:00
<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" />
2026-02-01 14:32:43 +08:00
</TypeUserDef>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-01 14:32:43 +08:00
</TypeUserDef>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-01 14:32:43 +08:00
</TypeUserDef>
2026-02-11 17:34:41 +08:00
<TypeUserDef name= "T_U4_EM00_Input" size= "84" nativesize= "84" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U4_EM00_Input" >
2026-02-01 14:32:43 +08:00
<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" />
2026-02-02 11:19:00 +08:00
<UserDefElement iecname= "stiRM" type= "T_UDT_RM_Input" byteoffset= "64" vartype= "VAR" />
</TypeUserDef>
2026-02-02 20:54:40 +08:00
<TypeUserDef name= "T_U4_EM00_Output" size= "55" nativesize= "56" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U4_EM00_Output" >
2026-02-02 11:19:00 +08:00
<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" />
2026-02-01 14:32:43 +08:00
</TypeUserDef>
2026-02-02 16:58:47 +08:00
<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" />
2026-02-01 14:32:43 +08:00
</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>
2026-02-02 11:19:00 +08:00
<TypeUserDef name= "T_UDT_AxisPos" size= "54" nativesize= "56" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "UDT_AxisPos" >
2026-02-01 14:32:43 +08:00
<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" />
2026-02-02 11:19:00 +08:00
<UserDefElement iecname= "fTargetTrq" type= "T_REAL" byteoffset= "48" vartype= "VAR" />
<UserDefElement iecname= "eDir" type= "T_MC_DIRECTION" byteoffset= "52" vartype= "VAR" />
2026-02-01 14:32:43 +08:00
</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" />
2026-02-01 11:35:56 +08:00
<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>
2026-02-25 10:37:25 +08:00
<TypeUserDef name= "T_U1_EM00_Data" size= "320" nativesize= "320" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U1_EM00_Data" >
2026-02-08 11:50:28 +08:00
<UserDefElement iecname= "PdtType" type= "T_INT" byteoffset= "0" vartype= "VAR" />
<UserDefElement iecname= "bWcsEnable" type= "T_BOOL" byteoffset= "2" vartype= "VAR" />
<UserDefElement iecname= "BatteryRowSet" type= "T_INT" byteoffset= "4" vartype= "VAR" />
<UserDefElement iecname= "BatteryColumnSet" type= "T_INT" byteoffset= "6" vartype= "VAR" />
2026-02-09 21:10:48 +08:00
<UserDefElement iecname= "BatteryLengthB" type= "T_REAL" byteoffset= "8" vartype= "VAR" />
<UserDefElement iecname= "BatteryWidthB" type= "T_REAL" byteoffset= "12" vartype= "VAR" />
<UserDefElement iecname= "BatteryHeightB" type= "T_REAL" byteoffset= "16" vartype= "VAR" />
<UserDefElement iecname= "PalletColWidth" type= "T_REAL" byteoffset= "20" vartype= "VAR" />
<UserDefElement iecname= "PalletRowWidth" type= "T_REAL" byteoffset= "24" vartype= "VAR" />
<UserDefElement iecname= "BatteryLength" type= "T_REAL" byteoffset= "28" vartype= "VAR" />
<UserDefElement iecname= "BatteryWidth" type= "T_REAL" byteoffset= "32" vartype= "VAR" />
<UserDefElement iecname= "BatteryHeight" type= "T_REAL" byteoffset= "36" vartype= "VAR" />
<UserDefElement iecname= "FeedScanData1" type= "T_U1_EM00_ScanData" byteoffset= "40" vartype= "VAR" />
<UserDefElement iecname= "FeedScanData2" type= "T_U1_EM00_ScanData" byteoffset= "68" vartype= "VAR" />
<UserDefElement iecname= "bGripExist" type= "T_BOOL" byteoffset= "96" vartype= "VAR" />
<UserDefElement iecname= "PalletWaterBatteryIndex1" type= "T_INT" byteoffset= "98" vartype= "VAR" />
<UserDefElement iecname= "PalletWaterBatteryIndex2" type= "T_INT" byteoffset= "100" vartype= "VAR" />
<UserDefElement iecname= "PalletPlaceIndex1" type= "T_INT" byteoffset= "102" vartype= "VAR" />
<UserDefElement iecname= "PalletPlaceIndex2" type= "T_INT" byteoffset= "104" vartype= "VAR" />
<UserDefElement iecname= "PalletBattery1" type= "T_ARRAY__0__99__OF_BOOL" byteoffset= "106" vartype= "VAR" />
<UserDefElement iecname= "PalletBattery2" type= "T_ARRAY__0__99__OF_BOOL" byteoffset= "206" vartype= "VAR" />
<UserDefElement iecname= "LoadPallet1_State" type= "T_E_StationState" byteoffset= "306" vartype= "VAR" />
<UserDefElement iecname= "LoadPallet2_State" type= "T_E_StationState" byteoffset= "308" vartype= "VAR" />
2026-02-25 10:37:25 +08:00
<UserDefElement iecname= "Pallet1TestCount" type= "T_DINT" byteoffset= "312" vartype= "VAR" />
<UserDefElement iecname= "Pallet2TestCount" type= "T_DINT" byteoffset= "316" vartype= "VAR" />
2026-02-01 11:35:56 +08:00
</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>
2026-02-01 14:32:43 +08:00
<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>
2026-02-01 11:35:56 +08:00
<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>
2026-02-25 10:37:25 +08:00
<TypeUserDef name= "T_U1_EM00_APP" size= "6526" nativesize= "6656" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U1_EM00_APP" >
2026-02-01 11:35:56 +08:00
<UserDefElement iecname= "OpState" type= "T_UDT_OpState" byteoffset= "0" vartype= "VAR" />
<UserDefElement iecname= "OpCtrlCmd" type= "T_UDT_OpCtrlCmd" byteoffset= "198" vartype= "VAR" />
2026-02-02 11:19:00 +08:00
<UserDefElement iecname= "I" type= "T_U1_EM00_Input" byteoffset= "220" vartype= "VAR" />
<UserDefElement iecname= "Q" type= "T_U1_EM00_Output" byteoffset= "304" vartype= "VAR" />
2026-02-02 20:54:40 +08:00
<UserDefElement iecname= "Err" type= "T_U1_EM00_Error" byteoffset= "360" vartype= "VAR" />
<UserDefElement iecname= "Port" type= "T_U1_EM00_Port" byteoffset= "6424" vartype= "VAR" />
2026-02-09 21:10:48 +08:00
<UserDefElement iecname= "Tag" type= "T_U1_EM00_Tag" byteoffset= "6467" vartype= "VAR" />
2026-02-02 20:54:40 +08:00
<UserDefElement iecname= "HMI" type= "T_U1_EM00_HMI" byteoffset= "6468" vartype= "VAR" />
2026-02-25 10:37:25 +08:00
<UserDefElement iecname= "FromRobot" type= "T_U1_EM00_Un_FromRobot" byteoffset= "6514" vartype= "VAR" />
<UserDefElement iecname= "ToRobot" type= "T_U1_EM00_Un_ToRobot" byteoffset= "6514" vartype= "VAR" />
<UserDefElement iecname= "LoadPallet1_ToWcs" type= "T_E_StationWcsCommand" byteoffset= "6514" vartype= "VAR" />
<UserDefElement iecname= "LoadPallet2_ToWcs" type= "T_E_StationWcsCommand" byteoffset= "6516" vartype= "VAR" />
<UserDefElement iecname= "LoadPallet1_FromWcs" type= "T_UDT_WcsToStation" byteoffset= "6518" vartype= "VAR" />
<UserDefElement iecname= "LoadPallet2_FromWcs" type= "T_UDT_WcsToStation" byteoffset= "6522" vartype= "VAR" />
2026-02-02 20:54:40 +08:00
</TypeUserDef>
<TypeUserDef name= "T_U2_EM00_APP" size= "6520" nativesize= "6836" typeclass= "Userdef" pouclass= "STRUCTURE" iecname= "U2_EM00_APP" >
2026-02-01 14:32:43 +08:00
<UserDefElement iecname= "OpState" type= "T_UDT_OpState" byteoffset= "0" vartype= "VAR" />
<UserDefElement iecname= "OpCtrlCmd" type= "T_UDT_OpCtrlCmd" byteoffset= "198" vartype= "VAR" />
2026-02-02 11:19:00 +08:00
<UserDefElement iecname= "I" type= "T_U2_EM00_Input" byteoffset= "220" vartype= "VAR" />
<UserDefElement iecname= "Q" type= "T_U2_EM00_Output" byteoffset= "304" vartype= "VAR" />
2026-02-02 20:54:40 +08:00
<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" >
2026-02-01 14:32:43 +08:00
<UserDefElement iecname= "OpState" type= "T_UDT_OpState" byteoffset= "0" vartype= "VAR" />
<UserDefElement iecname= "OpCtrlCmd" type= "T_UDT_OpCtrlCmd" byteoffset= "198" vartype= "VAR" />
2026-02-02 11:19:00 +08:00
<UserDefElement iecname= "I" type= "T_U3_EM00_Input" byteoffset= "220" vartype= "VAR" />
<UserDefElement iecname= "Q" type= "T_U3_EM00_Output" byteoffset= "304" vartype= "VAR" />
2026-02-02 20:54:40 +08:00
<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" >
2026-02-01 14:32:43 +08:00
<UserDefElement iecname= "OpState" type= "T_UDT_OpState" byteoffset= "0" vartype= "VAR" />
<UserDefElement iecname= "OpCtrlCmd" type= "T_UDT_OpCtrlCmd" byteoffset= "198" vartype= "VAR" />
2026-02-02 11:19:00 +08:00
<UserDefElement iecname= "I" type= "T_U4_EM00_Input" byteoffset= "220" vartype= "VAR" />
<UserDefElement iecname= "Q" type= "T_U4_EM00_Output" byteoffset= "304" vartype= "VAR" />
2026-02-02 20:54:40 +08:00
<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" />
2026-02-01 14:32:43 +08:00
</TypeUserDef>
2026-02-01 11:35:56 +08:00
<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" />
2026-02-01 14:32:43 +08:00
<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" />
2026-02-01 11:35:56 +08:00
</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" />
2026-02-25 10:37:25 +08:00
<Node name= "U1_EM00_Data" type= "T_U1_EM00_Data" access= "ReadWrite" directaddress= "%MB137016" />
2026-02-01 11:35:56 +08:00
<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>