HE693RTM705-01 and HE693OIU037 Supplement
Product Descriptions
The HE693OIU037 is a Horner Operator Interface Unit which indirectly communicates with a GE
Fanuc Series 90-30 or Series 90-70 PLC using the RTU/Modbus communications protocol. The OIU037
functions as a RTU/Modbus slave. The 9-pin RS -232 port is connected to a PC for configuration using the
OIUCFG software. The 15-pin RS -485 port connects to the RTU communications bus.
The HE693RTM705-01 is a Horner RTU Master for the OIU037. The RTM705-01 is an optimized
RTU/Modbus master that runs on a Series 90-30 PCM-based platform and manages communications between
several multi-dropped OIU037s and a Series 90-30 PLC. Communications is typically through RS-485 serial
single or dual twisted pair and provides a pseudo peer-to-peer method that provides transfer of Series 90-30
data to and from each OIU037. Maximum use of the serial protocol bandwidth is realized by broadcasting up
to 2000 points of 90-30 discrete data (%I, %Q, etc.) and up to 250 points of 90-30 analog data (%R, %AQ,
etc.) on a regular basis. Data changes at each OIU037 are queued and returned to the RTU Master in
response to a Read_Analog_Input command. The Read_Analog_Input command is transmitted by the master
to each OIU037 in a poll manner.
Included in the data returned from each OIU037 is the current function key status, current display screen
status and, if pending, a reference data change. Changes to the function key and display screen returned
status are not written to the 90-30 until all stations are scanned. In an effort to conserve response time, no
data will be written at the end of the scan if no changes were made. This data is assumed to be read-only
data by the Series 90-30.
One the other hand, a reference data change returned from an OIU037 is written immediately to the Series
90-30. This is done because both the Series 90-30 and the OIU037 have write access to the same data and a
write delay could be critical to the operation. All discrete reference data broadcasted and received from each
slave is stored in a contiguous section of 90-30 memory of a discrete type. The type, offset, and size of this
reference is configurable by the user and is referred to as the Discrete Global Data Table. All analog
reference data broadcasted and received is stored in a contiguous section of 90-30 memory of an analog type.
The type, offset and size of this reference is configurable by the user and is referred to as the Analog Global
Data Table.
Also stored in the PLC reference data tables is an individual status field which reflects the condition of
communications with each OIU037. (The slave status is referred to in the COMM_REQ as the slave status
information.) By continuously monitoring each status field, the PLC can detect configuration or communication
problems on a slave by slave basis. See Section A3.6 for the error definitions.
Configuration of the RTU Master port and initialization of parameters is easily accomplished through a
COMM_REQ command in the 90-30 ladder program. Baud rates of up to 19.2K are supported in either
RS232 or RS422/RS485 mode. All popular handshaking, parity, stop bits, and RTU transfer (ANSII [7-bit] or
RTU [8-bit]) modes are available. While two communications ports are physically available, only the
second port, COM2, is used. COM2 provides both RS-232 and RS-485 capability.
Mounting Requirements
The RTU Master Module is designed to plug into any Series 90-30 local rack slot. Please refer to the 90-30
Installation manual for information on installing the module.
RTU Master Installation
Remove power to the 90-30 CPU/Rack.
Install the module in a free slot.
Apply power to the PLC.
Connect serial cables and execute LM90.
Choose F2 for the I/O Configuration software
Go to the I/O Configuration section (F1)
a. Select F8 for ‘other’.
b. Select F1 for ‘pcm’.
c. Select F10 for ‘zoom’ and set configuration mode for ‘PCM CFG’.
RTU/Modbus Protocol
The RTU/Modbus protocol uses a Master/Slave protocol that can support a common bus of one master and up
to 247 Modbus Slaves. However, the RTU Master can only support up to 32 multi-dropped and contiguously
addressed OIU037s. The RTU Master will construct commands to request data from each configured OIU037
slave address. Only the addressed slave is expected to respond to the command. Message integrity is
assured through use of checksums included in a message. Should a slave receive a message with a bad
checksum, no response will be returned.
To transmit data to the OIU037s, the RTU Master will use the broadcast capability of the RTU/Modbus
protocol. No slaves will respond to the broadcast. Again, message integrity is assured through use of
checksums. Should a slave receive a broadcast message with a bad checksum, the data will be ignored.
While no means exists for a master to detect that the slave did not properly receive a broadcast, this does not
present a problem since data is continuously broadcasted on a high-speed basis.
The RTU Master will only broadcast the RTU commands Force_Multiple_Outputs (15h) to write discrete data
and Preset_Multiple_Registers (16h) to write analog data. Furthermore, the RTU Master will only issue a
Read_Analog_Inputs (4) to read data. This data structure returned by this command contains several pieces
of information including any changed global reference data at the OIU037 of either a discrete or analog type.
Please refer to GE Fanuc Series 90 PLC Serial Communications User’s Manual (GFK-0582B) for more
detailed information on the RTU/Modbus communications protocol.
RTU Master Configuration
On power-up, the RTU Master waits for a configuration through a COMM_REQ before initiating
communications with the OIU037. While waiting for a COMM_REQ the lower LED will remain solidly lit.
Before the COMM_REQ can be issued, space must be reserved for the discrete and analog global reference
data tables, slave status table and slave info table. The slave status and slave info tables in the Series 90-30
reference data should be cleared by the ladder logic before issuing the COMM_REQ. Additionally, the
communications port will require configuration information.
Each of the two global data reference tables broadcasted are retrieved from a contiguous section of a
corresponding type Series 90-30 data reference tables. One table will be for discrete data and will require a
discrete-type (%I, %Q, etc.) date reference. The other table will be for the analog data and will require an
analog-type (%R, %AQ, etc.) data reference. In the COMM_REQ, the user must specify a Series 90-30 data
reference type, offset, and length for each of the two tables broadcasted. The supported reference types and
their associated type value are shown on the following page:
Supported PLC types (decimal values):
70 - %I
72 - %Q
74 - %T
76 - %M
8 - %R
10 - %AI
12 - %AQ
Any other reference type value will generate an error. Specifying a reference offset which exceeds the
specified reference data table size will generate an error. Additionally, broadcast length is limited internally to
2000 for discrete I/O and 250 for analog I/O. Specifying a reference length value greater than these broadcast
limits will also generate an error.
The user must also specify a reference type and offset for the slave OIU037 status (communication) table.
The reference type for this table must be an analog (word) type value. This table is 32 entries long and will
start with slave address 1 status in the first location. If a station is online and communicating with no errors,
the status value will be zero. If an error occurs and communications is not restored during the next 3 retries,
an error value will be placed in that station’s appropriate status field. Additionally, no further
communications will be attempted with that station until the Series 90-30 logic clears that status field
back to zero.
The user must also specify a reference type and offset for the slave OIU037 information table. The reference
type of this table must be an analog (word) type. This table is 96 entries long and is divided into two parts.
The first part displays the current status of the OIU037 function keys. These are 32 bit entries with the first
word containing the bitmap status of the lower 16 keys. The second word contains the bitmap of the status of
the upper 16 keys. Two words per OIU037 are contiguous with slave address 1, taking the first two words.
The second part of the table starting a offset 64 contains the current screen register being displayed by the
OIU037. Again, offset 64 contains that register from slave address 1 with the remaining stations placed
contiguously in order.
NOTE: Since the RTU Master is slower to power up than the Series 90-30, a delay of 5 seconds should
be implemented in the ladder logic before the COMM_REQ is called. Additionally, the PLC should set
the provided (task) status reference to zero before making the call.
A COMM_REQ can be issued at any time to re-initialize the operation of the RTU Master.
COMM_REQ configuration data:
Address + 1
Address + 2
Address + 3
Address + 4
Address + 5
Address + 6
Address + 7
Address + 8
Address + 9
Address + 10
Address + 11
Address + 12
Address + 13
Address + 14
Address + 15
Address + 16
Address + 17
Address +18
Address + 19
Address + 20
Data Block Length (15)
No Wait (0)
Status Pointer Type
Status Pointer Offset (origin 0)
Idle Time-out (N/A)
Max. Comm. Time (N/A)
Number of Slave OIU037
Port Baud Rate
Port Parameter Word
Expected Turn-around Time
Reserved (must be zero)
Slave Status Table Type
Slave Status Table Offset
Slave Information Table Type
Slave Information Table Offset
Discrete Global Table Type
Discrete Global Table Offset
Discrete Global Table Length
Analog Global Table Type
Analog Global Table Offset
Analog Global Table Length
Data Length
Specifies the number of additional data words in the COMM_REQ. This value must be 15.
No Wait
Specify No Wait to guarantee PLC does not wait indefinitely should the RTM not respond to the
COMM_REQ. This value should be zero.
Status Pointer Type and Offset
Specifies the PLC word reference that will receive the RTU Master task status after initialization.
Number of slave OIU037s
Specifies the number of OIU037s to be polled during normal operation. These slave OIU037s must be
addressed in order and start with address 1. The maximum is 32.
Port BAUD rate
Specifies the baud rate of the communications port. The following rates are supported: 300, 600,
1200, 2400, 4800, 9600, 14400, 19200. The values are entered as the unsigned decimal value of the
baud rate.
Port Parameter word
Specifies the frame protocol:
Bit 0
- Stop bits [0-1bit, 1-2bit]
Bit 1
- Enable Parity [0-none]
Bit 2
- Odd parity [0 - even]
Bit 3
- Data mode [0 - RTU, 1 - ASCII]
Bit 4
- Serial mode [0 - RS485, 1 - RS232]
Bit 5
- Broadcast [0 - All, 1 - Cycle]
Bit 6-15 - Reserved for factory, must be set to zero.
Expected Turn-around Time
Specifies the time that the RTU Master wait after sending the broadcast commands before polling
each individual slave. Two times the Expected Turn-around Time is the amount of time that is allowed
for response to the polled request before a time-out error is generated.
Slave Status Table reference type and offset
Specifies the starting location in the 90-30 memory where the slave OIU037 status will be stored.
Slave Information Table reference type and offset
Specifies the starting location in the 90-30 memory where the slave OIU037 status will be stored.
Discrete and Analog Global Data Table reference type, offset and length.
Specifies the starting location and length of 90-30 memory to broadcast to the OIU037’s.
The input parameters to the COMM_REQ include the associated data address, task id and location. The data
address contains the starting address of the reference containing the pre-initialized values described above.
The task id is always 101 decimal for this RTU Master and the location is described with the upper 8 bits
specifying the rack and the lower 8 bits specifying the position of the RTU Master module.
See the RTU Master Communications Module manual for wiring details.
OIU037 Configuration
The HE693OIU037 is fully configurable using the OIU configuration software, OIUCFG.EXE. The steps below
detail how to set slave addressing, protocol, idle timeout, and modem TAT.
Execute the OIU configuration software, OIUCFG.EXE
Press the ‘HOME’ key and select choice B for the HE693OIU037.
The MAIN MENU should now be displayed.
Select F8 for the ‘Select AUTO/SETUP Mode’.
The ‘Modbus Parameters’ screen should now be displayed.
Configure the OIU037 accordingly.
See the RTU Master Communications Module manual for wiring details.
Normal Operation
Upon receiving a valid COMM_REQ, the RTU Master first verifies the communications parameters and
initializes the communications port. Then the reference parameters will be verified and pointers set to the type
and offset passed in the COMM_REQ. Any invalid parameters within the COMM_REQ data block will cause
the RTU Master to halt and generate an error value in the task status field. Finally, the internal copy of the
slave info table will be cleared and the broadcast / poll scan will begin.
On the ladder logic side, after the COMM_REQ call is made in NO_WAIT mode, the task status field should be
sampled for a non-zero response. If the RTU Master initializes without errors, an OK [0x0001] status will be
returned. If an error occurs, the associated value will be placed in the status field. If no status response is
received from the COMM_REQ after waiting one second, the RTU Master should be considered unreachable
or in fatal error. The COMM_REQ FT output can also provide an indication of fault conditions.
After initialization, the RTM Master will first access the Series 90-30 Slave Status table to determine what
stations are currently faulting. If communications to all stations should be attempted, the Series 90-30 ladder
logic should clear this table before issuing the COMM_REQ.
Thereafter, the RTM Master will begin the broadcast phase of the scan. An RTU/Modbus broadcast message
can send up to 250 bytes of data. The imposed Discrete Global Data Table limit of 2000 points (or 250 bytes)
allows the maximum discrete data to be passed in a single broadcast. The imposed Analog Global Data Table
limit of 250 points (or 500 bytes) allows the maximum analog data to be passed in two broadcast messages.
The actual amount of data broadcasted is configurable though each Global Data Table length field in the
COMM_REQ. Additionally, either Global Data Table length can be configured to be zero which would disable
the broadcast frame entirely for that type. Therefore, that number of broadcast frames sent can be configured
from zero to three.
To transmit a broadcast frame, usually a large amount of data must be retrieved form the Series 90-30. The
time required for this access is 2.5 times the Series 90-30 logic scan time. Additionally, the time to actually
transmit this data packet is relatively large at 19.2K baud. Therefore, a configuration option exists which will
allow all or only one broadcast to be transmitted on each scan. Selecting only one broadcast per scan will
decrease the time interval between individual station poll messages but will increase the time interval to
update all global data.
After the broadcast phase, the RTM Master will enter the poll phase when all the non-faulted stations are
polled for data updates. Function key and display registers will, from each slave, be stored in a temporary
table to be compared for changes at the end of the poll phase. However, if any reference data value has
changed at the slave it will be written immediately to the Series 90-30. At the end of the scan, the temporary
info table is compared to the table from the last scan. If any changes were made, the entire temporary info
table is written to the 90-30 copy of the Info table. This write only on change is required for optimization since
any write to 90-30 reference memory will take 2.5 times the Series 90-30 logic scan time to complete.
If a polled response to an RTU Master request is corrupted or not returned, the RTU Master will retry the
command on the next three scans. If there is still no valid response, an error will be registered in the
associated Slave’s Status field in the Series 90-30 and that slave will no longer be serviced until the ladder
program clears that status field. Data change values will not be lost at the OIU037 when a retry occurs since
an ACK/NAK handshaking method is utilized. Logical errors such as Bad-RTU-Command or Data error, or
Bad-PLC-Type or Address error will not be retried. While the RTU Master is running, the ladder program
should monitor each OIU037 Slave Status Table field. This allows the user to access the current state of a
slave. If a slave is marked in error (value > 0), that error must be cleared before communications will be
When the RTU Master is running, the Series 90-30 run mode is also being sampled. Should the PLC be taken
out of run mode, the RTM Master will halt operation and wait for re-initialization. Pressing the reset button for
less than 5 sec. (soft reset) will halt operation and cause it to wait for re-initialization through new
Warning: Pressing the reset button for longer than 5 sec. (hard reset) will cause the
RTM Master to halt. To restart from halted state, press the reset button for less than 5
sec. or power-cycle the rack.
Timing considerations
Example timing values are calculated with the following parameters:
Number of stations
= 16
Global Discrete Data Table length
= 250 points
Global Analog Data Table length
= 250 points
Expected Remote Turn-around time
response to 256 byte broadcast
= 10mS
response to Read_Analog_Input
= 4mS
Series 90-30 PLC scan time
= 20mS
Phase 1 Broadcast:
Discrete access
2.5 * scan_time
Station Status access 2.5 * scan_time
.8mS * data bytes
(note 1)
Phase 2 and 3 Broadcast:
Analog access
2.5 * scan_time
.8mS * data bytes
(note 1)
Per Station Access:
Request Xfer
(remote dependent)
Response Xfer
Process Time
---------464 mS
All broadcast mode (note 2):
= 126mS + 2(250mS) + 464mS
= 1090mS
Cycled broadcast mode (note 2):
Phase 1 update
Phase 2/3 update
= 136mS + 464mS
= 590mS
= 260mS + 464mS
= 724 mS
Note 1: Expected_TAT may be ignored in All broadcast mode in calculating response time if ETAT <
2.5 * scan time.
Note 2: Any reference data change at a slave will add approximately 2.5 * PLC scan_time to the RTM
scan time. Any status or function key change at slave will only add one 2.5 * PLC scan_time
delay at end of an RTM scan for all stations.
Fatal errors (Port LED blinks code) [contact Technical Support]:
1 count - Allocate timer fault
2 counts - Device Open fault
3 counts - Device Read fault
4 counts - Device Write fault
5 counts - Com Device configuration fault
6 counts - Backplane Device configuration fault
7 counts - PLC write protected (password)
8 counts - Com write buffer overflow
9 counts - Bad Session transfer
RTU Master System Status Errors:
COMM_REQ errors:
0x00C0 - Specified bad number of slave nodes [ 0 or >32 ].
0x00C1 - Specified unsupported communications baud rate.
0x00C2 - Specified bad slave status table type [ 8:%R, 10:%AI, 12:%AQ ]
0x00C3 - Specified slave status table offset which exceeds size of specified type.
0x00C4 - Specified bad info table type [ 8:%R, 10:%AI, 12:%AQ ].
0x00C5 - Specified info table offset that exceeds size of specified type.
0x00C6 - Specified bad global discrete data table type [ 70:%I, 72:%Q, 74:%T, 76:%M
0x00C7 - Specified global discrete data table offset that exceeds size of specified
0x00C8 - Specified global discrete data table length that exceeds broadcast size.
0x00C9 - Specified bad global analog data table type [ 8:%R, 10:%AI, 12:%AQ ]
0x00CA - Specified global analog data table offset that exceeds size of specified type.
0x00CB - Specified global analog data table length that exceeds broadcast size.
Station Status Errors:
Local Modbus frame errors (contact Technical Support):
0x00A1 - Internal: bad Modbus command.
0x00A2 - Internal: data length exceeds Modbus frame size.
0x00A3 - Internal: invalid PLC reference offset.
0x00A4 - Internal: invalid PLC reference type.
Remote Modbus frame errors:
0x0091 - Unsupported Modbus command.
0x0092 - Invalid Modbus data offset.
0x0093 - Invalid Modbus data.
0x0094 - Failure in remote device
Transport Frame response errors:
0x0081 - Timeout waiting for response.
0x0082 - Bad checksum.
0x0083 - Protocol Error
0x0084 - Buffer overflow
0x0085 - Receive data length does not match expected.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF