Jump to content

Wirenboard 6/7/8 - Особенности работы

From Центр документации - ТМИУС КП




Контроллеры Wirenboard имеют встроенные средства опроса и обмена с различыми модулями, например, WBIO, которые работают по шине I2C. Для работы совместно с ПО ТМИУС будет использоваться протокол MQTT с подключением по localhost или удаленный IP адрес для работы с другими контроллерами в сети.

В качестве примера рассмотрим варианты опроса модулей WBIO-DI-WD-14 и WBIO-DO-R1G-16

Опрос WBIO-DI-WD-14

1. Модуль следует прописать в штатной конфигурации Wirenboard (Hardware Modules Configuration). Удостовериться, что модуль представлен в виде MQTT топиков (MQTT Channels)

2. В ПО ТМИУС добавить опрос по MQTT с параметрами

  • IP:127.0.0.1 для опроса собственного контроллера или удаленный IP для опроса смежного контроллера в локальной сети
  • Порт:1883
  • Клиент ID:Произвольный, например, TMIUS
  • Keepalive: например, 10

3. Далее следует добавить подписку на топики входов, например, /devices/wb-gpio/controls/EXT1_IN1

Опрос WBIO-DI-WD14
Опрос WBIO-DI-WD14

Опрос WBIO-DO-R1G-16

п.1,2 - аналогично WBIO-DI-WD-14 п.3 Модуль WBIO-DO-R1G-16 формирует как команды состояния выходов, так и принимает команды управления, например, для приема состояния выхода 1 следует добавить подписку на топик /devices/wb-gpio/controls/EXT3_K1 и привязать сигнал к базе с типом - ТС

п.4 для управления выходом 1 следует создать Публикацию на топик /devices/wb-gpio/controls/EXT3_K1/on и привязать к сигналы с типом ТС, Команда - Да

Опрос WBIO-R1G16
Опрос WBIO-R1G16

Импульсный режим работы

Вариант 1 (Через ПО ТМИУС)
Wirenboard-R1G16-auto
1 объект управления - 2 реле

Традиционно управление силовым оборудование производится импульсными командами

  • ВКЛЮЧИТЬ
  • ОТКЛЮЧИТЬ

Для данной задачи предполагается использовать механизм автоматов.

1. Создать в среднем столбце раздел для удаленного управления, например, tu с 8 сигналами типа ТС, Команда - Да

8 объектов управления - 16 реле

2. Создать автомат с 4 командами для управления 2 выходами (ВКЛ и ОТКЛ).

Первая команда (ВКЛЮЧИТЬ)

  • Сигнал tu_1
  • Сигнал команды, например, R1G16:1_do_1
  • Тип Включить
  • Пауза 0
  • Значение команды 1

Вторая команда (ВКЛЮЧИТЬ - обнуление)

  • Сигнал tu_1
  • Сигнал команды, например, R1G16:1_do_1
  • Тип Включить
  • Пауза 1000
  • Значение команды 0

Третья команда (ОТКЛЮЧИТЬ)

  • Сигнал tu_1
  • Сигнал команды, например, R1G16:1_do_2
  • Тип Отключить
  • Пауза 0
  • Значение команды 1

Четвертая команда (ОТКЛЮЧИТЬ - обнуление)

  • Сигнал tu_1
  • Сигнал команды, например, R1G16:1_do_2
  • Тип Отключить
  • Пауза 1000
  • Значение команды 0
Вариант 2 (через rules)

Добавить скрипт для каждого модуля для обнуления регистров через 2 с

Автомат в ПО ТМИУС будет в упрощенном виде и будет служить только для объединения 2 выходов ТУ для одного логического сигнала

[
  "EXT1_K1",
  "EXT1_K2",
  "EXT1_K3",
  "EXT1_K4",
  "EXT1_K5",
  "EXT1_K6",
  "EXT1_K7",
  "EXT1_K8",
  "EXT1_K9",
  "EXT1_K10",
  "EXT1_K11",
  "EXT1_K12",
  "EXT1_K13",
  "EXT1_K14",
  "EXT1_K15",
  "EXT1_K16"
].forEach(function(channel) {
  defineRule("auto_off_" + channel, {
    whenChanged: "wb-gpio/" + channel,
    then: function(newValue) {
      if (newValue === true) {
        log(channel + " is ON, starting 2s timer");

        setTimeout(function () {
          dev["wb-gpio/" + channel] = false;
          log(channel + " turned OFF after 2s");
        }, 2000);
      }
    }
  });
});