CMC TECHNICAL REFERENCE MANUAL
1X36003 Version 2.52
1996-1999 Ingersoll-Rand Company
Date of Issue: 18-Oct-1999
MODBUS Messages _________________________________________________________________ 86
Device Address ___________________________________________________________________ 86
Function Code ____________________________________________________________________ 86
Data Addresses___________________________________________________________________ 86
Single Module Addresses_________________________________________________________ 87
Multiple Module Addresses _______________________________________________________ 87
Data ____________________________________________________________________________ 87
Byte Count_______________________________________________________________________ 87
Cyclical Redundancy Check (CRC) ___________________________________________________ 87
Function Details_____________________________________________________________________ 87
Function 01 - Read Coil Status_______________________________________________________ 87
Example: Reading a Single Coil ___________________________________________________ 88
Example: Reading Multiple Coils __________________________________________________ 89
Function 02 - Read Input Status______________________________________________________ 89
Example: Read Single Discrete Input _______________________________________________ 90
Example: Read Multiple Discrete Inputs_____________________________________________ 90
Function 03 - Read Holding Registers _________________________________________________ 91
Example: See example for Function 04._____________________________________________ 94
Function 04 - Read Input Registers ___________________________________________________ 94
Example: Read Single Channel 16-Bit Integer and Fraction _____________________________ 95
Example: Read Single Channel IEEE 32-Bit Floating Point Number ______________________ 96
Example: Read Multiple Channels _________________________________________________ 97
Function 05 - Force Single Coil ______________________________________________________ 97
Example: Forcing a Coil _________________________________________________________ 98
Function 06 - Preset Single Register __________________________________________________ 98
Example: Presetting a Single Register (16-bit) Integer _________________________________ 99
Function 15 (0F Hex) - Force Multiple Coils ____________________________________________ 99
Example: Forcing Multiple Coils __________________________________________________ 100
Function 16 (10 Hex) - Preset Multiple Registers _______________________________________ 100
Example: Presetting Holding Registers for 32-bit Values ______________________________ 101
Example: Presetting a 16-bit Integer and 16-bit Fraction Holding Register ________________ 103
Exception Responses _______________________________________________________________ 103
Function Code Field ______________________________________________________________ 104
Data Field_______________________________________________________________________ 104
Exception Codes Supported by the CMC Microcontroller_________________________________ 104
Maximum Query / Response Parameters _______________________________________________ 105
CMC Data_________________________________________________________________________ 105
Scaling and Units of Measure_________________________________________________________ 105
Communication Parameters __________________________________________________________ 105
The CMC-DF1 Interface ____________________________________________________106
Introduction________________________________________________________________________ 106
Full-Duplex Protocol ________________________________________________________________ 107
DF1 Full-Duplex Protocol Message Frames ___________________________________________ 107
DF1 Device Address ______________________________________________________________ 107
Destination (DST) Byte____________________________________________________________ 107
Source (SRC) Byte _______________________________________________________________ 108
Command (CMD) and Function (FNC) Bytes___________________________________________ 108
Status (STS) Byte - Status Error Code _______________________________________________ 108
Transaction (TNS) Bytes___________________________________________________________ 108
BCC (Block Check Character) and CRC (Cyclic Redundancy Check)_______________________ 108
BCC (One Byte) _______________________________________________________________ 109
CRC (Two Bytes)_______________________________________________________________ 109
Data Addressing ___________________________________________________________________ 110