Alerts on my program...


Recommended Posts

Its saying CRC failure, which means there is something wrong with the communication. Can you please open the monitor window for the "PLC" device, make sure "Display all chars as ASCII codes", and "Display Time of Tx/Rx" are checked, then take and post a screen shot? This will enable me to look at the actual traffic to determine what is wrong.

As a side note: are you actually connecting over a cellular modem?

Link to comment
Share on other sites

Thanks for your reply..

I attach here 4 screenshots of the communications monitor... I hope this could help you,,,

as you can see there are mainly two errors: Timeout and CRC Fail..

Responding to your question: Yes, I





Link to comment
Share on other sites

You occasionally have garbage on the line and that is causing the CRC and timeout errors. You can only see it in the last (bottom) of your four pictures. Look for the Tx with timestamp 10:32:38.499. This is a proper query, but the response at 10:32:38.547 has 6 characters of garbage before the real frame starts. This triggers the parser to say that an error occured. In this case, the real frame still exists, but DAQFactory plays it safe and if it runs into any problems, it simply throws the whole query away and gives an error message. Better safe then sorry.

The cellular modem question is because cellular modems are much more likely to have this sort of noise injection. You can get it on serial connections (but pretty much never on Ethernet) especially when transceiver voltages are low or baud rates really high, but its more common on radio.

You might try lowering your baud rate. At high baud rates, each individual bit is very short and so noise spikes start to look like real bits. At lower rates, like 9600, a real bit has to stay high pretty long, much longer than a noise spike is likely to ever be, and so its much more reliable.

That said, your problem is more likely to simply be an issue with the cellular. You best bet is to work around it in software since 99% of your queries go through. How you do it depends on how critical each and every query is. Usually missing an input reading isn't a big deal, but for outputs, you might want to consider doing a readback to ensure that the output took. DAQFactory won't update the channel unless it is successfully set, but it doesn't automatically do a readback, so isn't quite as reliable.

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.