
CMC TECHNICAL REFERENCE MANUAL
1X36003 Version 2.52
1996-1999 Ingersoll-Rand Company
Date of Issue: 18-Oct-1999
103
(CMC Base Control Modules). Refer to the table for the Input Register list for the MODBUS
Absolute Addresses supported by the CMC-MODBUS Interface.
NOTE
This function will override the CMC’s current state. The forced state will remain valid
until the CMC next solves the register. The register will remain forced if it is not
programmed in the controller's logic.
CAUTION
The position of the REMOTE COMMUNICATIONS DISABLED/ENABLED
selector switch is NOT considered when forcing coils or writing registers to the CMC.
Reads and Writes are always enabled. Repeatedly writing a value to a register or
forcing a coil without regard to the position of the switch can effectively disable a local
write. Please use caution when writing registers or forcing coils.
Example: Presetting Holding Registers for 32-bit Values
The difficulty in setting 32-bit values is determining the four data bytes for the number you
want to send. The process required is...
1.
Determine the sign (positive = 0 or negative = 1). This is the first bit.
2.
Divide the decimal value by 2 until the result is less than 2, but greater than 1. Count the
number of iterations required. Add 127 to the number of iterations. This result is the
exponent. Convert this result to binary. These are the next eight bits.
3.
From the result obtained from step 2, subtract 1. Then, multiply this result by 2. If the
result is less than 1, then the value of the first mantissa bit is 0. Otherwise, the
mantissa bit is 1. If the result is greater than or equal to 1, then subtract 1 from the
result and proceed with step 3 until the result is 0 or you have gone through this
process 23 times.
4.
Combine all 32 bits from the steps above and convert this value to hexadecimal. These
32 bits are the 4 hexadecimal data bytes needed for the command.
As an example, we will start with the decimal value of
105.4.
1. Since this is a positive number, the first bit is
0
.
2. Determine the exponent bits by ...
Iteratio
n
Decimal
Result
1
105.40000
/
2
=
52.700000
2
52.70000
/
2
=
26.350000
3
26.35000
/
2
=
13.175000
4
13.17500
/
2
=
6.587500
5
6.58750
/
2
=
3.293750
6
3.29375
/
2
=
1.646875