Medialon MRCs' Help
Name: Medialon FlexIO Modbus TCP
Version: 6.7.2
Available for: Manager V7 and Manager V6 (Lite & Pro), Showmaster (Mini, Pro, ST, LE & XS)
Limitation In:
Device Brand: Medialon
Resources Types: I/O

Overview

Generalities

MODBUS is an application layer messaging protocol, positioned at level 7 of the OSI model, that provides client/server communication between devices connected on different types of buses or networks. The industry’s serial de facto standard since 1979, Modbus continues to enable millions of automation devices to communicate.

Today, support for the simple and elegant structure of MODBUS continues to grow. The Internet community can access MODBUS at a reserved system port 502 on the TCP/IP stack. MODBUS is a request/reply protocol and offers services specified by function codes.

Addressing scheme and item types

MODBUS bases its data model on a series of tables that have distinguishing characteristics. The four primary tables are:

The distinctions between inputs and outputs, and between bit-addressable and word-addressable data items, do not imply any application behavior. It is perfectly acceptable, and very common, to regard all four tables as overlaying one another, if this is the most natural interpretation on the target machine in question. For each of the primary tables, the protocol allows individual selection of 65536 data items. It’s obvious that all the data handled via MODBUS (bits, registers) must be located in device application memory. But physical address in memory should not be confused with data reference. The only requirement is to link data reference with physical address. MODBUS logical reference number, which are used in MODBUS functions (commands), are unsigned integer (0 to 65535).

It is very common that the four tables are associated with the following data/physical types:

The addressing space of each of the four tables is comprised in the range 0–65535 (0x0000–0xFFFF in hexadecimal).

Addressing models and considerations

However, the register, coil or input ranges are also sometime given with their numbers, in decimal. This is to simplify documentation, that an old defacto standard widely recognized as Modbus (sometimes referred to as Modicon convention) is still used. This defacto standard uses the first digit of a register number to identify the register type. Note that this defacto standard use a 1-based register numbering while addresses use a 0-based index.

Valid address ranges as originally defined for Modbus were 0 to 9999 (0x0000–0x270F) for each of the above register types. Valid ranges allowed in the current specification are 0 to 65,535 (0x0000–0xFFFF). The addresses above 9999 (0x270F) are generally referenced as “extended range addressing”.

Therefore, there is another defacto standard that looks very similar and is as follows:

When using the extended register numbering, it is mandatory that all register numbers have six digits in order to avoid confusion (for instance between holding register 40001 and coil 40001). If coil 40001 is the target, it must appear as 040001.

MRC Implementation

The Medialon FlexIO Modbus TCP MRC gives access to I/O devices that support Modbus TCP protocol, it acts as a Modbus Client TCP/IP. Mapping of I/O into registers (or inputs or coils) organisation is device dependant. However, the MRC will use Coils for Digital Output, Discrete Inputs for Digital Inputs, Holding Registers for Analog Outputs and Input Registers for Analog Inputs. All other mapping schemes are not supported by the MRC.

The user should know how the device is organised and what are the available registers (or inputs or coils) in the device. These information are given by the device manufacturer and is generally referenced as “Mapping Table”. It remains to analyze these information and check whether the register (or coil) identification is given using the numbering (in such a case, is it expressed in standard defacto or extended defacto manner - see later on for details) or with an address (0x0000–0xFFFF).

More information about Modbus TCP can be found at http://www.modbus.org.

Installation

No specific installation is required.

Setup

Medialon Products can manage any Modbus TCP modules as Input/Output resources. Select I/O Ports node to display Medialon FlexIO Modbus TCP resources. To add a new module, select New Resource Menu.

This will open up the setup dialog.

General Settings

Resource Name: Name given to the resource.

Module IP Address: IP Adress of the Modbus module within the network. If the text of the address field becomes red, this indicates this address is used for another resource. This is not prohibited, but may reveal a configuration problem if not explicitly desired.

Auto Reconnect: This option allows Medialon Products to initiate a new connection if communication is lost during run time.

Advanced Modbus Settings

Module Unit ID: Use this option if the module indicates that the Modbus ID ought to be set.

Timeout: This option allows specifying a communication timeout value. This parameter can be increased if there are many command timeouts for a specific module or installation

Polling: This option allows retrieving the Input values and then current Output values from the module. This option must be selected when Digital or Analog Inputs are defined. It can be disabled when only Outputs are defined if the current values from the module are not required.

Module Definition Settings

These settings defines how are mapped Digital and Analog Inputs/Outputs in the Modbus module tables.

Module Name: Indicates the name of the Modbus TCP module.

Digital Outputs

Output Count: Number of digital outputs

Base Address: Base address in the Coils table from which these outputs start.

Digital Inputs

Output Count: Number of digital inputs

Base Address: Base address in the Discrete Inputs table from which these inputs start.

Analog Outputs

Output Count: Number of analog outputs

Base Address: Base address in the Holding Registers table from which these outputs start.

0–100% Value range: Defines the actual modbus value range matching 0–100%. The minimum value matches 0% and the maximum value matches 100%. If the minimum value is greater than 0 and the option “Allows Negative Value” is checked, then the values below the minimum range value match 0 to up to –100%. However, as the actual value is a 16 bits value, this same value can be interpreted as an unsigned value or a signed value. If the value is interpreted as a signed value, then the value above 32767 are negative value. For example, if the analog output should match the full range of a signed 16 bit register, then the minimum value should be set to 0, the maximum value to 32767 and “Allows Negative Value” checked. The maximum actual modbus value range is 0–65535.

Analog Inputs

Output Count: Number of analog inputs

Base Address: Base address in the Input Registers table from which these inputs start.

0–100% Value range: Defines the actual modbus value range matching 0–100%. The minimum value matches 0% and the maximum value matches 100%. If the minimum value is greater than 0 and the option “Allows Negative Value” is checked, then the values below the minimum range value match 0 to up to –100%. However, as the actual value is a 16 bits value, this same value can be interpreted as an unsigned value or a signed value. If the value is interpreted as a signed value, then the value above 32767 are negative value. For example, if the analog input should match the full range of a signed 16 bit register, then the minimum value should be set to 0, the maximum value to 32767 and “Allows Negative Value” checked. The maximum actual modbus value range is 0–65535.

Revisions

V 6.0.0

V 6.1.0

V 6.7.0