Numeric data reading in array

  • Thread starter haris chaudhary
  • Start date
H

Thread Starter

haris chaudhary

I need help from Honeywell TDC3000 Experts regarding one problem...

I am taking some data from Allen-Bradley PLC through Modbus protocol via serial interface card. I read all Flag data correctly in DCS. Main problem is reading of numeric data, it is showing integer value in array instead of floating point. For example, in field it is 23 bar but in array it is showing 16578. Can you help me how to change this data in floating or real value?

AB PLC sending data on 40001 (Modbus address). Is this address right? Can you tell is my configuration of array point wrong or is AB PLC sending on wrong address? If I get data on Modbus protocol, what is base address from AB PLC? I configured Array like this. It is 32 bit register.
Baudrate 9600.
Dev address 1
Base address 40001 to 40073
Modbus protocol RS 232.

Please help regarding this matter.

Best regards,

MUHAMMAD HARIS
 
Not familiar with AB or Honeywell, you are in the wrong forum. You really need to talk to them, as nothing you are using is Schneider.

You do need to realise that a 4X register is a single 16 bit register, which can hold an integer value. A floating, or REAL value uses two consequtive registers such as 40001 and 40002. So you may have to read two consecutive words, not one.

Also in the Modicon (Modbus) world, all registers start at 1, such as 300001, 400001, 100001, 000001, etc. It could be that AB/Honeywell have not implemented Modbus correctly, and their base address is actually 40000 rather than 400001. That is, you are reading one register out.

You need to make sure the device sending the data has the register(s) configured as FLOAT, and also that the receiving device is READING FLOAT, hope this helps.
 
Top