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

2.1 KiB
Raw Blame History

Gidrolock Modbus Scanner

RU | EN

Сканнер Modbus с функцией автоопроса устройства с помощью файлов конфигурации. Подходит для любых устройств, подключенных через Modbus RTU. Конфиги для продукции Gidrolock в комплекте.

Позволяет формировать простые сообщения для отправки на устройство.

Modbus TCP пока в разработке.

Конфигурации и автоопрос

Конфигурация — это .json файл с описанием команд чтения для конкретных моделей устройств. Запись checkEntry в конфигурации позволяет перебирать файлы в папке для определения подходящей конфигурации.

Поля и возможные значения:

{
	// имя шаблона/устройства
	"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, utf8
			// значение по умолчанию: uint16
			"dataType": "uint16",

			// опрашивать ли эти регистры повторно
			// при `false` опрашивается только в первый раз
			"readOnce": true
		}
	],

	// Уникальное для устройства значение: модель устройства, версия прошивки, etc.
	"checkEntry": {
		"registerType": "input", 
		"address": 200,
		"length": 6,
		"dataType": "string",

		// ожидаемое значение при опросе этих регистров
		"expectedValue": "SWT485"
	}
}

To-Do

  1. Закончить парсинг во время автоперебора конфигураций для значений типа bool
  2. Настраиваемый цикличный опрос регистров
  3. Поддержка Modbus TCP