<?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">
    <EnumType basetype="std:BYTE" name="MODULE_STATE">
      <Enum identifier="Deactivated">
        <Value>0</Value>
        <VisibleName name="Deactivated">Deactivated</VisibleName>
      </Enum>
      <Enum identifier="Activated">
        <Value>1</Value>
        <VisibleName name="Activated">Activated</VisibleName>
      </Enum>
    </EnumType>  
    <EnumType basetype="std:BYTE" name="OVERFLOW_MODE">
	  <Enum identifier="LINEAR">
        <Value>0</Value>
        <VisibleName name="LINEAR">LINEAR</VisibleName>
      </Enum>
      <Enum identifier="ROUND">
        <Value>1</Value>
        <VisibleName name="ROUND">ROUND</VisibleName>
      </Enum>
    </EnumType>    
    <EnumType basetype="std:BYTE" name="CNT_MODE">
	  <Enum identifier="AB_1">
        <Value>0</Value>
        <VisibleName name="AB_1">AB_1</VisibleName>
      </Enum>
      <Enum identifier="AB_2">
        <Value>1</Value>
        <VisibleName name="AB_2">AB_2</VisibleName>
      </Enum>
	  <Enum identifier="AB_4">
        <Value>2</Value>
        <VisibleName name="AB_4">AB_4</VisibleName>
      </Enum>
      <Enum identifier="CW_CCW">
        <Value>3</Value>
        <VisibleName name="CW_CCW">CW_CCW</VisibleName>
      </Enum>
	  <Enum identifier="PULSE_DIR">
        <Value>4</Value>
        <VisibleName name="PULSE_DIR">PULSE_DIR</VisibleName>
      </Enum>	
	  <Enum identifier="ONE_WAY">
        <Value>5</Value>
        <VisibleName name="ONE_WAY">ONE_WAY</VisibleName>
      </Enum>	  
    </EnumType>  
	<EnumType basetype="std:BYTE" name="SIGNAL_PORT">
	  <Enum identifier="X0(A)_X1(B)">
        <Value>0</Value>
        <VisibleName name="X0(A)_X1(B)">X0(A)_X1(B)</VisibleName>
      </Enum>
      <Enum identifier="X2(A)_X3(B)">
        <Value>1</Value>
        <VisibleName name="X2(A)_X3(B)">X2(A)_X3(B)</VisibleName>
      </Enum>
	  <Enum identifier="X4(A)_X5(B)">
        <Value>2</Value>
        <VisibleName name="X4(A)_X5(B)">X4(A)_X5(B)</VisibleName>
      </Enum>
      <Enum identifier="X6(A)_X7(B)">
        <Value>3</Value>
        <VisibleName name="X6(A)_X7(B)">X6(A)_X7(B)</VisibleName>
      </Enum>
	  <Enum identifier="X0">
        <Value>4</Value>
        <VisibleName name="X0">X0</VisibleName>
      </Enum>	
	  <Enum identifier="X1">
		<Value>5</Value>
        <VisibleName name="X1">X1</VisibleName>
      </Enum>
	  <Enum identifier="X2">
        <Value>6</Value>
        <VisibleName name="X2">X2</VisibleName>
      </Enum>	
	  <Enum identifier="X3">
		<Value>7</Value>
        <VisibleName name="X3">X3</VisibleName>
      </Enum>
	  <Enum identifier="X4">
		<Value>8</Value>
        <VisibleName name="X4">X4</VisibleName>
      </Enum>	
	  <Enum identifier="X5">
		<Value>9</Value>
        <VisibleName name="X5">X5</VisibleName>
      </Enum>
	  <Enum identifier="X6">
        <Value>10</Value>
        <VisibleName name="X6">X6</VisibleName>
      </Enum>	
	  <Enum identifier="X7">
        <Value>11</Value>
        <VisibleName name="X7">X7</VisibleName>
      </Enum>
	  <Enum identifier="X0(PULSE)_X1(DIR)">
        <Value>12</Value>
        <VisibleName name="X0(PULSE)_X1(DIR)">X0(PULSE)_X1(DIR)</VisibleName>
      </Enum>
      <Enum identifier="X2(PULSE)_X3(DIR)">
        <Value>13</Value>
        <VisibleName name="X2(PULSE)_X3(DIR)">X2(PULSE)_X3(DIR)</VisibleName>
      </Enum>
	  <Enum identifier="X4(PULSE)_X5(DIR)">
        <Value>14</Value>
        <VisibleName name="X4(PULSE)_X5(DIR)">X4(PULSE)_X5(DIR)</VisibleName>
      </Enum>
      <Enum identifier="X6(PULSE)_X7(DIR)">
        <Value>15</Value>
        <VisibleName name="X6(PULSE)_X7(DIR)">X6(PULSE)_X7(DIR)</VisibleName>
      </Enum>
	  <Enum identifier="X0(CW)_X1(CCW)">
        <Value>16</Value>
        <VisibleName name="X0(CW)_X1(CCW)">X0(CW)_X1(CCW)</VisibleName>
      </Enum>
      <Enum identifier="X2(CW)_X3(CCW)">
        <Value>17</Value>
        <VisibleName name="X2(CW)_X3(CCW)">X2(CW)_X3(CCW)</VisibleName>
      </Enum>
	  <Enum identifier="X4(CW)_X5(CCW)">
        <Value>18</Value>
        <VisibleName name="X4(CW)_X5(CCW)">X4(CW)_X5(CCW)</VisibleName>
      </Enum>
      <Enum identifier="X6(CW)_X7(CCW)">
        <Value>19</Value>
        <VisibleName name="X6(CW)_X7(CCW)">X6(CW)_X7(CCW)</VisibleName>
      </Enum>	  
    </EnumType>  	
	<EnumType basetype="std:BYTE" name="SIGNAL_SOURCE">
	  <Enum identifier="DISABLE_IN">
        <Value>0</Value>
        <VisibleName name="DISABLE_IN">DISABLE_IN</VisibleName>
      </Enum>
      <Enum identifier="X0_IN">
        <Value>1</Value>
        <VisibleName name="X0_IN">X0_IN</VisibleName>
      </Enum>
	  <Enum identifier="X1_IN">
        <Value>2</Value>
        <VisibleName name="X1_IN">X1_IN</VisibleName>
      </Enum>
      <Enum identifier="X2_IN">
        <Value>3</Value>
        <VisibleName name="X2_IN">X2_IN</VisibleName>
      </Enum>
	  <Enum identifier="X3_IN">
        <Value>4</Value>
        <VisibleName name="X3_IN">X3_IN</VisibleName>
      </Enum>	
      <Enum identifier="X4_IN">
        <Value>5</Value>
        <VisibleName name="X4_IN">X4_IN</VisibleName>
      </Enum>
	  <Enum identifier="X5_IN">
        <Value>6</Value>
        <VisibleName name="X5_IN">X5_IN</VisibleName>
      </Enum>
      <Enum identifier="X6_IN">
        <Value>7</Value>
        <VisibleName name="X6_IN">X6_IN</VisibleName>
      </Enum>
	  <Enum identifier="X7_IN">
        <Value>8</Value>
        <VisibleName name="X7_IN">X7_IN</VisibleName>
      </Enum>		  
    </EnumType> 
	<EnumType basetype="std:BYTE" name="IRQ_EDGE">
      <Enum identifier="RISING">
        <Value>0</Value>
        <VisibleName name="RISING">RISING</VisibleName>
      </Enum>
	  <Enum identifier="FALL">
        <Value>1</Value>
        <VisibleName name="FALL">FALL</VisibleName>
      </Enum>
      <Enum identifier="RISING_FALL">
        <Value>2</Value>
        <VisibleName name="RISING_FALL">RISING_FALL</VisibleName>
      </Enum>	
    </EnumType> 	
	<EnumType basetype="std:BYTE" name="SIGNAL_EDGE">
	  <Enum identifier="SOFT">
        <Value>0</Value>
        <VisibleName name="SOFT">SOFT</VisibleName>
      </Enum>
      <Enum identifier="RISING">
        <Value>1</Value>
        <VisibleName name="RISING">RISING</VisibleName>
      </Enum>
	  <Enum identifier="FALL">
        <Value>2</Value>
        <VisibleName name="FALL">FALL</VisibleName>
      </Enum>
      <Enum identifier="RISING_FALL">
        <Value>3</Value>
        <VisibleName name="RISING_FALL">RISING_FALL</VisibleName>
      </Enum>	
    </EnumType> 
	<EnumType basetype="std:BYTE" name="COMPARE_SWITCH">
	  <Enum identifier="DISABLE">
        <Value>0</Value>
        <VisibleName name="DISABLE">DISABLE</VisibleName>
      </Enum>
      <Enum identifier="ENABLE">
        <Value>1</Value>
        <VisibleName name="ENABLE">ENABLE</VisibleName>
      </Enum>	
	</EnumType> 	  
	<EnumType basetype="std:BYTE" name="COMPARE_TARGET">
	  <Enum identifier="DISABLE_OUT">
        <Value>0</Value>
        <VisibleName name="DISABLE_OUT">DISABLE_OUT</VisibleName>
      </Enum>
      <Enum identifier="Y0_OUT">
        <Value>1</Value>
        <VisibleName name="Y0_OUT">Y0_OUT</VisibleName>
      </Enum>
	  <Enum identifier="Y1_OUT">
        <Value>2</Value>
        <VisibleName name="Y1_OUT">Y1_OUT</VisibleName>
      </Enum>
      <Enum identifier="Y2_OUT">
        <Value>3</Value>
        <VisibleName name="Y2_OUT">Y2_OUT</VisibleName>
      </Enum>
	  <Enum identifier="Y3_OUT">
        <Value>4</Value>
        <VisibleName name="Y3_OUT">Y3_OUT</VisibleName>
      </Enum>
	  <Enum identifier="Y4_OUT">
        <Value>5</Value>
        <VisibleName name="Y4_OUT">Y4_OUT</VisibleName>
      </Enum>
	  <Enum identifier="Y5_OUT">
        <Value>6</Value>
        <VisibleName name="Y5_OUT">Y5_OUT</VisibleName>
      </Enum>
      <Enum identifier="Y6_OUT">
        <Value>7</Value>
        <VisibleName name="Y6_OUT">Y6_OUT</VisibleName>
      </Enum>
	  <Enum identifier="Y7_OUT">
        <Value>8</Value>
        <VisibleName name="Y7_OUT">Y7_OUT</VisibleName>
      </Enum>	
    </EnumType> 	
    <StructType name="IRQConfig">
      <Component identifier="OnOff" type="local:MODULE_STATE">
        <Default />
        <VisibleName name="local:IRQConfig.OnOff">OnOff</VisibleName>
      </Component>      
	  <Component identifier="Edge" type="local:IRQ_EDGE">
        <Default />
        <VisibleName name="local:IRQConfig.Edge">Edge</VisibleName>
      </Component>
    </StructType>  	  
    <StructType name="EncConfig13Byte">
      <Component identifier="OnOff" type="local:MODULE_STATE">
        <Default />
        <VisibleName name="local:EncConfig13Byte.OnOff">OnOff</VisibleName>
      </Component>      
	  <Component identifier="WorkMode" type="local:OVERFLOW_MODE">
        <Default />
        <VisibleName name="local:EncConfig13Byte.WorkMode">WorkMode</VisibleName>
      </Component>
      <Component identifier="CountMode" type="local:CNT_MODE">
        <Default />
        <VisibleName name="local:EncConfig13Byte.CountMode">CountMode</VisibleName>
      </Component>
      <Component identifier="SignalPort" type="local:SIGNAL_PORT">
        <Default />
        <VisibleName name="local:EncConfig13Byte.SignalPort">SignalPort</VisibleName>
      </Component>
	  <Component identifier="ResetSource" type="local:SIGNAL_SOURCE">
        <Default />
		<VisibleName name="local:EncConfig13Byte.ResetSource">ResetSource</VisibleName>
      </Component>
      <Component identifier="ResetEdge" type="local:SIGNAL_EDGE">
        <Default />
        <VisibleName name="local:EncConfig13Byte.ResetEdge">ResetEdge</VisibleName>
      </Component>
      <Component identifier="CompareOutput" type="local:COMPARE_TARGET">
        <Default />
        <VisibleName name="local:EncConfig13Byte.CompareOutput">CompareOutput</VisibleName>
      </Component>
      <Component identifier="PresetSource" type="local:SIGNAL_SOURCE">
        <Default />
        <VisibleName name="local:EncConfig13Byte.PresetSource">PresetSource</VisibleName>
      </Component>
	  <Component identifier="PresetEdge" type="local:SIGNAL_EDGE">
        <Default />
        <VisibleName name="local:EncConfig13Byte.PresetEdge">PresetEdge</VisibleName>
      </Component>
	  <Component identifier="Touch1Source" type="local:SIGNAL_SOURCE">
        <Default />
        <VisibleName name="local:EncConfig13Byte.Touch1Source">Touch1Source</VisibleName>
      </Component>
	  <Component identifier="Touch1Edge" type="local:SIGNAL_EDGE">
        <Default />
        <VisibleName name="local:EncConfig13Byte.Touch1Edge">Touch1Edge</VisibleName>
      </Component>
	  <Component identifier="Touch2Source" type="local:SIGNAL_SOURCE">
        <Default />
        <VisibleName name="local:EncConfig13Byte.Touch2Source">Touch2Source</VisibleName>
      </Component>
	  <Component identifier="Touch2Edge" type="local:SIGNAL_EDGE">
        <Default />
        <VisibleName name="local:EncConfig13Byte.Touch2Edge">Touch2Edge</VisibleName>
      </Component>	
	  <Component identifier="UpperLimit" type="std:DINT">
        <Default />
        <VisibleName name="local:EncConfig13Byte.UpperLimit">UpperLimit</VisibleName>
      </Component>
	  <Component identifier="LowerLimit" type="std:DINT">
        <Default />
        <VisibleName name="local:EncConfig13Byte.LowerLimit">LowerLimit</VisibleName>
      </Component>	
	  	  <Component identifier="PulseWidth" type="std:UINT">
        <Default />
        <VisibleName name="local:EncConfig13Byte.PulseWidth">PulseWidth</VisibleName>
      </Component>	
    </StructType>   
	<StructType name="EncData5Byte">
      <Component identifier="Value" type="std:DINT">
        <Default />
        <VisibleName name="local:EncDataBytes.Value">Value</VisibleName>
      </Component>  
      <Component identifier="Dir" type="std:BOOL">
        <Default />
        <VisibleName name="local:EncDataBytes.Dir">Dir</VisibleName>
      </Component> 	
      <Component identifier="LimitFlag" type="std:BYTE">
        <Default />
        <VisibleName name="local:EncDataBytes.LimitFlag">LimitFlag</VisibleName>
      </Component> 		  
	</StructType> 
    <BitfieldType basetype="std:BYTE" name="MotionSignalByte">
      <Component identifier="Positive" type="std:BOOL">
        <Default />
        <VisibleName name="local:MotionSignalByte.Positive">Positive</VisibleName>
      </Component>
      <Component identifier="Negative" type="std:BOOL">
        <Default />
        <VisibleName name="local:MotionSignalByte.Negative">Negative</VisibleName>
      </Component>
      <Component identifier="Home" type="std:BOOL">
        <Default />
        <VisibleName name="local:MotionSignalByte.Home">Home</VisibleName>
      </Component>
    </BitfieldType>  
   <BitfieldType basetype="std:BYTE" name="LocalInputByte">
      <Component identifier="X0" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalInputByte.X0">X0</VisibleName>
      </Component>
      <Component identifier="X1" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalInputByte.X1">X1</VisibleName>
      </Component>
      <Component identifier="X2" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalInputByte.X2">X2</VisibleName>
      </Component>
      <Component identifier="X3" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalInputByte.X3">X3</VisibleName>
      </Component>
      <Component identifier="X4" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalInputByte.X4">X4</VisibleName>
      </Component>
      <Component identifier="X5" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalInputByte.X5">X5</VisibleName>
      </Component>
      <Component identifier="X6" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalInputByte.X6">X6</VisibleName>
      </Component>
      <Component identifier="X7" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalInputByte.X7">X7</VisibleName>
      </Component>
    </BitfieldType>	
    <BitfieldType basetype="std:BYTE" name="LocalOutputByte">
      <Component identifier="Y0" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalOutputByte.Y0">Y0</VisibleName>
      </Component>
      <Component identifier="Y1" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalOutputByte.Y1">Y1</VisibleName>
      </Component>
      <Component identifier="Y2" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalOutputByte.Y2">Y2</VisibleName>
      </Component>
      <Component identifier="Y3" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalOutputByte.Y3">Y3</VisibleName>
      </Component>
      <Component identifier="Y4" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalOutputByte.Y4">Y4</VisibleName>
      </Component>
      <Component identifier="Y5" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalOutputByte.Y5">Y5</VisibleName>
      </Component>
      <Component identifier="Y6" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalOutputByte.Y6">Y6</VisibleName>
      </Component>
      <Component identifier="Y7" type="std:BOOL">
        <Default />
        <VisibleName name="local:LocalOutputByte.Y7">Y7</VisibleName>
      </Component>
    </BitfieldType>
    <EnumType basetype="std:BYTE" name="Y_MULTIPLEX">
      <Enum identifier="Normal output">
        <Value>0</Value>
        <VisibleName name="Normal output">Normal output</VisibleName>
      </Enum>
      <Enum identifier="Pulse output">
        <Value>1</Value>
        <VisibleName name="Pulse output">Pulse output</VisibleName>
      </Enum>
      <Enum identifier="Compare output">
        <Value>2</Value>
        <VisibleName name="Compare output">Compare output</VisibleName>
      </Enum>	  
    </EnumType>
  </Types>
  <Strings namespace="local">
    <Language lang="en">
      <String identifier="ModelName">IO-1AP-EC</String>
      <String identifier="VendorName">TIANJIN ELCO AUTOMATION CO.,LTD.</String>
      <String identifier="DeviceDescription">Description of the Device</String>
      <String identifier="typename">MySimpleDevice</String>
      <String identifier="typedescription">Description of the Device</String>
    </Language>
    <Language lang="zh-CHS">
      <String identifier="ModelName">IO-1AP-EC</String>
      <String identifier="VendorName">TIANJIN ELCO AUTOMATION CO.,LTD.</String>
      <String identifier="DeviceDescription">高速IO端口</String>
      <String identifier="typename">MySimpleDevice</String>
      <String identifier="typedescription">Description of the Device</String>
    </Language>	
  </Strings>
  <Device hideInCatalogue="false">
    <DeviceIdentification>
      <Type>40100</Type>
      <Id>1001 0014</Id>
      <Version>1.0.0.2</Version>
    </DeviceIdentification>
    <DeviceInfo>
      <Name name="local:ModelName">IO-1AP-EC</Name>
      <Description name="local:DeviceDescription">Description of the Device</Description>
      <Vendor name="local:VendorName">TIANJIN ELCO AUTOMATION CO.,LTD.</Vendor>
      <OrderNumber>???</OrderNumber>
    </DeviceInfo>
    <Connector moduleType="257" interface="Common.PCI" role="child" explicit="false" connectorId="1" hostpath="-1">
      <InterfaceName name="local:PCI">PCI-Bus</InterfaceName>
      <Slot count="1" allowEmpty="false">
      </Slot>
    </Connector>
    <Connector moduleType="40100" interface="Elco:Internal" role="parent" explicit="false" connectorId="2" hostpath="1">
      <InterfaceName name="local:DP">
      </InterfaceName>
      <Var max="125">
      </Var>
      <DriverInfo needsBusCycle="true">
      </DriverInfo>
      <HostParameterSet>
	    <Parameter ParameterId="1000" type="local:LocalInputByte">
		  <Attributes channel="input" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
		  <Default>0</Default>
		  <Name name="local:IN">IN</Name>
	    </Parameter>  
	    <Parameter ParameterId="1001" type="local:EncData5Byte">
		  <Attributes channel="input" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
		  <Default>0</Default>
		  <Name name="local:IN">ENC0</Name>
	    </Parameter>  		
	    <Parameter ParameterId="1002" type="local:EncData5Byte">
		  <Attributes channel="input" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
		  <Default>0</Default>
		  <Name name="local:IN">ENC1</Name>
	    </Parameter>  	
	    <Parameter ParameterId="1003" type="local:EncData5Byte">
		  <Attributes channel="input" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
		  <Default>0</Default>
		  <Name name="local:IN">ENC2</Name>
	    </Parameter>  	
		<Parameter ParameterId="1004" type="local:EncData5Byte">
		  <Attributes channel="input" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
		  <Default>0</Default>
		  <Name name="local:IN">ENC3</Name>
	    </Parameter>  	
	    <Parameter ParameterId="2000" type="local:LocalOutputByte">
		  <Attributes channel="output" download="true" functional="false" offlineaccess="readwrite" onlineaccess="readwrite" />
		  <Default>0</Default>
		  <Name name="local:OUT">OUT</Name>
	    </Parameter>
		<Parameter ParameterId="2001" type="local:MotionSignalByte">
		  <Attributes channel="output" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
		  <Default>0</Default>
		  <Name name="local:AXIS0">AXIS0</Name>
	    </Parameter>
		<Parameter ParameterId="2002" type="local:MotionSignalByte">
		  <Attributes channel="output" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
		  <Default>0</Default>
		  <Name name="local:AXIS1">AXIS1</Name>
	    </Parameter>
		<Parameter ParameterId="2003" type="local:MotionSignalByte">
		  <Attributes channel="output" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
		  <Default>0</Default>
		  <Name name="local:AXIS2">AXIS2</Name>
	    </Parameter>
		<Parameter ParameterId="2004" type="local:MotionSignalByte">
		  <Attributes channel="output" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
		  <Default>0</Default>
		  <Name name="local:AXIS3">AXIS3</Name>
	    </Parameter>
        <Parameter ParameterId="6000" type="local:EncConfig13Byte">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="WorkMode" >0</Element>
              <Element name="CountMode">0</Element>
              <Element name="SignalPort">0</Element>
              <Element name="ResetSource" >0</Element>
              <Element name="ResetEdge">0</Element>
              <Element name="CompareOutput">0</Element>
			  <Element name="PresetSource" >0</Element>
              <Element name="PresetEdge">0</Element>
              <Element name="Touch1Source">0</Element>
              <Element name="Touch1Edge" >0</Element>
              <Element name="Touch2Source">0</Element>
              <Element name="Touch2Edge" >0</Element>
			  <Element name="UpperLimit" >2147483647</Element>
              <Element name="LowerLimit">-2147483648</Element>
              <Element name="PulseWidth" >0</Element>	
            </Default>	
          <Name name="local:ENC0">ENC0</Name>
          <Description name="local:ENC0.Desc">Encoder0 Config</Description>
        </Parameter>	
		<Parameter ParameterId="6001" type="local:EncConfig13Byte">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="WorkMode" >0</Element>
              <Element name="CountMode">0</Element>
              <Element name="SignalPort">1</Element>
              <Element name="ResetSource" >0</Element>
              <Element name="ResetEdge">0</Element>		  
              <Element name="CompareOutput">0</Element>
			  <Element name="PresetSource" >0</Element>
              <Element name="PresetEdge">0</Element>
              <Element name="Touch1Source">0</Element>
              <Element name="Touch1Edge" >0</Element>
              <Element name="Touch2Source">0</Element>
              <Element name="Touch2Edge" >0</Element>
			  <Element name="UpperLimit" >2147483647</Element>
              <Element name="LowerLimit">-2147483648</Element>
              <Element name="PulseWidth" >0</Element>	
            </Default>	
          <Name name="local:ENC1">ENC1</Name>
          <Description name="local:ENC1.Desc">Encoder1 Config</Description>
        </Parameter>
        <Parameter ParameterId="6002" type="local:EncConfig13Byte">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="WorkMode" >0</Element>
              <Element name="CountMode">0</Element>
              <Element name="SignalPort">2</Element>
              <Element name="ResetSource" >0</Element>
              <Element name="ResetEdge">0</Element>	  
              <Element name="CompareOutput">0</Element>
			  <Element name="PresetSource" >0</Element>
              <Element name="PresetEdge">0</Element>
              <Element name="Touch1Source">0</Element>
              <Element name="Touch1Edge" >0</Element>
              <Element name="Touch2Source">0</Element>
              <Element name="Touch2Edge" >0</Element>		
			  <Element name="UpperLimit" >2147483647</Element>
              <Element name="LowerLimit">-2147483648</Element>
              <Element name="PulseWidth" >0</Element>	
            </Default>	
          <Name name="local:ENC2">ENC2</Name>
          <Description name="local:ENC2.Desc">Encoder2 Config</Description>
        </Parameter>			
        <Parameter ParameterId="6003" type="local:EncConfig13Byte">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="WorkMode" >0</Element>
              <Element name="CountMode">0</Element>
              <Element name="SignalPort">3</Element>
              <Element name="ResetSource" >0</Element>
              <Element name="ResetEdge">0</Element>		  
              <Element name="CompareOutput">0</Element>
			  <Element name="PresetSource" >0</Element>
              <Element name="PresetEdge">0</Element>
              <Element name="Touch1Source">0</Element>
              <Element name="Touch1Edge" >0</Element>
              <Element name="Touch2Source">0</Element>
              <Element name="Touch2Edge" >0</Element>	
			  <Element name="UpperLimit" >2147483647</Element>
              <Element name="LowerLimit">-2147483648</Element>
              <Element name="PulseWidth" >0</Element>
            </Default>	
          <Name name="local:ENC3">ENC3</Name>
          <Description name="local:ENC3.Desc">Encoder3 Config</Description>
        </Parameter>		
        <Parameter ParameterId="6004" type="local:Y_MULTIPLEX">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:Y0">Y0</Name>
          <Description name="local:Y_MULTIPLEX.Desc">if Pulse output mode,the pin is Pulse(Axis0)</Description>
        </Parameter>
        <Parameter ParameterId="6005" type="local:Y_MULTIPLEX">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:Y1">Y1</Name>
          <Description name="local:Y_MULTIPLEX.Desc">if Pulse output mode,the pin is Direction(Axis0)</Description>
        </Parameter>
        <Parameter ParameterId="6006" type="local:Y_MULTIPLEX">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:Y2">Y2</Name>
          <Description name="local:Y_MULTIPLEX.Desc">if Pulse output mode,the pin is Pulse(Axis1)</Description>
        </Parameter>
        <Parameter ParameterId="6007" type="local:Y_MULTIPLEX">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:Y3">Y3</Name>
          <Description name="local:Y_MULTIPLEX.Desc">if Pulse output mode,the pin is Direction(Axis1)</Description>
        </Parameter>
        <Parameter ParameterId="6008" type="local:Y_MULTIPLEX">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:Y4">Y4</Name>
          <Description name="local:Y_MULTIPLEX.Desc">if Pulse output mode,the pin is Pulse(Axis2)</Description>
        </Parameter>
        <Parameter ParameterId="6009" type="local:Y_MULTIPLEX">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:Y5">Y5</Name>
          <Description name="local:Y_MULTIPLEX.Desc">if Pulse output mode,the pin is Direction(Axis2)</Description>
        </Parameter>
        <Parameter ParameterId="6010" type="local:Y_MULTIPLEX">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:Y6">Y6</Name>
          <Description name="local:Y_MULTIPLEX.Desc">if Pulse output mode,the pin is Pulse(Axis3)</Description>
        </Parameter>
        <Parameter ParameterId="6011" type="local:Y_MULTIPLEX">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:Y7">Y7</Name>
          <Description name="local:Y_MULTIPLEX.Desc">if Pulse output mode,the pin is Direction(Axis3)</Description>
        </Parameter>	
		<Parameter ParameterId="6012" type="local:IRQConfig">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="Edge" >0</Element>
            </Default>	
          <Name name="local:IRQ0">IRQ0</Name>
          <Description name="local:IRQ0.Desc">IRQ0 pin is X0</Description>
        </Parameter>
		<Parameter ParameterId="6013" type="local:IRQConfig">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="Edge" >0</Element>
            </Default>	
          <Name name="local:IRQ1">IRQ1</Name>
          <Description name="local:IRQ1.Desc">IRQ1 pin is X1</Description>
        </Parameter>
		<Parameter ParameterId="6014" type="local:IRQConfig">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="Edge" >0</Element>
            </Default>	
          <Name name="local:IRQ2">IRQ2</Name>
          <Description name="local:IRQ2.Desc">IRQ2 pin is X2</Description>
        </Parameter>
		<Parameter ParameterId="6015" type="local:IRQConfig">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="Edge" >0</Element>
            </Default>	
          <Name name="local:IRQ3">IRQ3</Name>
          <Description name="local:IRQ3.Desc">IRQ3 pin is X3</Description>
        </Parameter>		
		<Parameter ParameterId="6016" type="local:IRQConfig">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="Edge" >0</Element>
            </Default>	
          <Name name="local:IRQ4">IRQ4</Name>
          <Description name="local:IRQ4.Desc">IRQ4 pin is X4</Description>
        </Parameter>
		<Parameter ParameterId="6017" type="local:IRQConfig">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="Edge" >0</Element>
            </Default>	
          <Name name="local:IRQ5">IRQ5</Name>
          <Description name="local:IRQ5.Desc">IRQ5 pin is X5</Description>
        </Parameter>
		<Parameter ParameterId="6018" type="local:IRQConfig">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="Edge" >0</Element>
            </Default>	
          <Name name="local:IRQ6">IRQ6</Name>
          <Description name="local:IRQ6.Desc">IRQ6 pin is X6</Description>
        </Parameter>
		<Parameter ParameterId="6019" type="local:IRQConfig">
          <Attributes channel="none" download="true" functional="false" offlineaccess="read" onlineaccess="read" />
			<Default>
              <Element name="OnOff" >0</Element>				
              <Element name="Edge" >0</Element>
            </Default>	
          <Name name="local:IRQ7">IRQ7</Name>
          <Description name="local:IRQ7.Desc">IRQ7 pin is X7</Description>
        </Parameter>	
		
      </HostParameterSet>
    </Connector>
  </Device>
</DeviceDescription>