Knowledge Base
cancel
Showing results for 
Search instead for 
Did you mean: 

MODBus RTU XDriver reading incorrect data from device.

Issue

MODBus XDriver is communicating with device but the data read is not what is expected.

For example,  when requesting the voltage between phase 1 and neutral (StartChannel = 3926)  from a PM1200 the value received is the following:

VPhase1toNeutral [1] = 17085

VPhase1ToNeutral [0] = 65890  (This last value varies constantly because it is the least significant part of reading).

This value should be between 110V and 120V  or  220V and 240V depending on location.

Environment

CyberStation

CX9900

CX9640

bCX4040

CX9680

ACX5720

ACX5740

Cause

Function code used reading raw data from register(s) without conversion.

Since, when you request information from a Modbus RTU device you receive the exact value that is in the register, Andover Controls has provided some special function codes that will help to convert some of the common engineering values into usable values.  The listing in the x-driver documentation shows the special function code, what is expected from the third party and the equivalent function code that is truly sent to the device. 

 For instance if a point is a Intel float and resides in the 40,000 range then function code 245 would be used in the Andover Controls x-driver.  This will still send out a function code 3 in the Modbus message but the x-driver will take the value sent in from the third party device and convert it into a usable float.

Resolution

Use Continuum special function code to convert the raw value to a readable value.

Tags (2)
Labels (1)
Version history
Revision #:
1 of 1
Last update:
‎2018-09-10 11:32 PM
Updated by: