Double Alignment Check Constant

Modbus Motion Interface

Read_Double(System_+_DoubleAlignmentRegister_d);

Description

This register holds a known double precision floating point value to confirm that the doubles registers are aligned with the addressing convention of the master and that the word order is the same between the master and the controller. The master should read from this register the value 123456789.123 decimal. If this is not the value read then try reading locations 1 above or 1 below the indicated register address. If these alternate addresses produce the proper 123456789.123 value then the indicated offset will have to be used for all references to the Modbus Register Map. Note that if a reduced resolution data type version of the Modbus Memory Map is being used where double precision values are reduced to single precision then the value produced may lose resolution after 7 or so figures and produce a value very close to but not exactly 123456789.123. This is just a limitaiton of the reduced resolution. The objective is to make sure byte and word order is correct. A close value confirms these orders are correct.

Escapes

Reading the Double Alignment Check Constant does not generate any escapes.

Examples

Confirm that double precision values are read in the correct word order

if abs(Read_Double(System_+_DoubleAlignmentCheck)-12345678.123) < 0.001 then
 Show_Message('Alignment and register order look good')
else
 Show_Message('Alignment or register order is off');