<?xml version="1.0" encoding="UTF-8"?>
<Schema name="Modbus-Schema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
  <AttributeType name="Value" dt:type="string" required="yes"/>
  <AttributeType name="Ordinal" dt:type="string" required="no"/>
  <AttributeType name="IONHandle" dt:type="string" required="yes"/>
  <AttributeType name="Name" dt:type="string" required="yes"/>
  <AttributeType name="ModbusAddress" dt:type="string" required="yes"/>
  <AttributeType name="RequestType" dt:type="enumeration" required="yes" dt:values="R W RW CW"/>
  <AttributeType name="Format" dt:type="enumeration" required="yes" dt:values="U16-21 S16-21 PackedBool UINT16 SINT16 U16-12 S16-12 U32-4321 S32-4321 UINT32 SINT32 U32-2143 S32-2143 S32-M10k-4321 U32-M10k-4321 U32-MFP S32-MFP S32-M10k-2143 U32-M10k-2143 F32-4321 F32-2143 IEEEFloat SwappedFloat U64-M10k-21-87 S64-M10k-21-87 U64-M10k-87-21 S64-M10k-87-21 U48-M10k-21-65 S48-M10k-21-65 U48-M10k-65-21 S48-M10k-65-21 U64-87-21 S64-87-21 U64-21-87 S64-21-87 U48-65-21 S48-65-21 U48-21-65 S48-21-65 S16-1-15 PF-Nexus BCD PackedBCD ASCII ASCII-Reverse MaskedBool InvertedMaskedBool F64-87-21 F64-12-78 PF32 PF_ALT U16-21-ARRAY U16-12-ARRAY DateTime4_UTC DateTime4_LOCAL DateTime4 DateTime3_UTC DateTime3_LOCAL DateTime3 DateTime_YMDhms_UTC DateTime_YMDhms_LOCAL DateTime_YMDhms DateTime_IEC870_UTC DateTime_IEC870_LOCAL DateTime_IEC870 DateTime3_IEC870_UTC DateTime3_IEC870_LOCAL DateTime3_IEC870 DateTime3_MDYhms_UTC DateTime3_MDYhms_LOCAL DateTime3_MDYhms DateTime4_MDYhms_UTC DateTime4_MDYhms_LOCAL DateTime4_MDYhms DateTime2_s2000 DateTime3_s2000 DateTime4_shmMDY DateTime6_smhDMY DateTime7_YMDhms DateTime8_MDYdowhmsc DateTime6_MDYhmms DateTime_NSX2_UTC DateTime_NSX2_LOCAL DateTime_NSX3_UTC DateTime_NSX3_LOCAL DeviceSpecific01 DeviceSpecific02 DeviceSpecific03 DeviceSpecific04 DeviceSpecific05 DeviceSpecific06 DeviceSpecific07 DeviceSpecific08 DeviceSpecific09 DeviceSpecific10 DeviceSpecific11 DeviceSpecific12 DeviceSpecific13 DeviceSpecific14 DeviceSpecific15 DeviceSpecific16 HandledByPlugin ConvertedByPlugin S64-M1K-87-21 U64-M1K-87-21"/>
  <AttributeType name="Mask" dt:type="string" required="no"/>
  <AttributeType name="Scale" dt:type="string" required="no"/>
  <AttributeType name="Multiplier" dt:type="string" required="no"/>
  <AttributeType name="Offset" dt:type="string" required="no"/>
  <AttributeType name="ModbusMin" dt:type="string" required="no"/>
  <AttributeType name="ModbusMax" dt:type="string" required="no"/>
  <AttributeType name="IONMin" dt:type="string" required="no"/>
  <AttributeType name="IONMax" dt:type="string" required="no"/>
  <AttributeType name="Label" dt:type="string" required="no"/>
  <AttributeType name="WriteValue" dt:type="string" required="no"/>
  <AttributeType name="NumberOfRegisters" dt:type="string" required="no"/>
  <AttributeType name="ReadTime" dt:type="string" required="no"/>
  <AttributeType name="ConfigValueHandle" dt:type="string" required="no"/>
  <AttributeType name="ConfigLabelHandle" dt:type="string" required="no"/>
  <AttributeType name="MaxRequestRegisters" dt:type="string" required="no" default="125"/>
  <AttributeType name="NotAvailableValue" dt:type="string" required="no"/>
  <AttributeType name="DisableNotAvailableCheck" dt:type="boolean" required="no" default="0"/>
  <AttributeType name="DefaultEnumValue" dt:type="string" required="no"/>
  <AttributeType name="GlobalNotAvailable" dt:type="string" required="no"/>
  <AttributeType name="Type" dt:type="string" required="no"/>
  <AttributeType name="EthernetDevice" dt:type="enumeration" required="no" dt:values="NO YES"/>
  <AttributeType name="SerialDevice" dt:type="enumeration" required="no" dt:values="NO YES"/>
  <AttributeType name="MultiplePresetSupported" dt:type="boolean" required="no" default="1"/>
  <AttributeType name="EthernetSupport" dt:type="boolean" required="no" default="0"/>
  <AttributeType name="ScatteredReadSupported" dt:type="boolean" required="no" default="0"/>
  <AttributeType name="SetupReg" dt:type="boolean" required="no" default="0"/>
  <AttributeType name="ConfigWrite" dt:type="boolean" required="no" default="1"/>
  <AttributeType name="MDISupported" dt:type="string" required="no" default="1"/>
  <AttributeType name="DateTimeValidation" dt:type="boolean" required="no" default="0"/>
  <AttributeType name="MatchPattern" dt:type="string" required="no"/>
  <AttributeType name="Function" dt:type="enumeration" required="yes" dt:values="AndOr_Module Averaging_Module Diagnostics_Module ExternalPulse_Module ExternalBoolean_Module ExternalNumeric_Module Minimum_Module Maximum_Module DataRecorder_Module PeriodicTimer_Module Feedback_Module Setpoint_Module Counter_Module ChangeOfValue_Module"/>
  <AttributeType name="LowSpeedUpdateRate" dt:type="string" required="no" default="60"/>
  <AttributeType name="HighSpeedUpdateRate" dt:type="string" required="no" default="30"/>
  <AttributeType name="TimeSyncInterval" dt:type="string" required="no" default="1"/>
  <AttributeType name="EnumName" dt:type="string" required="no"/>
  <AttributeType name="ConfigLabelName" dt:type="string" required="no"/>
  <AttributeType name="ConfigIONHandle" dt:type="string" required="yes"/>
  <AttributeType name="EnableTracing" dt:type="boolean" required="no" default="0"/>
  <AttributeType name="CheckRegister" dt:type="string" required="no"/>
  <AttributeType name="CheckRegValue" dt:type="string" required="no"/>
  <AttributeType name="DiagnosticFlags" dt:type="string" required="no" default="0"/>
  <AttributeType name="ActiveFormat" dt:type="string" required="yes"/>
  <AttributeType name="EnumOrdinalHandle" dt:type="string" required="no" default="0"/>
  <AttributeType name="DeviceLabelHandle" dt:type="string" required="no" default="0"/>
  <AttributeType name="DeviceLabelTrigger" dt:type="string" required="no" default=""/>
  <AttributeType name="InactiveFormat" dt:type="string" required="no" default=""/>
  <AttributeType name="AutoCacheControlHandles" dt:type="boolean" required="no" default="1"/>
  <AttributeType name="CacheSpec" dt:type="string" required="no" default=""/>
  <AttributeType name="TimeSyncWithDST" dt:type="boolean" required="no"/>
  <AttributeType name="AssemblyName" dt:type="string" required="yes"/>
  <AttributeType name="UsePlugin" dt:type="boolean" required="no" default="0"/>
  <AttributeType name="Tag" dt:type="string" required="no"/>
  <AttributeType name="LabeledByPlugin" dt:type="boolean" required="no" default="0"/>
  <AttributeType name="TimestampedByPlugin" dt:type="boolean" required="no" default="0"/>
  <AttributeType name="TimeSyncIntervalInMinutes" dt:type="string" required="no" default="60"/>
  <AttributeType name="ObserveBlackouts" dt:type="boolean" required="no" default="0"/>
  <AttributeType name="DeviceTimeLocale" dt:type="enumeration" required="no" dt:values="Local Local-NoDST UTC"/>
  <AttributeType name="Ping" dt:type="boolean" required="no" default="0"/>
  <ElementType name="ModbusMap" content="eltOnly">
    <element type="Diagnostics" minOccurs="0" maxOccurs="1"/>
    <element type="DeviceInfo" minOccurs="1" maxOccurs="*"/>
    <element type="ModbusInfo" minOccurs="0" maxOccurs="*"/>
    <element type="CalcInfo" minOccurs="0" maxOccurs="*"/>
    <element type="EnumInfo" minOccurs="0" maxOccurs="*"/>
    <element type="ConfigLabelInfo" minOccurs="0" maxOccurs="*"/>
    <element type="TransactionConfiguration" minOccurs="0" maxOccurs="*"/>
    <element type="HandleExclusionList" minOccurs="0" maxOccurs="*"/>
    <element type="PluginInfo" minOccurs="0" maxOccurs="1"/>
    <element type="TimeSyncInfo" minOccurs="0" maxOccurs="1"/>
  </ElementType>
  <ElementType name="DeviceInfo" content="empty">
    <attribute type="Type"/>
    <attribute type="MaxRequestRegisters"/>
    <attribute type="GlobalNotAvailable"/>
    <attribute type="MDISupported"/>
    <attribute type="MultiplePresetSupported"/>
    <attribute type="ScatteredReadSupported"/>
    <attribute type="EthernetSupport"/>
    <attribute type="SerialDevice"/>
    <attribute type="EthernetDevice"/>
    <attribute type="LowSpeedUpdateRate"/>
    <attribute type="HighSpeedUpdateRate"/>
    <attribute type="DateTimeValidation"/>
    <attribute type="TimeSyncInterval"/>
    <attribute type="AutoCacheControlHandles"/>
    <attribute type="TimeSyncWithDST"/>
    <attribute type="DeviceTimeLocale"/>
  </ElementType>
  <ElementType name="ModbusInfo" content="eltOnly">
    <element type="ConfigValues" minOccurs="0" maxOccurs="*"/>
    <element type="ConfigLabels" minOccurs="0" maxOccurs="*"/>
    <element type="Enumeration" minOccurs="0" maxOccurs="*"/>
    <element type="DynamicLabel" minOccurs="0" maxOccurs="1"/>
    <attribute type="IONHandle"/>
    <attribute type="Name"/>
    <attribute type="ModbusAddress"/>
    <attribute type="RequestType"/>
    <attribute type="Format"/>
    <attribute type="Mask"/>
    <attribute type="Scale"/>
    <attribute type="Multiplier"/>
    <attribute type="Offset"/>
    <attribute type="ModbusMin"/>
    <attribute type="ModbusMax"/>
    <attribute type="IONMin"/>
    <attribute type="IONMax"/>
    <attribute type="WriteValue"/>
    <attribute type="NumberOfRegisters"/>
    <attribute type="ReadTime"/>
    <attribute type="CheckRegister"/>
    <attribute type="CheckRegValue"/>
    <attribute type="ConfigValueHandle"/>
    <attribute type="ConfigLabelHandle"/>
    <attribute type="NotAvailableValue"/>
    <attribute type="DisableNotAvailableCheck"/>
    <attribute type="DefaultEnumValue"/>
    <attribute type="MatchPattern"/>
    <attribute type="CacheSpec"/>
    <attribute type="SetupReg"/>
    <attribute type="ConfigWrite"/>
    <attribute type="EnumName"/>
    <attribute type="ConfigLabelName"/>
    <attribute type="Tag"/>
    <attribute type="LabeledByPlugin"/>
    <attribute type="TimestampedByPlugin"/>
    <attribute type="Ping"/>
  </ElementType>
  <ElementType name="CalcInfo" content="empty">
    <attribute type="IONHandle"/>
    <attribute type="Name"/>
    <attribute type="Function"/>
  </ElementType>
  <ElementType name="EnumInfo" content="eltOnly">
    <element type="Option" minOccurs="1" maxOccurs="*"/>
    <attribute type="Name"/>
    <attribute type="DefaultEnumValue"/>
  </ElementType>
  <ElementType name="ConfigLabelInfo" content="eltOnly">
    <element type="ConfigLabels" minOccurs="1" maxOccurs="*"/>
    <attribute type="Name"/>
    <attribute type="IONHandle"/>
  </ElementType>
  <ElementType name="Enumeration" content="empty">
    <attribute type="Ordinal"/>
    <attribute type="Value"/>
  </ElementType>
  <ElementType name="Option" content="empty">
    <attribute type="Ordinal"/>
    <attribute type="Value"/>
  </ElementType>
  <ElementType name="ConfigValues" content="empty">
    <attribute type="Ordinal"/>
    <attribute type="Value"/>
  </ElementType>
  <ElementType name="ConfigLabels" content="empty">
    <attribute type="Ordinal"/>
    <attribute type="Value"/>
  </ElementType>
  <ElementType name="HandleExclusionList" content="empty">
    <attribute type="IONHandle"/>
    <attribute type="ConfigIONHandle"/>
  </ElementType>
  <ElementType name="DatasetAddressBlock" content="empty">
    <attribute type="ModbusAddress"/>
    <attribute type="NumberOfRegisters"/>
  </ElementType>
  <ElementType name="InvalidAddressRange" content="empty">
    <attribute type="ModbusAddress"/>
    <attribute type="NumberOfRegisters"/>
  </ElementType>
  <ElementType name="TransactionConfiguration" content="eltOnly">
    <element type="DatasetAddressBlock" minOccurs="0" maxOccurs="*"/>
    <element type="InvalidAddressRange" minOccurs="0" maxOccurs="*"/>
    <attribute type="DiagnosticFlags"/>
  </ElementType>
  <ElementType name="Diagnostics" content="empty">
    <attribute type="EnableTracing"/>
  </ElementType>
  <ElementType name="DynamicLabel" content="empty">
    <attribute type="EnumName"/>
    <attribute type="EnumOrdinalHandle"/>
    <attribute type="DeviceLabelHandle"/>
    <attribute type="DeviceLabelTrigger"/>
    <attribute type="ActiveFormat"/>
    <attribute type="InactiveFormat"/>
  </ElementType>
  <ElementType name="PluginRule" content="empty">
    <attribute type="IONHandle"/>
    <attribute type="Name"/>
    <attribute type="Tag"/>
  </ElementType>
  <ElementType name="PluginInfo" content="eltOnly">
    <element type="PluginRule" minOccurs="0" maxOccurs="*"/>
    <attribute type="AssemblyName"/>
  </ElementType>
  <ElementType name="TimeValue" content="empty">
    <attribute type="Format"/>
  </ElementType>
  <ElementType name="ConstantValue" content="empty">
    <attribute type="WriteValue"/>
    <attribute type="Format"/>
  </ElementType>
  <ElementType name="TimeSyncStep" content="eltOnly">
    <attribute type="ModbusAddress"/>
    <element type="TimeValue" minOccurs="0" maxOccurs="*"/>
    <element type="ConstantValue" minOccurs="0" maxOccurs="*"/>
  </ElementType>
  <ElementType name="TimeSyncInfo" content="eltOnly">
    <attribute type="TimeSyncIntervalInMinutes"/>
    <attribute type="ObserveBlackouts"/>
    <attribute type="UsePlugin"/>
    <attribute type="Tag"/>
    <element type="TimeSyncStep" minOccurs="0" maxOccurs="*"/>
  </ElementType>
</Schema>
