Здравствуйте!
Ранее я не связывался с modbus на M340 (другие контроллеры или как то обходил это). Возникла необходимость прикрутить к контроллеру прибор. Решил проверить перед покупкой на совместимость (а то были казусы)
Из доки на прибор:
Прибор поддерживает сообщения, содержащие функции типа 03 и 04 (см. таблицу 8). В ответе на запрос от компьютера на чтение из определенного поля может содержаться функция типа 03 или 04 в зависимости от формата полученного запроса.
Отличие этих функций заключается в том, что при использовании функции типа 03 прибор посылает только целую часть значения поля, запрашиваемого компьютером. Соответственно, компьютер отобразит в соответствующем поле значение целой части.
При использовании функции типа 04 значение запрашиваемого поля передается в виде целой и дробной части, хранящихся в отдельных регистрах. Компьютер объединяет целую и дробную часть в единое число с плавающей точкой. Подробнее информация об операциях с плавающей точкой содержится в документе IEEE Standard 754 Floating Point.
В нелпе нарыл:
The Real format (floating point in ANSI/IEEE 754 standard) is coded in 32 bit format which corresponds to the single decimal point floating numbers.
И по функция
Read words (until 125 registers) 16#03 READ_VAR
Read input words (until 124 registers) 16#04 SEND_REQ
Вроде все нормально, но у меня какое-то ощущение, что что-то я не досмотрел.
под рукой железа пока нет и проверить не могу.
Как думаете можно будет считать float или заранее искать обходные пути?
Может кто сталкивался с подобным?