Wb-mqtt-serial templates: различия между версиями

Нет изменений в размере ,  2 года назад
м
→‎WBIO-DO-R10A-8: опечатка
м (→‎WB-MAP3H: WB-MAP3H → WB-MAP3E)
м (→‎WBIO-DO-R10A-8: опечатка)
Строка 715: Строка 715:
</syntaxhighlight>
</syntaxhighlight>


Параметр <code>"protocol": "modbus_io"</code> указывает, что устройство подключается оп специальному протоколу к модулю расширения. Параметры <code>"stride": 1000</code> и <code>"shift": 500</code> задают сдвиг регистров в зависимости от того, в каком порядке подключены устройства к модулю расширения.  
Параметр <code>"protocol": "modbus_io"</code> указывает, что устройство подключается по специальному протоколу к модулю расширения. Параметры <code>"stride": 1000</code> и <code>"shift": 500</code> задают сдвиг регистров в зависимости от того, в каком порядке подключены устройства к модулю расширения.  


Сдвиг регистров (число, которое нужно добавить к базовому номеру регистра) вычисляется по формуле: <syntaxhighlight lang="C++">Shift = (((SlaveId.Secondary - 1) % 4) + 1) * DeviceConfig()->Stride + DeviceConfig()->Shift;</syntaxhighlight> Здесь stride — <code>DeviceConfig()->Stride</code>, a shift — <code>DeviceConfig()->Shift</code>. Каждое подключенное устройство имеет порядковый номер ''SlaveId.Secondary'', который начинается с <code>1</code> для первого устройства. В формуле знаком <code>%</code> обозначается деление по модулю.
Сдвиг регистров (число, которое нужно добавить к базовому номеру регистра) вычисляется по формуле: <syntaxhighlight lang="C++">Shift = (((SlaveId.Secondary - 1) % 4) + 1) * DeviceConfig()->Stride + DeviceConfig()->Shift;</syntaxhighlight> Здесь stride — <code>DeviceConfig()->Stride</code>, a shift — <code>DeviceConfig()->Shift</code>. Каждое подключенное устройство имеет порядковый номер ''SlaveId.Secondary'', который начинается с <code>1</code> для первого устройства. В формуле знаком <code>%</code> обозначается деление по модулю.