Overview :
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.

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 (1
to 65335).
The Medialon
Modbus TCP MXM give access to device that support Modbus
TCP protocol, it acts as a Modbus Client TCP/IP.
Values into registers (or inputs or coils) and registers
(or inputs or coils) organisation is device dependant.
The user should know how the device is organised and what
are the available registers (or inputs or coils) in the
device.
More information
about Modbus TCP can be found at > http://www.modbus.org
> Top
Installation (MXM) :
No
special installation required.
> Top
Creation (Device) :
Device
creation window :
.gif)
IP Address (or name):
IP address or name of the target modbus device.
IP
Port:
IP port the target modbus device. The default value is 502
and should be kept.
Auto
re-connection:
Enables to automatically try to reconnect the modbus
device
after a disconnection.
Use Unit Identifier:
If the TCP/IP modbus device is a gateway then this option
allows to define which modbus device, behind the gateway
is addressed.
> Top
Commands (List Of) :
Read
Input Register :
Description
: Read into the given variable a register of the Input
registers block.
Parameters :
Address : [Type : Integer] : Address of register
(1-65535).
Register Count : [Type : Integer] : Number of register
to read (1-32).
Bit Selection : [Type : Enum] : Concerned bit in
the register
Availables
values :
"All" : The returned value give the value of the entire
register (real value).
"Bit 0" : Return Value is 1 if bit 0 of the register
is set otherwize 0.
"Bit 1" : Return Value is 1 if bit 1 of the register
is set otherwize 0.
"Bit 2" : Return Value is 1 if bit 2 of the register
is set otherwize 0.
"Bit 3" : Return Value is 1 if bit 3 of the register
is set otherwize 0.
"Bit 4" : Return Value is 1 if bit 4 of the register
is set otherwize 0.
"Bit 5" : Return Value is 1 if bit 5 of the register
is set otherwize 0.
"Bit 6" : Return Value is 1 if bit 6 of the register
is set otherwize 0.
"Bit 7" : Return Value is 1 if bit 7 of the register
is set otherwize 0.
"Bit 8" : Return Value is 1 if bit 8 of the register
is set otherwize 0.
"Bit 9" : Return Value is 1 if bit 9 of the register
is set otherwize 0.
"Bit 10" : Return Value is 1 if bit 10 of the register
is set otherwize 0.
"Bit 11" : Return Value is 1 if bit 11 of the register
is set otherwize 0.
"Bit 12" : Return Value is 1 if bit 12 of the register
is set otherwize 0.
"Bit 13" : Return Value is 1 if bit 13 of the register
is set otherwize 0.
"Bit 14" : Return Value is 1 if bit 14 of the register
is set otherwize 0.
"Bit 15" : Return Value is 1 if bit 15 of the register
is set otherwize 0.
Return
Value 1 to 32: [Type : Integer] : Defines the variables
that will receive the register values.
Usage : The Bit Selection parameter is apply to
all register values.
Read
Holding Register :
Description
: Read into the given variable a register of the Holding
registers block.
Parameters :
Address : [Type : Integer] : Address of register
(1-65535).
Register Count : [Type : Integer] : Number of register
to read (1-32).
Bit Selection : [Type : Enum] : Concerned bit in
the register
Availables
values :
"All" : The returned value give the value of the entire
register (real value).
"Bit 0" : Return Value is 1 if bit 0 of the register
is set otherwize 0.
"Bit 1" : Return Value is 1 if bit 1 of the register
is set otherwize 0.
"Bit 2" : Return Value is 1 if bit 2 of the register
is set otherwize 0.
"Bit 3" : Return Value is 1 if bit 3 of the register
is set otherwize 0.
"Bit 4" : Return Value is 1 if bit 4 of the register
is set otherwize 0.
"Bit 5" : Return Value is 1 if bit 5 of the register
is set otherwize 0.
"Bit 6" : Return Value is 1 if bit 6 of the register
is set otherwize 0.
"Bit 7" : Return Value is 1 if bit 7 of the register
is set otherwize 0.
"Bit 8" : Return Value is 1 if bit 8 of the register
is set otherwize 0.
"Bit 9" : Return Value is 1 if bit 9 of the register
is set otherwize 0.
"Bit 10" : Return Value is 1 if bit 10 of the register
is set otherwize 0.
"Bit 11" : Return Value is 1 if bit 11 of the register
is set otherwize 0.
"Bit 12" : Return Value is 1 if bit 12 of the register
is set otherwize 0.
"Bit 13" : Return Value is 1 if bit 13 of the register
is set otherwize 0.
"Bit 14" : Return Value is 1 if bit 14 of the register
is set otherwize 0.
"Bit 15" : Return Value is 1 if bit 15 of the register
is set otherwize 0.
Return
Value 1 to 32: [Type : Integer] : Defines the variables
that will receive the register values.
Usage : The Bit Selection parameter is apply to
all register values.
Write
Holding Register :
Description
: Write the given value into a register of the Holding
registers block.
Parameters :
Address : [Type : Integer] : Address of register
(1-65535).
Register Count : [Type : Integer] : Number of register
to write (1-32).
Bit Selection : [Type : Enum] : Concerned bit in
the register
Availables
values :
"All"
: The given value is written into the entire register
(real value).
"Bit 0" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 1" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 2" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 3" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 4" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 5" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 6" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 7" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 8" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 9" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 10" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 11" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 12" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 13" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 14" : Bit 0 of the register is set to 1 if the
value is not null.
"Bit 15" : Bit 0 of the register is set to 1 if the
value is not null.
Value 1 to 32: [Type : Integer] : Value(s) to write
into register(s).
Note : Some device does not support bit mask adressing
so in this case let the Bit Selection parameter to "All".
Read
Discret Input :
Description
: Read into the given variable the status of an input
of the Discret Input block.
Parameters :
Address : [Type : Integer] : Address of register
(1-65535).
Input Count : [Type : Integer] : Number of input
to read (1-32).
Return Status 1 to 32 : [Type : Integer] : Defines
the variable(s) that will receive the discret input(s)
status.
Read
Coil :
Description
: Read into the given variable the status of a coil
of the Coils block.
Parameters :
Address : [Type : Integer] : Address of register
(1-65535).
Coil Count : [Type : Integer] : Number of coil
to read (1-32).
Return Status 1 ot 32 : [Type : Integer] : Defines
the variable(s) that will receive the coil(s) status.
Write
Coil :
Description
: Write the given status into a coil of the coil block.
Parameters :
Address : [Type : Integer] : Address of register
(1-65535).
Coil Count : [Type : Integer] : Number of coil
to write (1-32).
Status 1 to 32 : [Type : Integer] : Status to write
into the register(s) (0-1).
Change
IP Address:
Description : Switch
the connection to another server.
Parameters :
Address : [Type : String] : New IP address to switch
to.
> Top
Variables (List Of) :
Status :
Error
:
Type : Enum.
Description : Current error status.
Available Values :
"No Error" : There is no error.
"Illegal Command" : The command is not an allowable
action for the modbus device. This may be because
the function code is only applicable to newer devices,
and was not implemented in the unit selected. It could
also indicate that the device is in the wrong state
to process a request of this type, for example because
it is unconfigured and is being asked to return register
values.
"Illegal Data Address": The address is not an allowable
address for the device.
"Illegal Data Value" : The value (status) is not an
allowable value (status) for device.
"Slave Device Failure" : An unrecoverable error occurred
while the device was attempting to perform the requested
action..
"Process In backgound" : Specialized use in conjunction
with programming commands. The device has accepted
the command and is processing it, but a long duration
of time will be required to do so. The returned value
from the register is not valid or the value sent to
a register is not yet processed.
"Slave Device Busy" : Specialized use in conjunction
with programming commands. The device is engaged in
processing a long–duration program command. The command
should be retransmited later when device is free.
"Memory Parity Error" : The device attempted to read
a register, but detected a parity error in the memory.
The command can be sent again, but service may be
required on the device.
"Gateway Path Unavailable" : Specialized use in conjunction
with gateways, indicates that the gateway was unable
to allocate an internal communication path from the
input port to the output port for processing the request.
Usually means that the gateway is misconfigured or
overloaded.
"Gateway Target Device Failed" : Specialized use in
conjunction with gateways, indicates that no response
was obtained from the target device. Usually means
that the device is not present on the network.
"Unknown Error" : An undocumented error occured.
> Top
Support (Difference with previous versions)
:
V 1.0.1:
- Added: Support for Showmaster.
V 1.0.2:
- Added: Support for Showmaster Pro.
> Top
|