Копирование настроек на однотипные модули

Добрый день!

с Праздником! ХВ!

Есть несколько однотипных реле с требуемыми идентичными настройками.

Настраиваю без контроллера с ПК через wb-modbus-device-editor

Вопрос: есть ли возможность настройки первого реле как то красиво продублировать на несколько других?

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнительное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение


Судя по описанию, вы настраиваете несколько одинаковых Modbus‑реле через wb-modbus-device-editor на ПК, без контроллера. В самом wb-modbus-device-editor сейчас нет «одной кнопки» для массового копирования настроек между устройствами, но есть несколько вариантов, как упростить процесс.

1. Экспорт / импорт JSON‑описаний (если речь о шаблонах устройств)

Если вы редактируете описания устройств (templates), а не сами регистры конкретного реле, то:

  1. Сохраните/экспортируйте файл описания первого устройства (JSON).
  2. Для следующих реле используйте этот же JSON‑файл, изменив только индивидуальные параметры (адрес на шине, имя и т.п.), если нужно.

Однако это обычно про шаблоны устройств для контроллера Wiren Board, а не про разовую настройку регистров каждого реле.[1]

2. Копирование настроек через Modbus‑запросы (скриптом/утилитой)

Так как вы настраиваете устройства по Modbus, алгоритм такой:

  1. Настроить одно реле «образцовое».
  2. Прочитать нужный диапазон регистров (например, holding registers с параметрами конфигурации) с этого устройства.
  3. Записать те же значения на остальные реле по их адресам.

Сделать это можно, например, из-под Linux/Windows:

  • через modbus_client / mbpoll / любую удобную вам утилиту Modbus;
  • либо через небольшой скрипт (Python с pymodbus и т.п.).

Типовой алгоритм:

  • Допустим, «эталонное» реле имеет адрес 1, а остальные — 2, 3, 4…
  • Читаете диапазон регистров, где хранится конфигурация, например holding 0…50.
  • Потом циклом записываете эти же регистры в устройства 2, 3, 4.

Ключевой момент:
нужно точно знать, какие именно регистры относятся к конфигурации, а какие уникальны (адрес, серийный номер, режимы, завязанные на линию связи и т.п.) — чтобы не перезаписать то, что должно отличаться. Это смотрится в документации по вашему конкретному реле (карта регистров).[1:1]

Если напишете, какие именно модули/реле вы настраиваете (модель Wiren Board или сторонний производитель, точное обозначение), можно будет подсказать:

  • конкретный диапазон регистров для копирования;
  • пример команды/скрипта для чтения/записи.

Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.


  1. https://wirenboard.com/wiki/Modbus-slave_устройства_в_Wiren_Board (общие принципы работы с Modbus-устройствами и шаблонами) ↩︎ ↩︎

реле mr6c v3

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнительное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение

Вы уточнили, что используете реле MR6C v3.

wb-modbus-device-editor не умеет «массовое копирование» настроек MR6C «из коробки», но для MR6C сделать это через Modbus достаточно удобно, если один модуль уже настроен как эталон.

Ниже — общий принцип, который вы можете реализовать любой Modbus‑утилитой (например, mbpoll, modbus_client, скриптом на Python и т.п.).


1. Что важно учесть по MR6C v3

  1. У MR6C есть:
    • регистры конфигурации каналов (режимы входов, задержки, логика работы реле и т.п.);
    • регистры, которые для каждого модуля должны отличаться (например, Modbus‑адрес, иногда параметры связи).
  2. Копировать нужно только конфигурационные регистры, не трогая:
    • регистр Modbus‑адреса;
    • регистры с уникальной информацией (serial, счетчики и т.п., если есть).

Точные номера регистров и их назначение — в документации по MR6C v3 (карта регистров). Если она у вас под рукой (PDF/ссылка) — пришлите, можно будет назвать конкретный диапазон «копировать/не трогать».


2. Общий алгоритм копирования

Допустим:

  • Эталонный модуль: адрес 1
  • Остальные модули: адреса 2, 3, 4, …

Дальше:

  1. Определяете в карте регистров MR6C v3, какие holding‑регистры отвечают за настройки:
    • например (условно): 40010–40049 — конфигурация входов/выходов;
    • и какие отвечают за Modbus‑адрес и сеть (их не копируем).
  2. Считываете диапазон конфигурационных регистров с модуля 1.
  3. Записываете прочитанные значения в тот же диапазон регистров модулей 2, 3, 4 и т.д.

Пример (идея, не конкретная команда, т.к. номер регистров надо взять из карты MR6C):

  • Чтение (с адреса 1, n регистров с offset X):

    mbpoll -mrtu -a 1 -b 9600 -P none -t 3 -r X -c N /dev/ttyUSB0 > mr6c_conf.txt
    
  • Запись (по очереди в адреса 2,3,4):

    # Далее значения из файла/скрипта подставляете в команду записи holding-регистров
    

Удобнее это оформить скриптом (например, Python + pymodbus), чтобы он:

  1. один раз прочитал конфигурацию с адреса 1;
  2. в цикле записал её на адреса из списка [2, 3, 4, ...].

3. Через wb-modbus-device-editor

Прямого «копировать на другие устройства» там нет, но есть рабочий обходной путь:

  1. Подключаетесь к эталонному MR6C v3, настраиваете его.
  2. Сохраняете проект/описание с текущими значениями регистров (если используете режим редактирования полного набора регистров).
  3. Для следующего MR6C:
    • подключаете его (с другим Modbus‑адресом);
    • загружаете сохранённые значения и вручную убираете из применения те регистры, которые менять нельзя (Modbus‑адрес и т.п.), если редактор это позволяет;
    • применяете конфигурацию.

Это чуть более ручной метод; скрипт через Modbus обычно получается быстрее и надёжнее.


Если пришлёте:

  • скрин/фрагмент карты регистров MR6C v3 с разделом «настройки»,
  • или ссылку на документацию модуля,

я смогу подсказать более конкретно: диапазон регистров «копировать» и пример точных команд/скрипта под вашу ОС и интерфейс (RS‑485/USB и т.д.).


Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.

Для вашей задачи отлично подойдет Ansible. Самое главное иметь доступ к плк по ссш. Тут есть пример плейбуков для настройки. Плюс сам можете дописать по примеру новые.
Ссылка на вики Настройка контроллера с помощью Ansible — Wiren Board

upd: увидел что настраиваете отдельно реле с пк, в таком случае мой совет не актуален)

Добрый день.
С помощью web конфигуратора к сожалению нельзя, можно попробовать с помощью Rilheva Modbus Poll, но мне кажется записывать в регистры там так же придётся в ручную авто записи характеристик из файла нет.

Добрый день.
Если у вас остались вопросы к тех поддержке по теме - пишите, постараемся помочь.

короче, дотукал. все просто.

wb-modbus-device-editor

1- настраиваем реле №1-сохраняем

2- отключаем №1, настройки в приложении висят

3-подключаем №2 вводим его адрес и сразу сохраняем

4-отключаем №2 … ну и т.д.

…и все реле получатся с адресом 1.
Или Вы исключаете регистр с адресом?

гпрогу не закрываю чтение нового реле не запускаю, в поле ставлю адрес реле и жму кнопку записать. Все корректно получается (ну у меня). Потом читал, все на месте, и новые настройки, и адрес.

Через вэб конфигуратор так уже не получается

1 лайк