Warnings, Cautions, and Notes as used in this publication
Warnings
WARNING!Warning notices are used in this publication to emphasize that hazardous voltages,
currents, or other conditions that could cause personal injury exist in this equipment or may be
associated with its use.
Warning notices are also used for situations in which inattention or lack of equipment knowledge
could cause either personal injury or damage to equipment.
Cautions
CAUTION:Caution notices are used for situations in which equipment might be damaged if care is
not taken.
Notes
NOTE:Notes call attention to information that is especially significant to understanding and
operating the equipment.
This document is based on information available at the time of its publication. While efforts have been
made to ensure accuracy, the information contained herein does not cover all details or variations in
hardware and software, nor does it provide for every possible contingency in connection with
installation, operation, and maintenance. Features may be described in here that are not present in all
hardware and software systems. GE Consumer & Industrial assumes no obligation of notice to holders
of this document with respect to changes subsequently made.
GE Consumer & Industrial makes no representation or warranty, expressed, implied, or statutory, with
respect to, and assumes no responsibility for the accuracy, completeness, sufficiency, or usefulness of
the information contained herein. No warrantees of merchantability or fitness for purpose shall apply.
Entellisys™, EntelliGuard™, and FlexLogic™ are trademarks of the General Electric Company.
Modbus RTU is a registered trademark of AEG Schneider Automation.
Please have your Entellisys System Summary # and Sub # ready when calling. This information can be
found on the Entellisys HMI on the System Health screen by clicking the Job Info button.
Post Sales Service
GE Switchgear
510 Agency Road
West Burlington, IA 52655
The CPU supports a number of communications protocols to allow connection to the HMI
computer, as well as other equipment which includes personal computers, RTUs, SCADA
masters, and programmable logic controllers. The Modicon Modbus
basic protocol supported. Modbus is available via ethernet as specified by the Modbus/TCP
specification. Note that:
• The CPU always acts as a slave device, meaning that it never initiates communications; it
only listens and responds to requests issued by a master computer.
• For Modbus, a subset of the Remote Terminal Unit (RTU) protocol format is supported that
allows extensive monitoring, programming, and control functions using read and write
register commands.
• The CPU will support a maximum of 8 concurrent Modbus sessions. Four sessions are
reserved for use by HMI computers. A remote device that attempts to connect when all
sessions are in use will receive a response message indicating the number of maximum
connections has been exceeded. If a remote device does not make a request within
30 seconds, the session will be timed out and made available to the next device that
establishes a session.
®
RTU protocol is the most
1.1.2 Physical layer
The Modbus RTU protocol is hardware-independent so that the physical layer can be any of a
variety of standard hardware configurations. The CPU includes a faceplate (front panel)
100BaseT Ethernet port. Data flow is auto-configuring full or half-duplex. Each data byte is
transmitted in an asynchronous format consisting of 1 start bit, 8 data bits, 1 stop bit, and
possibly 1 parity bit. This produces a 10 or 11 bit data frame. The master device in any system
must know the address of the slave device with which it is to communicate. In the case of
ModbusTCP communications, the CPU will not act on a request from a master if the address in
the request does not match the CPU’s slave address. A single setting selects the slave address
used for ModbusTCP. The default slave address for a CPU is 1.
Modbus® protocol implementation7
1.1.3 Data link layer
Communications takes place in packets, which are groups of asynchronously framed byte data.
The master transmits a packet to the slave and the slave responds with a packet. The end of a
packet is marked by ‘dead-time’ on the communications line. The following describes general
format for both transmit and receive packets. For exact details on packet formatting, see the
subsequent sections describing each function code.
MODBUS PACKET FORMAT
DESCRIPTIONSIZE
SLAVE ADDRESS1 byte
FUNCTION CODE1 byte
DATAN b ytes
CRC2 bytes
DEAD TIME3.5 bytes transmission time
SLAVE ADDRESS
This is the address of the slave device that is intended to receive the packet sent by the master
and perform the desired action. Only the addressed slave will respond to a packet that starts
with its address. Note that since Modbus/TCP also relies on a correct IP address to receive the
packet, and each CPU responds as a single device, it is generally not necessary to change the
Modbus address of the device.
FUNCTION CODE
This is one of the supported function codes of the unit which tells the slave what action to
perform. See Supported function codes on page 10
for complete details. An exception response
from the slave is indicated by setting the high order bit of the function code in the response
packet. See Exception responses on page 15
for further details.
DATA
This will be a variable number of bytes depending on the function code. This may include actual
values, settings, or addresses sent by the master to the slave or by the slave to the master.
CRC
This is a two byte error checking code. The RTU version of Modbus includes a 16-bit cyclic
redundancy check (CRC-16) with every packet which is an industry standard method used for
error detection. If a Modbus slave device receives a packet in which an error is indicated by the
CRC, the slave device will not act upon or respond to the packet thus preventing any erroneous
operations. See CRC-16 Algorithm on page 9
for a description of how to calculate the CRC.
Integrator’s Guide8
1.1.4 CRC-16 Algorithm
The CRC-16 algorithm essentially treats the entire data stream (data bits only; start, stop and
parity ignored) as one continuous binary number. This number is first shifted left 16 bits and
then divided by a characteristic polynomial (11000000000000101B). The 16-bit remainder of
the division is appended to the end of the packet, most significant byte first. The resulting
packet including CRC, when divided by the same polynomial at the receiver, will give a zero
remainder if no transmission errors have occurred. This algorithm requires the characteristic
polynomial to be reverse bit ordered. The most significant bit of the characteristic polynomial is
dropped, since it does not affect the value of the remainder.
CRC-16 ALGORITHM
SYMBOLS-->data transfer
A16-bit working register
Alowlow order byte of A
Ahighhigh order byte of A
CRC16-bit CRC-16 result
i,jloop counters
(+)logical EXCLUSIVE-OR operator
Ntotal number of data bytes
Dii-th data byte (i = 0 to N-1)
G16-bit characteristic polynomial = 1010000000000001 (binary) with
MSbit dropped and bit order reversed
shr (x)right shift operator (th LSbit of x is shifted into a carry flag, a ‘0’ is
shifted into the MSbit of x, all other bits are shifted right one location)
ALGORITHM:
1. FFFF (hex) --> A
2. 0 --> i
3. 0 --> j
4. Di (+) Alow --> Alow
5. j + 1 --> j
6. shr (A)
7. Is there a carry? No: go to 8 Yes: G (+) A --> A and continue.
8. Is j = 8? No: go to 5 Yes: continue
9. i + 1 --> i
10. Is i = N? No: go to 3 Yes: continue
11. A --> CRC
Modbus® protocol implementation9
1.1.5 Supported function codes
Modbus officially defines function codes from 1 to 127 though only a small subset is generally
needed. The CPU supports some of these functions, as summarized in the following table.
Subsequent sections describe each function code in detail.
1.1.5.1 Function Code 03H/04H – Read Actual Values or Settings
This function code allows the master to read one or more consecutive data registers (actual
values or settings) from a relay. Data registers are always 16 bit (two byte) values transmitted
with high order byte first. The maximum number of registers that can be read in a single packet
is 125. See the MODBUS MEMORY MAP table on page 17 for exact details on the data registers.
Since some PLC implementations of Modbus only support one of function codes 03h and 04h,
the CPU interpretation allows either function code to be used for reading one or more
consecutive data registers. The data starting address will determine the type of data being read.
Function codes 03h and 04h are therefore identical. The following table shows the format of the
master and slave packets. The example shows a master device requesting 3 register values
starting at address 4050h from slave device 11h (17 decimal); the slave device responds with the
values 40, 300, and 0 from registers 4050h, 4051h, and 4052h, respectively.
FUNCTION CODEMODBUS DEFINITIONCPU DEFINITION
HEXDEC
03 3 Read Holding RegistersRead Actual Values or Settings
04 4 Read Holding RegistersRead Actual Values or Settings
Master and Slave Device Packet Transmission Example
MASTER TRANSMISSION
PACKET FORMATEXAMPLE (HEX)
SLAVE ADDRESS 11
FUNCTION CODE 04
DATA STARTING ADDR - hi 40
DATA STARTING ADDR - lo 50
NUMBER OF REGISTERS - hi00
NUMBER OF REGISTERS - lo03
CRC - lo A7 DATA #2 - loA7
CRC - hi 4A DATA #3 - hi 4A
Integrator’s Guide10
SLAVE RESPONSE
PACKET FORMAT EXAMPLE (HEX)
SLAVE ADDRESS11
FUNCTION CODE04
BYTE COUNT06
DATA #1 - h i00
DATA #1 - lo28
DATA #2 - h i01
DATA #2 - lo2C
DATA #3 - h i00
DATA #3 - lo00
CRC - lo0D
CRC - hi60
1.1.5.2 Function Code 05H – Execute Operation
This function code allows the master to perform various operations in the CPU.
The following table shows the format of the master and slave packets. The example shows a
master device requesting the slave device 11H (17 dec) to perform a reset. The hi and lo CODE
VALUE bytes always have the values ‘FF’ and ‘00’ respectively and are a remnant of the original
Modbus definition of this function code.
Master and Slave Device Packet Transmission Example
MASTER TRANSMISSION
PACKET FORMATEXAMPLE (HEX)
SLAVE ADDRESS11
FUNCTION CODE05
OPERATION CODE - hi00
OPERATION CODE - lo01
CODE VALUE - hiFF
CODE VALUE - lo00
CRC - loDF
CRC - hi6A
Modbus® protocol implementation11
SLAVE RESPONSE
PACKET FORMATEXAMPLE (HEX)
SLAVE ADDRESS11
FUNCTION CODE05
OPERATION CODE - hi00
OPERATION CODE - lo01
CODE VALUE - hiFF
CODE VALUE - lo00
CRC - loDF
CRC - hi6A
Integrator’s Guide12
1.1.5.3 Function Code 06H – Store Single Setting
This function code allows the master to modify the contents of a single setting register in a CPU.
Setting registers are always 16-bit (two byte) values transmitted high-order byte first . The
following table shows the format of the master and slave packets. The example shows a master
device storing the value 200 at memory map address 4051h to slave device 11h (17 dec).
Master and Slave Device Packet Transmission Example
MASTER TRANSMISSION
PACKET FORMATEXAMPLE (HEX)
SLAVE ADDRESS11
FUNCTION CODE06
DATA STARTING ADDR - hi40
DATA STARTING ADDR - lo51
DATA - hi00
DATA - loC8
CRC - loCE
CRC - hiDD
SLAVE RESPONSE
PACKET FORMATEXAMPLE (HEX)
SLAVE ADDRESS11
FUNCTION CODE06
DATA STARTING ADDR - hi40
DATA STARTING ADDR - lo51
DATA - hi00
DATA - loC8
CRC - loCE
CRC - hiDD
Modbus® protocol implementation13
1.1.5.4 Function Code 10H – Store Multiple Settings
This function code allows the master to modify the contents of a one or more consecutive
setting registers in a CPU. Setting registers are 16-bit (two byte) values transmitted high-order
byte first. The maximum number of setting registers that can be stored in a single packet is 60.
The following table shows the format of the master and slave packets. The example shows a
master device storing the value 200 at memory map address 4051h, and the value 1 at memory
map address 4052h to slave device 11h (17 dec).
Master and Slave Device Packet Transmission Example
MASTER TRANSMISSION
PACKET FORMATEXAMPLE (HEX)
SLAVE ADDRESS11
FUNCTION CODE10
DATA STARTING ADDR-hi40
DATA STARTING ADDR-lo51
NUMBER OF SETTINGS-hi00
NUMBER OF SETTINGS-lo02
BYTE COUNT04
DATA #1 - h i00
DATA #1 - loC8
DATA #2 - h i00
DATA #2 - lo01
CRC – lo12
CRC – hi62
Integrator’s Guide14
SLAVE RESPONSE
PACKET FORMATEXAMPLE (HEX)
SLAVE ADDRESS11
FUNCTION CODE10
DATA STARTING ADDR - hi40
DATA STARTING ADDR - lo51
NUMBER OF SETTINGS - hi00
NUMBER OF SETTINGS - lo02
CRC - lo07
CRC - hi64
1.1.5.5 Exception responses
Programming or operation errors usually happen because of illegal data in a packet . These
errors result in an exception response from the slave. The slave detecting one of these errors
sends a response packet to the master with the high order bit of the function code set to 1. The
following table shows the format of the master and slave packets. The example shows a master
device sending the unsupported function code 39h to slave device 11.
Master and Slave Device Packet Transmission Example
MASTER TRANSMISSION
PACKET FORMATEXAMPLE (HEX)
SLAVE ADDRESS11
FUNCTION CODE39
CRC - low order byteCD
CRC - high order byteF2
SLAVE RESPONSE
PACKET FORMATEXAMPLE (HEX)
SLAVE ADDRESS11
FUNCTION CODEB9
ERROR CODE01
CRC - low order byte93
CRC - high order byte95
Modbus® protocol implementation15
1.1.6 File transfers
1.1.6.1 Obtaining CPU files using Modbus protocol
The CPU has a generic file transfer facility, meaning that you use the same method to obtain all
of the different types of files from the unit. The Modbus registers that implement file transfer are
found in the “Modbus File Transfer (Read/Write)” and “Modbus File Transfer (Read Only)”
modules, starting at address 030Eh in the Modbus Memory Map. To read a file from the CPU, use
the following steps:
1. Write the filename to the “Name of file to read” register using a write multiple registers
command. If the name is shorter than 80 characters, you may write only enough registers
to include all the text of the filename. Filenames are not case sensitive.
2. Repeatedly read all the registers in “Modbus File Transfer (Read Only)” using a read multiple
registers command. It is not necessary to read the entire data block, since the CPU will
remember which was the last register read. The “position” register is initially zero and
thereafter indicates how many bytes (2 times the number of registers) you have read so far.
The “size of...” register indicates the number of bytes of data remaining to read, to a
maximum of 244.
3. Keep reading until the “size of...” register is smaller than the number of bytes you are
transferring. This condition indicates end of file. Discard any bytes you have read beyond
the indicated block size.
4. If you need to re-try a block, read only the “size of...” and “block of data”, without reading the
position. The file pointer is only incremented when you read the position register, so the
same data block will be returned as was read in the previous operation. On the next read,
check to see if the position is where you expect it to be, and discard the previous block if it is
not (this condition would indicate that the CPU did not process your original read request).
The CPU retains connection-specific file transfer information, so files may be read
simultaneously on multiple Modbus connections.
a. Obtaining files from the CPU using other protocols
All the files available via Modbus may also be retrieved using the standard file transfer
mechanisms in other protocols (for example, TFTP).
b. Reading event recorder files
To read the entire event recorder contents in ASCII format (the only available format), use
the following filename:
•EVT.TXT
c. Reading fault report files
The file name for fault report data is faultReport#####.txt . The ##### refers to the
fault report record number. This number is identical to the event record number
associated with the fault report. A request for a non-existent fault report file will yield file
with no data below the header.
d. Reading waveform capture files
Waveform records comply with COMTRADE 1999 format (IEEE Std C37.111-1999). The file
names as required by the standard for waveform capture data are wfc#####.dat and wfc#####.cfg. The ##### refers to the waveform record number. Note that this number
is not the same as the event number cited in the case of the fault report above. If an
event has a waveform capture associated with it, the waveform number will be shown in
the WF Number field as indicated in the header of the event log.
Integrator’s Guide16
1.1.6.2 Modbus password operation
The COMMAND password is set up at memory location 0458h. Storing a value of “0” removes
COMMAND password protection. When reading the password setting, the encrypted value (zero
if no password is set) is returned. COMMAND security is required to change the COMMAND
password.
Similarly, the SETTING password is set up at memory location 045Ah. To gain COMMAND level
security access, the COMMAND password must be entered at memory location 045Ch. To gain
SETTING level security access, the SETTING password must be entered at memory location
045Eh. The entered SETTING password must match the current SETTING password setting, or
must be zero, to change settings or download firmware.
COMMAND and SETTING passwords each have a 30-minute timer. Each timer starts when you
enter the particular password, and is restarted whenever you “use” it. For example, writing a
setting restarts the SETTING password timer and writing a command register or forcing a coil
restarts the COMMAND password timer. The value read at memory location 0460h can be used
to confirm whether a COMMAND password is enabled or disabled (0 for Disabled). The value
read at memory location 0461h can be used to confirm whether a SETTING password is
enabled or disabled.
COMMAND or SETTING password security access is restricted to the particular port or particular
TCP/IP connection on which the entry was made. Passwords must be entered when accessing
the relay through other ports or connections, and the passwords must be reentered after
disconnecting and reconnecting on TCP/IP.
Modbus® protocol implementation17
1.2 Interfacing to the Alarm Handler
The set of registers beginning at 0648h provides the means to interface to each CPU’s Alarm
Handler functionality. Each pair of 32-bit values represent the current state (read only) and the
acknowledge setting (read/write) for each alarm type. Each value represents the states for all of
the circuit breakers in the system as denoted in Format Code F722, one bit for each. A 1 in the
bit field position for a given circuit breaker in the state register indicates that the alarm
condition is currently active, while a 0 indicates the condition is not currently active.
When a condition passes from inactive to active, the corresponding ACK bit in the next register
will be set to 1. At this point an external program may acknowledge the alarm by writing a 0 to
that bit location. It is important for the external program to first read the ACK register and mask
the new value such that the states represented by the other bits remain intact. The following
state table describes how the HMI interfaces with the CPU to update its indicators.
Figure 1-1 Alarm state transition diagram
Start
System Initialization
ACK: 0
Status: 0
HMI Color:
Green
HMI
ACK
Alarm Condition
Condition
Goes Normal
Occurs
HMI
ACK
ACK: 0
Status: 1
HMI Color:
Solid
Red
ACK: 1
Status: 0
HMI Color:
Yellow
ACK: 1
Status: 1
HMI Color:
Blinking
Red
Condition
Goes Normal
Condition
Recurs
Alarm State Transition Diagram
Integrator’s Guide18
Modbus Memory Map
NOTE: A multiplier factor may be necessary in cases where an integer value is returned but the Range and/or Step imply a
greater precision. In these cases, it is necessary to divide the returned value by 10 for a step of "0.1" or "0.5"; by 100 for a step of
".01"; and so on. Similarly, it is necessary to multiply by these factors prior to writing a settings value. This note does not apply
to any step value greater than 1 (a step of "10" does not require a multiplier, for example). This note also does not apply to
values returned in floating point format. See the format codes at the end of the map for more information.
NOTE: Discrete I/O output state registers (Contact Output x State – register range from x9180 to x91FF and Contact Output
States – register range from xB256 to 0xB25D) contain correct information only when FlexLogic Active register (x0034) contains
value 1 (yes).
Addr Register Name Range Units Step Format Factory Default
Product Information (Read Only)
0000 Product Type
0001 Serial Number
0009 External Ethernet MAC Address
000C Reserved (3 items)
000F CPU Hardware Version
0010 CPU Firmware Version
0011 CPU Firmware Boot Code Version
0012 Build Date
0026 Synchronizer Board Status
0027 Synchronizer Board Frequency Setting
0028 Last Energy Clear Date
002A Last CPU Commissioned Date
002C Expected Node Protocol Version
002D Summary Number
0033 Line Up
0034 FlexLogic Active
0035 Reserved (203 items)
0 to 2
---
---
--0 to 655.35
0 to 655.35
0 to 655.35
---
0 to 1
50 to 60
0 to 4294967295
0 to 4294967295
0 to 655.35
---
0 to 99
0 to 1
---
--- 1 F716
--- --- F203 "0"
--- --- F072 0
--- --- F001 0
--- 0.01 F001 100
--- 0.01 F001 100
--- 0.01 F001 100
--- --- F200 "0"
--- 1 F102 0 (Disabled)
Hz 10 F001 60
--- 1 F050 0
--- 1 F050 0
--- 0.01 F001 0
--- --- F205 "0"
--- 1 F001 1
--- 1 F126 0 (No)
--- --- F001 0
0 (Low Voltage
Switchgear)
Installation (Read/Write Setting)
0100 CPU ID
0101 CPU Commissioned
0102 CPU Name
0116 System Frequency
0117 Phase Rotation
0118 Reserved (232 items)
Clock (Read/Write Command)
0200 RTC Set Time
Clock (Read Only)
0202 Date Time Changed
0204 Reserved (8 items)
0 to 1
0 to 1
---
50 to 60
0 to 1
---
0 to 4294967295
0 to 4294967295
---
--- 1 F717 0 (CPU A)
--- 1 F102 0 (Disabled)
--- --- F200 "UNNAMED"
Hz 10 F001 60
--- 1 F106 0 (ABC)
--- --- F001 0
--- 1 F050 0
--- 1 F050 0
--- --- F001 0
19
Communications (Read/Write Setting)
0210 External Ethernet IP Address
0212 External Ethernet IP Subnet Mask
0214 External Ethernet Gateway IP Address
0216 Reserved (205 items)
0 to 4294967295
0 to 4294963200
0 to 4294967295
Event Recorder (Read Only)
0308 Events Since Last Clear
030A Number of Available Events
030C Event Recorder Last Cleared Date
0 to 4294967295
0 to 4294967295
0 to 4294967295
Modbus File Transfer (Read/Write)
030E Name of file to read
Modbus File Transfer (Read Only)
0336 Character position of current block within file
0338 Size of currently-available data block
0339 Block of data from requested file (122 items)
0 to 4294967295
Modbus File Transfer Area 2 (Read/Write)
03B3 Name of file to read
Modbus File Transfer Area 2 (Read Only)
03DB Character position of current block within file
03DD Size of currently-available data block
03DE Block of data from requested file (122 items)
0 to 4294967295
1 to 254
---
0 to 65535
0 to 65535
---
0 to 65535
0 to 65535
--- 1 F003 3232235876
--- 1 F003 4294967040
--- 1 F003 0
--- 1 F001 1
--- 1 F003 0
--- 1 F003 0
--- 1 F050 0
--- --- F204 (none)
--- 1 F003 0
--- 1 F001 0
--- 1 F001 0
--- --- F204 (none)
--- 1 F003 0
--- 1 F001 0
--- 1 F001 0
Passwords (Read/Write)
045C Command Password Entry
045E Setting Password Entry
0 to 4294967295
0 to 4294967295
--- 1 F003 0
--- 1 F003 0
Passwords (Read Only)
0460 Command Password Status
0461 Setting Password Status
0 to 1
0 to 1
--- 1 F102 0 (Disabled)
--- 1 F102 0 (Disabled)
Zone Manager (Read Only)
04E4 Current Topology State
0 to 255
--- 1 F001 0
Zone Manager (Read/Write Setting)
04E5 Maintenance Mode Setting
0 to 1
--- 1 F102 0 (Disabled)
Zone Manager (Read Only)
04E6 Current Zone1 Topology
04E7 Current Zone2 Topology
04E8 Current Zone3 Topology
04E9 Current Zone4 Topology
04EA Zone Manager Reserved (22 items)
0 to 255
0 to 255
0 to 255
0 to 255
0 to 65535
--- 1 F001 1
--- 1 F001 1
--- 1 F001 1
--- 1 F001 1
--- 1 F001 1
Event Recorder Commands (Read/Write Command)
0500 Event Recorder Clear Command
0 to 1
--- 1 F126 0 (No)
Energy Commands (Read/Write Command)
0501 Energy Clear Command
Demand (Read/Write Setting)
0504 Demand Subinterval Length
0505 Demand Subintervals Per Interval
20
0 to 1
1 to 60
1 to 15
--- 1 F126 0 (No)
--- 1 F001 1
--- 1 F001 1
Loading...
+ 45 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.