Connecting Third Party Devices to Wiren Board: различия между версиями

 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE: Подключение стороннего Modbus-устройства к контроллеру Wiren Board}}
{{DISPLAYTITLE: Как писать шаблоны для сторонних Modbus-устройств}}
== Введение ==
== Введение ==
Рекомендуем сперва поискать ваше устройств в [[Supported_devices | Таблице поддерживаемых устройств]] — вдруг оно уже там есть. Если устройства в списке нет, но оно поддерживает протокол [[Modbus|Modbus]], то его можно подключить к контроллеру Wiren Board.
Рекомендуем сперва поискать ваше устройств в [[Supported_devices | Таблице поддерживаемых устройств]] — вдруг оно уже там есть. Если устройства в списке нет, но оно поддерживает протокол [[Modbus|Modbus]], то его можно подключить к контроллеру Wiren Board.
Строка 25: Строка 25:
Устройство Modbus TCP:
Устройство Modbus TCP:
# Откройте документацию на устройство и найдите описание modbus-регистров и настроек подключения (адрес, порт).
# Откройте документацию на устройство и найдите описание modbus-регистров и настроек подключения (адрес, порт).
# Так как утилита ''modbus_client'' содержит ошибку, из-за которой она не может работать по протоколу Modbus TCP, то подключите устройство к компьютеру через Ethernet.
# Утилита ''modbus_client'' в релизах до 2304 содержит ошибку, из-за которой она не может работать по протоколу Modbus TCP. Если успользуете устаревший релиз, то подключите устройство к компьютеру через Ethernet.
# Попробуйте [[Working_with_WB_devices_without_a_controller |считать из устройства]] значение одного известного вам регистра.  
# Попробуйте [[Working_with_WB_devices_without_a_controller |считать из устройства]] значение одного известного вам регистра.  


Строка 51: Строка 51:
}
}
</syntaxhighlight>
</syntaxhighlight>
Полное описание смотрите в [https://github.com/wirenboard/wb-mqtt-serial документации драйвера wb-mqtt-serial].
'''Полное описание смотрите в [https://github.com/wirenboard/wb-mqtt-serial документации драйвера wb-mqtt-serial на Github].'''


Допустим, у нас есть одноканальное Modbus-реле, у которого таблица регистров, показанная ниже.
Допустим, у нас есть одноканальное Modbus-реле, у которого таблица регистров, показанная ниже.
Строка 166: Строка 166:
Нужное значение рассчитывается по формуле:
Нужное значение рассчитывается по формуле:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
guard_interval_us = (3.5*11*106)/(скорость в бит/с).
guard_interval_us = (3.5*11*10^6)/(скорость в бит/с).
</syntaxhighlight>
</syntaxhighlight>
Например, для скорости 9600 бит/с <code>guard_interval_us = (3.5*11*106)/9600 = 4000 мкс</code>. При проблемах с подключением стороннего устройства для теста это значение можно увеличить (например до 100000 мкс), так как сторонние устройства иногда работают не совсем корректно.
Например, для скорости 9600 бит/с <code>guard_interval_us = (3.5*11*10^6)/9600 = 4000 мкс</code>. При проблемах с подключением стороннего устройства для теста это значение можно увеличить (например до 100000 мкс), так как сторонние устройства иногда работают не совсем корректно.


=== Если каналы устройства периодически мигают красным ===
=== Если каналы устройства периодически мигают красным ===