08-09-2010 01:06 PM
I am replacing a series 96 watlow with the ez zone model. Dasylab is communicating with the device with the series 96 settings, but instead of displaying 25-26 degrees C, dasylab is displaying 1882 degrees C. This does not change as the temp in the watlow changes. Any idea what's going on here?
08-09-2010 02:00 PM
Sounds like you are not parsing the string correctly.
Use the RS232 module's Monitor function to view the response string when you send the data request.
08-09-2010 02:05 PM
Sending the data request yields this:
<SOH><ETX><STX><BEL>Z:0
where <BEL> is a value
08-09-2010 02:20 PM
are you expecting a byte or an integer? If integer, signed or unsigned?
Check the DASYLab Help for the correct data format for integer.
I tried to find documentation online, but nothing came up that is even close to what you are showing.
Unsigned byte | 1 | b | [0,255] | 8-bit unsigned integer |
Word | 2 | w | [0,65535] | 16-bit unsigned integer |
Short | 2 | i | [-32767,+32768] | 16-bit signed integer |
08-09-2010 02:29 PM
According to a tech support guy from watlow, the new controller uses 32 bit floating point whereas the old controller didn't. According to them, it should be a matter of changing the data request and format strings.
08-09-2010 03:01 PM
They are correct.
This is the DASYLab V11.0.1 list of supported formats.
DASYLab supports the following data types with the following identifiers:
Data Type | Number of Bytes | Format Identifier | Value Range | Notes | ||||||
---|---|---|---|---|---|---|---|---|---|---|
ASCII Text | Adjustable | a | 16 characters | DASYLab interprets the data as text when the data is an ASCII data type. Valid signs for measurement values are: 0 ... 9 + - . , E e
If the measurement device always sends the data with a fixed length, you can set the number of places before the format identifier. If the length of the sent values varies, leave out the numeric value. DASYLab recognizes the measurement value from the leading and trailing blanks or non figures. All the other ASCII table signs indicate the end of a measurement value. All characters that follow the end sign are ignored.
|
||||||
ASCII hexadecimal | Adjustable | ah | 16 characters Only Integer |
If an external device sends measurement values as a hexadecimal text in which a sent sign corresponds to a 4-bit hexadecimal, an a must follow an h in the format string
The characters valid for the measurement values are then ASCII characters: 0 to 9, A to F, a to f and + –.
|
||||||
ASCII hexadecimal long | Adjustable | ahl | 4 characters 2 byte unsigned |
|||||||
Unsigned byte | 1 | b | [0,255] | 8-bit unsigned integer | ||||||
Word | 2 | w | [0,65535] | 16-bit unsigned integer | ||||||
Short | 2 | i | [-32767,+32768] | 16-bit signed integer | ||||||
DWord | 4 | u | [0,4.29E9] | 32-bit unsigned integer | ||||||
Long | 4 | l | [±2.14E9] | 32-bit signed integer | ||||||
Float | 4 | f | [±3,4E38] | 32-bit floating point number in the IEEE format, floating point number with simple accuracy | ||||||
Double | 8 | d | [±1.7E308] | 64-bit floating point number in the IEEE format, floating point number with double accuracy | ||||||
Word Big Endian | 2 | wy | [0,65535] | DASYLab reads data in Motorola format in Big Endian direction.
Usually integer data is edited in the Intel format in the Little Endian direction: DASYLab reads the byte with the lowest significance first and the byte with the highest significance last. DASYLab process data in the Motorola format in reverse direction (Big Endian): DASYLab reads the byte with the highest significance first and the byte with the lowest significance last. To avoid misinterpretations of the data add the format identifier y so that the measurement device recognizes Motorola data, for example, ly for long signed integer data, in the Motorola format. |
||||||
Short Big Endian | 2 | iy | [-32767,+32768] | |||||||
DWord Big Endian | 4 | uy | [0,4.29E9] | |||||||
Long Big Endian | 4 | ly | [±2.14E9] | |||||||
Float Big Endian | 4 | fy | [±3.4E-38] | |||||||
Double Big Endian | 8 | dy | [±1.7E308] |
08-10-2010 10:47 AM
Well, it turns out this is going to be much more complicated than it seemed. There is a data request string that we send to the device via the rs232 module (\x01\x03\x00\x64\x00\x01\xc5\xd5). The x64 refers to the register where the data is stored on the device. Not only is the register different on the new device, there are TWO of them that have to be read. Ugh.
08-10-2010 01:46 PM
On page 14 of this manual http://www.instrumart.com/assets/108/EZZone-PM_CommunicationsManual.pdf it gives me the exact string I need to send! Problem is, I can't figure out how to configure the data format. It's 32 bit floating point
08-10-2010 02:39 PM - edited 08-10-2010 02:44 PM
Shouldn't you be using Modbus for this? That might make it a bit easier. The V11.0.1 Modbus supports these data types.
I also have an as-yet unreleaseed fix that will handle the word order, as well as the byte order.
Modbus Analog Input
The following settings specify the data type and the value range for the data incoming from the measurement device. The dialog box displays a short description about the selected data type.
Word — Specifies that the device returns integer measurement values in the range [0,65535] (16 bit integer without sign).
Short — Specifies that the device returns integer measurement values in the range [-32767,+32768] (16 bit integer with sign).
DWord — Specifies that the device returns integer measurement values in the range [0,232-1] (32 bit integer without sign).
Long — Specifies that the device returns integer measurement values in the range [-231,+231-1] (32 bit integer without sign).
Float — Specifies that the device returns floating point numbers in the range [±3.4·1038] (32 bit floating point number in IEEE format).
Big Endian — Specifies that DASYLab first reads the byte with the highest bit and reads the byte with the lowest bit last. One also refers to this as Motorola format. If you do not select this setting, DASYLab reads the data as Little Endian which means the byte with the lowest bit first (Intel format).
08-10-2010 03:19 PM
we are using the light version, so modbus modules are not available to us. I simply need to know what to plug into the data format box so that my data will be interpreted correctly, or how I can figure this out.