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
E83849
LISTED
IND.CONT. EQ. 52TL
|
|
ISTE |
R |
||
|
G |
||||
R |
E |
|
|
E |
|
|
|
|
D |
||
|
|
|
|
|
|
ISO9001:2000 |
|||||
E |
|
|
|
IN |
|
G |
|
|
L |
||
|
|
|
I |
|
|
|
|
MULT |
|
|
|
GE Multilin's Quality |
*1601-9033-A1* |
Management System is |
QMI # 005094 |
|
|
registered to ISO9001:2000 |
© 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
Multilin
MM200 Motor Management System
Communications Guide
Communications interfaces
The MM200 has two communications interfaces:
•RS485
•Fieldbus
Setpoint changes related to RS485, DeviceNet, and Profibus, require a power cycle to be activated.
NOTE
External power must be present on the Fieldbus port at power-up, in order to correctly initialize.
NOTE
MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE |
1 |
RS485 INTERFACE (MODBUS RTU) |
COMMUNICATIONS GUIDE |
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.
Polarity is important in RS485 communications. The '+' (positive) terminals of every device must be connected together.
NOTE
Data Frame Format
and Data Rate
Data Packet Format
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.
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 userassigned 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
MM200 supported functions
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.
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 |
|
|
|
17 |
|
|
|
|
FUNCTION CODE |
1 |
03 |
read registers |
|
|
|
|
DATA STARTING ADDRESS |
2 |
00 6B |
data starting at |
|
|
|
006B |
|
|
|
|
NUMBER OF SETPOINTS |
2 |
00 03 |
3 registers = 6 |
|
|
|
bytes total |
|
|
|
|
CRC |
2 |
76 87 |
CRC error code |
|
|
|
|
|
SLAVE RESPONSE |
BYTES |
EXAMPLE |
DESCRIPTION |
|
|
|
|
|
|
SLAVE ADDRESS |
1 |
11 |
message from |
|
|
|
|
slave 17 |
|
|
|
|
|
|
FUNCTION CODE |
1 |
03 |
read registers |
|
|
|
|
|
|
BYTE COUNT |
1 |
06 |
3 registers = 6 |
|
|
|
|
bytes |
|
|
|
|
|
|
DATA 1 (see definition above) |
2 |
02 2B |
value in address |
|
|
|
|
006B |
|
|
|
|
|
|
DATA 2 (see definition above) |
2 |
00 00 |
value in address |
|
|
|
|
006C |
|
|
|
|
|
|
DATA 3 (see definition above) |
2 |
00 64 |
value in address |
|
|
|
|
006D |
|
|
|
|
|
|
CRC |
2 |
54 83 |
CRC error code |
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 |
|
|
|
17 |
|
|
|
|
FUNCTION CODE |
1 |
04 |
read registers |
|
|
|
|
DATA STARTING ADDRESS |
2 |
00 08 |
data starting at |
|
|
|
0008 |
|
|
|
|
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 |
|
|
|
|
slave 17 |
|
|
|
|
|
|
FUNCTION CODE |
1 |
04 |
read registers |
|
|
|
|
|
|
BYTE COUNT |
1 |
02 |
1 register = 2 bytes |
|
|
|
|
|
|
DATA (see definition above) |
2 |
00 00 |
value in address |
|
|
|
|
0008 |
|
|
|
|
|
|
CRC |
2 |
78 F3 |
CRC error code |
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 |
|
|
|
17 |
|
|
|
|
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 |
|
|
|
slave 17 |
|
|
|
|
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 |
|
|
|
|
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 |
|
|
1 |
Reset |
|
|
2 |
Lockout Reset |
|
|
3 |
Stop |
|
|
4 |
Start A |
|
|
5 |
Start 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 |
|
|
|
17 |
|
|
|
|
FUNCTION CODE |
1 |
06 |
store single |
|
|
|
setpoint |
|
|
|
|
DATA STARTING ADDRESS |
2 |
04 5C |
setpoint address |
|
|
|
04 5C |
|
|
|
|
DATA |
2 |
00 02 |
data for setpoint |
|
|
|
address 04 5C |
|
|
|
|
CRC |
2 |
CB B9 |
CRC error code |
|
|
|
|
|
SLAVE RESPONSE |
BYTES |
EXAMPLE |
DESCRIPTION |
|
|
|
|
|
|
SLAVE ADDRESS |
1 |
11 |
message from |
|
|
|
|
slave 17 |
|
|
|
|
|
|
FUNCTION CODE |
1 |
06 |
store single |
|
|
|
|
setpoint |
|
|
|
|
|
|
DATA STARTING ADDRESS |
2 |
04 5C |
setpoint address |
|
|
|
|
04 5C |
|
|
|
|
|
|
DATA |
2 |
00 02 |
data stored in |
|
|
|
|
setpoint address |
|
|
|
|
04 5C |
|
|
|
|
|
|
CRC |
2 |
CB B9 |
CRC error code |
Function Code 07H |
|
|
|
|
Modbus Implementation: Read Exception Status |
|
|||
|
MM200 Implementation: Read Device Status |
|
|
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 |
|
|
0 |
Alarm |
1 |
Trip |
|
|
2 |
Internal fault |
|
|
3 |
Auto |
|
|
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 |
|
|
|
17 |
|
|
|
|
FUNCTION CODE |
1 |
07 |
read device status |
|
|
|
|
CRC |
2 |
4C 22 |
CRC error code |
|
|
|
|
|
SLAVE RESPONSE |
BYTES |
EXAMPLE |
DESCRIPTION |
|
|
|
|
|
|
SLAVE ADDRESS |
1 |
11 |
message from |
|
|
|
|
slave 17 |
|
|
|
|
|
|
FUNCTION CODE |
1 |
07 |
read device status |
|
|
|
|
|
|
DEVICE STATUS (see |
1 |
2C |
status = 00101100 |
|
definition above) |
|
|
(in binary) |
|
|
|
|
|
|
CRC |
2 |
22 28 |
CRC error code |
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 |
|
|
|
17 |
|
|
|
|
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 |
|
|
|
|
8 |
MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE |
COMMUNICATIONS GUIDE |
RS485 INTERFACE (MODBUS RTU) |
SLAVE RESPONSE |
BYTES |
EXAMPLE |
DESCRIPTION |
|
|
|
|
SLAVE ADDRESS |
1 |
11 |
message from |
|
|
|
slave 17 |
|
|
|
|
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 |
|
|
|
|
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 |
|
|
|
17 |
|
|
|
|
FUNCTION CODE |
1 |
10 |
store setpoints |
|
|
|
|
DATA STARTING ADDRESS |
2 |
04 5C |
setpoint address |
|
|
|
04 5C |
|
|
|
|
NUMBER OF SETPOINTS |
2 |
00 02 |
2 setpoints = 4 |
|
|
|
bytes total |
|
|
|
|
BYTE COUNT |
1 |
04 |
4 bytes of data |
|
|
|
|
DATA 1 |
2 |
00 02 |
data for setpoint |
|
|
|
address 04 5C |
|
|
|
|
DATA 2 |
2 |
01 F4 |
data for setpoint |
|
|
|
address 04 5D |
|
|
|
|
CRC |
2 |
31 11 |
CRC error code |
|
|
|
|
SLAVE RESPONSE |
BYTES |
EXAMPLE |
DESCRIPTION |
|
|
|
|
SLAVE ADDRESS |
1 |
11 |
message from |
|
|
|
slave 17 |
|
|
|
|
FUNCTION CODE |
1 |
10 |
store setpoints |
|
|
|
|
DATA STARTING ADDRESS |
2 |
04 5C |
setpoint address |
|
|
|
04 5C |
|
|
|
|
NUMBER OF SETPOINTS |
2 |
00 02 |
2 setpoints |
|
|
|
|
CRC |
2 |
82 7A |
CRC error code |
|
|
|
|
MM200 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE |
9 |
RS485 INTERFACE (MODBUS RTU) |
COMMUNICATIONS GUIDE |
Performing
Commands Using
Function Code 10H
Using the User
Definable Memory
Map
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 |
|
|
|
|
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 remapping 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 |