PDA

Просмотр полной версии : ПЛК МS4D и опрос датчиков по Modbus



Вова13
25.03.2021, 14:16
Добрый день. Подскажите существуют ли библиотеки для данного ПЛК, похожие на ModBus.lib в Кодесис V2.
Или может кто ни будь подскажет вариант.
Задача, опрос датчиков по RS 485 (Modbus RTU).командой 04 — чтение значений из нескольких регистров ввода (Read Input Registers).НО прочитать нужно четыре регистра одной командой.
У датчика два параметра (температура и влажность).

Юрий Горелый2
26.03.2021, 16:28
Добрый день. Подскажите существуют ли библиотеки для данного ПЛК, похожие на ModBus.lib в Кодесис V2.
Или может кто ни будь подскажет вариант.
Задача, опрос датчиков по RS 485 (Modbus RTU).командой 04 — чтение значений из нескольких регистров ввода (Read Input Registers).НО прочитать нужно четыре регистра одной командой.
У датчика два параметра (температура и влажность).


1) Запрос нескольких регистров можно использовать групповые запросы - если устройство которое запрашивается поддерживает их. но это уже 16 я команда Modbus
ТО-есть не групповым запросом? если групповым тогда https://www.youtube.com/watch?v=6 . Это =- групповой запрос выбирается галочкой " групповые запросы"

2) Если Вы считаете что один регистр это два байта и Вам надо прочитать 4-е подряд,
то в свойствах опрашиваемого регистра выставляйте читать "вещественное число 8 байт"
54227

Тем самым Вы в Мастерскаде получите число, которое содержит все Ваши биты, но при этом имеет другой формат, что очевидно.

потом уже это число можно разбить по байтам или битам и собрать из них два числа, но это надо уже программу писать - ибо как именно у Вас из одного регистра в 8 байт получается два числе - известно только Вам,
в том смысле что никак не стандартизировано.

Вова13
29.03.2021, 17:02
Спасибо .Попробую разобраться.
Считываю 8 байт, осталось только понять как это расшифровать.

Юрий Горелый2
30.03.2021, 10:21
Спасибо .Попробую разобраться.
Считываю 8 байт, осталось только понять как это расшифровать.

Вы получаете число. скажем формат у него real , если писать терминами мастерскады.
Самый простой вариант - разобрать полученной число по битам и собрать так же по битам два числа.
пример как разобрать https://www.youtube.com/watch?v=E6UNXCGxOEQ как только разберете собрать два числа будет просто)