Series VS1 Modbus RTU Protocol 9/07 MN744
Any trademarks used in this manual are the property of their respective owners. Important: Be sure to check www.baldor.com for the latest software, firmware and drivers for your VS1 product. Also, you can download the latest version of this manual in Adobe Acrobat PDF format.
Table of Contents Modbus RTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modbus Application Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Layer Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii Table of Contents MN744
Modbus RTU Modbus Application Layer MODBUS is an asynchronous serial high-speed binary protocol that supports master/slave communications between the H2 drive and external devices such as host computers, option cards, man machine interfaces, and factory bus gateways. This protocol has three layers. The first layer is known as the Physical Layer (PL) and supports RS485 wiring. The second layer is known as the Data Link Layer (DLL) and supports Remote Terminal Unit protocol, RTU.
Application Layer Specification The host (master) communicates with the H2 drive (the slave) using a predefined list of standard Modbus functions codes. Table 1 summarizes these function codes.
Coils (Modbus 0xxxx Reference Set) Coils are read/write control bits. They provide control, source and command features of the Modbus interface. The following standard Modbus functions codes are supported. Read Coils (Function Code 01) This function code is used to read the status of from 1 to 2000 contiguous coils in a remote device. The Request PDU specifies the starting address, ie the address of the first coil specified, and the number of coils. Coils are addressed starting at zero.
Write Coils (Function Code 15) This function code is used to force each coil in a sequence of coils to either ON or OFF in a remote device. The Request PDU specifies the coil references to be forced. Coils are addressed starting at zero. Therefore, coil 1 is addressed as 0. The requested ON/OFF states are specified by contents of the request data field. A logical `1' in a bit position of the field requests the corresponding output to be ON. A logical `0' requests it to be OFF.
Coil Description Table 4 Coil Table Modbus Ref 00001 Class VIS Location Control Mode Bits 0 00002 VS Control Mode Bits 1 00003 VIS Control Mode Bits 2 00004 VS Control Mode Bits 3 00005 VS Control Mode Bits 4 00006 VS Control Mode Bits 5 00007 VS Control Mode Bits 6 00008 VS Control Mode Bits 7 00009 00010 S VS Control Mode Bits 8 Control Mode Bits 9 00011 VIS Control Mode Bits 10 00012 00013 VS VS Control Mode Bits 12 00014 Control Mode Bits 13 00015 Control Mode Bits 1
Table 4 Coil Table Continued Modbus Ref 00066 Class VIS Location Control Command Bit 1 00067 00068 VIS VIS Control Command Bit 2 Control Command Bit 3 00069 VIS Control Command Bit 4 00070 VS Control Command Bit 5 00071 VS Control Command Bit 6 00074 00076 VIS VIS Control Command Bit 9 Control Command Bit 11 00077 VIS Control Command Bit 12 00078 VIS Control Command Bit 13 00079 VIS Control Command Bit 14 00080 VIS Control Command Bit 15 00081 VIS Control Command Bit 16 0008
Control Modes Digital inputs used in all control modes supported in H2 drives are described in Table 5. Pre-Conditions: Before a H2 drive can be placed in any of the control modes through Modbus application layer following operating conditions have to be met: S Drive is disabled (J2- 8 is open) S Operating Mode parameter (P1401) is set to NETWORK or MINT operating mode. Note: MINT-operating mode can only be chosen when a Mint Expansion Board is installed in the H2 drive.
Table 6 Control Modes Description Continued Control Mode SPEED MODE Speed control mode is similar to BIPOLAR operating mode. Closes the speed loop with command input from the source selected in the “Command Source” parameter (P1402) Control Sources/Commands Control Source.2 NETWORK: when set to `1' replaces the command source selection to “NETWORK”. Same as setting P1402 to “NETWORK”.Control Source.9: ACC/DEC Group 1. Selects the accel/decel group 1 for ramp generation. Control Source.10: ACC/DEC Group 2.
Table 6 Control Modes Description Continued Control Mode POSITION CMD EXTERNAL MODE Positioning mode using the external position command from pulse-follower option board. HOMING MODE No action. PROCESS TORQUE MODE Process torque control is similar to PROCESS operating mode.
Table 6 Control Modes Description Continued Control Mode PROCESS VELOCITY MODE Process velocity control is similar to PROCESS operating mode. Closes the process velocity loop with set point input from the source selected in the “SETPOINT COMMAND” parameter (P2604), feedback input from the source selected in the “PROC FEEDBACK “ parameter (P2603), and feedforward input from the source selected in the “PROC FEEDFORWARD” parameter (P2602).
Discrete Inputs (Modbus 1xxxx Reference Set) Discrete Inputs in the H2 represent read only status bit for the drive. (Function Code 02) This function code is used to read the status from 1 to 2000 contiguous discrete inputs in a remote device. The Request PDU specifies the starting address, ie the address of the first input specified, and the number of inputs. Inputs are addressed starting at zero. Therefore, inputs 1-16 are addressed as 0-15.
Table 7 Discrete Inputs Table Continued Modbus Ref 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 Location Drive Status1 Bit 10 Drive Status1 Bit 11 Drive Status1 Bit 12 Drive Status1 Bit 13 Drive Status1 Bit 14 Drive Status1 Bit 15 Drive Status1 Bit 16 Drive Status1 Bit 17 Drive Status1 Bit 18 Drive Status1 Bit 19 Drive Status1 Bit 20 Drive Status1 Bit 21 Drive Status1 Bit 22 10024 10025 10026 10027 10028 10029 Drive Status1 Bit 23 Drive Status1 Bit 24 Drive Status1 Bit 25
Inputs (Modbus 3xxxx Reference Set) Analog inputs are mapped to Modbus Inputs for H2. Read Input Registers (Function Code 04) This function code is used to read from 1 to approx. 125 contiguous input registers in a remote device. The Request PDU specifies the starting register address and the number of registers. Registers are addressed starting at zero. Therefore, input registers 1-16 are addressed as 0-15.
Holding Registers (Modbus 4xxxx Reference Set) Holding registers are the primary mechanism by which a master gains access to key control features of the H2 and its parameters. Read Holding Registers (Function Code 03) This function code is used to read the contents of a contiguous block of holding registers in a remote device. The Request PDU specifies the starting register address and the number of registers. Registers are addressed starting at zero. Therefore, registers 1-16 are addressed as 0-15.
Example of a request to write two registers starting at 2 to 00 0A and 01 02 hex: Request Response Field Name (Hex) Field Name Function 10 Function Starting Address Hi 00 Starting Address Hi Starting Address Low 01 Starting Address Low Quantity of Registers Hi 00 Quantity of Registers Hi Quantity of Registers Lo 02 Quantity of Registers Lo Byte Count 04 Registers Value Hi (Low Byte) 00 Registers Value Lo (Low Byte) 0A Registers Value Hi (High Byte) 01 Registers Value Lo (High Byte) 02 (Hex) 10 00 01 00 02
Table 9 Holding Register Table Continued Modbus Ref Name Jog Control Speed Hz Jog Control Speed RPM Jog Control Accel Time Jog Control Decel Time DAC Output #1 Class VIS Type R, R/W Data FLOAT321 Holding Registers Description Slew speed in Hz for use with Jog Control Mode. R/W in network mode VIS R, R/W FLOAT321 Slew speed in RPM for use with Jog Control Mode. R/W in network mode VIS R, R/W FLOAT321 Accel time for use with Jog Control.
Text Handling (H2 Function Code 66) These sub-functions are used to support text-handling functions. Read Parameter Name Text (Sub-Code 1) Byte 1 Function Code (66) Byte 1 Function Code (66) This PDU is used to read parameter names from the control card. Request PDU Byte 2 Byte 3 Byte 4 Sub-Code (1) PN H PN L Where, Byte 1: Text Handing Function Code 66 (0x42) Byte 2: Read Parameter Name Sub-Code Byte 3-4: 16-Bit Parameter Number (PN) Response PDU: Byte 2 Byte 3 Byte 4 Byte 5 ...
Text Handling Continued Read List Parameter Text (Sub-Code 4) Byte 1 Function Code (66) Byte 1 Function Code (66) This PDU is used to read fault code text. Request PDU Byte 2 Byte 3 Byte 4 Sub-Code (4) Fault Code H Fault Code L Where, Byte 1: Text Handing Function Code 66 (0x42) Byte 2: Read Fault Code Text Sub-Code Byte 3-4: 16-Bit Fault Code Number Response PDU: Byte 2 Byte 3 Byte 4 Byte 5 ... Sub-Code (4) Fault Code H Fault Code L ASCII ...
Text Handling Continued Read Parameter Block Text (Sub-Code 7) Byte 1 Function Code (66) Byte 1 Function Code (66) This PDU is used to reads a parameter's block name from the control card. Request PDU Byte 2 Byte 3 Byte 4 Sub-Code (7) Parameter Number Where, Byte 1: Text Handing Function Code 66 (0x42) Byte 2: Read Parameter Division Name Sub-Code Byte 3-4: 16-Bit Parameter Number (PN) 16-bit signed integer High to low data byte order Response PDU: Byte 2 Byte 3 Byte 4 Byte 5 ...
Text Handling Continued Read Units Text (Sub-Code 9) Byte 1 Function Code (66) Byte 1 Function Code (66) This PDU is used to read units text from the control card.
Parameter Support (H2 Function Code 67) These sub-functions provide special parameter support functions. Parameter Count (Sub-Code 1) This PDU is used to the number of control card parameters supported.
Parameter Support Continued Parameter Configuration (Sub-Code 2) Continued Byte 26: Units 0 List Parameter (no units) 1 Gain or pure number (no units) 2 Bit Field (no units) 3 Volts (V) 4 Current (A) 5 Revolution/Minute (RPM) 6 Hertz (Hz) 7 Kilowatt (KW) 8 Watts (W) 9 Deg C 10 Amps/Volt 11 Percent (%) 12 Newton-Meters (NM) 13 Seconds (SEC) 14 Minutes (MIN) 15 Hours (HR) 16 Ohms (OHM) 17 Henrys (H) 18 Horse Power (HP) 19 Pulses/Revolution (PPR) 20 Counts (CNT) 21 Webers (Wb) 22 Revolutions (REV) 23 Days (DAY
Parameter Support Continued Parameter Upload (Sub-Code 3) Byte 1 Function Code (67) Byte 1 Function Code (67) Byte 1 Function Code (67) This PDU is used to provide parameter upload functionality from the drive to a host. Only parameters stored in the control's EE are uploaded. Only one multi-block Modbus operation may be performed at a time. The O-scope, parameter upload and parameter download all require multi-block support.
Parameter Support Continued Parameter Download (Sub-Code 4) Byte 1 Function Code (67) Byte 1 Function Code (67) This PDU is used to provide parameter download functionality from a host to the drive. Only parameters stored in the control's EE are downloaded. Only one multi-block Modbus operation may be performed at a time. The O-scope, parameter upload and parameter download all require multi-block support.
Parameter Support Continued Read Parameter Dynamic Fields (Sub-Code 5) Byte 1 Function Code (67) Byte 1 Function Code (67) Byte 13 This PDU is directed towards the active parameter table only. It is used to read the current settings for fields within a parameter that are subject to change.
Poll Controller Byte 1 Function Code (14) Byte 1 Function Code (14) This PDU is used when the response time from the slave is longer than normal. It provides a way to avoid a timeout. Normally a Modbus Master sends a request and waits for the slave to respond. If the slave does not respond within a fixed time-period a time-out has occurred and the Master can send another request. This is how standard function codes are supported. Standard function codes do not support the Poll Controller Function Code.
Error Messages Message Display Description ADDRESS_OUT_OF_RANGE AL_SUCCESS ALL_AXES_MUST_BE_OFF ALL_CONTROL_AXES_IN_USE AUTOTUNE_FAILURE AXIS_NOT_COMMISSIONED AXIS_NOT_RIGHT_TYPE BBP_BLOCK_NOT_ACCEPTED BBP_DATA_OUT_OF_BOUNDS BBP_DATA_OUT_OF_RANGE BBP_END_OF_BLOCK_REACHED BBP_FAULT_PREVENTS_EXEC BBP_MODE_PREVENTS_EXEC BBP_OVERFLOW BBP_REQUEST_TIMEOUT BBP_TRANSACTION_IN_PROGRESS CALC_OPERATION_FAILED CAN_ALREADY_CONNECTED CAN_BUS_OFF CAN_CONFIRMED_BUSY CAN_ERROR CAN_INVALID_CHANNEL CAN_INVALID_OBJECT CAN_IN
Message Display Description EE_DEVICE_FAILURE EEPROM_ACCESS FEEDBACK_COMMS_BUSY FEEDBACK_DATUM_ERROR FEEDBACK_ERROR FEEDBACK_MESSAGE_CORRUPT FEEDBACK_MOTOR_DATA_ERROR FEEDBACK_NOT_RESPONDING FIELDBUS_INIT_ERROR FIELDMARSHAL_EEPROM_ACCESS FILE_PROTECTED FILE_TOO_BIG FLASH_BEING_PROGRAMMED FLASH_PROGRAMMING ICM_ARRAY_ERROR ICM_BLOCK_TOO_BIG ICM_DATA_TIMEOUT ICM_DISABLED ICM_DLL_ERRORS ICM_DLL_MESSAGE_ID_MISMATCH ICM_HOST_BUSY ICM_RETURN_TIMEOUT ICM_TL_BUSY ICM_TL_GROUP_MESSAGE_ID ICM_TL_GROUP_SEQUENCE ICM_T
Message Display Description INVALID_INPUT INVALID_LOCAL_NODE INVALID_MASTER_CHANNEL INVALID_MINT_COMMAND INVALID_MODE INVALID_NODE_ID INVALID_NUM_CAP_PTS INVALID_OUTPUT INVALID_PLATFORM_CODE INVALID_POINTER INVALID_REGISTER_ADDRESS INVALID_REMOTE_BAUD INVALID_STATIC_CHUNK INVALID_STATIC_HANDLE INVALID_SUBFUNCTION_CODE INVALID_TERMINAL_ADDRESS INVALID_TERMINAL_DEVICE INVALID_TERMINAL_PORT INVALID_VAR_TYPE KNIFE_AXES_NOT_CONFIGURED KNIFE_HANDLER_NOT_INSTALLED KNIFE_ROTATION_OUT_OF_RANGE MB_INVALID_BLOCK_ERR
Message Display Description PARAMETERS_LOCKED PHASE_SEARCH_RUNNING READ_ONLY REALTIME_CLOCK_FAILURE REGISTER_READ_ONLY REMOTE_DOWNLOAD_IN_PROGRESS REMOTE_DRIVE_DISABLED REMOTE_DRIVE_FAULT REMOTE_DRIVE_MOVE_FAILED REMOTE_EE_FAIL REMOTE_ESTOP_ACTIVE REMOTE_MODE_NOT_PROGRAMMED REMOTE_STATE_INCORRECT REMOTE_SYNC_ERROR SERIAL_ERROR SINGLE_TERMINAL_ONLY STATIC_DATA_OVERRUN STATIC_DATA_UNDERRUN TABLE_ERROR TERMINAL_BUFFER_EMPTY TERMINAL_BUFFER_FULL TERMINAL_OUT_OF_RANGE TERMINAL_UNAVAILABLE TOO_MANY_TASKS TRANSF
Baldor District Offices Baldor District Offices
BALDOR ELECTRIC COMPANY World Headquarters P.O. Box 2400 Fort Smith, AR 72901-2400 (479) 646-4711 Fax (479) 648-5792 www.baldor.