what would be the best way to track down potentially spurious readings over modbus tcp?
i have some registers that appear to giving misleading data, at a particular state for one scan interval.... and i'm sampling every 5 secs...
putting a delay on my event detectors will get me going, but not really an ideal solution..
I would first check that I was using the correct data types. It's easy to get the byte-swapping wrong.
i dont think its that... i have simliar data items with identical types etc... and those behave as should... its just totally random....
just to confirm...
i have an array of binary tags derived from holding registers...
i.e. 42017/0 etc
i'm showing a >0 status at random and its always only for 1 scan (5 secs)
as a test, i added the holding register, 42017 and its logged on changes...
low and behold, even though i'm seeing bits from the word go high, the actual word has never changed yet...
so somethings definitely a miss with the bit level addressing of a holding register???
Are you still having this problem? Once Mango gets going it makes the same requests the same way over and over, so it would definitely be curious for this to be happening. Can you get a trace of the streams of data?
i've not been able to trace this, but as far as i know, the slave being polled hasn't mirrored any of these changes..
i'm seeing this on various registers... and it seems like they are showing -1 (dec) 1111111111111111 (bin) and it only ever lasts for one update