День добрый!
Сейчас работаем над записью чисел с плавающей запятой в ОРС сервер. Число 4- байтное, тип Single.
ОРС -сервер Complex Systems, протокол Modbus RTU. Simple -scada версия 2.2.1.1.
При попытке записать число 12.7 через ОРС сервер на шину выдается вот такой пакет:
Запрос:6/1/2017 2:10:33 PM.84264 (+0.0313 seconds)
03 10 00 14 00 02 04 00 00 60 00 D0 E8 .........`.Ðè
Ответ:6/1/2017 2:10:33 PM.84264 (+0.0000 seconds)
03 10 00 14 00 02 00 2E
Запись происходит - но число совершенно безумное получается.
Хотя должно быть вот так - правильный вариант:
Запрос:6/1/2017 2:12:20 PM.76864 (+0.0938 seconds)
03 10 00 14 00 02 04 33 33 41 4B 77 C4 .......33AKwÄ
Ответ:6/1/2017 2:12:20 PM.76864 (+0.0000 seconds)
03 10 00 14 00 02 00 2E
Правильная запись получена при записи в сервер значений со стороннего ОРС клиента - Matricon OPC explorer.
При работе со сторонним клиентом операция проходит абсолютно корректно.
Число, передаваемое как Single со скады, в IEEE отображении получается как 6000 0000,
хотя должно быть 414B 3333.
С уважением,Михаил.