mse3000 Posted June 3, 2010 Share Posted June 3, 2010 I am slightly confused as to why I am recieving the following error. P-ModbusRTU 0011: CRC Fail 06/03/10 11:18:54.052 P-ModbusRTU 0014: ID Mismatch I currently have only one device connectede via Seriel RS232 and all connections are fine. I can both read and write to my device (digital I/O unit) if that makes any difference with no problems. Ihave tried both addressing methods, 0 and 40k both resulting in the same problem. The error is also intermittent, about once every 60 seconds. I have checked the manual, and fault codes only seem available from 1000 upwards. Any ideas?? Many Thanks Mark Link to comment Share on other sites More sharing options...
AzeoTech Posted June 3, 2010 Share Posted June 3, 2010 Sounds like you have garbage on the line. Watch the serial monitor. You'll probably see traffic that is very orderly, then every 60 seconds or so, something that doesn't make sense. With Modbus it's pretty easy to spot problems. In RTU, the first byte is always the ID and the second byte the command. These should be echoed back in receive (along with data), so the first two bytes of tx and rx in RTU are always the same unless there is an error. If the device is sending back an error code, the second byte in the Rx will be 128 more than the Tx, so if Tx has command 3, it will return 131. ID mismatch means that the first byte returned did not match the first byte sent. CRC fail means the checksum failed, usually because of an errant byte. Link to comment Share on other sites More sharing options...
carlos1 Posted March 22, 2013 Share Posted March 22, 2013 good morning I have the following problem I am using a PLC as a slave device. But to give up with the Scada i get the following error 03/22/13 12:36:48.004 P-ModbusRTU 0011: CRC Fail And in comm monitor TX: / 001/001/000/001/000/001/172/010 RX / 001/001/000/001/000/003/172/138/001 TX: / 001/001u1/000/001/182/009 RX / 001/001u1/000/003/182/137/001 TX: 001/003/195Q/000/002/169/158 RX: 001/003/195Q/000/002/169/158/001 Have if I can help please thanks carlos Link to comment Share on other sites More sharing options...
AzeoTech Posted March 26, 2013 Share Posted March 26, 2013 Are you getting that error over and over again, or just once in a while? If just once in a while, you may have a wiring issue, or just environmental electrical noise on the line. Check for good wiring and shielding. If you get it with every query, then there is probably a bug in your devices Modbus implementation. It looks like the device is returning a valid packet except I can't do the CRC in my head to check that part Link to comment Share on other sites More sharing options...
SteveMyres Posted March 26, 2013 Share Posted March 26, 2013 See the odd decoding in a couple places there, where you'd expect a three digit number < 255 and there's some ASCII characters thrown in gratis? I see that sometimes as well and have never been sure what to make of it. Link to comment Share on other sites More sharing options...
AzeoTech Posted March 26, 2013 Share Posted March 26, 2013 That's because the monitor is not set to "Display ASCII chars as Codes", so any value between 32 and 127 displays as a character instead of the 3 digit number. In the original post, there was enough that I could tell it was a reasonable proper modbus frame even with the substitution. I always enable "Display ASCII chars as codes" when dealing with Modbus (except ASCII). Basically any protocol that isn't ASCII based. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.