Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

RS-422 communication between CR800 and AWAC


fpborges Jan 10, 2014 07:46 PM

Dear fellows,

I'm trying to communicate with a Nortek AWAC current profiler, using a datalogger CR800 connected to a SDM-SIO1 converter. I've configured the SDM-SIO1 to a RS422 Full-Duplex communication.

SerialOpen (SerialPort,9600,19,0,5000)

The data output of the instrument is in ASCII format. When I send a "break" command to the AWAC, it responds as expected, and it sends a bunch of bytes indicating that it's on command mode.

The problem occurs on the message decoding from the SDM-SIO1, because the string read in the buffer looks like garbage:

u?u?u?u?u?u????Þµ?Ý…}}?Q_yëåca[Wui¿›Ÿ›ëåS5-!#¿™£™‘ëåy!%%=#7¿%!75ëåóó?

To garantee that the message sent by the instrument is correct, we'd received it on the computer COM port and we noticed that the message is correct. It had to look like this:

§§§§§§§§§§§.
PRODOPP WPC
NORTEK 2012
Version 3.37
Command mode
¶¶

So we did a last test, connecting the SDM-sio1 directly to the computer COM port, using a Antona RS422/RS232 converter. Thus, everything we'd sent from the "hyperterminal" to the datalogger was decoded by the SDM-SIO1 correctly.

Looking both signal (from computer and AWAC) at the oscilloscope we don't see any mistakes or differences between then. Both follow the correct form of the RS422 communication protocol.

Is there a specific voltage ranges that the SDM-SIO1 works? If so, which should be?

we followed the hardware connections described on the SDM-SIO1 Guide, on the RS485/RS422 Full-Duplex section, including the 100R resistors. Is it possible that some detail isn't described on the manual for the RS422 protocol?

Regards,
Francisco.


aps Jan 10, 2014 10:16 PM

The most likely reason for this problem is confusion over the polarity of the signals. Unfortunately there is some confusion in as to the definition of the hi and lo status of the RS485/RS422 signals due to conventions used by the chip manufacturers.

The SDM-SIO1 follows the chip nomenclature which is different than used for some sensors. Please try reversing the inputs to see if you have more success. There is no risk in damage in doing this. The 100R termination resistors are not normally needed.

* Last updated by: aps on 1/10/2014 @ 3:17 PM *


fpborges Jan 13, 2014 11:45 AM

Hey Andrew,

It finally worked! Thanks for your help!

Regards,
Francisco.


fpborges Jan 14, 2014 01:51 PM

Hey Andrew,

we have another issue concerning the data received by the CR800. Apparently, we receive 2,048 bytes from the SDM-SIO1 device at every data which is sent by the AWAC. However, when we receive the data from a PC we've noticed that the message has near 2,270 bytes. Thus, the message received by the datalogger is incomplete. I've tried to raise the buffer size on the SerialOpen() command from 3,000 bytes to 10,000 bytes, i.e. SerialOpen (SerialPort,9600,19,0,10000), but the number of bytes received remais the same (2048 bytes). Is the a limit to the CR800 input buffer size? Is it multiple of 256 bytes, reaching it's maximum at 2048 bytes?

Regards,
Francisco.


aps Jan 14, 2014 03:09 PM

The SDM-SIO1 buffer size is limited to 2048 bytes. If the sensor is sending more data than this then you have a problem. The only way to overcome this is to read data from the SDM-SIO1 more often, reading in data before the buffer is full, and then splicing the part messages back together in a string in the logger, before processing it.

Getting this to work can be rather difficult as you need to get the timing exactly right to ensure you are able to read data out of the SIO1 before it gets full.

Log in or register to post/reply in the forum.