Главная  /  On-line руководство  /  Работа устройства в режиме «MODBUS RTU Master»

Работа устройства в режиме
«MODBUS RTU Master»


Содержание

Общие данные
Инициализация устройства для работы в режиме «MODBUS RTU Master»
Порядок работы
Чтение и запись регистров Slave-устройства (запрос от Master на Slave)



Общие данные

При работе в режиме «MODBUS RTU Master», устройство выступает в роли ведущего (master, client). Обмен с устройством осуществляется по последовательному интерфейсу UART или RS485. Одновременно с этим, устройство может работать как «MODBUS TCP Slave» или «MODBUS TCP Master».


Смаконт. Схема соединения в режиме «MODBUS RTU Master»

Схема соединения в режиме «MODBUS RTU Master»

В качестве ведомых устройств (slave, server) могут выступать как устройства, работающее под управлением прошивки «Smacont-ESP» (в режиме «MODBUS RTU Slave»), так и любые другие устройства, поддерживающие работу по протоколу MODBUS.



Инициализация устройства для работы в режиме «MODBUS RTU Master»

Настройка устройства производится в соответствии с инструкцией «Настройка устройства для работы по протоколу Modbus RTU».

Для работы по протоколу «MODBUS RTU», НЕОБХОДИМО РАЗРЕШИТЬ работу UART при помощи действия «serial_SetParam()».

Вариант инициализации устройства для работы в режиме «MODBUS RTU Master», представлен на рисунках ниже.


Smacont. Инициализация устройства для работы в режиме «MODBUS RTU Master»     Smacont. Инициализация устройства для работы в режиме «MODBUS RTU Master»

Инициализация устройства для работы в режиме «MODBUS RTU Master»

Конфигурирование действия «modbus_Start()» производится в соответствии с инструкцией.


Смаконт. Действие «modbus_Start()»

Действие «modbus_Start()»

Рекомендуется, на этапе отладки, использовать «Информацию о текущем состоянии». В представленном выше варианте инициализации устройства, для отображения кода текущего состояния работы по протоколу «Modbus RTU» используется переменная «V10». После отладки работы, от данной опции можно отказаться и использовать переменную для других целей.



Порядок работы

Работа устройства в режиме «MODBUS RTU Master» заключается в следующем:
1. Отправка пакета данных на Slave с заданным адресом. Пакет отправляется при помощи действия «send_MODBUS(Запрос от Master на Slave)».
1. Прием ответного пакета данных от Slave;
3. Подсчет и проверка контрольной суммы crc16;
4. Сохранение ответа от Slave в заданных регистрах (только при чтении данных от Slave).

Все процессы производятся автоматически. Пользователю необходимо только определиться с таблицей адресов регистров, в которых будет сохраняться информация для Slave.



Чтение и запись регистров Slave-устройства (запрос от Master на Slave)»

Чтение и запись регистров Slave-устройства (запрос от Master на Slave)» производится при помощи следующих действий:
modbus_ReadCoilStatus_0x01(); /* чтение DO (дискретное). Код функции 0x01 */
modbus_ReadInputStatus_0x02(); /* чтение DI (дискретное). Код функции 0x02 */
modbus_ReadHoldingRegisters_0x03(); /* чтение AO (16 битное). Код функции 0x03 */
modbus_ReadInputRegisters_0x04(); /* чтение AI (16 битное). Код функции 0x04 */
modbus_ForceSingleCoil_0x05(); /* запись одного DO (дискретное). Код функции 0x05 */
modbus_PresetSingleRegister_0x06(); /* запись одного AO (16 битное). Код функции 0x06 */
modbus_ForceMultipleCoil_0x0f(); /* запись нескольких DO (дискретное). Код функции 0x0f */
modbus_PresetMultipleRegister_0x10(); /* запись нескольких AO (16 битное). Код функции 0x10 */


Смаконт. Действия чтения и записи регистров Slave-устройства

Действия чтения и записи регистров Slave-устройства



Программы

Прошивка «Smacont-ESP»:
скачать

«Программа Настройки»:
запусить (только браузер Firefox)
скачать zip-архив

Телеграм канал

Новости

Энергонезависимая память (EEPROM)

Переменные «Vx» (карта переменных «Vx»)

WEB-интерфейс

Действие «wifi_CheckConn()». После подключения к WiFi-сети, выполнить действие с задержкой

Обмен данными. Open Monitoring

Датчики температуры и влажности AHT10/AHT15/AHT20/AHT21/AHT25

Датчик температуры и влажности SHT30 (SHT31/SHT35)

Действие «valueToVx()», «valueToArrVx()». Отслеживание заданного уровня в диапазоне значений

Действие «termostat()». Термостат

ESP-NOW. Датчик температуры и влажности с питанием от батареек

Последовательные интерфейсы (UART, I2C, SPI)

Управление одноканальным модулем реле

Протокол MQTT

Обмен данными. NarodMon

Обмен данными. ioControl



Программы для модулей ESP     Программы     Применения     Справочник         Контакты     SMACONT. Напишите нам smacont@ya.ru