Для тестирования управления устройствами командами передаваемыми по протоколу Modbus RTU воспользуемся платой из 4-х реле управляемых контроллером STM8S103F3. (Relay MCU 4-way relay-communication board (485). Board C0135.
Управление реле
Для включения/выключения реле используется функция Modbus «Write Single Coil (0x05)».
Для отправки команд использую приложение QmodMaster. Как использовать программу подробно описано в статье, где изучается работа с термодатчиком по Modbus RTU.
После выполнения команды раздается харктернsый щелчок и у соотвествующего реле загорается светодиод.
Для включения реле может отправлятся любое число за исключением 0. 0 -выключает реле.
Для примера скриншот с включением 4-го реле
Включение и выключение реле командами Modbus:
Function code | Start address | Number of coils | Data | Description |
Write Single Coil (0x05) | 0 | 1 | 1 | Turn on 1-st relay |
0 | 1 | 0 | Turn off 1-st relay | |
1 | 1 | 1 | Turn on 1-st relay | |
1 | 1 | 0 | Turn off 1-st relay | |
2 | 1 | 1 | Turn on 1-st relay | |
2 | 1 | 0 | Turn off 1-st relay | |
3 | 1 | 1 | Turn on 1-st relay | |
3 | 1 | 0 | Turn off 1-st relay | |
FF | 1 | 1 | Turn on all relay | |
FF | 1 | 0 | Turn off all relay |
Чтение состояния реле
Для записи в регистры используется 0х05 фунция. Это «Discrete Output Coils». По таблице адресация этих регистров начинается с 1.
Memory Address | Type | Memory Type |
1-9999 | Read-Write | Discrete Output Coils |
10001-19999 | Read-Only | Discrete Input Contacts |
30001-39999 | Read-Only | Analog Input Registers |
40001-49999 | Read-Write | Analog Output Holding Registers |
Соответственно, чтобы получить состояние «Discrete Output Register» нужно вычитать 4 регистра отвечающие за состояние реле. За чтение этих регистров отвечает функция 0х01 «Read coils». Состояние:
- «0» — реле выключено.
- «1» — реле включено.
В данном примере включено 2 и 4 реле.
Конвертер Modbus RTU <-> TCP
Переключил блок реле с конвертера USB <-> RS-485 на конвертер Modbus RTU <-> TCP рассмотренный в статье. Все работает. Реле управляются по Wi-Fi.
Upd. Возможно, документация для модуля есть по этим ссылкам, но скачать не удалось:
Продавец на запрос документации не отвечает.
Полезные ссылки
- Проект на Github по плате C0135. https://github.com/TG9541/stm8ef-modbus. Много полезной информации.
- Другие мои статьи по RS485 и Modbus.
1 Responses to Модуль из 4-х реле C0135 управляемый по Modbus RTU (RS-485)