Skip to content

nikzori/modbus-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zori's Modbus Tools

RU | EN

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

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

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

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

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

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

{
  // Имя устройства/конфигурации
  "name": "Gidrolock Standard Wi-Fi RS-485", 
  
  // Описание
  "description": "Умный блок управления водопроводными кранами с поддержкой проводных и беспроводных датчиков.",

  // Проверочная запись. 
  // Используется для автоподбора конфигурации при выборе папки и для мягкой проверки при выборе одного файла
  "checkEntry": {

    // тип регистра: "coil", "discrete", "input", "holding"
    "registerType": "input",
    
    // физический адрес регистра (не путать с логическими адресами, которые больше на 1)
    "address": 200,
    
    // количество опрашиваемых регистров
    "length": 6,

    // тип данных, в которые будут конвертироваться значения регистров
    // доступны: bool, uint16, uint32, string
    "dataType": "string",
    
    // ожидаемый ответ от устройства
    "expectedValue": "STW485"
  },

  // Запись с Modbus ID устройства для быстрой смены
  "idEntry": {
    "registerType": "holding",
    "address": 128,
    "length": 1,
    "dataType": "uint16"
  },

  // Запись с бодрейтом устройства для быстрой смены
  "speedEntry": {
    "registerType": "holding",
    "address": 110,
    "length": 1,
    "dataType": "uint16"
  },

  // Массив записей, которые будет опрашивать приложение
  "entries": [
    {
      "name": "Модель",
      "registerType": "input",
      "address": 200,
      "length": 6,
      "dataType": "string",

      // Флаг разового чтения. Автоматически снимает галочку опроса в UI после одного опроса.
      "readOnce": true
    },
    {
      "name": "Авария",
      "registerType": "coil",
      "address": 1201,
      "length": 1,
      "dataType": "bool",
      
      // Значения для парсинга ответа от устройства
      "valueParse": {
        "0": "Выкл",
        "1": "Вкл"
    },
    {
      "name": "Уровень сигнала",
      "registerType": "input",
      "address": 1247,
      "length": 21,
      "dataType": "uint16",

      // Названия для отдельных регистров при групповом опросе
      "labels": [
        "WSR 1",
        "WSR 2",
        "WSR 3",
        "WSR 4",
        "WSR 5",
        "WSR 6",
        "WSR 7",
        "WSR 8",
        "WSR 9",
        "WSP 10",
        "WSR 11",
        "WSR 12",
        "WSR 13",
        "WSR 14",
        "WSR 15",
        "WSR 16",
        "WSR 17",
        "WSR 18",
        "WSR 19",
        "WSR 20",
        "WSR 21"
      ]
    }
  ]
}

About

Автоопросник для Modbus RTU с .json шаблонами. Только для Windows

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages