I wasn't very happy with the value of set point I was getting because when the value was set to zero on the controller, the value read in to PLC was an abrupt number 1.6732 e^-16
Hence I decided to read values from 0045 for PV and 0049 for SV., which means the addresses have been offset by one.
Yes, that is the point of my recent posts, which predict that exact result. It also means the code should
not need to to switch the 16-bit words.
However, as long as there are odd (non-even) values for the [MB Data Address (1-65536)] field in the MSG/MG Setup Screen, I fear the MicroLogix code is still mixing 16-bit words from different FLOAT registers of the Jumo device.
Perhaps a more useful approach would be to Read 16 (or more) consecutive 16-bit words from the Jumo, e.g.
- use 64 (decimal; 0x0040) for the [MB Data Address (1-65536)] in the Setup Screen, and
- use 16 for the [Size in elements] field in the Setup Screen,
for a single MSG/MG instruction, then we can look at the resulting sixteen 16-bit words (MB
Data Model addresses 64-79 decimal; MB
PDU Model addresses/Jumo registers 0x003f-0x004e), data in the N-file (e.g. N7:240 - N7:255), and if there is a zero value between two non-zero float values, we can determine its exact location.