Home FAQPricesIOServer Users
🔎

Modbus OPC Server Configuration Guide

Channel Configuration

images/mbch.gif
Modbus Protocol Type Choose Modbus Protocol Type
RTU Binary message format. 8 bits per data byte.
ASCII ASCII message format. 16 bits per data byte.
Ethernet Use Modbus/TCP message format.
Modbus Protocol Mode Choose Modbus Protocol Mode
Master IOServer wil initiate all requests.
Slave IOServer will wait for and respond to requests. The slave can process requests from multiple masters at the same time.
Buffer Size Maximum of frame. 256 is the standard maximum frame size.
Initialization The initial command sent to the device to check if the device is online. In the form "BitAddress, Function Code, BitCount". The default value is "0,3,16".
Function CodeModbus AddressData Type
1 0xxxx Output Coils
2 1xxxx Input Status
4 3xxxx Input Registers
3 4xxxx Output Registers
7 E.x Exception Status

Device Configuration

images/mbdev.jpg
Address Device address of slave.
Register Address Size Size of each register in the PLC. The default is two bytes per register location.
Non standard 1 origin addressing Add 1 to address when requesting data.
Signed Integer Treat all integers as signed.
0 Origin addressing for bits in Registers. Bits in registers are numbered 0 to 15. The default numbering is 1-16.
Reverse Bits in Registers The bits numbering in registers are reversed
32 Bits Value Byte Ordering Long value (4 bytes) byte ordering of device.
Device.40001,I4 will read the two registers at 40001 as a 32 bit signed integer value.
32 Bits Floating Point Byte Ordering Single Precision Floating point numbers byte ordering of device.
Device.40001,R4 will read the two registers at 4001 as a 32 bit floating point value.
64 Bits Floating Point Byte Ordering Double Precision Floating point numbers byte ordering of device.

Variable Types

images/mbvar.jpg

Modbus Channel Master Mode

.Master Value
255 Master Mode, issue read and write function codes to slave
0 Issue write function code to slave, accept write function code from slave
n Seconds (1 to 254) Issue read function code to slave for next n seconds, issue write function code to slave, accept write function from slave

Modbus Channel Slave Mode

.Master Value
255 Slave Mode, accept read and write function codes from master
0 Accept read and write function codes from master
1 Accept read and write function codes from master, issue write function code to slave

Modbus Function Codes Supported

1, 2, 3, 4, 5, 6, 7, 15 and 16

Simulating Modbus Slave error

Writing a value with its 7th bit set to .E (Exception Status) in a Modbus Slave will cause it to response with that exception code to all requests. A value of 255 will stop it from responding.

Enron/Daniels Modbus Settings

Enron/Daniels Modbus Settings in IOServer
Register Address Size: 2 Bytes
Non standard 1 origin addressing
Signed Integer
32 Bits Value Byte Ordering: Swap bytes and words
32 Bits Floating Point Byte Ordering: Swap bytes and words

Registers Mapping

Enron/DanielsIOServerName
1001-1999 01001-01999 Boolean
3001-3999 43001-43999 16 bit Short integer
5001-5999 45001,I4-46999,I4 32 bit Long integer
7001-7999 47001,R4-48999,R4 32 bit Floating point

When the Register Address size is set to 2 bytes, each 32 bits value occupies two register locations and their addresses must be odd.

When the Register Address size is set to 4 bytes, each 32 bit value occupies one register location. One device is configured with 4 bytes addressing to access the 32 bit values and second device with 2 bytes addressing to access the boolean and 16 bit values.

SMA Data Manager Settings

Use "480000,4,32" for initialization and Modbus Device.Non-standard 1 origin addressing set.

Modbus FAQ

Q:How do I access the two 16 bits registers at Device.40011 and Device.40012 as an IEE754 32-bit floating-point value.

A:Use the following tag syntax:
Device.40011,R4
See addtags for other data types.
Please make sure that the Modbus Device.32 Bits Floating Point Byte Ordering option is correct for your device.

Performance

IOServer running on a Pentium 4, 2.8 GHz PC under Windows 2000 Advanced Server reading from a remote device.

ProtocolRequests per second
TCP/IP, 2 bytes per request 2180
TCP/IP, 250 bytes per request 1392
TCP/IP, 1450 bytes per request 506

© Copyright IOServer Pty Ltd. All rights reserved.
+61 2 9805 0356 (Australia)

Last updated: Thu, 16 Jun 2022 08:01:59 GMT