Professional Documents
Culture Documents
GEI-100535 Direct Modbus For Mark VI and EX2100 PDF
GEI-100535 Direct Modbus For Mark VI and EX2100 PDF
GE Industrial Systems
Contents
Section
Page
GEI-100535
GEI-100535
GEH-6415
Innovation Series
Controller
GEH-6402
Introduction
The Mark VI, EX2100, LS2100, and Innovation Series controller can be a Modbus
slave on either an RS-232C serial connection or over Ethernet.
See sections, RS-232C
Asynchronous Multi-Point
Line Driver and GE Multilin
F485 Communications
Converter.
Input coils
Output coils
Input registers
Holding registers
Since the controller has high priority control code running at a fixed frame rate, it is
necessary to limit the amount of CPU resources that can be used by the Modbus
interface. To control the run time, a limit on the number of commands per second
received by the controller is enforced. The controller returns a busy status when
more than 10 commands are sent in a one-second period. The controllers control
code can also disable all Modbus commands by setting an internal logical signal.
GEI-100535
The RS-232C specification specifies twenty-five signal lines: twenty lines for
routine operation, two lines for modem testing, and the three remaining lines are
unassigned. Nine of the signal pins are used in a nominal RS-232C communication
system. Cable references refer to the 9-pin cable definitions found in Table 1.
Each RS-232C signal uses a single wire. The RS-232C standard specifies the
conventions used to send sequential data as a sequence of voltage changes to signify
the state of each signal. Depending on which signal group, a negative voltage (less
than 3 V) represents either a binary one data bit, a signal mark, or a control off
condition, while a positive voltage (greater that +3 V) represents either a binary zero
data bit, a signal space, or a control on condition. Because of voltage limitations, an
RS-232C cable may not be longer than fifty feet.
A DTE device is identified as a device that transmits serial data on pin 3 (TD) of a 9pin RS-232C cable (see pin definitions in Table 1). A DCE device is identified as a
device that transmits serial data on pin 2 (RD) of a 9-pin RS-232C cable.
Using this definition, the GE slave Modbus system is a DTE device because it
transmits serial data on pin 3 (TD) of the 9-pin RS-232C cable. If the master Modbus
device is also a DTE device, connecting the master and slave devices together will
require an RS-232C null modem cable. Pin definitions for 9-pin RS-232C straight
through and null modem cables are shown below.
GEI-100535
N u ll M o dem R S -232C C ab le
D TE P in s
D C E P ins
D TE P ins
D TE P in s
1 (D C D )
1 (D C D )
1 (D C D )
1 (D C D )
2 (R D )
3 (TD )
2 (R D )
3 (TD )
2 (R D )
3 (TD )
2 (R D )
3 (TD )
4
5
6
7
8
9
4
5
6
7
8
9
4
5
6
7
8
9
4
5
6
7
8
9
(D TR )
(G N D )
(D S R )
(R TS )
(C TS )
(R I)
(D TR )
(G N D )
(D S R )
(R TS )
(C TS )
(R I)
(D TR )
(G N D )
(D S R )
(R TS )
(C TS )
(R I)
(D TR )
(G N D )
(D S R )
(R TS )
(C TS )
(R I)
25-Pin
Description
DTE
Output
DTE
Input
Signal
Type
Function
Control
Signal comes from the other RS232C device telling the DTE device
that a circuit has been established
RD (receive data)
Data
TD (transmit data)
Data
20
Control
Ground
Must be connected
Control
Control
Control
22
RI (ring indicator)
Control
GEI-100535
The Modbus slave device supports only full duplex data transmission. Its RS-232C
serial port configuration parameters are specified on the run command line. The
following software configurable RS-232C definitions are user-specified arguments
on the Modbus programs run command line. The SYS process issues these
commands when starting up Modbus when CCM3 is configured into the system.
The slave devices QNX command line is:
modbus stn_addr [Device=0|1|2|3] [Baud=9600|19200] [Stop_bits=1|2]
[Parity=even|odd|none] [Code=7|8 (data bits)] p<priority> &
Defaults: d=1 b=19200 s=1 p=none c=8
Station address must be between 1:255
Device is the physical RS-232C port used for communications. The Modbus slave
device uses device two on a normal system. An optional PC/104 WinSystems
PCM-COM4A Serial Communications board can be installed onto a UCPB board to
add up to four additional serial connections. With the optional WinSystems serial
board, devices two, three, four, five, and six are supported. The default device is
number two.
Baud is the serial data transmission rate of the Modbus device measured in bits per
second. The Modbus slave device supports 9600 and 19200 baud. The default baud
rate is 19200.
GEI-100535
Stop bits are used to pad the number of bits that are transmitted for each byte of
serial data. The Modbus slave device supports one or two stop bits. The default is
one stop bit. If the serial communication system expects 11 bits for each data byte,
then the bit count will be as follows: (see examples below)
1 start bit
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Bit 8
Parity Bit
Stop Bit
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Bit 8
Stop Bit
Stop Bit
Parity provides a mechanism to error check individual serial 8-bit data bytes. The
Modbus slave device supports none, even, and odd parity. The default parity is none.
Code (byte size) is the number of data bits in each serial character. The Modbus
slave device supports seven and eight bit data bytes. The default byte size is eight
bits.
GEI-100535
Slave Controller
RS-232C
RS-232C
LD485A-MP
RS-485
Slave Controller
LD485A-MP
RS-485
Slave Controller
RS-232C
RS-232C
LD485A-MP
RS-485
LD485A-MP
RS-485
RS-485 Network
The master and slave devices are both set up as DTE devices. Both the master and
slave devices are connected to the LD485A-MP with a straight through 9-wire cable.
The two LD485A-MPs are connected together with a 4-wire twisted-pair cable as
follows:
Note A suggested cable to use for connecting the two LD485A-MPs is Belden
low capacitance 2-twisted-pair 24 gauge cable catalog number 9842.
The recommended jumper settings for the LD485A-MP are shown in Table 2.
GEI-100535
Slave LD485A-MP
Master LD485A-MP
Description
XW1A
Installed
Installed
DCE device
XW1B
Not installed
Not installed
S1
Normal
Normal
Normal mode
S2
On
On
Terminated
W7
Out
Out
W8
Full
Full
Full duplex
W9
5 ms
On
CTS delay
W15
A-B
A-B
DTR/RTS/CD enabled
W16
N/A
N/A
Not used
W17
N/A
N/A
Not used
W18
B-C
B-C
Note Jumper W9 is the only jumper different between the master and slave LD485A-MPs.
25-Pin
Plug Pin
No.
Description
RD (receive data)
TD (transmit data)
20
22
RI (ring indicator)
GEI-100535
Power
RS-232C RX
RS-232C TX
RS-485 RX
RS-485 TX
GEI-100535
RS-232C 9-pin receptacle that accepts a standard 9-pin computer cable (9-pin to
9-pin and 9-pin to 25-pin interface cables are provided)
RS-485 terminals that accept a standard shielded twisted pair and provide
connections for positive, negative, and shield. (The terminating network is
internal and no external terminating network is required.)
Power jack for connecting the supplied 120 V ac to 9 V ac adapter (if used)
RS-485
2-wire shielded
twisted pair
120 ohm terminating
resistor
100 pF termination
capacitor
RS-232C
Controller
GE Multilin
F485 Converter
Note:
Shield should be grounded at one place only.
A terminating network should be attached to the last
device in the link. The F485 has a built-in terminator
at the beginning of the link.
The F485 is configured through two internal DIP-switch banks that are accessible by
removing the box cover (see illustration below). Switches A1 A8 are used to set
the baud rate for RS-485 communication and determine whether the F485 is DTE
(RS-232C direct) or DCE (RS-232C modem). Switches B1 B6 select the interface
type. The designation for each switch is marked on the printed circuit board.
ON
Switches
B1 B8
ON
Switches
A1 A8
GEI-100535
Refer to Tables 4 and 5 for switch A position settings and Table 6 for switch B
position settings.
DIP-switch Position
A1
A2
A3
A4
A5
A6
A7
1200
On
Off
Off
Off
Off
Off
Off
2400
Off
On
Off
Off
Off
Off
Off
4800
Off
Off
On
Off
Off
Off
Off
9600
Off
Off
Off
On
Off
Off
Off
19200
(default)
Off
Off
Off
Off
On
Off
Off
38400
Off
Off
Off
Off
Off
On
Off
57600
Off
Off
Off
Off
Off
Off
On
DIP-switch
A8 Position
DTE
Off
DCE
On
B1
B2
B3
B4
B5
B6
RS-232C to
RS-485
Off
On
Off
On
Off
Off
RS-232C to
fiber-optic*
Off
Off
Off
Off
On
On
RS-485 to
fiber-optic*
On
Off
On
Off
Off
Off
GEI-100535
Baud Rate
Two-wire RS-485 is half-duplex and requires a method for switching between a
receive or transmit state. The F485 converter uses the incoming data to control the
direction and requires no control signals from the master device (RS-232C) to switch
from transmit to receive mode after the last character has been transmitted. The baud
rate switches control the length of time that the RS-485 transmitter remaining in the
transmit direction after the last character has been transmitted. The length of time is
fixed at 3.5 character times at the selected baud rate making it useable with Modbus
RTU protocol.
DTE/DCE Control
The DTE/DCE setting reverses the transmit/receive data lines on the RS-232C side.
For communications between a computer and a slave device, DTE (direct) should be
selected. When connecting the F485 to a modem or other data communication
equipment, DCE should be selected. Another application that requires DCE is when
two F485s are connected back-to-back, such as converting RS-232C to RS-485, and
then converting the RS-485 back to RS-232C. In this case, the second F485 must be
set to DCE control.
Ethernet Interface
The controller supports Ethernet Modbus as a standard slave interface. Ethernet
establishes high-speed communication between the various portions of the control
system. Ethernet Modbus protocol is layered on top of the TCP/IP stream sockets.
The controller follows the Open Modbus /TCP Specification as defined by Modicon
(Schneider Electric), for class 0 and class 1 commands. This document is available
on the www.modicon.com web site. The master sends commands to TCP port 502 on
the controller. Modbus commands can be sent to any of the Ethernet physical
connections on the controller as long as they use the dedicated TCP port.
Refer to the Ethernet installation guidelines in GEH-6421, Volume I, Chapter 5 for
details on how to connect Ethernet to the controller.
GEI-100535
The controller Modbus page is configured by using the GE Control System Toolbox
(toolbox). For complete details on using the toolbox, refer to the appropriate toolbox
document listed in section, Related Toolbox Documents.
Note The toolbox user privilege level must be set to at least two to create an I/O
device. (From the Options menu, select Privelege, then select 2).
Once a controller has been created in the toolbox, Modbus interfaces can be inserted
in the Outline View in order to access the Modbus functionality available on certain
hardware forms.
To insert a Modbus interface
1.
From the toolbox Outline View (left side of screen), click on the item
Hardware and I/O Definitions.
2.
From the Edit menu, select Insert First. Or, click the right-mouse button and
select Insert First. The New I/O or Network Interface dialog box displays.
Select Serial/Ethernet
Modbus, then click OK.
GEI-100535
3. Click OK. The Modbus item displays under the Hardware and I/O
Definition in the Outline View.
Note It is possible to define two different register sets, one Serial and one Ethernet
by creating two Hardware and I/O Definition entries in the Outline View screen
and selecting one to be Serial and the other to be Ethernet.
GEI-100535
Click the Hardware and I/O Definitions item to highlight it. From the Edit
menu, select Insert First. Or, click the right-mouse button and select Insert
First. A new item for Pg1 displays.
2.
Repeat these steps for each register page you want to create. Once a page is inserted,
Modbus points can be added.
Note Create pages with the same Address Type but with different register ranges
by assigning a higher First Address. For example, define a page of holding
registers in the range on 1 to 200 and another page in the range of 1001 to 1200. The
advantage of doing this is that a master would get an error if it tried to reference
holding registers between 201 and 1000.
GEI-100535
From the Outline View, select a Modbus page. From the Edit menu, select
Insert First. Or, click the right-mouse button and select Insert First. The
Point Settings dialog box displays. This item associates a controller signal
with a Modbus point.
S1\TNH
2.
GEI-100535
3.
Enter the name of the signal
with at least one and up to
three regions followed by a
signal name. Separate the
region(s) and name with a
backslash, such as reg1/
signal_name. The Region
can be six characters,
maximum; the signal name
can be 12 characters,
maximum.
From the Edit menu, select Insert First. Or, click the right-mouse button and
select Insert First. The Edit Signal Definition dialog box displays.
Enter a scale definition for this device. From the dropdown list,
select Custom to create a locally defined scale. Click Edit... to
view predefined scales.
S1\TNH
Repeat these steps for all the Modbus points to populate the Modbus registers.
GEI-100535
Boolean
Integer
Lint
Float
Bit
Yes
------
------
------
Short
------
Yes
Yes
Yes
Long
------
------
Yes
Yes
Float
------
------
Yes
Yes
Float values are rounded prior to being stored in short or long points. Short and long
points are clamped to their minimum and maximum limit if the conversion exceeds
their range.
Data Scaling
Data scaling is used to convert the Modbus point into a signal that represents
engineering units. Multiple signals can share one scaling record. The following is a
signal scaling record example.
GEI-100535
The formula for converting the Modbus point to a controller signal is:
Controller signal =
Controller signal =
Controller signal =
If the Modbus points raw value is 1000, then the controller value is 1000*.05 40, or
10 degrees.
The formula for converting the controller signal to a Modbus point is:
Modbus point =
Modbus point =
Modbus point =
Modbus point =
If the controller signal is 10 then the Modbus point is 10*20 + 800 or 1000.
Modbus points and controller signals do not have to be associated with a scale
definition even if a data type conversion is required. A gain of 1 and an offset of 0
are used in these cases. For more details on the Scale Definition dialog box, refer
to the appropriate toolbox document listed in the section, Related Toolbox
Documents.
Note The range of the Modbus point is determined by the points data type and not
by the scaling record. Each integer data type has an implied range. The raw data
range in the scale dialog box is only used to compute the gain and offset of the point
when converting it to a signal.
GEI-100535
GEI-100535
Message Format
The Serial RTU transmission mode uses the following format (where follower
address, function code, CRC-16 MSB, CRC-16 LSB are all bytes):
Station ID
Function
Code
CRC-16
MSB
CRC-16
LSB
Station ID (follower address) is a number from 1 to 255 that specifies the unit with
which to communicate.
Function code specifies the purpose and format of the remaining message portion.
The abbreviation CRC stands
for Cycle Redundancy Check.
CRC-16 are two bytes that complete every serial Modbus message. These bytes
check errors and are calculated to ensure that no transmission error occurred while
the message was in transit. The method for calculating the CRC-16 is a public
protocol. . Refer to the Gould Modicon Modbus Protocol Reference Guide for
information on calculating a correct CRC.
All the same functions are supported over Ethernet that are supported over the serial
ports. All Modbus messages are received on Ethernet port 502. The Ethernet
physical layer provides a CRC-32 checksum on all transmissions so the Modbus
CRC-16 is not included. Modbus over Ethernet adds the header below to the
message formats.
Protocol
LSB
Length
MSB
Length
LSB
Station
ID
Function
Code
Function
Specific Data
Message Errors
When a message is received that cannot be acted upon, it is either ignored and the
controller waits for the next message or an exception message responds.
Any messages that are misunderstood, incomplete or altered in some manner
(framing, parity, or CRC-16 error) are always ignored because it is not possible to
reliably determine for whom the message was intended. The master must detect this
timeout condition and resend the message as necessary.
GEI-100535
Any time a message receipt is in progress over a serial connection and an interval of
time corresponding to 3.5 character times (based on the baud rate) occurs without
receipt of a character, the message receipt in progress is aborted and ignored.
Message failures due to other causes are responded to with an exception response if
no reception error has occurred and if the message was not a broadcast (follower
address was zero).
The exception code responses that are supported when a normal response is
impossible is shown in Table 8.
Table 8. Exception Code Responses
Exception
Number
Code Name
Description
01
Illegal function
02
03
06
Device busy
Function
Code
Exception
Code
GEI-100535
Description
01
02
03
04
05
06
07
15
16
Start Coil
(MSB)
Start Coil
(LSB)
Number
of Coils
(MSB)
Number
of Coils
(LSB)
Starting output coil number is a number two-bytes in length that may be any value
less than the highest output coil number available in the output coil table. The
starting output coil number is equal to one less than the number of the first output
coil returned in the normal response to this request. For example, to get the first
output coil (output coil number 1) enter 0 for the starting output coil number. The
high order byte of the starting output coil number field is sent as the first byte. The
low order byte is sent next.
Number of output coils to return is a number two-bytes in length that must be in
the range from 1 to 2000 inclusive. It specifies the number of output coils returned in
the normal response. The sum of the starting output coil value and the number of
output coils value must be less than or equal to the highest output coil number
available in the output coil table. The high order byte of the number of output coils
field is sent as the first byte. The low order byte is sent next.
Format of normal message reply from the controller is:
Function
Code (01)
Byte
Count
Data Bytes
1-n
Byte count is a binary number from 1 to 250; the specified number of data bytes
follow.
GEI-100535
Data bytes (data field) are the packed output coil status data. Each byte contains
eight output coil values. The LSB of the first byte contains the value of the output
coil whose number is equal to the starting output coil number plus one. The value of
the output coils are ordered by number starting with the LSB of the first byte of the
data field and ending with the MSB of the last byte of the data field. If the number of
the output coils is not a multiple of eight, then the last data byte contains zeros in one
to seven of its highest order bits.
Start Coil
(MSB)
Start Coil
(LSB)
Number of Number of
Coils
Coils
(LSB)
(MSB)
Starting input coil number is two-bytes in length and may be any value less than
the highest input coil available in the input coil table. The starting input coil number
is equal to one less than the number of the first input coil returned in the normal
response to this request. For example, to get the first input coil (input coil number
one) enter zero for the starting input coil number. The high order byte of the starting
input coil field is sent as the first byte. The low order byte is sent next.
Number of input coils to return is two-bytes in length and must be in the range
from 1 to 2000 inclusive. It specifies the number of input coils returned in the normal
response. The sum of the starting input coil value and the number of input coils value
must be less than or equal to the highest input coil available in the input coil table.
The high order byte of the number of input coils field is sent as the first byte. The
low order byte is sent next.
Format of normal message reply from the controller is:
Function
Code (02)
Byte
Count
Data Bytes
1-n
Byte count is a binary number from 1 to 250; the specified number of data bytes
follow.
Data bytes (data field) are the packed input coil status data. Each byte contains
eight input coil values. The LSB of the first byte contains the value of the input coil
whose number is equal to the starting input coil plus one. The value of the inputs are
ordered by number starting with the LSB of the first byte of the data field and ending
with the MSB of the last byte of the data field. If the number of the input coils is not
a multiple of eight, then the last data byte contains zeros in one to seven of its
highest order bits.
Start
Register
(MSB)
Start
Register
(LSB)
Number of
Registers
(MSB)
Number of
Registers
(LSB)
GEI-100535
Starting holding register number is two-bytes in length and may be any value less
than the highest holding register number available in the holding register table. The
starting holding register number is equal to one less than the number of the first
holding register returned in the normal response to this request. For example, to get
the first holding register number (holding register number one) enter zero for the
starting holding register number. The high order byte of the starting holding register
number field is sent as the first byte. The low order byte is sent next.
Number of holding registers value is two-bytes in length and must be in the range
from 1 to 128 inclusive. It specifies the number of holding registers returned in the
normal response. The sum of the starting holding register value and the number of
holding registers value must be less than or equal to the highest holding register
number available in the holding register table. The high order byte of the number of
holding registers field is sent as the first byte. The low order byte is sent next.
Format of normal message reply from the controller is:
Function
Code (03)
Byte
Count
First
Register
(MSB)
First
Register
(LSB)
Data Registers
Requested
Last
Register
(LSB)
Byte count is an even binary number from 2 to 254, or zero. If the byte count is zero
(0), then the master assumes 256 data bytes follow. Otherwise, the specified number
of data bytes follow. The byte count specifies the total number of bytes in the
message following the byte count, not including the two CRC-16 bytes (serial
mode).
Holding registers are returned in the data field in order of number with the lowest
number holding register in the first two bytes and the highest number holding
register in the last two bytes of the data field. The number of the first holding register
in the data field is equal to the starting holding register number plus one. The high
order byte is sent before the low order byte of each holding register.
Start
Register
(MSB)
Start
Register
(LSB)
Number of
Registers
(MSB)
Number of
Registers
(LSB)
Number of input registers value is two-bytes in length and must be in the range
from 1 to 128 inclusive. It specifies the number of input registers returned in the
normal response. The sum of the starting input register value and the number of input
registers value must be less than or equal to the highest input register number
available in the input register table. The high order byte of the number of input
registers field is sent as the first byte. The low order byte is sent next.
Format of normal message reply from the controller is:
Function
Code (04)
GEI-100535
Byte
Count
First
Register
(MSB)
First
Register
(LSB)
Data Registers
Requested
Last
Register
(LSB)
Byte count is an even binary number from 2 to 254, or zero. If the byte count is zero
(0), then the master assumes 256 data bytes follow. Otherwise, the specified number
of data bytes follow. The byte count specifies the total number of bytes in the
message following the byte count, not including the two CRC-16 bytes (serial
mode).
Input registers are returned in the data field in order of number with the lowest
number input register in the first two bytes, and the highest number input register in
the last two bytes of the data field. The number of the first input register in the data
field is equal to the starting input register number plus one. The high order byte is
sent before the low order byte of each input register.
Output
Coil
(MSB)
Output
Coil
(LSB)
State
(00 or FF)
Output coil number is two-bytes in length and may be any value less than the
highest output coil number available in the output coil table. The output coil number
is equal to one less than the number of the output coil forced. For example, to change
the first output coil (output coil number one) enter zero for the output coil number.
The high order byte of the starting output coil number field is sent as the first byte.
The low order byte is sent next.
State byte is sent by the master with only two possible values. A zero (00h) is sent
to turn the specified output coil off (set false). A value of 255 (FFh) is sent to turn
the specified output coil on (set true). The state byte is always followed by a single
byte with value zero.
Format of normal message reply from the controller is identical to the received
message.
Holding Holding
Register Register
(LSB)
(MSB)
Register
Data
(MSB)
Register
Data
(LSB)
Holding register number is two-bytes in length and may be any value less than the
highest holding register number available in the holding register table. The holding
register number is equal to one less than the number of the holding register changed
by this request. For example, to change the first holding register (holding register
number one) enter zero for the holding register number. The high order byte of the
starting holding register number field is sent as the first byte. The low order byte is
sent next.
GEI-100535
Holding register data field is two bytes in length and contains the value to which
the holding register specified by the holding register number field is preset. The first
byte in the data field contains the high order byte of the preset value. The second
byte in the data field contains the low order byte.
Format of normal message reply from the controller is identical to the received
message.
Data Byte
Data bytes (data field) are the packed output coil status data. The data byte contains
eight output coil values. The LSB of the byte contains the value of the output coil
number one. The MSB contains the value of output coil number eight.
Starting
Coil
(MSB)
Starting
Coil
(LSB)
Coil
Count
(MSB)
Coil
Count
(LSB)
Data
Bytes
Data
Starting coil number is two-bytes in length and may be any value less than the
highest output coil number available in the output coil table. The output coil number
is equal to one less than the number of the output coil forced. For example, to change
the first output coil (output coil number one) enter zero for the output coil number.
The high order byte of the starting output coil number field is sent as the first byte.
The low order byte is sent next.
Coil count is two-bytes in length. It specifies the number of output coils to set. The
sum of the starting output coil value and the number of output coils value must be
less than or equal to the highest output coil number in the output coil table. The high
order byte of the number of output coils field is sent as the first byte. The low order
byte is sent next.
Byte count is the number of data bytes to follow.
GEI-100535
Data bytes (data field) are the packed output coil data. Each byte contains eight
output coil values. The LSB of the first byte contains the value of the output coil
whose number is equal to the starting output coil number plus one. The value of the
output coils are ordered by number starting with the LSB of the first byte of the data
field and ending with the MSB of the last byte of the data field. If the number of the
holding coils is not a multiple of eight, then the last data byte contains unused data in
its highest order bits.
Format of a normal message reply from the controller is:
Function
Code (15)
Starting
Coil
(MSB)
Starting
Coil
(LSB)
Coil
Count
(LSB)
Coil
Count
(MSB)
Starting
Register
(MSB)
Starting
Register
(LSB)
Register
Count
(MSB)
Register
Count
(LSB)
Data
Bytes
Data Registers
(MSB:LSB format)
Start register number is two-bytes in length and may be any value less than the
highest holding register number available in the holding register table. The holding
register number is equal to one less than the number of the holding register changed
by this request. For example, to change the first holding register (holding register
number one) enter zero for the holding register number. The high order byte of the
starting holding register number field is sent as the first byte. The low order byte is
sent next.
Number of holding registers value is two-bytes in length. It specifies the number of
holding registers to set. The sum of the starting holding register value and the
number of holding registers value must be less than or equal to the highest holding
register number in the holding register table. The high order byte of the number of
holding registers field is sent as the first byte. The low order byte is sent next.
Byte count is the number of data bytes to follow.
Register data field is two-bytes for each holding register to set. The first byte in the
data field contains the high order byte of each preset value. The next byte contains
the low order byte.
Format of a normal message reply from the controller is:
Function
Code (16)
Starting
Register
(MSB)
Starting Register
Count
Register
(MSB)
(LSB)
Register
Count
(LSB)
GEI-100535
GEI-100535
1.
From the toolbox, click the View menu, Controller Status Commands, and
then Custom. The following dialog box displays.
2.
Highlight the appropriate Modbus Errs entry and click OK. The Controller
Status Command Report displays.
This example displays error counters and the first 16 bytes of error messages. There
were three bad messages received with a bad station address. Station 1 was
addressed rather than station 17. The last line in the message dump is from the last
message sent and did not cause an error.
GEI-100535
Serial Modbus
>mbus_log o s
The report continues to display messages as they are received until Control + C is
entered. Use the information provided in the previous section to translate the
messages.
GEI-100535
g
GE Industrial Systems
+1 540 387 7000
www.GEindustrial.com
GEI-100535