5813
правок
Kilpio (обсуждение | вклад) |
Kilpio (обсуждение | вклад) |
||
Строка 89: | Строка 89: | ||
Ниже приведены примеры конфигурационных файлов для некоторых устройств Wiren Board, охватывающие весь основной список используемых параметров при создании шаблонов. | Ниже приведены примеры конфигурационных файлов для некоторых устройств Wiren Board, охватывающие весь основной список используемых параметров при создании шаблонов. | ||
---- | |||
==== WB-MS-THLS v.2 ==== | ==== WB-MS-THLS v.2 ==== | ||
Строка 174: | Строка 176: | ||
Параметр '''"format": "s16"''' указывает на то, что число в регистрах представленов в виде знакового шестнадцатибитнного целого, '''"scale": 0.1''' — говорит о том, что полученное из регистров значение следует домножить на коэффициент масштабирования 0,1 для получения значения температуры, а параметр '''"error_value": "0x7FFF"''' задает значение, получаемое из регистра, указывающее на то, что при опросе датчика произошла ошибка. Такой параметр будет выделен красным цветом в Web-интерфейсе контроллера. Применять такой параметр следует, если вы знаете, какое значение выдает ваше устройство в случае ошибки. | Параметр '''"format": "s16"''' указывает на то, что число в регистрах представленов в виде знакового шестнадцатибитнного целого, '''"scale": 0.1''' — говорит о том, что полученное из регистров значение следует домножить на коэффициент масштабирования 0,1 для получения значения температуры, а параметр '''"error_value": "0x7FFF"''' задает значение, получаемое из регистра, указывающее на то, что при опросе датчика произошла ошибка. Такой параметр будет выделен красным цветом в Web-интерфейсе контроллера. Применять такой параметр следует, если вы знаете, какое значение выдает ваше устройство в случае ошибки. | ||
---- | |||
==== WB-MRGBW-D ==== | ==== WB-MRGBW-D ==== | ||
Строка 302: | Строка 306: | ||
Серийный номер устройства (канал "Serial NO") считывается как беззнаковое 32-битное целое: <pre>"format": "u32"</pre> | Серийный номер устройства (канал "Serial NO") считывается как беззнаковое 32-битное целое: <pre>"format": "u32"</pre> | ||
---- | |||
==== WBIO-DO-R10A-8 ==== | ==== WBIO-DO-R10A-8 ==== | ||
Строка 409: | Строка 415: | ||
</pre> | </pre> | ||
</div> | </div> | ||
В этом шаблоне следует обратить внимание на следующие параметры устройства. | |||
<pre> | |||
"protocol": "modbus_io", | |||
"stride": 1000, | |||
"shift": 500, | |||
"max_read_registers": 0, | |||
"setup": [ | |||
</pre> | |||
Параметр '''"protocol": "modbus_io"''' указывает, что устройство подключается оп специальному протоколу к модулю расширения. Параметры '''"stride": 1000''' и '''"shift": 500''' задают сдвиг регистров в зависимости от того, в каком порядке подключены модули к модулю расширения. | |||
Сдвиг регистров (число, которое нужно добавить к базовому номеру регистра) вычисляется по формуле: <pre>Shift = (((SlaveId.Secondary - 1) % 4) + 1) * DeviceConfig()->Stride + DeviceConfig()->Shift;</pre> | |||
Каждое подключенное устройство имеет порядковый номер (SlaveId.Secondary), начинающийся с 1 для первого устройства. | |||
Например, подставляя значения shift и stride в формулу, получаем: <pre>Shift = ((( 1 - 1) % 4) + 1) * 500 + 1000 = (0+1)*500+1000=1500</pre>, то есть ко всем регистрам, указанным в шаблоне, надо добавить 1500. | |||
Еще один важный параметр — setup-секция, массив | |||
<pre> | |||
"setup": [ { | |||
"title": "IODIR", | |||
"address": 10000, | |||
"value": "0x0000" | |||
}, | |||
{}, | |||
...] | |||
</pre> | |||
Он описывает регистры и значения, которые однократно заносятся в эти регистры при инициализации устройства. Его можно использовать для конфигурирования устройств для работы в каком-то определенном режиме, задавать изначальные значения яркости, положения сервоприводов, состояния реле, режима работы с входами релейных модулей и т. п. | |||
правок