GE MM200 User Manual

Title page
ISO9001:2000
GE Consumer & Industrial
Multilin
MM200
Motor Management System
COMMUNICATIONS GUIDE
MM200 revision: 1.0x
Manual P/N: 1601-9033-A1
GE publication code: GEK-113402
Copyright © 2007 GE Multilin
GE Multilin
215 Anderson Avenue, Markham, Ontario
Canada L6E 1B3
Tel: (905) 294-6222 Fax: (905) 201-2098
Internet: http://www.GEmultilin.com
*1601-9033-A1*
E83849
LISTED
IND.CONT. EQ.
52TL
T
E
S
I
R
E
G
D
E
R
G
E
GE Multilin's Quality
Management System is
registered to ISO9001:2000
N
I
M
L
I
U
T
L
© 2007 GE Multilin Incorporated. All rights reserved.
GE Multilin MM200 Motor Management System Communications Guide for revision 1.0x.
MM200 Motor Management System, EnerVista, EnerVista Launchpad, EnerVista MM200 Setup, and FlexLogic are registered trademarks of GE Multilin Inc.
The contents of this manual are the property of GE Multilin Inc. This documentation is furnished on license and may not be reproduced in whole or in part without the permission of GE Multilin. The content of this manual is for informational use only and is subject to change without notice.
Part number: 1601-9033-A1 (December 2007)
Table of Contents
Communications interfaces ........................................................................................1
RS485 interface (Modbus RTU) ....................................................................................2
Modbus Protocol ..............................................................................................................................................2
Electrical Interface .........................................................................................................................................2
Data Frame Format and Data Rate ....................................................................................................... 2
Data Packet Format ......................................................................................................................................2
Error Checking .................................................................................................................................................. 3
CRC-16 Algorithm ........................................................................................................................................... 3
Timing ...................................................................................................................................................................4
MM200 supported functions ..................................................................................................................... 4
Modbus Functions ..........................................................................................................................................4
Function Code 03H ........................................................................................................................................4
Function Code 04H ........................................................................................................................................5
Function Code 05H ........................................................................................................................................6
Function Code 06H ........................................................................................................................................7
Function Code 07H ........................................................................................................................................7
Function Code 08H ........................................................................................................................................8
Function Code 10H ........................................................................................................................................9
Performing Commands Using Function Code 10H .......................................................................10
Using the User Definable Memory Map .............................................................................................10
Error Responses ............................................................................................................................................11
Modbus memory map ............................................................................................................................... 11
Format codes ................................................................................................................................................. 20
Fieldbus interface 28
Profibus protocol (DP V0) .......................................................................................................................... 28
Profibus Output Data .................................................................................................................................... 8
Profibus DP-Diagnostics ............................................................................................................................28
Profibus Input Data ......................................................................................................................................29
DeviceNet protocol ...................................................................................................................................... 32
DeviceNet Communications ....................................................................................................................32
Identity Object (Class Code 01H) ...........................................................................................................33
Message Router (Class Code 02H) ........................................................................................................33
DeviceNet Object (Class Code 03H) ......................................................................................................33
DeviceNet Connection Object (Class Code 05H) ............................................................................34
I/O Data Polled Object (Class Code 64H) ............................................................................................35
DeviceNet Motor Data - Poll, Explicit Object (Class Code A0H) ...............................................36
DeviceNet - Explicit Motor Analog Data Object, Class Code B0H, Services ......................37
DeviceNet - Explicit Motor Object, Class Code B1H ......................................................................39
MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE i
ii MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE
GE Consumer & Industrial
NOT
NOT
Multilin
MM200 Motor Management System
Communications Guide
Communications Guide
Communications interfaces
The MM200 has two communications interfaces:
RS485
•Fieldbus
NOTE:
NOTE:
Setpoint changes related to RS485, DeviceNet, and Profibus, require a power cycle to be activated.
E
External power must be present on the Fieldbus port at power-up, in order to correctly initialize.
E
MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE 1
RS485 INTERFACE (MODBUS RTU) COMMUNICATIONS GUIDE
NOT
RS485 interface (Modbus RTU)
The RS485 interface is a serial two-wire port intended for use as a Modbus RTU slave. The RS485 port has the following characteristics.
Address: 1 to 254
Baud rate: 9600 to 115200 bps
Supported Modbus function codes: 3, 4, 5, 6, 7, 8, 16
Modbus Protocol
The MM200 implements a subset of the Modicon Modbus RTU serial communication standard. The Modbus protocol is hardware-independent. That is, the physical layer can be any of a variety of standard hardware configurations. This includes RS232, RS422, RS485, fibre optics, etc. Modbus is a single master / multiple slave type of protocol suitable for a multi-drop configuration as provided by RS485 hardware. The MM200 Modbus implementation employs two-wire RS485 hardware. Using RS485, up to 32 MM200s can be daisy-chained together on a single communication channel.
The MM200 is always a Modbus slave. It can not be programmed as a Modbus master. Computers or PLCs are commonly programmed as masters.
Both monitoring and control are possible using read and write register commands. Other commands are supported to provide additional functions.
Electrical Interface The hardware or electrical interface in the MM200 is two-wire RS485. In a two-wire link,
data is transmitted and received over the same two wires. Although RS485 two wire communication is bi-directional, the data is never transmitted and received at the same time. This means that the data flow is half duplex.
RS485 lines should be connected in a daisy chain configuration with terminating networks installed at each end of the link (i.e. at the master end and at the slave farthest from the master). The terminating network should consist of a 120 W resistor in series with a 1 nF ceramic capacitor when used with Belden 9841 RS485 wire. Shielded wire should always be used to minimize noise. The shield should be connected to all of the MM200s as well as the master, then grounded at one location only. This keeps the ground potential at the same level for all of the devices on the serial link.
NOTE:
Data Frame Format
and Data Rate
Polarity is important in RS485 communications. The '+' (positive) terminals of every device must be connected together.
E
One data frame of an asynchronous transmission to or from a MM200 typically consists of 1 start bit, 8 data bits, and 1 stop bit. This produces a 10 bit data frame. This is important for transmission through modems at high bit rates (11 bit data frames are not supported by Hayes modems at bit rates of greater than 300 bps).
Modbus protocol can be implemented at any standard communication speed. The MM200 supports operation at 9600, 19200, 38400, 57600, and 115200 baud.
Data Packet Format A complete request/response sequence consists of the following bytes (transmitted as
separate data frames):
Master Request Transmission:
SLAVE ADDRESS: 1 byte FUNCTION CODE: 1 byte DATA: variable number of bytes depending on FUNCTION CODE
2 MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE
COMMUNICATIONS GUIDE RS485 INTERFACE (MODBUS RTU)
CRC: 2 bytes
Slave Response Transmission:
SLAVE ADDRESS: 1 byte FUNCTION CODE: 1 byte DATA: variable number of bytes depending on FUNCTION CODE CRC: 2 bytes
SLAVE ADDRESS: This is the first byte of every transmission. This byte represents the user­assigned address of the slave device that is to receive the message sent by the master. Each slave device must be assigned a unique address and only the addressed slave will respond to a transmission that starts with its address. In a master request transmission the SLAVE ADDRESS represents the address of the slave to which the request is being sent. In a slave response transmission the SLAVE ADDRESS represents the address of the slave that is sending the response.
FUNCTION CODE: This is the second byte of every transmission. Modbus defines function codes of 1 to 127.
DATA: This will be a variable number of bytes depending on the FUNCTION CODE. This may be Actual Values, Setpoints, 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.
Error Checking The RTU version of Modbus includes a two byte CRC-16 (16 bit cyclic redundancy check)
with every transmission. 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 transmission, MSByte first. The resulting message including CRC, when divided by the same polynomial at the receiver will give a zero remainder if no transmission errors have occurred.
If a MM200 Modbus slave device receives a transmission in which an error is indicated by the CRC-16 calculation, the slave device will not respond to the transmission. A CRC-16 error indicates than one or more bytes of the transmission were received incorrectly and thus the entire transmission should be ignored in order to avoid the MM200 performing any incorrect operation.
The CRC-16 calculation is an industry standard method used for error detection. An algorithm is included here to assist programmers in situations where no standard CRC-16 calculation routines are available.
CRC-16 Algorithm Once the following algorithm is complete, the working register “A” will contain the CRC
value to be transmitted. Note that this algorithm requires the characteristic polynomial to be reverse bit ordered. The MSBit of the characteristic polynomial is dropped since it does not affect the value of the remainder. The following symbols are used in the algorithm:
—>: data transfer
A: 16 bit working register
AL: low order byte of A
AH: high order byte of A
CRC: 16 bit CRC-16 value
i, j: loop counters
(+): logical exclusive or operator
Di: i-th data byte (i = 0 to N-1)
MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE 3
RS485 INTERFACE (MODBUS RTU) COMMUNICATIONS GUIDE
G: 16 bit characteristic polynomial = 1010000000000001 with MSbit dropped and bit order reversed
shr(x): shift right (the LSbit of the low order byte of x shifts into a carry flag, a '0' is shifted into the MSbit of the high order byte of x, all other bits shift right one location
The algorithm is:
1. FFFF hex —> A
2. 0 —> i
3. 0 —> j
4. Di (+) AL —> AL
5. j+1 —> j
6. shr(A)
7. is there a carry? No: go to 8. Yes: G (+) A —> A
8. is j = 8? No: go to 5. Yes: go to 9.
9. i+1 —> i
10. is i = N? No: go to 3. Yes: go to 11.
11. A —> CRC
Timing Data packet synchronization is maintained by timing constraints. The receiving device
must measure the time between the reception of characters. If 3.5 character times elapse without a new character or completion of the packet, then the communication link must be reset (i.e. all slaves start listening for a new transmission from the master). Thus at 9600 baud a delay of greater than 3.5 x 1 / 9600 x 10 x = x 3.65 x ms will cause the communication link to be reset.
MM200 supported
functions
The following functions are supported by the MM200:
FUNCTION CODE 03 - Read Setpoints and Actual Values
FUNCTION CODE 04 - Read Setpoints and Actual Values
FUNCTION CODE 05 - Execute Operation
FUNCTION CODE 06 - Store Single Setpoint
FUNCTION CODE 07 - Read Device Status
FUNCTION CODE 08 - Loopback Test
FUNCTION CODE 10 - Store Multiple Setpoints
Modbus Functions
Function Code 03H Modbus implementation: Read Holding Registers
MM200 implementation: Read Setpoints
For the MM200 implementation of Modbus, this function code can be used to read any setpoints (“holding registers”). Holding registers are 16 bit (two byte) values transmitted high order byte first . Thus all MM200 Setpoints are sent as two bytes. The maximum number of registers that can be read in one transmission is 125.
The slave response to this function code is the slave address, function code, a count of the number of data bytes to follow, the data itself and the CRC. Each data item is sent as a two byte number with the high order byte sent first.
For example, consider a request for slave 17 to respond with 3 registers starting at address 006B. For this example the register data in these addresses is as follows:
4 MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE
COMMUNICATIONS GUIDE RS485 INTERFACE (MODBUS RTU)
Address Data
006B 022B
006C 0000
006D 0064
The master/slave packets have the following format:
Table 1: MASTER/SLAVE PACKET FORMAT FOR FUNCTION CODE 03H
MASTER TRANSMISSION BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message for slave
FUNCTION CODE 1 03 read registers
DATA STARTING ADDRESS 2 00 6B data starting at
NUMBER OF SETPOINTS 2 00 03 3 registers = 6
CRC 2 76 87 CRC error code
SLAVE RESPONSE BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message from
FUNCTION CODE 1 03 read registers
BYTE COUNT 1 06 3 registers = 6
DATA 1 (see definition above) 2 02 2B value in address
DATA 2 (see definition above) 2 00 00 value in address
DATA 3 (see definition above) 2 00 64 value in address
CRC 2 54 83 CRC error code
17
006B
bytes total
slave 17
bytes
006B
006C
006D
Function Code 04H Modbus Implementation: Read Input Registers
MM200 implementation: Read Actual Values
For the MM200 implementation of Modbus, this function code can be used to read any actual values (“input registers”). Input registers are 16 bit (two byte) values transmitted high order byte first . Thus all MM200 Actual Values are sent as two bytes. The maximum number of registers that can be read in one transmission is 125.
The slave response to this function code is the slave address, function code, a count of the data bytes to follow, the data itself and the CRC. Each data item is sent as a two byte number with the high order byte sent first .
For example, request slave 17 to respond with 1 register starting at address 0008. For this example the value in this register (0008) is 0000.
MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE 5
RS485 INTERFACE (MODBUS RTU) COMMUNICATIONS GUIDE
Table 2: MASTER/SLAVE PACKET FORMAT FOR FUNCTION CODE 04H
MASTER TRANSMISSION BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message for slave
FUNCTION CODE 1 04 read registers
DATA STARTING ADDRESS 2 00 08 data starting at
NUMBER OF ACTUAL VALUES 2 00 01 1 register = 2 bytes
CRC 2 B2 98 CRC error code
SLAVE RESPONSE BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message from
FUNCTION CODE 1 04 read registers
BYTE COUNT 1 02 1 register = 2 bytes
DATA (see definition above) 2 00 00 value in address
CRC 2 78 F3 CRC error code
17
0008
slave 17
0008
Function Code 05H Modbus Implementation: Force Single Coil
MM200 Implementation: Execute Operation
This function code allows the master to request a MM200 to perform specific command operations.
For example, to request slave 17 to execute operation code 1 (reset), we have the following master/slave packet format:
Table 3: MASTER/SLAVE PACKET FORMAT FOR FUNCTION CODE 05H
MASTER TRANSMISSION BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message for slave
FUNCTION CODE 1 05 execute operation
OPERATION CODE 2 00 01 operation code 1
CODE VALUE 2 FF 00 perform function
CRC 2 DF 6A CRC error code
SLAVE RESPONSE BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message from
FUNCTION CODE 1 05 execute operation
OPERATION CODE 2 00 01 operation code 1
CODE VALUE 2 FF 00 perform function
CRC 2 DF 6A CRC error code
17
slave 17
The commands that can be performed by the MM200 using function code 05 can also be initiated by using function code 16.
6 MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE
COMMUNICATIONS GUIDE RS485 INTERFACE (MODBUS RTU)
Operation Code Description
1Reset
2Lockout Reset
3Stop
4Start A
5Start B
96 Clear Last Trip Data Prompt
99 Clear Counters
113 Reset Motor Information
114 Auto Mode
115 Manual Mode
116 Manual Inhibit
117 Manual Restore
Function Code 06H Modbus Implementation: Preset Single Register
MM200 Implementation: Store Single Setpoint
This command allows the master to store a single setpoint into the memory of a MM200 The slave response to this function code is to echo the entire master transmission.
For example, request slave 17 to store the value 2 in setpoint address 04 5C. After the transmission in this example is complete, setpoints address 04 5C will contain the value 01F4. The master/slave packet format is shown below:
Table 4: MASTER/SLAVE PACKET FORMAT FOR FUNCTION CODE 06H
MASTER TRANSMISSION BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message for slave
FUNCTION CODE 1 06 store single
DATA STARTING ADDRESS 2 04 5C setpoint address
DATA 2 00 02 data for setpoint
CRC 2 CB B9 CRC error code
SLAVE RESPONSE BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message from
FUNCTION CODE 1 06 store single
DATA STARTING ADDRESS 2 04 5C setpoint address
DATA 2 00 02 data stored in
CRC 2 CB B9 CRC error code
Function Code 07H Modbus Implementation: Read Exception Status
MM200 Implementation: Read Device Status
17
setpoint
04 5C
address 04 5C
slave 17
setpoint
04 5C
setpoint address 04 5C
MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE 7
RS485 INTERFACE (MODBUS RTU) COMMUNICATIONS GUIDE
This is a function used to quickly read the status of a selected device. A short message length allows for rapid reading of status. The status byte returned will have individual bits set to 1 or 0 depending on the status of the slave device. For this example, consider the following MM200 general status byte:
The master/slave packets have the following format:
Table 5: Function code 7 bitmask
Bit Function
0Alarm
1Trip
2 Internal fault
3Auto
4 Contactor A
5 Contactor B
6 Contact output 3
7 Drive available (communications control)
Table 6: MASTER/SLAVE PACKET FORMAT FOR FUNCTION CODE 07H
MASTER TRANSMISSION BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message for slave
FUNCTION CODE 1 07 read device status
CRC 2 4C 22 CRC error code
17
SLAVE RESPONSE BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message from
FUNCTION CODE 1 07 read device status
DEVICE STATUS (see definition above)
CRC 2 22 28 CRC error code
1 2C status = 00101100
Function Code 08H Modbus Implementation: Loopback
Test MM200 Implementation: Loopback Test
This function is used to test the integrity of the communication link. The MM200 will echo the request.
For example, consider a loopback test from slave 17:
Table 7: MASTER/SLAVE PACKET FORMAT FOR FUNCTION CODE 08H
MASTER TRANSMISSION BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message for slave
FUNCTION CODE 1 08 loopback test
DIAG CODE 2 00 00 must be 00 00
DATA 2 00 00 must be 00 00
CRC 2 E0 0B CRC error code
slave 17
(in binary)
17
8 MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE
COMMUNICATIONS GUIDE RS485 INTERFACE (MODBUS RTU)
SLAVE RESPONSE BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message from
FUNCTION CODE 1 08 loopback test
DIAG CODE 2 00 00 must be 00 00
DATA 2 00 00 must be 00 00
CRC 2 E0 0B CRC error code
slave 17
Function Code 10H Modbus Implementation: Preset Multiple Registers
MM200 Implementation: Store Multiple Setpoints
This function code allows multiple Setpoints to be stored into the MM200 memory. Modbus “registers” are 16-bit (two byte) values transmitted high order byte first. Thus all MM200 setpoints are sent as two bytes. The maximum number of Setpoints that can be stored in one transmission is dependent on the slave device. Modbus allows up to a maximum of 60 holding registers to be stored. The MM200 response to this function code is to echo the slave address, function code, starting address, the number of Setpoints stored, and the CRC.
For example, consider a request for slave 17 to store the value 00 02 to setpoint address 04 5C and the value 01 F4 to setpoint address 04 5D. After the transmission in this example is complete, MM200 slave 17 will have the following setpoints information stored:
Address Data
04 5C 00 02
04 5D 01 F4
The master/slave packets have the following format:
Table 8: MASTER/SLAVE PACKET FORMAT FOR FUNCTION CODE 10H
MASTER TRANSMISSION BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message for slave
FUNCTION CODE 1 10 store setpoints
DATA STARTING ADDRESS 2 04 5C setpoint address
NUMBER OF SETPOINTS 2 00 02 2 setpoints = 4
BYTE COUNT 1 04 4 bytes of data
DATA 1 2 00 02 data for setpoint
DATA 2 2 01 F4 data for setpoint
CRC 2 31 11 CRC error code
SLAVE RESPONSE BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message from
FUNCTION CODE 1 10 store setpoints
DATA STARTING ADDRESS 2 04 5C setpoint address
NUMBER OF SETPOINTS 2 00 02 2 setpoints
CRC 2 82 7A CRC error code
17
04 5C
bytes total
address 04 5C
address 04 5D
slave 17
04 5C
MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE 9
RS485 INTERFACE (MODBUS RTU) COMMUNICATIONS GUIDE
Performing
Commands Using
Function Code 10H
Commands can be performed using function code 16 as well as function code 5. When using FUNCTION CODE 16, the Command Function register must be written with a value of
5. The Command Operation register must be written with a valid command operation number. The Command Data registers must be written with valid data; this is dependent upon the command operation.
For example, consider a request for slave 17 to perform command operation 1 (RESET): The master/slave packets have the following format:
Table 9: MASTER/SLAVE PACKET FORMAT FOR PERFORMING COMMANDS
MASTER TRANSMISSION BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message for slave
17
FUNCTION CODE 1 10 store multiple
setpoints
DATA STARTING ADDRESS 2 00 80 setpoint address
00 80
NUMBER OF SETPOINTS 2 00 02 2 setpoints = 4
bytes total
BYTE COUNT 1 04 4 bytes of data
DATA 1 2 00 05 data for address
00 80
DATA 2 2 00 01 data for address
00 81
CRC 2 7E CE CRC error code
Using the User
Definable Memory
Map
SLAVE RESPONSE BYTES EXAMPLE DESCRIPTION
SLAVE ADDRESS 1 11 message from
slave 17
FUNCTION CODE 1 10 store multiple
setpoints
DATA STARTING ADDRESS 2 00 80 setpoint address
00 80
NUMBER OF SETPOINTS 2 00 02 2 setpoints
CRC 2 42 B0 CRC error code
The MM200 contains a User Definable area in the memory map. This area allows re­mapping of the addresses of any Actual Values or Setpoints registers. The User Definable area has two sections:
1. A Register Index area (memory map addresses 020BH-0287H) that contains 125 Actual Values or Setpoints register addresses.
2. A Register area (memory map addresses 020BH-0287H) that contains the data at the addresses in the Register Index.
Register data that is separated in the rest of the memory map may be re-mapped to adjacent register addresses in the User Definable Registers area. This is accomplished by writing to register addresses in the User Definable Register Index area. This allows for improved throughput of data and can eliminate the need for multiple read command sequences. The User Definable Register Index is stored as a setpoint and therefore it is “remembered” even when the power is removed.
For example, if the values of MOTOR LOAD (register address 014FH; modbus address
30336) and DRIVE STATUS (register address 0135H; modbus address 30310) are required to
be read from a MM200, their addresses may be re-mapped as follows:
1. Write 30336 to address 020BH (40524) (User Definable Register Index 0000) using function code 06 or 16.
10 MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE
Loading...
+ 30 hidden pages