top server 5.19 configuration guide: modbus...
TRANSCRIPT
TOP Server 5.19
Configuration Guide:
Modbus TCP/IP Device
Page 2 of 21
Table of Contents
Introduction 3
Channel Setup 3
Device Setup 9
Further Information 21
Page 3 of 21
Introduction
This document is intended to provide an easy to use reference guide on configuring a connection to a
Modbus TCP/IP device using the TOP Server. It is not intended to be comprehensive, and the help file
should be referenced for any additional information – if needed. This document will describe the channel
and device setup, give a summary of the settings that will be encountered – and when it is appropriate to
change them from the default values.
Channel Setup
1. The first step in configuring a connection to a Modbus TCP/IP device from TOP Server is to create
a Channel. A channel represents a communication medium from the PC running TOP server to the
device. In the case of the Modbus TCP/IP driver, the Channel will represent the socket connection
over which communications will occur.
2. The Channel name is user configurable, and will be how the Channel appears in the TOP Server
tree view – i.e. how clients will reference devices configured under this channel:
3. Click next and choose the Modbus TCP/IP Ethernet Driver from the Driver dropdown list. This
selection determines which protocol will be used to communicate over the channel. The “Enable
Diagnostics” checkbox has no impact on communications so can be left unchecked, but statistic
tags will be inactive until diagnostics are enabled.
Page 4 of 21
4. Click next and choose whether or not this channel should be included in a Virtual Network, and if
‘yes’ which Virtual network the channel should be assigned to.
a. The Transactions per cycle specifies the number of single read/write transactions that can
occur on the channel. When a channel is given the opportunity to communicate, this
number of transactions is attempted.
b. The Network Mode is used to control how channel communication is delegated:
i. Load Balanced mode – Each channel is given the opportunity to communicate in
turn, one at a time.
ii. Priority mode – Channels are given the opportunity to communicate according to
transaction priority:
1. Channels with pending writes have the highest priority
2. Channels with pending explicit reads (through internal plug-ins or external
client interfaces) are prioritized based on the read’s priority.
3. Scanned reads and other periodic events (driver specific).
Page 5 of 21
5. Click next and choose the appropriate Network Adapter that the channel should use for
communications. This Adapter should be on the same network as the devices TOP Server will be
communicating to. When left at Default the Operating Systems default adapter will be used.
Page 6 of 21
6. Click next to review the Write optimization settings for this Channel. These will generally be left at
the default value, but can be altered as needed.
a. Write all values for all tags will queue all write requests and issue them in the order they
were received.
b. Write only latest value for non-Boolean tags will not queue all writes, but only write the
last value that was received from the client application for any non-Boolean tags.
c. Write only latest value for all tags will not queue any writes, and simply write the last
value that was received from the client application for any points.
d. The Duty Cycle determines how many writes will be processed per 1 read request. Since
writes are treated with higher priority this can be used to improve communication rates in
write-heavy channels
Page 7 of 21
7. Click next to review how the driver will handle non-normalized floating point values. This can
generally be left at the default value, unless non-normalized values are expected (e.g. Non-A-
Number or infinity)
Page 8 of 21
8. Specify the Socket sharing behavior for devices under this Ethernet channel.
a. Share a single socket across all devices on this channel – The channel will maintain a
single socket that it will open and close repeatedly to connect to devices configured under
this channel.
b. Use one or more sockets per device on this channel – The channel will maintain
multiple sockets for communications to any devices under this channel. This is the
recommended settings for systems where multiple devices have to be configured under a
single channel.
The unsolicited port number will specify which port TOP Server will accept incoming Unsolicited
messages on, if the device is set to send them.
Page 9 of 21
9. The last dialog will summarize the selected Channel settings. If all settings are correct, selecting
Finish will finalize the configuration and create the Channel.
Device Setup
1. Click to add a device to the newly configured Channel
Page 10 of 21
2. The Device name is user configurable, and will determine how the device appears in the TOP
Server Tree view, and how client applications access the device.
Page 11 of 21
3. Select the appropriate Device model. This example will use a generic Modbus Device.
4. Specify the Device ID – this will be the IP address on the network.
Page 12 of 21
5. Specify the devices Scan Mode settings for Subscription based clients. In systems where
bandwidth utilization is not a concern, this setting should be left at the default. Other options
include:
a. Respect client specified scan rate – Will respect the requested scan rate from client
applications to determine how often to scan the device
b. Request data no faster than… - Will set a ceiling; data will be requested no faster than
the specified time value.
c. Request all data at… - All data will be requested at the specified timing interval
d. Do not scan, demand poll only – there will be no automatic scanning done of the device,
unless a plug-in or client application manually triggers the poll (via the _DemandPoll
system tag)
e. Respect tag specified scan rate – respects the scan rate specified at the tag level
Page 13 of 21
6. The timing settings should be set appropriately based on the type of connection, and the level of
congestion on the network. These can generally be left at the default, and increased/decreased as
needed.
Page 14 of 21
7. The Auto-Demotion settings will determine whether unresponsive devices will be taken out of the
polling cycle for a specified period of time. In situations where multiple devices are configured under
a single channel it is recommended to enable auto-demotion, and discard write requests on devices
that are written to frequently. Write requests will overwrite the auto-demotion period, and attempt a
connection immediately. Since devices under a channel are treated sequentially, this will prevent a
downed device from repeatedly slowing down communications for other devices on the channel.
Page 15 of 21
8. Click next to specify the Database Creation Settings. The driver can automatically generate a tag
database from a CSV file, Concept, or ProWORX. Here you can specify if and when the tag
database will be created, how previously generated tags will be handled, and if you would like the
tags to be included in a specified tag group. This parameter keeps automatically generated tags
from mixing with tags that have been entered manually.
Page 16 of 21
9. Click next to specify the port number for the device, as well as the transport protocol (TCP or UDP)
that will be used for communications. Port 502 is the default port for Modbus TCP/IP
communication.
10. Specify the Data Access Settings as they are appropriate for the Modbus Device. These may need
to be changed based on the protocol implementation for the specific controller.
a. Use zero based addressing – Specifies whether the devices address space is zero based
or one based (i.e is the first address in the memory map 0 or 1). Using Zero-based
addressing will reference the address with an offset of 1, whereas One-based addressing
will reference the first register with an offset of 0.
b. Use zero based bit addressing within registers – This setting will specify whether bits
within registers should be addressed 0-15 (Checked) or 1-16 (unchecked). This setting will
not affect what is sent to the device, only which bit the TOP Server will reference for the
specified register.
Page 17 of 21
c. Use holding register bit mask writes – Will use Function code 22 to change a single bit
inside a holding register. If function code 22 is not supported the server will use a
Read/Change/Write sequence to alter the value.
d. Use Modbus function 06 for single register writes – Will use Modbus Function code 06
when writing to single registers. Function code 16 (Write multiple registers) will be used if
this setting is unchecked.
e. Use Modbus function 05 for single coil writes – Will use Modbus function code 05 when
writing to single coils. Function code 15 (Write multiple coils) will be used if this setting is
unchecked.
Page 18 of 21
11. Specify the Data Encoding settings as appropriate for the device.
a. Use default Modbus byte order – When unchecked the TOP Server driver will expect
data to be sent using the Intel Byte order (Low order byte last), rather than the default
Modbus Byte order (High order byte last).
b. First word low in 32 bit data types – Specifies whether the device will send the low order
word first or second when dealing with 32 bit data types, as these will be stored in two
Modbus Registers.
c. First Dword low in 64 bit data types – Specifies whether the device will send the low
order Dword first or second when dealing with 64 bit data types. The word order within
each Dword is determined based on the previous (32 bit data type) setting
d. Use Modicon bit order (bit 0 is the MSB) – Will change the expected bit order to match
the Modsoft programming software. When checked the writing to bit 0 in TOP Server will
alter bit 15 in the device.
e. Treat Longs as Double Precision Unsigned Decimal – When enabled the driver will
encode/decode Longs with a value ranging from 0 to 99999999. Where each word has a
value between 0 and 9999.
Page 19 of 21
12. Specify the block sizes that should be used to read contiguous registers from the device. These
indicate the maximum offsets for reading a range of addresses in a single request, rather than
mutliple smaller ones. In Telemetry situations these should be increased to reduce the number of
requests.
a. Coils are limited from 8-2000 in multiples of 8
b. Registers are limited from 1-120
Page 20 of 21
13. Specify the import file to be used if Automtically generating the Tag Database. If registers will be
manually addressed or dynamically referenced this can be left at the default setting.
14. Specify how TOP Server should handle situations where the device indicates we are referencing an
illegal address. (Error code 2 or 3). When this setting is checked, TOP Server will deactivate the
erroneous tags and not waste time trying to poll them.
Page 21 of 21
15. After reviewing the device settings in the summary, clicking Finish will create the device.
16. Tags can now be configured statically in the server, or dynamically from the client application. For
help with the proper addressing syntax the appropriate driver help file section should be referenced.
Further Information
This guide is intended to server as a quick, step-by-step, guide on configuring a Modbus TCP/IP Ethernet
device in TOP Server v5.x. It is not intended to be a comprehensive ‘how-to’ regarding the Modbus TCP/IP
Ethernet driver, and the TOP Server help file should be referenced for further information.