The
caution
unintended equipment operation
Do not use control objects for time-critical functions because delays can occur between the time a control action is initiated and when that action is applied.
Do not create a custom control object in
Failure to follow these instructions can result in injury or equipment damage.
Creating a new Modbus device type involves the following steps:
Identify the new device type (device name, file name, etc.)
Create a Modbus map file for the device type:
Identify a Modbus register to be added.
Find an appropriate register to map to in the ION tree.
Select appropriate data format, scaling factors, etc.
Configure additional Modbus device functionality (if required).
Validate and check the device type.
Add the new Modbus device type to the
After it is defined in the
The
The
It also defines how to convert the module register value into the value shown in the ION register.
Each distinct Modbus device type has its own special address ranges and requires its own Modbus map file. Vln avg, on an
The example map file shown below illustrates the map file format:
<?xml version="1.0" encoding="UTF-8"?>
<!--Created by Modbus Device Importer v 3.21.0 at: 3/22/2007 10:41:56 AM-->
<ModbusMap xmlns="x-schema:modbus-schema.xml">
<DeviceInfo Type="Example Device" MultiplePresetSupported="0" GlobalNotAvailable="NotSpecified" MaxRequestRegisters="125" LowSpeedUpdateRate="30" HighSpeedUpdateRate="5"/>
<ModbusInfo IONHandle="134217729" Name="Baud Rate" ModbusAddress="40001" RequestType="RW" Format="UINT16" Scale="1" Offset="0" Multiplier="1" DefaultEnumValue="Invalid Data">
<Enumeration Value="300 Baud"/>
<Enumeration Value="2400 Baud"/>
<Enumeration Value="9600 Baud"/>
<Enumeration Value="115200 Baud"/>
</ModbusInfo>
<ModbusInfo IONHandle="134217985" Name="VoltsA@!!DeviceName!!Meter01" ModbusAddress="40002" RequestType="R" Format="UINT16" Scale="1" Offset="0" Multiplier="1"/>
<ModbusInfo IONHandle="134217986" Name="VoltsB@Meter01" ModbusAddress="40003" RequestType="R" Format="UINT16" Scale="1" Offset="0" Multiplier="1"/>
<ModbusInfo IONHandle="134217987" Name="VoltsC@Meter01" ModbusAddress="40004" RequestType="R" Format="UINT16" Scale="1" Offset="0" Multiplier="1"/>
<CalcInfo IONHandle="135266304" Name="Averaging 1" Function="Averaging_Module"/>
<CalcInfo IONHandle="136314880" Name="Minimum 1" Function="Minimum_Module"/>
<CalcInfo IONHandle="137363456" Name="Maximum 1" Function="Maximum_Module"/>
<CalcInfo IONHandle="138412032" Name="Data Rec 1" Function="DataRecorder_Module"/>
<CalcInfo IONHandle="139460608" Name="Feedback 1" Function="Feedback_Module"/>
<CalcInfo IONHandle="140509184" Name="Periodic Tmr 1" Function="PeriodicTimer_Module"/>
<CalcInfo IONHandle="131072000" Name="Diagnostics 1" Function="Diagnostics_Module"/>
</ModbusMap>