|
Копирование настроек из утилиты MODBUS Poll в наш логгер для Modbus
Описание проблемы:
Я могу успешно протестировать и получить данные с моего устройства MODBUS RTU используя программу MODBUS Poll. Как я могу скопировать или перенести необходимые настройки в ваш логгер для MODBUS, поскольку у меня есть необходимость сохранять данные в базу данных?
Требования:
Подразумевается, что:
Вы успешно настроили MODBUS Poll и получили нужные значения с вашего устройства MODBUS (рис. 1).
Решение:
1. Создайте новую конфигурацию в главном окне логгера кликнув на кнопке "Плюс" в главном окне программы. (рис. 3). Этот пример демонстрирует пример настройки для MODBUS RTU. Если ваше устройство использует MODBUS TCP, пожалуйста, посмотрите тут. Сначала, скопируйте настройки соединения из MODBUS poll (Connection → Connect, рис. 1, 2):
- COM port → COM порт.
- Baud → Скорость.
- Data bits → Биты данных.
- Parity → Четность.
- Stop bits → Стоповых битов.
- Режим слежение - отключите эту опцию.
- RTS toggle (рис. 2) → Режим интерфейса RS485. Включите эту опцию, если подключили ваши MODBUS устройства на одну шину RS-485, и вы используете преобразователь RS485-USB или RS485-RS232.
- DTR → Контроль передачи данных → Использовать DTR.
- DSR/CTS → Контроль передачи данных → Требуется DTR/CTS.
- Остальные опции оставьте по умолчанию.
Рис. 1. Настройка соединения в MODBUS Poll.
Рис. 2. Дополнительные настройки соединения MODBUS Poll.
Рис. 3. Настройки соединения логгера MODBUS.
2. Выберите модуль "MODBUS RTU" в настройках, в полях "Модуль запроса данных" и "Модуль разбора данных" (рис. 4). Не перепутайте с "MODBUS RTU [Passive]" или "MODBUS RTU [Slave]", которые реализуют другие режимы работы. В данном примере логгер работает как ведущий (мастер) в сети MODBUS.
Рис. 4. Выбор модуля MODBUS RTU.
3. В настройках модуля MODBUS RTU кликните на кнопке "Действие → Добавить новый запрос" чтобы добавить новый запрос MODBUS (рис. 6). Скопируйте базовые настройки запроса из MODBUS poll (Setup → Read/Write Definition, рис. 5):
- Slave ID → Адрес устройства.
- Function → Функция.
- Address (Dec) → Первый регистр - Значение.
- Quantity → Считать регистров.
- Response timeout (рис. 1) → Ожидание ответа (мс).
- Scan rate → Интервал опроса.
Замечание: Рисунок 6 - это пример. Он не соответствует настройками на рисунке 5.
Рис. 5. MODBUS poll: Базовые настройки запроса MODBUS.
Рис. 6. Логгер: Базовые настройки MODBUS.
4. Добавьте только один элемент ответа кликнув на кнопке "Действие → Добавить элемент ответа" если элемент ответа отсутствует в списке (рис. 8).
- Имя - любое имя значения.
- Смещение - это смещение в байтах в блоке данных ответа, который не включает адрес, код функции и размер данных. Установите этот параметр равным "-1", и программа будет считать смещение автоматически.
- Количество - количество последовательно расположенных в ответе значений с одинаковым типом данных. Это значение зависит от значений "Считать регистров" и "Тип данных". Один регистр содержит 16 бит данных. Поэтому, Количество = Считать регистров * 16 / Количество бит в типе данных значения.
- Добавлять счетчик к имени - используется, если "Количество" больше 1.
- Тип данных - скопируйте тип данных и пункта меню (рис. 7).
- Число без знака - включите эту опцию, если тип данных в MODBUS Poll содержит слово "unsigned".
- Прямой порядок байт - включите эту опцию, если тип данных в MODBUS Poll содержит слово "Little-endian", и отключите в других случаях.
- Переставлять - включите эту опцию, если тип данных в MODBUS Poll содержит слово "byte swap".
Замечание: Рисунок 8 ниже - это пример настройки, который не совпадает с примером настройки MODBUS Poll на рисунках 5 и 7. Правильные настройки для типа данных "Signed 32 bit, big-endian":
- Имя: VALUE, Смещение: -1, Добавлять счетчик: Включено, Количество: 5, Тип данных: Decimal 32 bit, Число без знака: Выключено, Прямой порядок байт: Отключено, Переставлять: Отключено.
Рис. 7. MODBUS Poll: Display.
Рис. 8. Элементы ответа MODBUS.
FAQ
Как я могу опрашивать несколько устройств MODBUS RTU одновременно?
MODBUS RTU позволяет подключить до 254 устройств на одну шину RS-485. Вы можете указать несколько адресов в виде 1,2,3,4,5 в поле "Адрес устройства" (рис. 3).
Могу я читать данные используя MODBUS TCP?
Да, конечно. Настройки почти идентичны. Необходимо только настроить TCP соединение и выбрать другой тип парсера (MODBUS TCP вместо MODBUS RTU в пункте 2).
Сопутствующие статьи:
MODBUS RTU, MODBUS ASCII, MODBUS/TCP
- Чтение данных со счетчиков и анализаторов энергии через MODBUS (простой метод)
- Совместимые с Sunspec анализаторы, инверторы, счетчики MODBUS (простой метод)
- Опрос устройств MODBUS RTU/TCP: Настройка сервера сбора данных (MODBUS RTU, MODBUS TCP, запросы, элементы ответа).
- Как проверить, что программа отправляет запросы и получает ответы?
- Как просматривать значения регистров, а не пакеты MODBUS?
- Как проверить, что программа правильно интерпретирует получаемые ответы?
- Как просматривать значения регистров MODBUS в более наглядной форме (графики, индикаторы и т.п.)?
- Как объединить данные из двух запросов?
- Как правильно организовать опрос большого количества устройств?
- Копирование настроек Simply MODBUS RTU Master наш логгер.
- Копирование настроек из утилиты MODBUS Poll.
- Контроль состояния ячейки памяти (coil input) PLC контроллера через MODBUS TCP (парсер MODBUS, скрипты, генерация и обработка событий).
- MODBUS в MSSQL: Запись значений регистров MODBUS раздельные колонки в таблице
- MODBUS в MySQL: Запись данных MODBUS в БД MySQL
- Запись данных MODBUS в другую базу данных SQL
- MODBUS в базу: Запись данных в две разные таблицы.
- MODBUS в базу: Запись данных в две разные БД, делая полную копию данных.
- Sentron PAC 3200: Чтение и запись со счетчика электроэнергии через MODBUS TCP
- Запись данных в устройство MODBUS
- SQL в MODBUS: Отправка значений из базы данных в MODBUS.
IEC 62056-21
|