Files
gidrolock-configurator/README.md
2024-12-16 14:43:50 +03:00

76 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Gidrolock Modbus Scanner
RU | [EN](https://github.com/nikzori/modbus-scanner/blob/main/README_en.md)
Сканнер Modbus с функцией автоопроса устройства с помощью файлов конфигурации. Подходит для любых устройств, подключенных через Modbus RTU. Конфиги для продукции Gidrolock в комплекте.
Позволяет формировать простые сообщения для отправки на устройство.
Modbus TCP пока в разработке.
## Конфигурации и автоопрос
Конфигурация — это `.json` файл с описанием команд чтения для конкретных моделей устройств.
Запись `checkEntry` в конфигурации позволяет перебирать файлы в папке для определения подходящей конфигурации.
Поля и возможные значения:
```js
{
// имя шаблона/устройства
"name" : "Gidrolock Standard Wi-Fi RS-485",
// Описание устройства
"description" : "Smart valve controller unit with wired and wireless leak sensor support",
// список данных, получаемых с устройства
// каждая запись является отдельным полем данных
// и поддерживает опрос нескольких регистров,
// а также парсинг в стандартные типы данных (UTF-8, int и т.д.)
"entries" : [
{
// имя записи
"name": "Modbus ID",
// тип опрашиваемых регистров:
// "coil", "discrete", "input", "holding"
"registerType": "holding",
// адрес стартового регистра
// отсчет с 0
"address": 128,
// количество опрашиваемых регистров
// значение по-умолчанию: 1
"length": 1,
// тип данных для парсинга
// поддерживаемые типы: bool, uint16, uint32, string
// значение по умолчанию: uint16
"dataType": "uint16",
// опрашивать ли эти регистры повторно
// при `false` опрашивается только в первый раз
"readOnce": true
}
],
// Уникальное для устройства значение: модель устройства, версия прошивки, etc.
"checkEntry": {
"registerType": "input",
"address": 200,
"length": 6,
"dataType": "string",
// ожидаемое значение при опросе этих регистров
"expectedValue": "STW485"
}
}
```
### To-Do
1. Закончить парсинг во время автоперебора конфигураций для значений типа `bool`
2. Настраиваемый цикличный опрос регистров
3. Поддержка Modbus TCP