Заменяет ли Apache PLC4X шлюз в системах SCADA?

Мне нужно найти и систематизировать информацию о том, что такое PLC4X, различиях между PLC4X и устаревшей системой (например, протокол ПЛК - шлюз - пользовательское приложение), но большая часть того, что я нашел, касается того, как использовать API. Я хочу выяснить:

  1. Какова точная роль PLC4X в системе SCADA? шлюз? апи? оба из них?
  2. Если роль PLC4X — это просто унифицированный API, нужен ли шлюз, поддерживающий PLC4X?
  3. Каковы различия до и после применения PLC4X к устаревшей системе SCADA?
  4. Пропуски данных предотвращаются с помощью PLC4X?

PLC4X в SCADA

Устаревшая система SCADA

Если вы ответите на мои вопросы, используя верхние изображения, мне будет легче понять.


person DH R    schedule 29.10.2020    source источник


Ответы (1)


Я являюсь инициатором проекта Apache PLC4X, поэтому я думаю, что смогу помочь вам в этом.

PLC4X сам по себе не является шлюзом, но вы можете использовать его для его создания. Думайте об этом как об универсальном драйвере для связи с различными ПЛК с использованием всевозможных протоколов. Мы реализовали API, который определяет ряд универсальных операций:

  • Читать
  • Напишите
  • Подписывайся
  • Обзор (еще не реализовано)
  • Функции вызова (еще не реализованы)

Благодаря этому вы можете реализовать программу, независимую от используемого протокола. Это позволяет легко взаимодействовать со всеми видами различного оборудования и позволяет мигрировать существующее оборудование без необходимости изменения программного обеспечения.

Если вы ищете что-то, что на 100% реализует все функции собственного протокола данного ПЛК, PLC4X также не то, что вам нужно.

На данный момент PLC4X лучше всего поддерживается на Java. Здесь обычно все, что вам нужно, это виртуальная машина Java 8 или новее. Если вы хотите использовать наши драйверы пассивного режима и, возможно, будущие драйверы полевых шин, такие как ProfiNet и EtherCat, вам также потребуется libpcap.

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

  • Go (вероятно, быстрее всего созреет, так как это то, над чем я сейчас работаю 90-100% своего времени)
  • C (вероятно, будет развиваться медленнее, так как C действительно неинтересен, и я трачу больше времени на Go)
  • Python (это инициатива, над которой активно работает сообщество PLC4X)
  • C++ (инициативы в настоящее время приостановлены из-за отсутствия участников)
  • C# (инициативы в настоящее время приостановлены из-за отсутствия участников)

Что касается вашего вопроса 3, я немного не уверен, поскольку это совершенно разные вещи. Если вы находитесь исключительно в мире устаревших систем SCADA и совместимых ПЛК, я вообще не вижу смысла использовать PLC4X. PLC4X отлично подходит, когда вы хотите внедрить современные ИТ-системы в систему, содержащую устаревшие ПЛК. ПЛК последнего поколения уже несколько раз поставляются с поддержкой MQTT, в этом случае я тоже не вижу преимущества использования PLC4X. К сожалению, в течение следующих 10-20 лет нам придется жить с большим количеством оборудования в цехах, которое считается устаревшим и использует устаревшие протоколы.

Если вы теперь хотите использовать самые современные технологии машинного обучения, предиктивного обслуживания, анализа золотых партий и т. д. (все модные словечки Индустрии 4.0), PLC4X в настоящее время, вероятно, является вашим лучшим и самым дешевым вариантом для преодоления разрыва между этим устаревшим ПЛК. мировые и современные ИТ-системы.

Надеюсь, мне удалось ответить на ваши вопросы.

person Christofer Dutz    schedule 09.11.2020