﻿<?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="localTypes">
    <EnumType basetype="std:BYTE" name="Home_PMethod">
      <Enum identifier="Method1">
        <Value>1</Value>
        <VisibleName name="local:Method1">方式0-标准回零模式1-负向运动找极限和零点</VisibleName>
      </Enum>
      <Enum identifier="Method2">
        <Value>2</Value>
        <VisibleName name="local:Method2">方式1-标准回零模式2-正向运动找极限和零点</VisibleName>
      </Enum>
      <Enum identifier="Method17">
        <Value>17</Value>
        <VisibleName name="local:Method17">方式2-标准回零模式17-负向运动找极限</VisibleName>
      </Enum>
      <Enum identifier="Method18">
        <Value>18</Value>
        <VisibleName name="local:Method18">方式3-标准回零模式18-正向运动找极限</VisibleName>
      </Enum>
      <Enum identifier="Method24">
        <Value>24</Value>
        <VisibleName name="local:Method24">方式4-标准回零模式24-正向运动找零点和极限</VisibleName>
      </Enum>
      <Enum identifier="Method28">
        <Value>28</Value>
        <VisibleName name="local:Method28">方式5-标准回零模式28-负向运动找零点和极限</VisibleName>
      </Enum>
      <Enum identifier="Method33">
        <Value>33</Value>
        <VisibleName name="local:Method33">方式6-标准回零模式33-负向运动找零点</VisibleName>
      </Enum>
      <Enum identifier="Method34">
        <Value>34</Value>
        <VisibleName name="local:Method34">方式7-标准回零模式34-正向运动找零点</VisibleName>
      </Enum>
      <Enum identifier="Method35">
        <Value>35</Value>
        <VisibleName name="local:Method35">方式8-标准回零模式35-轴的当前位置是原点</VisibleName>
      </Enum>
    </EnumType>
    <EnumType basetype="std:BYTE" name="PulseType">
      <Enum identifier="type0">
        <Value>0</Value>
        <VisibleName name="local:type0">AB相四倍频脉冲</VisibleName>
      </Enum>
      <Enum identifier="type1">
        <Value>1</Value>
        <VisibleName name="local:type1">脉冲+方向 正逻辑</VisibleName>
      </Enum>
      <Enum identifier="type2">
        <Value>2</Value>
        <VisibleName name="local:type2">脉冲+方向 负逻辑</VisibleName>
      </Enum>
      <Enum identifier="type3">
        <Value>3</Value>
        <VisibleName name="local:type3">CW+CCW 正逻辑</VisibleName>
      </Enum>
      <Enum identifier="type4">
        <Value>4</Value>
        <VisibleName name="local:type4">CW+CCW 负逻辑</VisibleName>
      </Enum>
      <Enum identifier="type5">
        <Value>5</Value>
        <VisibleName name="local:type5">单脉冲</VisibleName>
      </Enum>
    </EnumType>
    <EnumType basetype="std:BYTE" name="PulseDirection">
      <Enum identifier="type0">
        <Value>0</Value>
        <VisibleName name="local:type0">正向</VisibleName>
      </Enum>
      <Enum identifier="type1">
        <Value>1</Value>
        <VisibleName name="local:type1">反向</VisibleName>
      </Enum>
    </EnumType>
    <EnumType basetype="std:BYTE" name="InputPolarity">
      <Enum identifier="NormalLow">
        <Value>0</Value>
        <VisibleName name="local:NormalLow">常开</VisibleName>
      </Enum>
      <Enum identifier="NormalHigh">
        <Value>1</Value>
        <VisibleName name="local:NormalHigh">常闭</VisibleName>
      </Enum>
    </EnumType>
    <EnumType basetype="std:BYTE" name="AxisIDType">
      <Enum identifier="Axis0">
        <Value>0</Value>
        <VisibleName name="local:Axis0">Axis0</VisibleName>
      </Enum>
      <Enum identifier="Axis1">
        <Value>1</Value>
        <VisibleName name="local:Axis1">Axis1</VisibleName>
      </Enum>
      <Enum identifier="Axis2">
        <Value>2</Value>
        <VisibleName name="local:Axis2">Axis2</VisibleName>
      </Enum>
      <Enum identifier="Axis3">
        <Value>3</Value>
        <VisibleName name="local:Axis3">Axis3</VisibleName>
      </Enum>
      <Enum identifier="Axis4">
        <Value>4</Value>
        <VisibleName name="local:Axis4">Axis4</VisibleName>
      </Enum>
    </EnumType>
    <RangeType basetype="std:DINT" name="AxisMaxSpeed">
      <Min>0</Min>
      <Max>800000</Max>
      <Default>800000</Default>
    </RangeType>
    <RangeType basetype="std:DINT" name="AxisMaxAcc">
      <Min>1</Min>
      <Max>2100000000</Max>
      <Default>1000000</Default>
    </RangeType>
    <RangeType basetype="std:DINT" name="AxisMaxJerk">
      <Min>1</Min>
      <Max>2100000000</Max>
      <Default>10000000</Default>
    </RangeType>
    <EnumType basetype="std:BYTE" name="DIPortType">
      <Enum identifier="X0">
        <Value>0</Value>
        <VisibleName name="local:I0">I0</VisibleName>
      </Enum>
      <Enum identifier="I1">
        <Value>1</Value>
        <VisibleName name="local:I1">I1</VisibleName>
      </Enum>
      <Enum identifier="I2">
        <Value>2</Value>
        <VisibleName name="local:I2">I2</VisibleName>
      </Enum>
      <Enum identifier="I3">
        <Value>3</Value>
        <VisibleName name="local:I3">I3</VisibleName>
      </Enum>
      <Enum identifier="I4">
        <Value>4</Value>
        <VisibleName name="local:I4">I4</VisibleName>
      </Enum>
      <Enum identifier="I5">
        <Value>5</Value>
        <VisibleName name="local:I5">I5</VisibleName>
      </Enum>
      <Enum identifier="I6">
        <Value>6</Value>
        <VisibleName name="local:I6">I6</VisibleName>
      </Enum>
      <Enum identifier="I7">
        <Value>7</Value>
        <VisibleName name="local:I7">I7</VisibleName>
      </Enum>
    </EnumType>
    <EnumType basetype="std:BYTE" name="DOPortType">
      <Enum identifier="Q0">
        <Value>0</Value>
        <VisibleName name="local:Q0">Q0</VisibleName>
      </Enum>
      <Enum identifier="Q1">
        <Value>1</Value>
        <VisibleName name="local:Q1">Q1</VisibleName>
      </Enum>
      <Enum identifier="Q2">
        <Value>2</Value>
        <VisibleName name="local:Q2">Q2</VisibleName>
      </Enum>
      <Enum identifier="Q3">
        <Value>3</Value>
        <VisibleName name="local:Q3">Q3</VisibleName>
      </Enum>
      <Enum identifier="Q4">
        <Value>4</Value>
        <VisibleName name="local:Q4">Q4</VisibleName>
      </Enum>
      <Enum identifier="Q5">
        <Value>5</Value>
        <VisibleName name="local:Q5">Q5</VisibleName>
      </Enum>
      <Enum identifier="Q6">
        <Value>6</Value>
        <VisibleName name="local:Q6">Q6</VisibleName>
      </Enum>
      <Enum identifier="Q7">
        <Value>7</Value>
        <VisibleName name="local:Q7">Q7</VisibleName>
      </Enum>
    </EnumType>
    <!-- Home_P begin -->
    <StructType name="Home_P">
      <Component identifier="Home_PEnable" type="std:BOOL">
        <VisibleName name="local:Home_P Enable">Home_P Enable</VisibleName>
        <Description name="local:Home_P Enable">Home_P Enable</Description>
        <Default>FALSE</Default>
      </Component>
      <Component identifier="Home_PMethod" type="localTypes:Home_PMethod">
        <VisibleName name="local:Home_P Method">Home_P Method</VisibleName>
        <Description name="local:Home_P Method">Home_P Method</Description>
        <Default>Method35</Default>
      </Component>
      <Component identifier="Home_PZeroDINum" type="localTypes:DIPortType">
        <VisibleName name="local:Home_P Zero DINum">Home_P Zero DINum</VisibleName>
        <Description name="local:Home_P Zero DINum">Home_P Zero DINum</Description>
        <Default>X0</Default>
      </Component>
      <Component identifier="Home_PZeroPolarity" type="localTypes:InputPolarity">
        <VisibleName name="local:Home_P Zero Polarity">Home_P Zero Polarity</VisibleName>
        <Description name="local:Home_P Zero Polarity">Home_P Zero Polarity</Description>
        <Default>NormalLow</Default>
      </Component>
      <Component identifier="Home_PLimitDINum" type="localTypes:DIPortType">
        <VisibleName name="local:Home_P Limit DINum">Home_P Limit DINum</VisibleName>
        <Description name="local:Home_P Limit DINum">Home_P Limit DINum</Description>
        <Default>X0</Default>
      </Component>
      <Component identifier="Home_PLimitPolarity" type="localTypes:InputPolarity">
        <VisibleName name="local:Home_P Limit Polarity">Home_P Limit Polarity</VisibleName>
        <Description name="local:Home_P Limit Polarity">Home_P Limit Polarity</Description>
        <Default>NormalLow</Default>
      </Component>
    </StructType>
    <!-- Home_P end -->
    <!-- SoftWareLimit begin -->
    <StructType name="SoftWareLimit">
      <Component identifier="SoftWareLimitEnable" type="std:BOOL">
        <VisibleName name="local:SoftWareLimit Enable">SoftWareLimit Enable</VisibleName>
        <Description name="local:SoftWareLimit Enable">SoftWareLimit Enable</Description>
        <Default>FALSE</Default>
      </Component>
      <Component identifier="SoftWareLimitPosPosition" type="std:DINT">
        <VisibleName name="local:SoftWareLimit PosPosition">SoftWareLimit PosPosition</VisibleName>
        <Description name="local:SoftWareLimit PosPosition">SoftWareLimit PosPosition</Description>
        <Default>2147483647</Default>
      </Component>
      <Component identifier="SoftWareLimitNegPosition" type="std:DINT">
        <VisibleName name="local:SoftWareLimit NegPosition">SoftWareLimit NegPosition</VisibleName>
        <Description name="local:SoftWareLimit NegPosition">SoftWareLimit NegPosition</Description>
        <Default>-2147483648</Default>
      </Component>
    </StructType>
    <!-- SoftWareLimit end -->
    <!-- Axis_P begin -->
    <StructType name="Axis_P">
      <Component identifier="Enable" type="std:BOOL">
        <VisibleName name="local:Axis_P Enable">Axis_P Enable</VisibleName>
        <Description name="local:Axis_P Enable">Axis_P Enable</Description>
        <Default>FALSE</Default>
      </Component>
      <Component identifier="ID" type="localTypes:AxisIDType">
        <VisibleName name="local:Axis_P ID">Axis_P ID</VisibleName>
        <Description name="local:Axis_P ID">Axis_P ID</Description>
        <Default>Axis0</Default>
      </Component>
      <Component identifier="PulseType" type="localTypes:PulseType">
        <VisibleName name="local:Axis_P PulseType">Axis_P PulseType</VisibleName>
        <Description name="local:Axis_P PulseType">Axis_P PulseType</Description>
        <Default>type0</Default>
      </Component>
      <Component identifier="PulseDirection" type="localTypes:PulseDirection">
        <VisibleName name="local:Axis_P PulseDirection">Axis_P PulseDirection</VisibleName>
        <Description name="local:Axis_P PulseDirection">Axis_P PulseDirection</Description>
        <Default>type0</Default>
      </Component>
      <Component identifier="MaxSpeed" type="localTypes:AxisMaxSpeed">
        <VisibleName name="local:Axis_P MaxSpeed">Axis_P MaxSpeed</VisibleName>
        <Description name="local:Axis_P MaxSpeed">Axis_P MaxSpeed</Description>
      </Component>
      <Component identifier="MaxAcc" type="localTypes:AxisMaxAcc">
        <VisibleName name="local:Axis_P MaxAcc">Axis_P MaxAcc</VisibleName>
        <Description name="local:Axis_P MaxAcc">Axis_P MaxAcc</Description>
      </Component>
      <Component identifier="MaxJerk" type="localTypes:AxisMaxJerk">
        <VisibleName name="local:Axis_P MaxJerk">Axis_P MaxJerk</VisibleName>
        <Description name="local:Axis_P MaxJerk">Axis_P MaxJerk</Description>
      </Component>
      <Component identifier="SoftWareLimit" type="localTypes:SoftWareLimit">
        <VisibleName name="local:Axis_P SoftWareLimit">Axis_P SoftWareLimit</VisibleName>
        <Description name="local:Axis_P SoftWareLimit">Axis_P SoftWareLimit</Description>
      </Component>
      <Component identifier="Home_P" type="localTypes:Home_P">
        <VisibleName name="local:Axis_P Home_P">Axis_P Home_P</VisibleName>
        <Description name="local:Axis_P Home_P">Axis_P Home_P</Description>
      </Component>
    </StructType>
    <!-- Axis_P end -->
  </Types>
  <Strings namespace="local">
    <Language lang="en">
      <String identifier="ModelName">Pulser</String>
      <String identifier="DeviceDescription">SM500 Series High Speed IO Module——Local Pulser Axis</String>
      <String identifier="VendorName">Suzhou Lingchen Acquisition Computer Co.,Ltd.</String>
    </Language>
    <Language lang="zh-CHS">
      <String identifier="ModelName">Pulser</String>
      <String identifier="DeviceDescription">SM500系列高速IO模块——本地高速脉冲轴</String>
      <String identifier="VendorName">苏州市凌臣采集计算机有限公司</String>
    </Language>
  </Strings>
  <Device hideInCatalogue="false">
    <DeviceIdentification>
      <Type>33401</Type>
      <Id>17da 0041</Id>
      <Version>1.0.0.0</Version>
    </DeviceIdentification>
    <DeviceInfo>
      <Name name="local:ModelName">Pulser</Name>
      <Description name="local:DeviceDescription">Pulser</Description>
      <Vendor name="local:VendorName">Suzhou Lingchen Acquisition Computer Co.,Ltd.</Vendor>
      <OrderNumber>0x17da 0041 C6D7</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="33402" interface="Local.Pulser" role="parent" connectorId="2" hostpath="-1" hideInStatusPage="true">
      <InterfaceName name="local:InterfaceName">Axis</InterfaceName>
      <Var max="1">
      </Var>
    </Connector>
    <Connector moduleType="33401" alwaysmapping="true" interface="Local.LocalAxisPRoot_SM500" role="child" explicit="false" connectorId="1" hostpath="-1" hideInStatusPage="false">
      <Slot count="1" allowEmpty="false">
      </Slot>
      <InterfaceName name="localStrings:InterfaceName">Pulser</InterfaceName>
      <HostParameterSet>
        <!-- <Parameter ParameterId="71000" type="std:BOOL">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite"
        onlineaccess="read" />
          <Name name="local:Axis_P_Enable">Axis_P_Enable</Name>
          <Description name="local:Axis_P_Enable">Axis_P_Enable</Description>
          <Default>FALSE</Default>
        </Parameter>  -->
        <Parameter ParameterId="71001" type="localTypes:AxisIDType">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:Axis_P_ID">Axis_P_ID</Name>
          <Description name="local:Axis_P_ID">Axis_P_ID</Description>
          <Default>Axis0</Default>
        </Parameter>
        <Parameter ParameterId="71002" type="localTypes:PulseType">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:Axis_P_PulseType">Axis_P_PulseType</Name>
          <Description name="local:Axis_P_PulseType">Axis_P_PulseType</Description>
          <Default>type0</Default>
        </Parameter>
        <Parameter ParameterId="71003" type="localTypes:PulseDirection">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:Axis_P_PulseDirection">Axis_P_PulseDirection</Name>
          <Description name="local:Axis_P_PulseDirection">Axis_P_PulseDirection</Description>
          <Default>type0</Default>
        </Parameter>
        <Parameter ParameterId="71004" type="std:BYTE">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:Axis_P_Port">Axis_P_Port</Name>
          <Description name="local:Axis_P_Port">Axis_P_Port</Description>
          <Default>0</Default>
        </Parameter>
        <!-- <Parameter ParameterId="71004" type="localTypes:AxisMaxSpeed">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite"
        onlineaccess="read" />
          <Name name="local:Axis_P_MaxSpeed">Axis_P_MaxSpeed</Name>
          <Description name="local:Axis_P_MaxSpeed">Axis_P_MaxSpeed</Description>
        </Parameter>
        <Parameter ParameterId="71005" type="localTypes:AxisMaxAcc">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite"
        onlineaccess="read" />
          <Name name="local:Axis_P_MaxAcc">Axis_P_MaxAcc</Name>
          <Description name="local:Axis_P_MaxAcc">Axis_P_MaxAcc</Description>
        </Parameter>
        <Parameter ParameterId="71006" type="localTypes:AxisMaxJerk">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite"
        onlineaccess="read" />
          <Name name="local:Axis_P_MaxJerk">Axis_P_MaxJerk</Name>
          <Description name="local:Axis_P_MaxJerk">Axis_P_MaxJerk</Description>
        </Parameter> -->
        <!-- <Parameter ParameterId="71007" type="std:BOOL">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite"
        onlineaccess="read" />
          <Name name="local:SoftWareLimitEnable">SoftWareLimitEnable</Name>
          <Description name="local:SoftWareLimitEnable">SoftWareLimitEnable</Description>
          <Default>FALSE</Default>
        </Parameter>  -->
        <!-- <Parameter ParameterId="71008" type="std:DINT">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite"
        onlineaccess="read" />
          <Name name="local:SoftWareLimitPosPosition">SoftWareLimitPosPosition</Name>
          <Description name="local:SoftWareLimitPosPosition">SoftWareLimitPosPosition</Description>
          <Default>2147483647</Default>
        </Parameter>     
        <Parameter ParameterId="71009" type="std:DINT">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite"
        onlineaccess="read" />
          <Name name="local:SoftWareLimitNegPosition">SoftWareLimitNegPosition</Name>
          <Description name="local:SoftWareLimitNegPosition">SoftWareLimitNegPosition</Description>
          <Default>-2147483648</Default>
        </Parameter>    -->
        <Parameter ParameterId="71010" type="std:BOOL">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:Home_P_Enable">Home_P_Enable</Name>
          <Description name="local:Home_P_Enable">Home_P_Enable</Description>
          <Default>FALSE</Default>
        </Parameter>
        <!-- <Parameter ParameterId="71011" type="localTypes:Home_PMethod">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite"
        onlineaccess="read" />
          <Name name="local:Home_P_Method">Home_P_Method</Name>
          <Description name="local:Home_P_Method">Home_P_Method</Description>
          <Default>Method35</Default>
        </Parameter>  -->
        <Parameter ParameterId="71012" type="localTypes:DIPortType">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:HomingDINum">HomingDINum</Name>
          <Description name="local:HomingDINum">HomingDINum</Description>
          <Default>X0</Default>
        </Parameter>
        <Parameter ParameterId="71013" type="localTypes:InputPolarity">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:HomingPolarity">HomingPolarity</Name>
          <Description name="local:HomingPolarity">HomingPolarity</Description>
          <Default>NormalLow</Default>
        </Parameter>
        <Parameter ParameterId="71014" type="std:BOOL">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:PosLimitEnable">PosLimitEnable</Name>
          <Description name="local:PosLimitEnable">PosLimitEnable</Description>
          <Default>FALSE</Default>
        </Parameter>
        <Parameter ParameterId="71015" type="localTypes:DIPortType">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:PosLimitDINum">PosLimitDINum</Name>
          <Description name="local:PosLimitDINum">PosLimitDINum</Description>
          <Default>X0</Default>
        </Parameter>
        <Parameter ParameterId="71016" type="localTypes:InputPolarity">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:PosLimitPolarity">PosLimitPolarity</Name>
          <Description name="local:PosLimitPolarity">PosLimitPolarity</Description>
          <Default>NormalLow</Default>
        </Parameter>
        <Parameter ParameterId="71017" type="std:BOOL">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:NegLimitEnable">NegLimitEnable</Name>
          <Description name="local:NegLimitEnable">NegLimitEnable</Description>
          <Default>FALSE</Default>
        </Parameter>
        <Parameter ParameterId="71018" type="localTypes:DIPortType">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:NegLimitDINum">NegLimitDINum</Name>
          <Description name="local:NegLimitDINum">NegLimitDINum</Description>
          <Default>X0</Default>
        </Parameter>
        <Parameter ParameterId="71019" type="localTypes:InputPolarity">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:NegLimitPolarity">NegLimitPolarity</Name>
          <Description name="local:NegLimitPolarity">NegLimitPolarity</Description>
          <Default>NormalLow</Default>
        </Parameter>
        <Parameter ParameterId="71020" type="std:BOOL">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:EmergencyStopEnable">EmergencyStopEnable</Name>
          <Description name="local:EmergencyStopEnable">EmergencyStopEnable</Description>
          <Default>FALSE</Default>
        </Parameter>
        <Parameter ParameterId="71021" type="localTypes:DIPortType">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:EmergencyStopDINum">EmergencyStopDINum</Name>
          <Description name="local:EmergencyStopDINum">EmergencyStopDINum</Description>
          <Default>X0</Default>
        </Parameter>
        <Parameter ParameterId="71022" type="localTypes:InputPolarity">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:EmergencyStopPolarity">EmergencyStopPolarity</Name>
          <Description name="local:EmergencyStopPolarity">EmergencyStopPolarity</Description>
          <Default>NormalLow</Default>
        </Parameter>
        <Parameter ParameterId="71123" type="std:BOOL">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:TouchProbe0Enable">TouchProbe0Enable</Name>
          <Description name="local:TouchProbe0Enable">TouchProbe0Enable</Description>
          <Default>FALSE</Default>
        </Parameter>
        <Parameter ParameterId="71124" type="localTypes:DIPortType">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:TouchProbe0DINum">TouchProbe0DINum</Name>
          <Description name="local:TouchProbe0DINum">TouchProbe0DINum</Description>
          <Default>X0</Default>
        </Parameter>
        <Parameter ParameterId="71125" type="std:BOOL">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:TouchProbe1Enable">TouchProbe1Enable</Name>
          <Description name="local:TouchProbe1Enable">TouchProbe1Enable</Description>
          <Default>FALSE</Default>
        </Parameter>
        <Parameter ParameterId="71126" type="localTypes:DIPortType">
          <Attributes channel="none" download="true" functional="false" offlineaccess="readwrite" onlineaccess="read" />
          <Name name="local:TouchProbe1DINum">TouchProbe1DINum</Name>
          <Description name="local:TouchProbe1DINum">TouchProbe1DINum</Description>
          <Default>X0</Default>
        </Parameter>
        <!-- PDO -->
        <Parameter ParameterId="1000" type="std:DINT">
          <Attributes channel="input" />
          <Default>0</Default>
          <Name name="local:AxisPosition">Axis Position</Name>
          <Description name="local:AxisPosition">Axis Position</Description>
        </Parameter>
        <Parameter ParameterId="1001" type="std:DINT">
          <Attributes channel="input" />
          <Default>0</Default>
          <Name name="local:McTouchProbe0RisingPos">McTouchProbe0 Rising Pos</Name>
          <Description name="local:McTouchProbe0RisingPos">McTouchProbe0 Rising Pos</Description>
        </Parameter>
        <Parameter ParameterId="1002" type="std:DINT">
          <Attributes channel="input" />
          <Default>0</Default>
          <Name name="local:McTouchProbe0FallingPos">McTouchProbe0 Falling Pos</Name>
          <Description name="local:McTouchProbe0FallingPos">McTouchProbe0 Falling Pos</Description>
        </Parameter>
        <Parameter ParameterId="1003" type="std:UDINT">
          <Attributes channel="input" />
          <Default>0</Default>
          <Name name="local:McTouchProbe0RisingTime">McTouchProbe0 Rising Time</Name>
          <Description name="local:McTouchProbe0RisingTime">McTouchProbe0 Rising Time</Description>
        </Parameter>
        <Parameter ParameterId="1004" type="std:UDINT">
          <Attributes channel="input" />
          <Default>0</Default>
          <Name name="local:McTouchProbe0FallingTime">McTouchProbe0 Falling Time</Name>
          <Description name="local:McTouchProbe0FallingTime">McTouchProbe0 Falling Time</Description>
        </Parameter>
        <Parameter ParameterId="1005" type="std:DINT">
          <Attributes channel="input" />
          <Default>0</Default>
          <Name name="local:McTouchProbe1RisingPos">McTouchProbe1 Rising Pos</Name>
          <Description name="local:McTouchProbe1RisingPos">McTouchProbe1 Rising Pos</Description>
        </Parameter>
        <Parameter ParameterId="1006" type="std:DINT">
          <Attributes channel="input" />
          <Default>0</Default>
          <Name name="local:McTouchProbe1FallingPos">McTouchProbe1 Falling Pos</Name>
          <Description name="local:McTouchProbe1FallingPos">McTouchProbe1 Falling Pos</Description>
        </Parameter>
        <Parameter ParameterId="1007" type="std:UDINT">
          <Attributes channel="input" />
          <Default>0</Default>
          <Name name="local:McTouchProbe1RisingTime">McTouchProbe1 Rising Time</Name>
          <Description name="local:McTouchProbe1RisingTime">McTouchProbe1 Rising Time</Description>
        </Parameter>
        <Parameter ParameterId="1008" type="std:UDINT">
          <Attributes channel="input" />
          <Default>0</Default>
          <Name name="local:McTouchProbe1FallingTime">McTouchProbe1 Falling Time</Name>
          <Description name="local:McTouchProbe1FallingTime">McTouchProbe1 Falling Time</Description>
        </Parameter>
        <!-- <Parameter ParameterId="1000" type="std:DWORD">
        <Attributes channel="input"/>
        <Default>17</Default>
        <Name name="local:in1">in1</Name>
        </Parameter>
        <Parameter ParameterId="1001" type="std:BYTE">
        <Attributes channel="input"/>
        <Default/>
        <Name name="local:in2">in2</Name>
        </Parameter>
        <Parameter ParameterId="2000" type="std:DWORD">
        <Attributes channel="output"/>
        <Default>17</Default>
        <Name name="local:out1">out1</Name>
        </Parameter>
        <Parameter ParameterId="2001" type="std:BYTE">
        <Attributes channel="output"/>
        <Default/>
        <Name name="local:out2">out2</Name>
        </Parameter> -->
      </HostParameterSet>
      <DriverInfo needsBusCycle="false" needsBusCycleBeforeReadInputs="true">
        <RequiredLib libname="HighSpeedIO" placeholderlib="HighSpeedIO" vendor="Suzhou Lingchen Acquisition Computer Co.Ltd." version="20250322" identifier="HighSpeedIO">
          <FBInstance basename="$(DeviceName)" fbname="PulserDrive" fbnamediag="PulserDevice">
            <Initialize methodName="Initialize" />
          </FBInstance>
        </RequiredLib>
      </DriverInfo>
    </Connector>
  </Device>
</DeviceDescription>