1 SDC-30 Modbus Slave Integration Guide - SyxthSense · PAGE 1 of 20 File Name:...
Transcript of 1 SDC-30 Modbus Slave Integration Guide - SyxthSense · PAGE 1 of 20 File Name:...
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 1 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
1 SDC-30 Modbus Slave Integration Guide
Introduction
Every SDC‐30 comes with a feature called Modbus Master. The EasyIO 30P can be a modbus
master and slave devices can be connected to the RS 485 port on board.
This feature only applicable for Modbus Async devices. BACnet MS/TP devices is not supported for
with this feature. This feature enable users to hooked up directly to a SST Thermostats, FLTA wireless devices, HLS Room Controllers, Variable Speed Drive (VSD) , Digital Power Meters (DPM) and other modbus Async devices.
However there is a limitation to max devices per SDC‐30. Each SDC‐30 is recommended up to 8 nos
MAX of slave devices.
Hardware configurations
Image below shows the hardware configurations for the Modbus Master and Slave feature.
Integration between SDC‐30 and NCU is either SOX protocol , Tcom, Bacnet IP or Modbus TCP.
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 2 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
Below is the wrong perception of customers. SDC‐30 cannot do BACnet MS/TP to BACnet IP. SDC‐
30 cannot convert MS/TP devices points to become BACnet IP points. It is not a BACnet Gateway.
SDC-30 ModbusSlave kit Components (easyioModbusSlave)
This kit contains 10 objects. All the objects are to be used for Modbus Master Slave configuration
only.
Modbus Master and Slave configuration is a unique configuration where , the SDC‐30 Sedona
controller as a Modbus Master Controller and Modbus Slave controller connecting to the Rs‐485
com port.
To use these objects just drag and drop into the wire sheet.
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 3 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
1.1.1.1 ModbusSlaveAsyncNetwork
ModbusSlaveAsyncNetwork uses the SDC‐30 built‐in Modbus RTU master driver to connect to Modbus Slave devices.
The serial port has to be disabled first before changing parameter. Do not attempt to change the parameters via web browser.
The serial port setting will automatically changed from Modbus to Modbus Master whenever you change the parameter in this object.
**Note: ModbusSlaveAsyncNetwork can be in a new folder or in default SDC‐30 folder
Example below show the ModbusSlaveAsyncNetwork is in a new folder created with the name Slave
ModbusSlaveAsyncNetwork is under a new folder named Slave.
The property sheet of the object is shown below
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 4 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
♦ Status Network status. Readonly
>0 = OK
0 = Not connected.
‐1 = port not available
‐2 = invalid baudrate
‐3 = invalid databit
‐4 = invalid stopbit
‐5 = invalid parity
Normally the value should be “1”
♦ Port
Serial port, COM1 = 1, COM2 = 2 and etc
By default the Com port is = “1”
♦ Baudrate
Serial port baudrate, 1200 – 115200
Default baud rate set is at 19.2K
EasyIO30P default baud rate is at 19.2K
♦ Databit Serial port data bit, 7 or 8
♦ Stopbit
Serial port stop bit, 1 or 2
♦ Parity
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 5 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
Serial port parity.
0 = None 1 = Odd 2 = Even
♦ Turn Around Turnaround is the time delay in milliseconds between a message can be sent out by driver after it receive the last message.
♦ Time Out
Modbus Slave device time out in milliseconds.
♦ Enable
Enable Serial port
♦ Write On Up
Perform a write whenever the COM/Device is up.
♦ Write On Start
Perform a write whenever the COM/Device is up.
1.1.1.2 ModbusSlaveDevice
ModbusSlaveDevice must be child of Modbus Slave Network.It cannot be anywhere else.
**Note: ModbusSlaveDevice can only be a child of ModbusSlaveNetwork
Example below show the ModbusSlaveDevice is in a child oof the network.
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 6 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
ModbusSlaveDevicek is a child of ModbusSlaveNetwork.
The property sheet of the object is shown below
♦ Fault Fault status. Readonly
False = No fault
True = Fault
♦ Status
Current status. Readonly
Alive = Slave Device Alive Down = Slave Device Down
♦ Enable Enable device.
♦ Address
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 7 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
Device Address in decimal
♦ Long Byte Order3210
Long type data (32‐bit) byte order.
True = 3210F
False = 1032
♦ Float Byte Order3210
Floating point type data byte order
True = 3210
False = 1032
♦ Use Preset Multiple Register
True = support Modbus function 16
♦ Use Force Multiple Coil
True = support Modbus function 15
♦ Action
Version 1.0.43.21 offers device ping. Right mouse button at the device to do a
force ping.
1.1.1.3 ModbusPointCoil
ModbusPointCoil is Modbus Coil Output Point
**Note: ModbusPointCoil can only be a child of ModbusSlaveDevice
The property sheet of the object is shown below
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 8 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
♦ Fault Status of the Modbus register.
false = Valid
true =Invalid
♦ Status
Status of the point
OK = Online
Down = Offline
♦ Address
Modbus register address.
Note that only Decimal format is supported.
If the Modbus device register is in HEX , need to convert to DEC.
♦ Out
Current Coil Output state. Readonly
♦ In
Local input value.
ModbusSlaveDevice register example.
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 9 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
1.1.1.4 ModbusPointDiscrete
ModbusPointDiscrete is Modbus Discrete Input point
**Note: ModbusPointDiscrete can only be a child of ModbusSlaveDevice
The property sheet of the object is shown below
♦ Fault Status of the Modbus register.
false = Valid true =Invalid
♦ Status
Status of the point
OK = Online Down = Offline
♦ Address
Modbus register address.
Note that only Decimal format is supported.
If the Modbus device register is in HEX , need to convert to DEC.
♦ Out
Current Coil Output state. Readonly
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 10 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
ModbusSlaveDevice register example.
1.1.1.5 ModbusPointHoldingFloat
ModbusPointHoldingFloat is Modbus Holding Float point
**Note: ModbusPointHoldingFloat can only be a child of ModbusSlaveDevice
The property sheet of the object is shown below
♦ Fault Status of the Modbus register.
false = Valid true =Invalid
♦ Status
Status of the point
OK = Online
Down = Offline
♦ Address Modbus register address.
Note that only Decimal format is supported.
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 11 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
If the Modbus device register is in HEX , need to convert to DEC.
♦ Out
Current Coil Output state. Readonly
♦ In
Local input value.
ModbusSlaveDevice register example.
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 12 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
1.1.1.6 ModbusPointHoldingLong
ModbusPointHoldingLong is Modbus Holding Long point
**Note: ModbusPointHoldingLong can only be a child of ModbusSlaveDevice
The property sheet of the object is shown below
♦ Fault Status of the Modbus register.
false = Valid
true =Invalid
♦ Status Status of the point
OK = Online
Down = Offline
♦ Address
Modbus register address.
Note that only Decimal format is supported.
If the Modbus device register is in HEX , need to convert to DEC.
♦ Out Current Coil Output state. Readonly
♦ In
Local input value.
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 13 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
ModbusSlaveDevice register example.
1.1.1.7 ModbusPointHoldingWord
ModbusPointHoldingWord is Modbus Holding Word point
**Note: ModbusPointHoldingWord can only be a child of ModbusSlaveDevice
The property sheet of the object is shown below
♦ Fault
Status of the Modbus register.
false = Valid true =Invalid
♦ Status
Status of the point
OK = Online
Down = Offline
♦ Address
Modbus register address.
Note that only Decimal format is supported.
If the Modbus device register is in HEX , need to convert to DEC.
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 14 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
♦ Out Current Coil Output state. Readonly
♦ In
Local input value.
ModbusSlaveDevice register example.
1.1.1.8 ModbusPointInputLong
ModbusPointInputLong is Modbus Input Long point
**Note: ModbusPointInputLong can only be a child of ModbusSlaveDevice
The property sheet of the object is shown below
♦ Fault Status of the Modbus register.
false = Valid
true =Invalid
♦ Status
Status of the point
OK = Online
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 15 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
Down = Offline
♦ Address
Modbus register address.
Note that only Decimal format is supported.
If the Modbus device register is in HEX , need to convert to DEC.
♦ Out
Current Coil Output state. Readonly
ModbusSlaveDevice register example
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 16 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
1.1.1.9 ModbusPointInputWord
ModbusPointInputWord is Modbus Input Word point
**Note: ModbusPointInputWord can only be a child of ModbusSlaveDevice The property sheet of the object is shown below
♦ Fault Status of the Modbus
register. false = Valid
true =Invalid
♦ Status
Status of the point
OK = Online
Down = Offline
♦ Address
Modbus register address.
Note that only Decimal format is supported.
If the Modbus device register is in HEX , need to convert to DEC.
♦ Out
Current Coil Output state. Readonly
ModbusSlaveDevice register example
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 17 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
2 Configuring the Modbus Slave Network
Step 1
Connect to the controller with Sedona Workbench.
IP address : 192.168.10.10 Username : admin
Password : <no password>
Manage kits to install easyioModbusSlave into your controller
Step 2:
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 18 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
‐ Choose easyioModbusSlave from Sedona Palette
‐ Drag & drop the ModbusSlaveNetwork into your App . The object can be anywhere in the
EasyIO folder. The object can be placed in a new folder as well.
‐ In this case , the object is drop into a new folder named Modbus.
‐ The object cannot be drop into the service folder Step 3:
‐ Double click the object to get into the property sheet.
‐ You will need to configure the serial configurations according to the slave device.
‐ Enable the network.
‐ Any changes made, user need to disable and re‐enable the network again.
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 19 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
Step 4:
‐ Drop the ModbusSlaveDevice object under the Network object.
‐ Slave device must be a child of the Network object. Renaming the object is possible.
‐ Open the property sheet of the device and configure the serial address for the device.
For this example the device address = 110. Step 5:
‐ Now user can drop the modbus register point under the device, modbus register has to be
a child of the device.
‐ Referring to the Modbus Register document of the Modbus Slave device that is
connecting to the EasyIO 30P, drop the respective point into it.
‐ An example that we are using here is the Schneider ION 6200, modbus RTU protocol. Below is the modbus register document.
‐ The register that describe in this document is the Frequency, Modbus address = 40115, Register
type = Holding register, Data type = Integer16, scale = 100
SDC Sedona Application Note 008
SDC Modbus Slave Integration Guide
PAGE 20 of 20 File Name: SDC-AN008-SDCModbusIntegration.docx Date: 4 Dec 2012
Version 0.1
‐ Point type that should be use from the ModbusSlave kit is ModbusPointHoldingWord.
Step 6:
‐ Configure the register address. Referring to the document, Frequency register address
is modbus = 40115 or decimal = 114. ‐ The register address may vary depending on manufacturer (zero based or one based). ‐ EasyIO sedona will only accept decimal format for the modbus register.
‐ The value shown = 4994 , multiplier according to the document = 100. In order to get
the correct value , 4994 / 100 = 49.94Hz.
Step 7:
‐ Continue Step 5 and Step 6 for other points