Использую ПЛК100 под Кодесис 2. Для связи с MasterSCADA использую её родной MasterOPC (build 3.1.3). Связь по Модбас. Столкнулся с проблемой. При передаче больших/малых значений float-тегов скада и OPC отображают неправильные значения. Например, в Кодесис, в конфиге ПЛК ставлю очень малое значение (1e-15 к примеру), затем смотрю в OPC сервер - он показывает просто 0, и скада аналогично. Судя по всему, в скаде постоянна дискретность значений float-переменных, и всё, независимо от общего количества значащих цифр! И такое чувство, что скада и ОРС не понимают экспоненциальный формат float-переменных. В другой ситуации, при больших значениях - вообще показывают какой-то мусор.
Вот скрин, сравните три значения, выделенные красным - значение в Кодесис (правильное), в OPC-сервере и в скаде.
1.png
P. S. С адресами, выравниванием и перестановкой байт всё в порядке, и не очень большие значения везде отображаются правильно. Но с экспоненциальным форматом - беда какая-то. Как это вылечить?