<?xml version="1.0" encoding="utf-8"?>
<DeviceDescription xmlns="http://www.3s-software.com/schemas/DeviceDescription-1.0.xsd"
    xmlns:ts="http://www.3s-software.com/schemas/TargetSettings-0.1.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Types namespace="local">
        <BitfieldType basetype="std:BYTE" name="TBitStringByte">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit0">Bit0</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit1">Bit1</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit2">Bit2</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit3">Bit3</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit4">Bit4</VisibleName>
            </Component>
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit5">Bit5</VisibleName>
            </Component>
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit6">Bit6</VisibleName>
            </Component>
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit7">Bit7</VisibleName>
            </Component>
        </BitfieldType>
        <BitfieldType basetype="std:BYTE" name="TBitStringHHByte">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringHHByte.Bit0">现场电源A状态(CH0-15)</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringHHByte.Bit1">现场电源B状态(CH16-31)</VisibleName>
            </Component>
        </BitfieldType>            
        <BitfieldType basetype="std:BYTE" name="TBitStringHalfByte">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringHalfByte.Bit0">Bit0</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringHalfByte.Bit1">Bit1</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringHalfByte.Bit2">Bit2</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringHalfByte.Bit3">Bit3</VisibleName>
            </Component>
            <!--       <Component identifier="Bit4" type="std:BOOL">
        <Default />
        <VisibleName name="local:TBitStringHalfByte.Bit4">Reserved</VisibleName>
      </Component>
      <Component identifier="Bit5" type="std:BOOL">
        <Default />
        <VisibleName name="local:TBitStringHalfByte.Bit5">Reserved</VisibleName>
      </Component>
      <Component identifier="Bit6" type="std:BOOL">
        <Default />
        <VisibleName name="local:TBitStringHalfByte.Bit6">Reserved</VisibleName>
      </Component>
      <Component identifier="Bit7" type="std:BOOL">
        <Default />
        <VisibleName name="local:TBitStringHalfByte.Bit7">Reserved</VisibleName>
      </Component> -->
        </BitfieldType> 
        <BitfieldType basetype="std:WORD" name="TBitStringEncoder1">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit0">设置极限值错误状态</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit1">设置起始值错误状态</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit2">设置比较值错误状态</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit3">未使用</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit4">未使用</VisibleName>
            </Component>
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit5">未使用</VisibleName>
            </Component>
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit6">未使用</VisibleName>
            </Component>
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit7">未使用</VisibleName>
            </Component>
            <Component identifier="Bit8" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit8">未使用</VisibleName>
            </Component>
            <Component identifier="Bit9" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit9">未使用</VisibleName>
            </Component>
            <Component identifier="Bit10" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit10">未使用</VisibleName>
            </Component>
            <Component identifier="Bit11" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit11">未使用</VisibleName>
            </Component>
            <Component identifier="Bit12" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit12">未使用</VisibleName>
            </Component>
            <Component identifier="Bit13" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit13">未使用</VisibleName>
            </Component>
            <Component identifier="Bit14" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit14">未使用</VisibleName>
            </Component>
            <Component identifier="Bit15" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit15">未使用</VisibleName>
            </Component>     
        </BitfieldType>
        <BitfieldType basetype="std:WORD" name="TBitStringEncoder2">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit0">比较控制位</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit1">未使用</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit2">未使用</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit3">未使用</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit4">未使用</VisibleName>
            </Component>
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit5">未使用</VisibleName>
            </Component>
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit6">未使用</VisibleName>
            </Component>
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit7">未使用</VisibleName>
            </Component>
            <Component identifier="Bit8" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit8">未使用</VisibleName>
            </Component>
            <Component identifier="Bit9" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit9">未使用</VisibleName>
            </Component>
            <Component identifier="Bit10" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit10">未使用</VisibleName>
            </Component>
            <Component identifier="Bit11" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit11">未使用</VisibleName>
            </Component>
            <Component identifier="Bit12" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit12">未使用</VisibleName>
            </Component>
            <Component identifier="Bit13" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit13">未使用</VisibleName>
            </Component>
            <Component identifier="Bit14" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit14">未使用</VisibleName>
            </Component>
            <Component identifier="Bit15" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit15">未使用</VisibleName>
            </Component>     
        </BitfieldType>    
        <BitfieldType basetype="std:BYTE" name="TBitStringPulseStatus">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit0">电压检测报警</VisibleName>
            </Component>
        </BitfieldType>
        <BitfieldType basetype="std:WORD" name="TBitStringPulseInputData0">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit0">脉冲实际输出方向</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit1">回零状态</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit2">位置模式运行状态</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit3">速度模式运行状态</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit4">点动模式运行状态</VisibleName>
            </Component>
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit5">回零完成</VisibleName>
            </Component>
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit6">位置到达</VisibleName>
            </Component>
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit7">速度到达</VisibleName>
            </Component>
            <Component identifier="Bit8" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit8">DI0信号</VisibleName>
            </Component>
            <Component identifier="Bit9" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit9">DI1信号</VisibleName>
            </Component>
            <Component identifier="Bit10" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit10">DI2信号</VisibleName>
            </Component>
            <Component identifier="Bit11" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit11">DI3信号</VisibleName>
            </Component>                                                                                                                                    
        </BitfieldType>
        <BitfieldType basetype="std:WORD" name="TBitStringPulseInputData1">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit0">脉冲实际输出方向</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit1">回零状态</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit2">位置模式运行状态</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit3">速度模式运行状态</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit4">点动模式运行状态</VisibleName>
            </Component>
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit5">回零完成</VisibleName>
            </Component>
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit6">位置到达</VisibleName>
            </Component>
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit7">速度到达</VisibleName>
            </Component>
            <Component identifier="Bit8" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit8">DI4信号</VisibleName>
            </Component>
            <Component identifier="Bit9" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit9">DI5信号</VisibleName>
            </Component>
            <Component identifier="Bit10" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit10">DI6信号</VisibleName>
            </Component>
            <Component identifier="Bit11" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit11">DI7信号</VisibleName>
            </Component>                                                                                                                                    
        </BitfieldType>
        <BitfieldType basetype="std:BYTE" name="TBitStringPulseOutputData">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit0">DO输出</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit1">运动方向</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit2">当前坐标归零</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit3">启动运动</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit4">急停指令</VisibleName>
            </Component>  
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit5">开始回零</VisibleName>
            </Component>  
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit6">正方向点动</VisibleName>
            </Component>           
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringByte.Bit7">反方向点动</VisibleName>
            </Component>                                                      
        </BitfieldType>            
        <BitfieldType basetype="std:WORD" name="TBitStringWord">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit0">Bit0</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit1">Bit1</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit2">Bit2</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit3">Bit3</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit4">Bit4</VisibleName>
            </Component>
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit5">Bit5</VisibleName>
            </Component>
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit6">Bit6</VisibleName>
            </Component>
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit7">Bit7</VisibleName>
            </Component>
            <Component identifier="Bit8" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit8">Bit8</VisibleName>
            </Component>
            <Component identifier="Bit9" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit9">Bit9</VisibleName>
            </Component>
            <Component identifier="Bit10" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit10">Bit10</VisibleName>
            </Component>
            <Component identifier="Bit11" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit11">Bit11</VisibleName>
            </Component>
            <Component identifier="Bit12" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit12">Bit12</VisibleName>
            </Component>
            <Component identifier="Bit13" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit13">Bit13</VisibleName>
            </Component>
            <Component identifier="Bit14" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit14">Bit14</VisibleName>
            </Component>
            <Component identifier="Bit15" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit15">Bit15</VisibleName>
            </Component>
        </BitfieldType>
        <BitfieldType basetype="std:DWORD" name="TBitStringDWord">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit0">Bit0</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit1">Bit1</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit2">Bit2</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit3">Bit3</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit4">Bit4</VisibleName>
            </Component>
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit5">Bit5</VisibleName>
            </Component>
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit6">Bit6</VisibleName>
            </Component>
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit7">Bit7</VisibleName>
            </Component>
            <Component identifier="Bit8" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit8">Bit8</VisibleName>
            </Component>
            <Component identifier="Bit9" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit9">Bit9</VisibleName>
            </Component>
            <Component identifier="Bit10" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit10">Bit10</VisibleName>
            </Component>
            <Component identifier="Bit11" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit11">Bit11</VisibleName>
            </Component>
            <Component identifier="Bit12" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit12">Bit12</VisibleName>
            </Component>
            <Component identifier="Bit13" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit13">Bit13</VisibleName>
            </Component>
            <Component identifier="Bit14" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit14">Bit14</VisibleName>
            </Component>
            <Component identifier="Bit15" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit15">Bit15</VisibleName>
            </Component>
            <Component identifier="Bit16" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit16">Bit16</VisibleName>
            </Component>
            <Component identifier="Bit17" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit17">Bit17</VisibleName>
            </Component>
            <Component identifier="Bit18" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit18">Bit18</VisibleName>
            </Component>
            <Component identifier="Bit19" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit19">Bit19</VisibleName>
            </Component>
            <Component identifier="Bit20" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit20">Bit20</VisibleName>
            </Component>
            <Component identifier="Bit21" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit21">Bit21</VisibleName>
            </Component>
            <Component identifier="Bit22" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit22">Bit22</VisibleName>
            </Component>
            <Component identifier="Bit23" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit23">Bit23</VisibleName>
            </Component>
            <Component identifier="Bit24" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit24">Bit24</VisibleName>
            </Component>
            <Component identifier="Bit25" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit25">Bit25</VisibleName>
            </Component>
            <Component identifier="Bit26" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit26">Bit26</VisibleName>
            </Component>
            <Component identifier="Bit27" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit27">Bit27</VisibleName>
            </Component>
            <Component identifier="Bit28" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit28">Bit28</VisibleName>
            </Component>
            <Component identifier="Bit29" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit29">Bit29</VisibleName>
            </Component>
            <Component identifier="Bit30" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit30">Bit30</VisibleName>
            </Component>
            <Component identifier="Bit31" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit31">Bit31</VisibleName>
            </Component>
        </BitfieldType>
        <BitfieldType basetype="std:WORD" name="TBitStringWord">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit0">Bit0</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit1">Bit1</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit2">Bit2</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit3">Bit3</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit4">Bit4</VisibleName>
            </Component>
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit5">Bit5</VisibleName>
            </Component>
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit6">Bit6</VisibleName>
            </Component>
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit7">Bit7</VisibleName>
            </Component>
            <Component identifier="Bit8" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit8">Bit8</VisibleName>
            </Component>
            <Component identifier="Bit9" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit9">Bit9</VisibleName>
            </Component>
            <Component identifier="Bit10" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit10">Bit10</VisibleName>
            </Component>
            <Component identifier="Bit11" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit11">Bit11</VisibleName>
            </Component>
            <Component identifier="Bit12" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit12">Bit12</VisibleName>
            </Component>
            <Component identifier="Bit13" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit13">Bit13</VisibleName>
            </Component>
            <Component identifier="Bit14" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit14">Bit14</VisibleName>
            </Component>
            <Component identifier="Bit15" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringWord.Bit15">Bit15</VisibleName>
            </Component>
        </BitfieldType>
        <BitfieldType basetype="std:DWORD" name="TBitStringUint32">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit0">Index01</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit1">Index02</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit2">Index03</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit3">Index04</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit4">Index05</VisibleName>
            </Component>
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit5">Index06</VisibleName>
            </Component>
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit6">Index07</VisibleName>
            </Component>
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit7">Index08</VisibleName>
            </Component>
            <Component identifier="Bit8" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit8">Index09</VisibleName>
            </Component>
            <Component identifier="Bit9" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit9">Index10</VisibleName>
            </Component>
            <Component identifier="Bit10" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit10">Index11</VisibleName>
            </Component>
            <Component identifier="Bit11" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit11">Index12</VisibleName>
            </Component>
            <Component identifier="Bit12" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit12">Index13</VisibleName>
            </Component>
            <Component identifier="Bit13" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit13">Index14</VisibleName>
            </Component>
            <Component identifier="Bit14" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit14">Index15</VisibleName>
            </Component>
            <Component identifier="Bit15" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit15">Index16</VisibleName>
            </Component>
            <Component identifier="Bit16" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit16">Index17</VisibleName>
            </Component>
            <Component identifier="Bit17" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit17">Index18</VisibleName>
            </Component>
            <Component identifier="Bit18" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit18">Index19</VisibleName>
            </Component>
            <Component identifier="Bit19" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit19">Index20</VisibleName>
            </Component>
            <Component identifier="Bit20" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit20">Index21</VisibleName>
            </Component>
            <Component identifier="Bit21" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit21">Index22</VisibleName>
            </Component>
            <Component identifier="Bit22" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit22">Index23</VisibleName>
            </Component>
            <Component identifier="Bit23" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit23">Index24</VisibleName>
            </Component>
            <Component identifier="Bit24" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit24">Index25</VisibleName>
            </Component>
            <Component identifier="Bit25" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit25">Index26</VisibleName>
            </Component>
            <Component identifier="Bit26" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit26">Index27</VisibleName>
            </Component>
            <Component identifier="Bit27" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit27">Index28</VisibleName>
            </Component>
            <Component identifier="Bit28" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit28">Index29</VisibleName>
            </Component>
            <Component identifier="Bit29" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit29">Index30</VisibleName>
            </Component>
            <Component identifier="Bit30" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit30">Index31</VisibleName>
            </Component>
            <Component identifier="Bit31" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit31">Index32</VisibleName>
            </Component>
        </BitfieldType>
        <BitfieldType basetype="std:WORD" name="TBitStringUint16">
            <Component identifier="Bit0" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit0">Index01</VisibleName>
            </Component>
            <Component identifier="Bit1" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit1">Index02</VisibleName>
            </Component>
            <Component identifier="Bit2" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit2">Index03</VisibleName>
            </Component>
            <Component identifier="Bit3" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit3">Index04</VisibleName>
            </Component>
            <Component identifier="Bit4" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit4">Index05</VisibleName>
            </Component>
            <Component identifier="Bit5" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit5">Index06</VisibleName>
            </Component>
            <Component identifier="Bit6" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit6">Index07</VisibleName>
            </Component>
            <Component identifier="Bit7" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit7">Index08</VisibleName>
            </Component>
            <Component identifier="Bit8" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit8">Index09</VisibleName>
            </Component>
            <Component identifier="Bit9" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit9">Index10</VisibleName>
            </Component>
            <Component identifier="Bit10" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit10">Index11</VisibleName>
            </Component>
            <Component identifier="Bit11" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit11">Index12</VisibleName>
            </Component>
            <Component identifier="Bit12" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit12">Index13</VisibleName>
            </Component>
            <Component identifier="Bit13" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit13">Index14</VisibleName>
            </Component>
            <Component identifier="Bit14" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit14">Index15</VisibleName>
            </Component>
            <Component identifier="Bit15" type="std:BOOL">
                <Default />
                <VisibleName name="local:TBitStringDWord.Bit15">Index16</VisibleName>
            </Component>
        </BitfieldType>
        <StructType name="TChannelByte">
            <Component identifier="Byte0" type="local:TBitStringByte">
                <Default />
                <VisibleName name="local:TChannelByte.Byte0">Byte</VisibleName>
            </Component>
        </StructType>
        <StructType name="TChanneHalfByte">
            <Component identifier="Byte0" type="local:TBitStringHalfByte">
                <Default />
                <VisibleName name="local:TChanneHalfByte.Byte0">Byte</VisibleName>
            </Component>
        </StructType>
        <StructType name="TChannel2Byte">
            <Component identifier="Byte0" type="local:TBitStringByte">
                <Default />
                <VisibleName name="local:TChannel2Byte.Byte0">Byte0</VisibleName>
            </Component>
            <Component identifier="Byte1" type="local:TBitStringByte">
                <Default />
                <VisibleName name="local:TChannel2Byte.Byte1">Byte1</VisibleName>
            </Component>
        </StructType>
        <StructType name="TChannel4Byte">
            <Component identifier="Byte0" type="local:TBitStringByte">
                <Default />
                <VisibleName name="local:TChannel3Byte.Byte0">Byte0</VisibleName>
            </Component>
            <Component identifier="Byte1" type="local:TBitStringByte">
                <Default />
                <VisibleName name="local:TChannel3Byte.Byte1">Byte1</VisibleName>
            </Component>
            <Component identifier="Byte2" type="local:TBitStringByte">
                <Default />
                <VisibleName name="local:TChannel3Byte.Byte2">Byte2</VisibleName>
            </Component>
            <Component identifier="Byte3" type="local:TBitStringByte">
                <Default />
                <VisibleName name="local:TChannel3Byte.Byte2">Byte3</VisibleName>
            </Component>
        </StructType>
        <StructType name="TChannelWord">
            <Component identifier="Word0" type="local:TBitStringWord">
                <Default />
                <VisibleName name="local:TChannelWord.Word0">Word</VisibleName>
            </Component>
        </StructType>
        <StructType name="TChannelDWord">
            <Component identifier="DWord0" type="local:TBitStringDWord">
                <Default />
                <VisibleName name="local:TChannelDWord.DWord0">DWord</VisibleName>
            </Component>
        </StructType>
    </Types>
    <Device hideInCatalogue="false">
        <DeviceIdentification>
            <!-- The information of this section is used for management in the device repository. It is not downloaded -->
            <Type>40108</Type>
            <!-- Id is a unsigned long in hex formnat. First part (unsigned short) of Id is vendor id. 0001 is reserved for template devices. Must be replaced with your vendor id! Second part is vendor specific. -->
            <Id>177a 0001</Id>
            <Version>20.24.12.26</Version>
        </DeviceIdentification>
        <DeviceInfo>
            <Name name="local:ModelName">IO Modules(C Series)</Name>
            <Description name="local:DeviceDescription">Descriptions of the Odot IO Modules(C Series)</Description>
            <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
            <OrderNumber>4711</OrderNumber>
        </DeviceInfo>
        <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
        <Connector moduleType="257" interface="Common.PCI" role="child" explicit="false" connectorId="1" hostpath="-1">
            <Slot count="1" allowEmpty="false"></Slot>
        </Connector>
        <!-- Parent connector. The moduleType is downloaded and can be evaluated by the IO driver, e.g. with CAL_IoMgrConfigGetFirstConnector .
          The interface must be of the same name as in the child connector of the submodules-->
        <Connector moduleType="40109" interface="MyCompany:SlotConnectorInterface" role="parent" explicit="false" connectorId="2" hostpath="1">
            <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
            <InterfaceName name="local:myInternalModuleConnector">Internal</InterfaceName>
            <!-- This is an example of a slot module. All submodules with module interface MyCompany:SlotConnectorInterface can be plugged -->
            <Slot allowempty="false" count="32" subdevicescollapsed="true">
                <!-- A default module for the first slot, defined locally in this file -->
                <!--        <DefaultModule>
          <LocalModuleId>65535</LocalModuleId>
        </DefaultModule> -->
                <!-- A default module for the second slot, defined in separte file SubModule.devdesc.xml -->
                <!--      <DefaultModule>
          <LocalModuleId>23456</LocalModuleId>
        </DefaultModule> -->
            </Slot>
            <DriverInfo needsBusCycle="true"></DriverInfo>
            <HostParameterSet>
                <Parameter ParameterId="393220" type="std:DWORD">
                    <Attributes channel="none" download="true" functional="false" offlineaccess="write" onlineaccess="readwrite" />
                    <Default>1234</Default>
                    <Name name="local:Id393220">DwordParameterOfTopModule</Name>
                    <Description name="local:Id393220.Desc">Test parameter</Description>
                </Parameter>
            </HostParameterSet>
        </Connector>
    </Device>
    <Modules>
        <Module>
            <ModuleId>65535</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">ModuleStatus</Name>
                <Description name="local:DeviceDescription">Status of IO Module</Description>
                <Vendor name="local:VendorName">MyCompany</Vendor>
                <OrderNumber>abc</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="40110" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="40111" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TBitStringUint16">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:in1">ModuleStatus</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <Module>
            <ModuleId>12345</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">SubModuleAsLocalModule</Name>
                <Description name="local:DeviceDescription">Description of the SubModule</Description>
                <Vendor name="local:VendorName">MyCompany</Vendor>
                <OrderNumber>abc</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="40110" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="40111" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:BYTE">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:in1">in1</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:BYTE">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>8</Default>
                        <Name name="local:in2">in2</Name>
                    </Parameter>
                    <Parameter ParameterId="393221" type="std:DWORD">
                        <Attributes channel="none" download="true" functional="false" offlineaccess="write" onlineaccess="readwrite" />
                        <Default>1234</Default>
                        <Name name="local:Id393221">DwordParameterOfSubModule</Name>
                        <Description name="local:Id393221.Desc">Test parameter</Description>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <Module>
            <ModuleId>23456</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">SubModuleAsLocalModule</Name>
                <Description name="local:DeviceDescription">Description of the SubModule</Description>
                <Vendor name="local:VendorName">MyCompany</Vendor>
                <OrderNumber>abc</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="40112" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <!-- Parent connector. The moduleType is downloaded and can be evaluated by the IO driver, e.g. with CAL_IoMgrConfigGetFirstConnector . -->
            <!-- moduleType: distinct information for the I/O driver; Range 0x0–0x7fff is assigned by 3S – Smart Software Solutions; Range from 0x8000 is customer specific -->
            <Connector moduleType="40113" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:BYTE">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:out1">out1</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:BYTE">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>8</Default>
                        <Name name="local:out2">out2</Name>
                    </Parameter>
                    <Parameter ParameterId="393222" type="std:DWORD">
                        <Attributes channel="none" download="true" functional="false" offlineaccess="write" onlineaccess="readwrite" />
                        <Default>1234</Default>
                        <Name name="local:Id393222">DwordParameterOfSubModule</Name>
                        <Description name="local:Id393222.Desc">Test parameter</Description>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- **************************************************C-Series Module************************************************** -->
        <!-- **************************************************C-Series Module************************************************** -->
        <!-- **************************************************C-Series Module************************************************** -->
        <!-- **************************************************C-Series Module************************************************** -->
        <!--================ Digital Input Module(CT-1xxx)================-->
        <!--================ Digital Input Module(CT-1xxx)================-->
        <!-- CT-1218 (8DI 24Vdc) Sink Input -->
        <Module>
            <ModuleId>0x20001218</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-1218</Name>
                <Description name="local:DeviceDescription">(8DI 24Vdc) Sink Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20001218</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41100" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="4632" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelByte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:in1">Digital Input</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-121F (16DI 24Vdc) Sink Input -->
        <Module>
            <ModuleId>0x2000121F</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-121F</Name>
                <Description name="local:DeviceDescription">(16DI 24Vdc) Sink Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x2000121F</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41101" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="4639" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Input</Name>
                    </Parameter>
                    <Parameter ParameterId="4639" type="std:DWORD">
                        <Attributes channel="none" download="true" functional="false" offlineaccess="write" onlineaccess="readwrite" />
                        <Default>4639</Default>
                        <Name name="local:Id34639">DwordParameterOfSubModule</Name>
                        <Description name="local:Id34639.Desc">Test parameter</Description>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-1228 (8DI 24Vdc) Source Input-->
        <Module>
            <ModuleId>0x20001228</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-1228</Name>
                <Description name="local:DeviceDescription">(8DI 24Vdc) Source Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20001228</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41102" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="4648" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelByte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:in1">Digital Input</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-122F (16DI 24Vdc) Source Input-->
        <Module>
            <ModuleId>0x2000122F</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-122F</Name>
                <Description name="local:DeviceDescription">(16DI 24Vdc) Source Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x2000122F</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41103" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="4655" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:in1">Digital Input</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-124H (32DI 24Vdc) Source or Sink Input-->
        <Module>
            <ModuleId>0x200012CF</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-124H</Name>
                <Description name="local:DeviceDescription">(32DI 24Vdc) Source or Sink Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x200012CF</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41104" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="4815" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelDWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Input</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-124D (32DI 24Vdc) Source or Sink Input-->
        <Module>
            <ModuleId>0x2000124D</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-124D</Name>
                <Description name="local:DeviceDescription">(32DI 24Vdc) Source or Sink Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x2000124D</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41105" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="4685" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelDWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Input</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-1314 (4DI 220Vac) AC Input-->
        <Module>
            <ModuleId>0x20001314</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-1314</Name>
                <Description name="local:DeviceDescription">(4DI 220Vac) AC Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20001314</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41106" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="4884" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChanneHalfByte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:in1">Digital Input</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>


        <!--================ Digital Input Module(CT-1xxx)================-->
        <!--================ Digital Input Module(CT-1xxx)================-->
        <!--================ Digital Output Module(CT-2xxx)================-->
        <!--================ Digital Output Module(CT-2xxx)================-->
        <!-- CT-221F (16DO 24Vdc) Sink Output TTL-->
        <Module>
            <ModuleId>0x2000221F</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-221F</Name>
                <Description name="local:DeviceDescription">(16DO 24Vdc) Sink Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x2000221F</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41200" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8735" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:out1">Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-221H (32DO 24Vdc) Sink Output TTL-->
        <Module>
            <ModuleId>0x2000229F</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-221H</Name>
                <Description name="local:DeviceDescription">(32DO 24Vdc) Sink Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
          <OrderNumber>0x2000229F</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41201" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8863" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelDWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-2224 (4DO 24Vdc) Source Output TTL-->
        <Module>
            <ModuleId>0x20002224</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-2224</Name>
                <Description name="local:DeviceDescription">(4DO 24Vdc) Source Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20002224</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41202" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8740" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChanneHalfByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:out1">Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-2228 (8DO 24Vdc) Source Output TTL-->
        <Module>
            <ModuleId>0x20002228</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-2228</Name>
                <Description name="local:DeviceDescription">(8DO 24Vdc) Source Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20002228</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41203" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8744" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:out1">Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-222F (16DO 24Vdc) Source Output TTL-->
        <Module>
            <ModuleId>0x2000222F</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-222F</Name>
                <Description name="local:DeviceDescription">(16DO 24Vdc) Source Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x2000222F</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41204" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8751" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Output</Name>
                    </Parameter>
                    <Parameter ParameterId="38751" type="std:DWORD">
                        <Attributes channel="none" download="true" functional="false" offlineaccess="write" onlineaccess="readwrite" />
                        <Default>38751</Default>
                        <Name name="local:Id38751">DwordParameterOfSubModule</Name>
                        <Description name="local:Id38751.Desc">Test parameter</Description>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-222H (32DO 24Vdc) Source Output TTL-->
        <Module>
            <ModuleId>0x200022AF</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-222H</Name>
                <Description name="local:DeviceDescription">(32DO 24Vdc) Source Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x200022AF</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41205" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8879" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelDWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-2718 (8DO Relay Output) Monostable Type-->
        <Module>
            <ModuleId>0x20002718</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-2718</Name>
                <Description name="local:DeviceDescription">(8DO Relay) Output</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20002718</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41206" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="10008" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:out1">Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-2738 (8DO Relay Output) Monostable Type-->
        <Module>
            <ModuleId>0x20002738</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-2738</Name>
                <Description name="local:DeviceDescription">(8DO Relay) Output</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20002738</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41207" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="10040" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:out1">Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-2754 (8DO Relay Output) Monostable Type-->
        <Module>
            <ModuleId>0x20002754</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-2754</Name>
                <Description name="local:DeviceDescription">(4DO Relay) Output</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20002754</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41208" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="10068" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChanneHalfByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:out1">Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-2218 (8DO 24Vdc) Sink Output TTL-->
        <Module>
            <ModuleId>0x20002218</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-2218</Name>
                <Description name="local:DeviceDescription">(8DO 24Vdc) Sink Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20002218</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41209" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8728" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:out1">Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-222D (32DO 24Vdc) Source Output TTL-->
        <Module>
            <ModuleId>0x2000222D</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-222D</Name>
                <Description name="local:DeviceDescription">(32DO 24Vdc) Source Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x2000222D</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41210" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8749" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelDWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-2794(4DO Relay Output 220VAC) Monostable High-power Type-->
        <Module>
            <ModuleId>0x20002794</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-2794</Name>
                <Description name="local:DeviceDescription">(4DO Relay) Output 220VAC</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20002794</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41211" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="10132" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChanneHalfByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:out1">Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-221D (32DO 24Vdc) Sink Output TTL-->
        <Module>
            <ModuleId>0x2000221D</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-221D</Name>
                <Description name="local:DeviceDescription">(32DO 24Vdc) Sink Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x2000221D</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41212" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8733" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelDWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-225F (16DO 24Vdc) Sink Output TTL-->
        <Module>
            <ModuleId>0x2000225F</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-225F</Name>
                <Description name="local:DeviceDescription">(16DO 24Vdc) Sink Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x2000225F</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41213" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8799" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>

        <!-- CT-226F (16DO 24Vdc) Source-->
        <Module>
            <ModuleId>0x2000226F</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-226F</Name>
                <Description name="local:DeviceDescription">(16DO 24Vdc) Sink Output TTL</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x2000226F</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41214" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="8815" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Output</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>        
        <!--================ Digital Output Module(CT-2xxx)================-->
        <!--================ Digital Output Module(CT-2xxx)================-->
        <!--================ Analog Input Module(CT-3xxx)================-->
        <!--================ Analog Input Module(CT-3xxx)================-->
        <!-- CT-3158 (8AI 0~5Vdc , -5~5Vdc , 0~10Vdc , -10~10Vdc Input) 12bit-->
        <Module>
            <ModuleId>0x20003158</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3158</Name>
                <Description name="local:DeviceDescription">8AI 0-5,0-10,±5,±10 Vdc 12bit</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003158</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41300" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="12632" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 5)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 6)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 7)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3168 (8AI 0~5Vdc , -5~5Vdc , 0~10Vdc , -10~10Vdc Input) 16bit-->
        <Module>
            <ModuleId>0x20003168</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3168</Name>
                <Description name="local:DeviceDescription">8AI 0-5,0-10,±5,±10 Vdc 16bit</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003168</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41301" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="12648" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 5)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 6)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 7)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3234 (4AI 0~20mA , 4~20mA Input) 2-wire Single -->
        <Module>
            <ModuleId>0x20003234</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3234</Name>
                <Description name="local:DeviceDescription">(4AI 0~20mA , 4~20mA Input) 2-wire Single</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003234</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41302" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="12852" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3238 (8AI 0~20mA , 4~20mA Input) 2-wire Single -->
        <Module>
            <ModuleId>0x20003238</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3238</Name>
                <Description name="local:DeviceDescription">(8AI 0~20mA , 4~20mA Input) 2-wire Single</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003238</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41303" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="12856" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 5)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 6)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 7)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3258 (8AI 0~20mA , -20~0mA , 卤20mA Input) 2-wire Single -->
        <Module>
            <ModuleId>0x20003258</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3258</Name>
                <Description name="local:DeviceDescription">(8AI 0~20mA,-20~0mA,±20mA Input) 2-wire Single</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003258</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41304" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="12888" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 5)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 6)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 7)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3268 (6AI 0~20mA , -20~0mA , 卤20mA Input) 2-wire Single -->
        <Module>
            <ModuleId>0x20003268</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3268</Name>
                <Description name="local:DeviceDescription">(6AI 0~20mA,-20~0mA,±20mA Input) 2-wire Single</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003268</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41305" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="12904" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 5)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 6)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 7)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3713 (3RTD PT100 Input) 2-wire/3-wire -->
        <Module>
            <ModuleId>0x20003713</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3713</Name>
                <Description name="local:DeviceDescription">(3RTD PT100 Input) 2-wire/3-wire</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003713</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41306" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14099" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3716 (6RTD PT100 Input) 2-wire/3-wire -->
        <Module>
            <ModuleId>0x20003716</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3716</Name>
                <Description name="local:DeviceDescription">(6RTD PT100 Input) 2-wire/3-wire</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003716</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41307" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14102" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 5)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3726 (6RTD PT1000 Input) 2-wire/3-wire -->
        <Module>
            <ModuleId>0x20003726</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3726</Name>
                <Description name="local:DeviceDescription">(6RTD PT1000 Input) 2-wire/3-wire</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003726</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41308" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14118" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 5)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>        
        <!-- CT-3723 (3RTD PT1000 Input) 2-wire/3-wire -->
        <Module>
            <ModuleId>0x20003723</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3723</Name>
                <Description name="local:DeviceDescription">(3RTD PT1000 Input) 2-wire/3-wire</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003723</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41309" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14115" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3734 (4RTD PT100 Input) 2-wire/3-wire -->
        <Module>
            <ModuleId>0x20003734</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3734</Name>
                <Description name="local:DeviceDescription">(4RTD PT100 Input) 2-wire/3-wire</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003734</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41310" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14132" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>                         
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3744 (4RTD PT1000 Input) 2-wire/3-wire -->
        <Module>
            <ModuleId>0x20003744</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3744</Name>
                <Description name="local:DeviceDescription">(4RTD PT1000 Input) 2-wire/3-wire</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003744</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41311" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14148" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>                    
                </HostParameterSet>
            </Connector>
        </Module>        
        <!-- CT-3804 (4TC Input) -->
        <Module>
            <ModuleId>0x20003804</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3804</Name>
                <Description name="local:DeviceDescription">4TC Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003804</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41312" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14340" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3808 (8TC Input) -->
        <Module>
            <ModuleId>0x20003808</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3808</Name>
                <Description name="local:DeviceDescription">8TC Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003808</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41313" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14344" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 5)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 6)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 7)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3134 (4AI 0~5Vdc , -5~5Vdc , 0~10Vdc , -10~10Vdc Input, Isolated) 16bit-->
        <Module>
            <ModuleId>0x20003134</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3134</Name>
                <Description name="local:DeviceDescription">4 AI(Isolated), 0~5Vdc, -5~5Vdc, 0~10Vdc, -10~10Vdc, 16bit</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003134</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41314" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="12596" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3834(4TC Input) -->
        <Module>
            <ModuleId>0x20003834</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3834</Name>
                <Description name="local:DeviceDescription">4TC Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003834</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41315" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14388" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>        
        <!-- CT-3844(4TC Input) -->
        <Module>
            <ModuleId>0x20003844</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3844</Name>
                <Description name="local:DeviceDescription">4TC Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003844</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41316" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14404" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3848(8TC Input) -->
        <Module>
            <ModuleId>0x20003848</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3848</Name>
                <Description name="local:DeviceDescription">8TC Input</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003848</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41317" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="14408" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 5)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 6)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 7)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-3274 (4AI 0~20mA , -20~0mA , ±20mA Input) 2-wire Single -->
        <Module>
            <ModuleId>0x20003274</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-3274</Name>
                <Description name="local:DeviceDescription">(4AI 0~20mA,-20~0mA,±20mA Input) 2-wire Single</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20003274</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41318" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="12916" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:INT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Input Data(CH 3)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>        
        <!--================ Analog Input Module(CT-3xxx)================-->
        <!--================ Analog Input Module(CT-3xxx)================-->
        <!--================ Analog Output Module(CT-4xxx)================-->
        <!--================ Analog Output Module(CT-4xxx)================-->
        <!-- CT-4154 (4AO 0~5V , 0~10V , -5~5V , -10~10V Output) -->
        <Module>
            <ModuleId>0x20004154</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-4154</Name>
                <Description name="local:DeviceDescription">4AO 0~5V, 0~10V, -5~5V, -10~10V Output</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20004154</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41400" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="16724" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:BYTE">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Reserved</Name>
                    </Parameter>
                    <Parameter ParameterId="2000" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 3)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-4158 (8AO 0~5V , 0~10V , -2.5~2.5V , -5~5V , -10~10V Output) -->
        <Module>
            <ModuleId>0x20004158</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-4158</Name>
                <Description name="local:DeviceDescription">8AO 0~5V, 0~10V, -2.5~2.5V, -5~5V, -10~10V Output</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20004158</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41401" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="16728" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelByte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:in1">Analog Diagnostic Input Data(CH 0-7)</Name>
                    </Parameter>
                    <Parameter ParameterId="2000" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="2004" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="2005" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 5)</Name>
                    </Parameter>
                    <Parameter ParameterId="2006" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 6)</Name>
                    </Parameter>
                    <Parameter ParameterId="2007" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 7)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-4234 (4AO 0~20mA , 4~20mA Output)  -->
        <Module>
            <ModuleId>0x20004234</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-4234</Name>
                <Description name="local:DeviceDescription">4AO 0~20mA , 4~20mA Output</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20004234</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41402" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="16948" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChanneHalfByte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:in1">Analog Diagnostic Input Data(CH 0-3)</Name>
                    </Parameter>
                    <Parameter ParameterId="2000" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 3)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        
        </Module>
        
        <!-- CT-4238 (8AO 0~20mA , 4~20mA Output)  -->
        <Module>
            <ModuleId>0x20004238</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-4238</Name>
                <Description name="local:DeviceDescription">8AO 0~20mA , 4~20mA Output</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20004238</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41403" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="16952" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannel2Byte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:in1">Analog Diagnostic Input Data(CH 0-7)</Name>
                    </Parameter>                 
                    <Parameter ParameterId="2000" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 2)</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 3)</Name>
                    </Parameter>
                    <Parameter ParameterId="2004" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 4)</Name>
                    </Parameter>
                    <Parameter ParameterId="2005" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 5)</Name>
                    </Parameter>
                    <Parameter ParameterId="2006" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 6)</Name>
                    </Parameter>
                    <Parameter ParameterId="2007" type="std:INT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Analog Output Data(CH 7)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>        
        <!--================ Analog Output Module(CT-4xxx)================-->
        <!--================ Analog Output Module(CT-4xxx)================-->
        <!--================ Special Module(CT-5xxx)================-->
        <!--================ Special Module(CT-5xxx)================-->
        <!-- CT-5102 (2xEncoder 5VDC) -->
        <Module>
            <ModuleId>0x20005102</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5102</Name>
                <Description name="local:DeviceDescription">2xEncoder 5VDC</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005102</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41500" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="20738" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:UINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Status(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:UINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Status(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Conuter Value(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Capture Value(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value1(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value2(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Conuter Value(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Capture Value(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1008" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value1(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1009" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value2(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2000" type="std:UINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Control(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="std:UINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Control(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="std:DINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Set Value for Counter(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="std:DINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Set Value for Counter(CH 1)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5112 (2xEncoder 24VDC) -->
        <Module>
            <ModuleId>0x20005112</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5112</Name>
                <Description name="local:DeviceDescription">2xEncoder 24VDC</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005112</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41501" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="20754" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:UINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Status(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:UINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Status(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Conuter Value(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Capture Value(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value1(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value2(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Conuter Value(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Capture Value(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1008" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value1(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1009" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value2(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2000" type="std:UINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Control(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="std:UINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Control(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="std:DINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Set Value for Counter(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="std:DINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Set Value for Counter(CH 1)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5122 (2xEncoder SSI) -->
        <Module>
            <ModuleId>0x20005122</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5122</Name>
                <Description name="local:DeviceDescription">2xEncoder SSI</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005122</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41502" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="20770" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:UINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Status(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:UINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Status(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Absolute Position Value(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Capture Position Value(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Absolute Position Value(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Capture Position Value(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2000" type="std:UINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Control(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="std:UINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Control(CH 1)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5142 (2xEncoder Differential) -->
        <Module>
            <ModuleId>0x20005142</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5142</Name>
                <Description name="local:DeviceDescription">2xEncoder Differential</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005142</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41503" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="20802" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:UINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Status(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:UINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Status(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Conuter Value(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Capture Value(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value1(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value2(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Conuter Value(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Capture Value(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1008" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value1(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1009" type="std:REAL">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Measurements Value2(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2000" type="std:UINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Control(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="std:UINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Control(CH 1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="std:DINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Set Value for Counter(CH 0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="std:DINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Set Value for Counter(CH 1)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5212 (2xPulse output) -->
        <Module>
            <ModuleId>0x20005212</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5212</Name>
                <Description name="local:DeviceDescription">2xPulse output</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005212</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41502" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="21010" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TBitStringPulseStatus">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>模块状态检测</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:BYTE">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>脉冲状态标志(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:BYTE">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>脉冲状态标志(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="local:TBitStringPulseInputData0">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>脉冲模块 输入数据(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="local:TBitStringPulseInputData1">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>脉冲模块 输入数据(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:WORD">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>错误状态代码(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:WORD">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>错误状态代码(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>当前位置(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1008" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>当前速度(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1009" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>当前位置(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1010" type="std:DINT">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>当前速度(CH1)</Name>
                    </Parameter>                                         

                    <Parameter ParameterId="2000" type="std:BYTE">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>运动模式(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="std:BYTE">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>清除限位标志(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="local:TBitStringPulseOutputData">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>脉冲模块 输出数据(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="std:BYTE">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>运动模式(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2004" type="std:BYTE">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>清除限位标志(CH1)</Name>
                    </Parameter> 
                    <Parameter ParameterId="2005" type="local:TBitStringPulseOutputData">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>脉冲模块 输出数据(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2006" type="std:WORD">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>加速时间(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2007" type="std:WORD">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>减速时间(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2008" type="std:WORD">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>加速时间(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2009" type="std:WORD">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>减速时间(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2010" type="std:DWORD">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>运行速度(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2011" type="std:DINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>运行步数(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2012" type="std:DWORD">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>点动速度(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2013" type="std:DWORD">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>运行速度(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2014" type="std:DINT">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>运行步数(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2015" type="std:DWORD">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>点动速度(CH1)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>        
        <!-- CT-5321 (1CH RS485 Modbus Module) -->
        <Module>
            <ModuleId>0x20005321</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5321</Name>
                <Description name="local:DeviceDescription">1CH RS485 Modbus Module</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005321</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41504" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="21281" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet></HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5331 (1CH CANopen Master Module) -->
        <Module>
            <ModuleId>0x20005331</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5331</Name>
                <Description name="local:DeviceDescription">1CH CANopen Master Module</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005331</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41505" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="21297" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet></HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5341 (DP Master Module) -->
        <Module>
            <ModuleId>0x20005341</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5341</Name>
                <Description name="local:DeviceDescription">DP Master Module</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005341</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41506" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="21313" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet></HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5000 (Virtual Module)  -->
        <Module>
            <ModuleId>0x20005000</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5000</Name>
                <Description name="local:DeviceDescription">Virtual Module</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005000</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41507" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="20480" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet></HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5800 (Terminal Module) -->
        <Module>
            <ModuleId>0x20005800</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5800</Name>
                <Description name="local:DeviceDescription">Terminal Module</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005800</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41508" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="22528" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="false"></DriverInfo>
                <HostParameterSet></HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5224 (4DI&4DO&4PWM 24Vdc)  -->
        <Module>
            <ModuleId>0x20005224</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5224</Name>
                <Description name="local:DeviceDescription">(8DI 8DO 4PWM 24Vdc)</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005224</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41509" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="21028" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelByte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Input</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="local:TChannelByte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Short Diagnosis</Name>
                    </Parameter>        
                    <Parameter ParameterId="1002" type="local:TBitStringWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>PWM0_1 Status</Name>
                    </Parameter>                  
                    <Parameter ParameterId="1003" type="local:TBitStringWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>PWM2_3 Status</Name>
                    </Parameter>                                        
                    <Parameter ParameterId="2000" type="local:TChannelByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Digital Output</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="local:TBitStringWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>PWM0 Duty Cycle</Name>
                    </Parameter>    
                    <Parameter ParameterId="2002" type="local:TBitStringWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>PWM1 Duty Cycle</Name>
                    </Parameter>      
                    <Parameter ParameterId="2003" type="local:TBitStringWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>PWM0_1 Control Flags</Name>
                    </Parameter>         
                    <Parameter ParameterId="2004" type="local:TBitStringWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>PWM2 Duty Cycle</Name>
                    </Parameter>    
                    <Parameter ParameterId="2005" type="local:TBitStringWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>PWM3 Duty Cycle</Name>
                    </Parameter>      
                    <Parameter ParameterId="2006" type="local:TBitStringWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>PWM2_3 Control Flags</Name>
                    </Parameter>               
                </HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5710 (Extension Master)  -->
        <Module>
            <ModuleId>0x20005710</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5710</Name>
                <Description name="local:DeviceDescription">Extension Master</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005710</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41510" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="22288" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet></HostParameterSet>
            </Connector>
        </Module>        
        <!-- CT-5711 (Extension Master)  -->
        <Module>
            <ModuleId>0x20005711</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5711</Name>
                <Description name="local:DeviceDescription">Extension Master</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005711</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41511" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="22289" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet></HostParameterSet>
            </Connector>
        </Module>
        <!-- CT-5720 (Extension Slave)  -->
        <Module>
            <ModuleId>0x20005720</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5720</Name>
                <Description name="local:DeviceDescription">Extension Slave</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005720</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41512" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="22304" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet></HostParameterSet>
            </Connector>
        </Module>        
        <!-- CT-5721 (Extension Slave)  -->
        <Module>
            <ModuleId>0x20005721</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-5721</Name>
                <Description name="local:DeviceDescription">Extension Slave</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20005721</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41513" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="22305" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet></HostParameterSet>
            </Connector>
        </Module>     
        <!--================ Special Module(CT-5xxx)================-->
        <!--================ Special Module(CT-5xxx)================-->
        <!--================ Multi-Module(CT-6xxx)================-->
        <!--================ Multi-Module(CT-6xxx)================-->
        <!-- CT-623F (8DI&8DO 24Vdc)  -->
        <Module>
            <ModuleId>0x2000623F</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-623F</Name>
                <Description name="local:DeviceDescription">(8DI 8DO 24Vdc)</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x2000623F</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41600" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="25151" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelByte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:in1">Digital Input</Name>
                    </Parameter>
                    <Parameter ParameterId="2000" type="local:TChannelByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name name="local:out1">Digital Output</Name>
                    </Parameter>
                    <Parameter ParameterId="55151" type="std:DWORD">
                        <Attributes channel="none" download="true" functional="false" offlineaccess="write" onlineaccess="readwrite" />
                        <Default>55151</Default>
                        <Name name="local:Id55151">DwordParameterOfSubModule</Name>
                        <Description name="local:Id55151.Desc">Test parameter</Description>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!--================ Multi-Module(CT-6xxx)================-->
        <!--================ Multi-Module(CT-6xxx)================-->
        <!--================ Power Module(CT-7xxx)================-->
        <!--================ Power Module(CT-7xxx)================-->
        <!-- CT-7221 (Power Extension)  -->
        <Module>
            <ModuleId>0x20007221</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">CT-7221</Name>
                <Description name="local:DeviceDescription">Power Extension Module 2A</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0x20007221</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41700" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="29217" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="false"></DriverInfo>
                <HostParameterSet></HostParameterSet>
            </Connector>
        </Module>
        <!--================ Power Module(CT-7xxx)================-->
        <!--================ Power Module(CT-7xxx)================-->

        <!--===========Counter Interface Module===========-->
        <!--===========Counter Interface Module===========-->

        <!-- Submodule-4DI Counter  -->
        <Module>
            <ModuleId>0xFFFFF007</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">DI Counter Module(4CH)</Name>
                <Description name="local:DeviceDescription">DI Counter Module(4CH)</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF007</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41901" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="61446" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 00)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 01)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 02)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 03)</Name>
                    </Parameter>

                    <Parameter ParameterId="2000" type="local:TChanneHalfByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Counter Reset(CH 00-03)</Name>
                    </Parameter>

                </HostParameterSet>
            </Connector>
        </Module>

        <!-- Submodule-8DI Counter  -->
        <Module>
            <ModuleId>0xFFFFF003</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">DI Counter Module(8CH)</Name>
                <Description name="local:DeviceDescription">DI Counter Module(8CH)</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF003</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41902" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="61443" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 00)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 01)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 02)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 03)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 04)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 05)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 06)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 07)</Name>
                    </Parameter>

                    <Parameter ParameterId="2000" type="local:TChannelByte">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Counter Reset(CH 00-07)</Name>
                    </Parameter>

                </HostParameterSet>
            </Connector>
        </Module>

        <!-- Submodule-16DI Counter  -->
        <Module>
            <ModuleId>0xFFFFF002</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">DI Counter Module(16CH)</Name>
                <Description name="local:DeviceDescription">DI Counter Module(16CH)</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF002</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41903" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="61442" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 00)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 01)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 02)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 03)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 04)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 05)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 06)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 07)</Name>
                    </Parameter>
                    <Parameter ParameterId="1008" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 08)</Name>
                    </Parameter>
                    <Parameter ParameterId="1009" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 09)</Name>
                    </Parameter>
                    <Parameter ParameterId="1010" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 10)</Name>
                    </Parameter>
                    <Parameter ParameterId="1011" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 11)</Name>
                    </Parameter>
                    <Parameter ParameterId="1012" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 12)</Name>
                    </Parameter>
                    <Parameter ParameterId="1013" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 13)</Name>
                    </Parameter>
                    <Parameter ParameterId="1014" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 14)</Name>
                    </Parameter>
                    <Parameter ParameterId="1015" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 15)</Name>
                    </Parameter>
                    <Parameter ParameterId="2000" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Counter Reset(CH 00-15)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>

        <!-- Submodule-32DI Counter  -->
        <Module>
            <ModuleId>0xFFFFF004</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">DI Counter Module(32CH)</Name>
                <Description name="local:DeviceDescription">DI Counter Module(32CH)</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF004</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41904" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="61444" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 00)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 01)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 02)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 03)</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 04)</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 05)</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 06)</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 07)</Name>
                    </Parameter>
                    <Parameter ParameterId="1008" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 08)</Name>
                    </Parameter>
                    <Parameter ParameterId="1009" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 09)</Name>
                    </Parameter>
                    <Parameter ParameterId="1010" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 10)</Name>
                    </Parameter>
                    <Parameter ParameterId="1011" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 11)</Name>
                    </Parameter>
                    <Parameter ParameterId="1012" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 12)</Name>
                    </Parameter>
                    <Parameter ParameterId="1013" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 13)</Name>
                    </Parameter>
                    <Parameter ParameterId="1014" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 14)</Name>
                    </Parameter>
                    <Parameter ParameterId="1015" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 15)</Name>
                    </Parameter>
                    <Parameter ParameterId="1016" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 16)</Name>
                    </Parameter>
                    <Parameter ParameterId="1017" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 17)</Name>
                    </Parameter>
                    <Parameter ParameterId="1018" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 18)</Name>
                    </Parameter>
                    <Parameter ParameterId="1019" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 19)</Name>
                    </Parameter>
                    <Parameter ParameterId="1020" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 20)</Name>
                    </Parameter>
                    <Parameter ParameterId="1021" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 21)</Name>
                    </Parameter>
                    <Parameter ParameterId="1022" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 22)</Name>
                    </Parameter>
                    <Parameter ParameterId="1023" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 23)</Name>
                    </Parameter>
                    <Parameter ParameterId="1024" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 24)</Name>
                    </Parameter>
                    <Parameter ParameterId="1025" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 25)</Name>
                    </Parameter>
                    <Parameter ParameterId="1026" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 26)</Name>
                    </Parameter>
                    <Parameter ParameterId="1027" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 27)</Name>
                    </Parameter>
                    <Parameter ParameterId="1028" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 28)</Name>
                    </Parameter>
                    <Parameter ParameterId="1029" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 29)</Name>
                    </Parameter>
                    <Parameter ParameterId="1030" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 30)</Name>
                    </Parameter>
                    <Parameter ParameterId="1031" type="std:dword">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Counter Value(CH 31)</Name>
                    </Parameter>

                    <Parameter ParameterId="2000" type="local:TChannelDWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Counter Reset(CH 00-31)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>

        <!-- Submodule-8DO Alarm  -->
        <Module>
            <ModuleId>0xFFFFF006</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">DO Alarm Module(8CH)</Name>
                <Description name="local:DeviceDescription">DO Alarm Module(8CH)</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF006</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41905" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="61446" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelByte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Channel Alarm(CH 0-7)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>

        <!-- Submodule-32DO Feild Power Detection  -->
        <Module>
            <ModuleId>0xFFFFF008</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">Feild Power Detection(32CH)</Name>
                <Description name="local:DeviceDescription">Feild Power Detection(32CH)</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF008</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41906" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="61448" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TBitStringHHByte">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Feild Power State(32CH)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>

        <!-- Submodule-编码器输出子模块  -->
        <Module>
            <ModuleId>0xFFFFF009</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">Encoder Output(2CH)</Name>
                <Description name="local:DeviceDescription">Encoder Output(2CH)</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF009</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41907" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="61449" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TBitStringEncoder1">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>错误诊断数据(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="local:TBitStringEncoder1">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>错误诊断数据(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="local:TChannelDWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>比较值(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="local:TChannelDWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>比较值(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2000" type="local:TBitStringEncoder2">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>输出控制(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="local:TBitStringEncoder2">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>输出控制(CH1)</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="local:TChannelDWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>比较值(CH0)</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="local:TChannelDWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>比较值(CH1)</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>

        <!--===========Comm Interface Module===========-->
        <!--===========Comm Interface Module===========-->
        <!--===========Input 0016 Words===========-->
        <Module>
            <ModuleId>0xFFFFF010</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">Input-16Words</Name>
                <Description name="local:DeviceDescription">Input 0016 Words</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF010</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41923" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="61456" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 000</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 001</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 002</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 003</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 004</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 005</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 006</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 007</Name>
                    </Parameter>
                    <Parameter ParameterId="1008" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 008</Name>
                    </Parameter>
                    <Parameter ParameterId="1009" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 009</Name>
                    </Parameter>
                    <Parameter ParameterId="1010" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 010</Name>
                    </Parameter>
                    <Parameter ParameterId="1011" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 011</Name>
                    </Parameter>
                    <Parameter ParameterId="1012" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 012</Name>
                    </Parameter>
                    <Parameter ParameterId="1013" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 013</Name>
                    </Parameter>
                    <Parameter ParameterId="1014" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 014</Name>
                    </Parameter>
                    <Parameter ParameterId="1015" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 015</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!--===========Input 0032 Words===========-->
        <Module>
            <ModuleId>0xFFFFF020</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">Input-32Words</Name>
                <Description name="local:DeviceDescription">Input 0032 Words</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF020</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41924" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="61472" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 000</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 001</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 002</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 003</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 004</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 005</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 006</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 007</Name>
                    </Parameter>
                    <Parameter ParameterId="1008" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 008</Name>
                    </Parameter>
                    <Parameter ParameterId="1009" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 009</Name>
                    </Parameter>
                    <Parameter ParameterId="1010" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 010</Name>
                    </Parameter>
                    <Parameter ParameterId="1011" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 011</Name>
                    </Parameter>
                    <Parameter ParameterId="1012" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 012</Name>
                    </Parameter>
                    <Parameter ParameterId="1013" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 013</Name>
                    </Parameter>
                    <Parameter ParameterId="1014" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 014</Name>
                    </Parameter>
                    <Parameter ParameterId="1015" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 015</Name>
                    </Parameter>
                    <Parameter ParameterId="1016" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 016</Name>
                    </Parameter>
                    <Parameter ParameterId="1017" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 017</Name>
                    </Parameter>
                    <Parameter ParameterId="1018" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 018</Name>
                    </Parameter>
                    <Parameter ParameterId="1019" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 019</Name>
                    </Parameter>
                    <Parameter ParameterId="1020" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 020</Name>
                    </Parameter>
                    <Parameter ParameterId="1021" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 021</Name>
                    </Parameter>
                    <Parameter ParameterId="1022" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 022</Name>
                    </Parameter>
                    <Parameter ParameterId="1023" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 023</Name>
                    </Parameter>
                    <Parameter ParameterId="1024" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 024</Name>
                    </Parameter>
                    <Parameter ParameterId="1025" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 025</Name>
                    </Parameter>
                    <Parameter ParameterId="1026" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 026</Name>
                    </Parameter>
                    <Parameter ParameterId="1027" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 027</Name>
                    </Parameter>
                    <Parameter ParameterId="1028" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 028</Name>
                    </Parameter>
                    <Parameter ParameterId="1029" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 029</Name>
                    </Parameter>
                    <Parameter ParameterId="1030" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 030</Name>
                    </Parameter>
                    <Parameter ParameterId="1031" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 031</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!--===========Input 0064 Words===========-->
        <Module>
            <ModuleId>0xFFFFF040</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">Input-64Words</Name>
                <Description name="local:DeviceDescription">Input 0064 Words</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF040</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41925" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="61504" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="1000" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 000</Name>
                    </Parameter>
                    <Parameter ParameterId="1001" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 001</Name>
                    </Parameter>
                    <Parameter ParameterId="1002" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 002</Name>
                    </Parameter>
                    <Parameter ParameterId="1003" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 003</Name>
                    </Parameter>
                    <Parameter ParameterId="1004" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 004</Name>
                    </Parameter>
                    <Parameter ParameterId="1005" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 005</Name>
                    </Parameter>
                    <Parameter ParameterId="1006" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 006</Name>
                    </Parameter>
                    <Parameter ParameterId="1007" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 007</Name>
                    </Parameter>
                    <Parameter ParameterId="1008" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 008</Name>
                    </Parameter>
                    <Parameter ParameterId="1009" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 009</Name>
                    </Parameter>
                    <Parameter ParameterId="1010" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 010</Name>
                    </Parameter>
                    <Parameter ParameterId="1011" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 011</Name>
                    </Parameter>
                    <Parameter ParameterId="1012" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 012</Name>
                    </Parameter>
                    <Parameter ParameterId="1013" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 013</Name>
                    </Parameter>
                    <Parameter ParameterId="1014" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 014</Name>
                    </Parameter>
                    <Parameter ParameterId="1015" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 015</Name>
                    </Parameter>
                    <Parameter ParameterId="1016" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 016</Name>
                    </Parameter>
                    <Parameter ParameterId="1017" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 017</Name>
                    </Parameter>
                    <Parameter ParameterId="1018" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 018</Name>
                    </Parameter>
                    <Parameter ParameterId="1019" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 019</Name>
                    </Parameter>
                    <Parameter ParameterId="1020" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 020</Name>
                    </Parameter>
                    <Parameter ParameterId="1021" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 021</Name>
                    </Parameter>
                    <Parameter ParameterId="1022" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 022</Name>
                    </Parameter>
                    <Parameter ParameterId="1023" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 023</Name>
                    </Parameter>
                    <Parameter ParameterId="1024" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 024</Name>
                    </Parameter>
                    <Parameter ParameterId="1025" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 025</Name>
                    </Parameter>
                    <Parameter ParameterId="1026" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 026</Name>
                    </Parameter>
                    <Parameter ParameterId="1027" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 027</Name>
                    </Parameter>
                    <Parameter ParameterId="1028" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 028</Name>
                    </Parameter>
                    <Parameter ParameterId="1029" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 029</Name>
                    </Parameter>
                    <Parameter ParameterId="1030" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 030</Name>
                    </Parameter>
                    <Parameter ParameterId="1031" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 031</Name>
                    </Parameter>
                    <Parameter ParameterId="1032" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 032</Name>
                    </Parameter>
                    <Parameter ParameterId="1033" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 033</Name>
                    </Parameter>
                    <Parameter ParameterId="1034" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 034</Name>
                    </Parameter>
                    <Parameter ParameterId="1035" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 035</Name>
                    </Parameter>
                    <Parameter ParameterId="1036" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 036</Name>
                    </Parameter>
                    <Parameter ParameterId="1037" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 037</Name>
                    </Parameter>
                    <Parameter ParameterId="1038" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 038</Name>
                    </Parameter>
                    <Parameter ParameterId="1039" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 039</Name>
                    </Parameter>
                    <Parameter ParameterId="1040" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 040</Name>
                    </Parameter>
                    <Parameter ParameterId="1041" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 041</Name>
                    </Parameter>
                    <Parameter ParameterId="1042" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 042</Name>
                    </Parameter>
                    <Parameter ParameterId="1043" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 043</Name>
                    </Parameter>
                    <Parameter ParameterId="1044" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 044</Name>
                    </Parameter>
                    <Parameter ParameterId="1045" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 045</Name>
                    </Parameter>
                    <Parameter ParameterId="1046" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 046</Name>
                    </Parameter>
                    <Parameter ParameterId="1047" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 047</Name>
                    </Parameter>
                    <Parameter ParameterId="1048" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 048</Name>
                    </Parameter>
                    <Parameter ParameterId="1049" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 049</Name>
                    </Parameter>
                    <Parameter ParameterId="1050" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 050</Name>
                    </Parameter>
                    <Parameter ParameterId="1051" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 051</Name>
                    </Parameter>
                    <Parameter ParameterId="1052" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 052</Name>
                    </Parameter>
                    <Parameter ParameterId="1053" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 053</Name>
                    </Parameter>
                    <Parameter ParameterId="1054" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 054</Name>
                    </Parameter>
                    <Parameter ParameterId="1055" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 055</Name>
                    </Parameter>
                    <Parameter ParameterId="1056" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 056</Name>
                    </Parameter>
                    <Parameter ParameterId="1057" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 057</Name>
                    </Parameter>
                    <Parameter ParameterId="1058" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 058</Name>
                    </Parameter>
                    <Parameter ParameterId="1059" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 059</Name>
                    </Parameter>
                    <Parameter ParameterId="1060" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 060</Name>
                    </Parameter>
                    <Parameter ParameterId="1061" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 061</Name>
                    </Parameter>
                    <Parameter ParameterId="1062" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 062</Name>
                    </Parameter>
                    <Parameter ParameterId="1063" type="local:TChannelWord">
                        <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Input Word 063</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!--===========Output 0016 Words===========-->
        <Module>
            <ModuleId>0xFFFFF810</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">Output-16Words</Name>
                <Description name="local:DeviceDescription">Output 0016 Words</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF810</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41908" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="63504" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 000</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 001</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 002</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 003</Name>
                    </Parameter>
                    <Parameter ParameterId="2004" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 004</Name>
                    </Parameter>
                    <Parameter ParameterId="2005" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 005</Name>
                    </Parameter>
                    <Parameter ParameterId="2006" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 006</Name>
                    </Parameter>
                    <Parameter ParameterId="2007" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 007</Name>
                    </Parameter>
                    <Parameter ParameterId="2008" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 008</Name>
                    </Parameter>
                    <Parameter ParameterId="2009" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 009</Name>
                    </Parameter>
                    <Parameter ParameterId="2010" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 010</Name>
                    </Parameter>
                    <Parameter ParameterId="2011" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 011</Name>
                    </Parameter>
                    <Parameter ParameterId="2012" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 012</Name>
                    </Parameter>
                    <Parameter ParameterId="2013" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 013</Name>
                    </Parameter>
                    <Parameter ParameterId="2014" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 014</Name>
                    </Parameter>
                    <Parameter ParameterId="2015" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 015</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!--===========Output 0032 Words===========-->
        <Module>
            <ModuleId>0xFFFFF820</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">Output-32Words</Name>
                <Description name="local:DeviceDescription">Output 0032 Words</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF820</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41909" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="63520" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 000</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 001</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 002</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 003</Name>
                    </Parameter>
                    <Parameter ParameterId="2004" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 004</Name>
                    </Parameter>
                    <Parameter ParameterId="2005" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 005</Name>
                    </Parameter>
                    <Parameter ParameterId="2006" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 006</Name>
                    </Parameter>
                    <Parameter ParameterId="2007" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 007</Name>
                    </Parameter>
                    <Parameter ParameterId="2008" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 008</Name>
                    </Parameter>
                    <Parameter ParameterId="2009" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 009</Name>
                    </Parameter>
                    <Parameter ParameterId="2010" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 010</Name>
                    </Parameter>
                    <Parameter ParameterId="2011" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 011</Name>
                    </Parameter>
                    <Parameter ParameterId="2012" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 012</Name>
                    </Parameter>
                    <Parameter ParameterId="2013" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 013</Name>
                    </Parameter>
                    <Parameter ParameterId="2014" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 014</Name>
                    </Parameter>
                    <Parameter ParameterId="2015" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 015</Name>
                    </Parameter>
                    <Parameter ParameterId="2016" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 016</Name>
                    </Parameter>
                    <Parameter ParameterId="2017" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 017</Name>
                    </Parameter>
                    <Parameter ParameterId="2018" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 018</Name>
                    </Parameter>
                    <Parameter ParameterId="2019" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 019</Name>
                    </Parameter>
                    <Parameter ParameterId="2020" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 020</Name>
                    </Parameter>
                    <Parameter ParameterId="2021" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 021</Name>
                    </Parameter>
                    <Parameter ParameterId="2022" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 022</Name>
                    </Parameter>
                    <Parameter ParameterId="2023" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 023</Name>
                    </Parameter>
                    <Parameter ParameterId="2024" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 024</Name>
                    </Parameter>
                    <Parameter ParameterId="2025" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 025</Name>
                    </Parameter>
                    <Parameter ParameterId="2026" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 026</Name>
                    </Parameter>
                    <Parameter ParameterId="2027" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 027</Name>
                    </Parameter>
                    <Parameter ParameterId="2028" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 028</Name>
                    </Parameter>
                    <Parameter ParameterId="2029" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 029</Name>
                    </Parameter>
                    <Parameter ParameterId="2030" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 030</Name>
                    </Parameter>
                    <Parameter ParameterId="2031" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 031</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>
        <!--===========Output 0064 Words===========-->
        <Module>
            <ModuleId>0xFFFFF840</ModuleId>
            <DeviceInfo>
                <Name name="local:SubModelName">Output-64Words</Name>
                <Description name="local:DeviceDescription">Output 0064 Words</Description>
                <Vendor name="local:VendorName">Sichuan ODOT Automation System Co., Ltd.</Vendor>
                <OrderNumber>0xFFFFF840</OrderNumber>
            </DeviceInfo>
            <!-- Child connector. The moduleType of the connector is evaluated by the IO driver. The interface must be of the same name as in the parent connector -->
            <Connector moduleType="41910" interface="MyCompany:SlotConnectorInterface" role="child" explicit="false" connectorId="1" hostpath="-1">
                <Slot count="1" allowEmpty="false"></Slot>
            </Connector>
            <Connector moduleType="63552" interface="MyCompany:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
                <!-- The interface name is used in for the tabs shown in CoDeSys (for example I/O mapping).  The given name is used as a prefix to the specific tab page. -->
                <InterfaceName name="local:InterfaceName">MyInterface</InterfaceName>
                <Var max="125"></Var>
                <DriverInfo needsBusCycle="true"></DriverInfo>
                <HostParameterSet>
                    <Parameter ParameterId="2000" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 000</Name>
                    </Parameter>
                    <Parameter ParameterId="2001" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 001</Name>
                    </Parameter>
                    <Parameter ParameterId="2002" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 002</Name>
                    </Parameter>
                    <Parameter ParameterId="2003" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 003</Name>
                    </Parameter>
                    <Parameter ParameterId="2004" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 004</Name>
                    </Parameter>
                    <Parameter ParameterId="2005" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 005</Name>
                    </Parameter>
                    <Parameter ParameterId="2006" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 006</Name>
                    </Parameter>
                    <Parameter ParameterId="2007" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 007</Name>
                    </Parameter>
                    <Parameter ParameterId="2008" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 008</Name>
                    </Parameter>
                    <Parameter ParameterId="2009" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 009</Name>
                    </Parameter>
                    <Parameter ParameterId="2010" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 010</Name>
                    </Parameter>
                    <Parameter ParameterId="2011" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 011</Name>
                    </Parameter>
                    <Parameter ParameterId="2012" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 012</Name>
                    </Parameter>
                    <Parameter ParameterId="2013" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 013</Name>
                    </Parameter>
                    <Parameter ParameterId="2014" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 014</Name>
                    </Parameter>
                    <Parameter ParameterId="2015" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 015</Name>
                    </Parameter>
                    <Parameter ParameterId="2016" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 016</Name>
                    </Parameter>
                    <Parameter ParameterId="2017" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 017</Name>
                    </Parameter>
                    <Parameter ParameterId="2018" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 018</Name>
                    </Parameter>
                    <Parameter ParameterId="2019" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 019</Name>
                    </Parameter>
                    <Parameter ParameterId="2020" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 020</Name>
                    </Parameter>
                    <Parameter ParameterId="2021" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 021</Name>
                    </Parameter>
                    <Parameter ParameterId="2022" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 022</Name>
                    </Parameter>
                    <Parameter ParameterId="2023" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 023</Name>
                    </Parameter>
                    <Parameter ParameterId="2024" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 024</Name>
                    </Parameter>
                    <Parameter ParameterId="2025" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 025</Name>
                    </Parameter>
                    <Parameter ParameterId="2026" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 026</Name>
                    </Parameter>
                    <Parameter ParameterId="2027" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 027</Name>
                    </Parameter>
                    <Parameter ParameterId="2028" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 028</Name>
                    </Parameter>
                    <Parameter ParameterId="2029" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 029</Name>
                    </Parameter>
                    <Parameter ParameterId="2030" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 030</Name>
                    </Parameter>
                    <Parameter ParameterId="2031" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 031</Name>
                    </Parameter>
                    <Parameter ParameterId="2032" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 032</Name>
                    </Parameter>
                    <Parameter ParameterId="2033" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 033</Name>
                    </Parameter>
                    <Parameter ParameterId="2034" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 034</Name>
                    </Parameter>
                    <Parameter ParameterId="2035" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 035</Name>
                    </Parameter>
                    <Parameter ParameterId="2036" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 036</Name>
                    </Parameter>
                    <Parameter ParameterId="2037" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 037</Name>
                    </Parameter>
                    <Parameter ParameterId="2038" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 038</Name>
                    </Parameter>
                    <Parameter ParameterId="2039" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 039</Name>
                    </Parameter>
                    <Parameter ParameterId="2040" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 040</Name>
                    </Parameter>
                    <Parameter ParameterId="2041" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 041</Name>
                    </Parameter>
                    <Parameter ParameterId="2042" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 042</Name>
                    </Parameter>
                    <Parameter ParameterId="2043" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 043</Name>
                    </Parameter>
                    <Parameter ParameterId="2044" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 044</Name>
                    </Parameter>
                    <Parameter ParameterId="2045" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 045</Name>
                    </Parameter>
                    <Parameter ParameterId="2046" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 046</Name>
                    </Parameter>
                    <Parameter ParameterId="2047" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 047</Name>
                    </Parameter>
                    <Parameter ParameterId="2048" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 048</Name>
                    </Parameter>
                    <Parameter ParameterId="2049" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 049</Name>
                    </Parameter>
                    <Parameter ParameterId="2050" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 050</Name>
                    </Parameter>
                    <Parameter ParameterId="2051" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 051</Name>
                    </Parameter>
                    <Parameter ParameterId="2052" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 052</Name>
                    </Parameter>
                    <Parameter ParameterId="2053" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 053</Name>
                    </Parameter>
                    <Parameter ParameterId="2054" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 054</Name>
                    </Parameter>
                    <Parameter ParameterId="2055" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 055</Name>
                    </Parameter>
                    <Parameter ParameterId="2056" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 056</Name>
                    </Parameter>
                    <Parameter ParameterId="2057" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 057</Name>
                    </Parameter>
                    <Parameter ParameterId="2058" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 058</Name>
                    </Parameter>
                    <Parameter ParameterId="2059" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 059</Name>
                    </Parameter>
                    <Parameter ParameterId="2060" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 060</Name>
                    </Parameter>
                    <Parameter ParameterId="2061" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 061</Name>
                    </Parameter>
                    <Parameter ParameterId="2062" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 062</Name>
                    </Parameter>
                    <Parameter ParameterId="2063" type="local:TChannelWord">
                        <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
                        <Default>0</Default>
                        <Name>Output Word 063</Name>
                    </Parameter>
                </HostParameterSet>
            </Connector>
        </Module>

        <!--===========Comm Interface Module===========-->
        <!--===========Comm Interface Module===========-->
        <!-- **************************************************C-Series Module************************************************** -->
        <!-- **************************************************C-Series Module************************************************** -->
        <!-- **************************************************C-Series Module************************************************** -->
        <!-- **************************************************C-Series Module************************************************** -->
    </Modules>
</DeviceDescription>
