Шлюз МЭК 104

Приветствую!

Я занимаюсь промышленной автоматизацией, ваше оборудование пытаюсь внедрять в различные проекты.

Недавно столкнулся с замечаниями, которые явно сам не смогу устранить. Они связаны с протоколом МЭК 104.

Замечания:

  1. Отсутствие буферизации: в момент пропажи связи с сервером, формируемые ПЛК значения (минимум - 1000) должны сохраняться в памяти до восстановления связи. Далее, в первую очередь должны отправляться значения из памяти, после отправки этих значений на сервер, продолжается отправка действующих значений.
  2. Отсутствие выставления апертуры значений в отправляемых параметрах. Так как параметры высылаются спорадически (3), то очень важно, чтобы ПЛК не был чувствительным к дребезгу и т.п. вещам. Апертура помогает избежать забивания канала связи.
    Допусти мы передаем напряжение в SCADA. На ПЛК WB в данный момент оно 220.233 (В) и мы его передали в SCADA. Следующий раз мы передадим его после изменения этого параметра на 10 (В). Эти 10 (В) - апертура передаваемого параметра.
    Это момент очень важен при передаче значений через GSM.
  3. Отсутствие возможности включения/отключения меток времени для общего опроса.
  4. Отсутствие возможности назначать 2 MQTT канала в 1 регистр шлюза МЭК 104. Поясняю: для отправки команд из SCADA диспетчеру удобно отправлять команду (1 или 2) в один регистр по МЭК 104 для переключения чего-либо, а не использовать 2 команды и по 1 регистру для каждой. Сейчас ситуация такая: чтобы переключить выключатель используем два канала MQTT и два регистра по МЭК 104, а хотелось бы два канала MQTT и один регистр по МЭК 104.

Буду ждать обратной связи, спасибо!

Добрый день.

Тут не совсем понятно, как правило один и тот же MQTT топик можно использовать и для включения и для выкючения устройства, например какнала реле.

Да, пока нет.

Границы (гистрезис) устанавливать должен внешний сервер в процессе установки связи.

Есть.

Допустим у нас на объекте есть выключатель питания, у которого два состояния: вкл или выкл. В SCADA я должен передать 1 регистр по МЭК-104 о состоянии выключателя.

На аббревиатуры Pos, stVal не смотрите. PosOpn - положение Отключено PosCls - положение Включено Pos.stVal - выходное состояние

Тип кадра для передачи таких параметров должен быть - по общему опросу 3, по спорадике 31. По возможности, метка времени у выходного сигнала должна оставаться из первичных сигналов, но это не критично.

Сейчас мы отправляем в SCADA два регистра о положении выключателя: первый регистр - состояние вкл, второй регистр - состояние выкл. Это несовсем верное решение.

Картинка не грузится.

image

Сейчас видно?

Если есть интерес, можем предложить свое программное решение для Wirenboard, которое позволяет реализовать все, что собственно написано в первом сообщении.
Прием данных с WB через MQTT либо напрямую. Модули ввода\вывода через I2C лучше через MQTT. Modbus устройства (как и любые другие) можно напрямую.

без регистрации работает час, потом требует ребут WB

2 лайка

Но для этого не нужно что-то менять именно в шлюзе.
Создается виртуальная переменная (виртуальное устройство), которая формируется на контроллере и передается.

Сейчас мы решаем это как раз созданием виртуальной переменной.

Я просто перечислил замечания, если оно не корректное для изменения шлюза, тогда все ок, не заморачиваемся по этому пункту.

1 лайк