Вход

Просмотр полной версии : Как читать Float32 по Modbus-RTU



servo
02.04.2012, 10:24
Прошу помощи в таком вопросе: имеется ПЛК154 и модуль ввода тензодатчиков МВ110-224.1ТД. Необходимо читать значение измеряемой величины с МВ110-221.1ТД по Modbus-RTU. Согласно описанию по МВ110, значение измеряемой величины хранится в переменной Float32 которая в свою очередь хранится в двух регистрах 0х46 и 0х47(старшие разряды хранятся в регистре имеющем меньший адрес). Как в CodeSys читать одну переменную с двух регистров? Я новичок, поэтому прошу понять.

Yegor
02.04.2012, 15:42
http://images.devs-on.net/Image/YfbjwQL70BUtTrZH-CoDeSysUntitled.png

capzap
02.04.2012, 16:23
:) ответ про использование двух регистров, это конечно можно использовать, но будет это в результате двух последовательных запросов, и представить невозможно как Ваша программа будет реагировать, когда в цикле станет обрабатывать один достоверный регистр и второй регистр с прошлыми значениями.
Тут скорее нужно понять, что флоат в системе программирования ПЛК это тип данных REAL, вот этот модуль и надо использовать Real Input Module, указывая только начальный регистр 0х46. Если значения будут не корректными, то возможно стоит попробовать поменять в настройках UMD параметр Byte Sequence c Trace_mode на Native, если и это не пойдет, тогда с помощью команды ADR менять байты местами, пока не появиться верный результат (комбинаций всего четыре)

lara197a
02.04.2012, 17:05
5806

вОТ пример в помощь.
Там все хорошо читается, без преобразований.

servo
03.04.2012, 08:29
Спасибо всем большое! Буду сегодня пробовать. А еще такой вопрос по МВ110-224.1ТД. Как с помощью программы-конфигуратора М110 можно откалибровать весы не нагружая их полным весом НПВ. В моем случае имеем весы на 4 тензодатчиках, НПВ-20т. В настройках канала я указал чувствительность, режим питания согласно описанию по тензодатчикам. Далее задам минимальное и максимальное значение физической величины, а вот как "пробросать" весы и запомнить значение образцового веса при этом не нагружая весы на все 20т.? Заранее спасибо!

ALEXBUY
18.09.2017, 21:37
5806

вОТ пример в помощь.
Там все хорошо читается, без преобразований.

можете еще раз пример выложить, а то не скачивается?

Осинский Алексей
19.09.2017, 07:27
можете еще раз пример выложить, а то не скачивается?

Добрый день!
Опишите, пожалуйста, Вашу задачу.
Постараемся помочь.

gorunov
12.03.2019, 20:19
добрый день. можете обновить архив, столкнулся с такой же проблемой

krollcbas
13.03.2019, 09:30
В одном из своих проектов использую библиотеку oscat_basic_333.lib
DWORD_OF_WORD - DW_TO_REAL
Находится внутри:Engineering/Logic/gate logic
https://yadi.sk/d/MONYl4_MjP9pHg
41699