Jump to content

Унифицированная архитектура OPC

(Перенаправлено с OPC UA )

Унифицированная архитектура OPC (OPC UA)
Международный стандарт IEC62541, унифицированная архитектура OPC (ядро, полевой обмен, устройства, управление активами, сопоставление типов данных XML)
Разработано Фонд ОПК
Представлено 28 июля 2006 г .; 18 лет назад ( 28 июля 2006 г. )
Промышленность Операционные технологии и информационные технологии
Совместимое оборудование ПЛК , полевые устройства , Windows , Linux , IIOT
Веб-сайт https://opcfoundation.org/about/opc-technologies/opc-ua/

Унифицированная архитектура OPC ( OPC UA ) — это кроссплатформенный стандарт IEC62541 с открытым исходным кодом для обмена данными от датчиков к облачным приложениям, разработанный OPC Foundation . Отличительными характеристиками являются: [ 1 ]

  • Стандартизированные модели данных, доступные в свободном доступе для более чем 60 типов промышленного оборудования, опубликованы OPC Foundation через Companion Specifications.
  • Расширяемые профили безопасности, включая аутентификацию, авторизацию, шифрование и контрольные суммы.
  • Расширяемое управление ключами безопасности, включая X.509, токен и пароль.
  • Поддержка шаблонов связи клиент-сервер и публикация-подписка.
  • Независимый протокол связи. Указаны сопоставления с несколькими протоколами связи, такими как TCP/IP, UDP/IP, WebSockets, AMQP и MQTT.
  • Первоначально успешный в стандартизированном обмене данными с промышленным оборудованием (дискретное производство, непрерывное производство, энергетика) и системами сбора и контроля данных, но теперь также используется в автоматизации зданий, весовом и кухонном оборудовании и облачных приложениях.
  • Открытость — эталонные реализации с открытым исходным кодом, бесплатно доступные членам OPC Foundation, не являющимся членами, по лицензии GPL 2.0. [ 2 ]
  • Кроссплатформенность – не привязана к одной операционной системе или языку программирования.
  • Сервис-ориентированная архитектура (SOA)
  • Спецификация находится в свободном доступе на веб-сайте OPC Foundation и разделена на несколько частей для упрощения реализации, но читать ее должны только поставщики стека OPC UA, а конечные пользователи просто используют существующие коммерческие стеки и/или стеки с открытым исходным кодом, доступные на всех популярных языках программирования.

Хотя OPC UA разработан той же организацией, он существенно отличается от своего предшественника Open Platform Communications (OPC). Целью Фонда для OPC UA было обеспечить путь вперед от исходной OPC модели связи только для Microsoft Windows (а именно, обмена процессами COM/ DCOM ), которая лучше отвечала бы возникающим потребностям промышленной автоматизации . [ 3 ]

После более чем трех лет работы над спецификациями и еще одного года реализации прототипа в 2006 году была выпущена первая версия унифицированной архитектуры. [ 4 ]

Текущая версия спецификации — 1.04 (22 ноября 2017 г.). [ 5 ] ). В новую версию OPC UA добавлена ​​публикация/подписка в дополнение к инфраструктуре связи клиент/сервер.

Хотя первоначальная привязка к COM/ DCOM способствовала OPC хорошему распространению , у нее было несколько недостатков:

  • Частые проблемы с настройкой DCOM;
  • Нет настраиваемых тайм-аутов;
  • Microsoft Windows ; Только
  • Более низкая безопасность;
  • Никакого контроля над DCOM (COM/DCOM — это своего рода «черный ящик», разработчики не имеют доступа к исходным кодам, поэтому им приходится сталкиваться с ошибками или недостаточной реализацией).

Эти недостатки, а также ряд других соображений подтолкнули к решению разработать новый независимый стек для OPC UA, который заменит COM/DCOM. Основными характеристиками этого коммуникационного стека были:

  • Многоплатформенная реализация, включая переносимые ANSI C , Java и .NET ; реализации
  • Масштабируемость: от интеллектуальных датчиков и интеллектуальных приводов до мэйнфреймов;
  • Многопоточная, а также однопоточная/однозадачная работа, необходимая для переноса стека на встроенные устройства;
  • Безопасность, основанная на новых стандартах;
  • Настраиваемые таймауты для каждой службы;
  • Разбиение больших датаграмм на части.

Этот коммуникационный стек отражает начало различных инноваций. Архитектура OPC UA представляет собой сервис-ориентированную архитектуру (SOA) и основана на разных логических уровнях.

Базовые службы OPC — это описания абстрактных методов, которые не зависят от протокола и обеспечивают основу для функциональности OPC UA. Транспортный уровень помещает эти методы в протокол, что означает сериализацию/десериализацию данных и передачу их по сети. два протокола Для этой цели определены . Один из них представляет собой двоичный протокол TCP , оптимизированный для обеспечения высокой производительности, а второй ориентирован на веб-сервисы .

Информационная модель OPC представляет собой ячеистую сеть, основанную на узлах . Эти узлы могут включать в себя метаинформацию любого типа и аналогичны объектам объектно-ориентированного программирования (ООП). Узел может иметь атрибуты доступа для чтения (DA, HDA), методы, которые можно вызывать (команды), и запускаемые события, которые можно передавать (AE, DataAccess, DataChange). Узлы содержат данные процесса, а также все другие типы метаданных . Пространство имен OPC содержит модель типа.

Клиентское программное обеспечение может проверить, какие профили поддерживает сервер. Это необходимо для получения информации, поддерживает ли сервер только функционал DA или дополнительно AE, HDA и т.д. Дополнительно можно получить информацию о том, поддерживает ли сервер тот или иной профиль. Новые и важные особенности OPC UA:

  • Поддержка резервирования
  • Контрольное сообщение для соединений в обоих направлениях (чтобы указать, активен ли другой конец). Это означает, что и сервер, и клиент распознают прерывания.
  • Буферизация данных и подтверждения переданных данных. Потерянные соединения больше не приводят к потере данных. Потерянные датаграммы могут быть восстановлены.

На конференции OPC UA DevCon в октябре 2006 года в Мюнхене были представлены первые прототипы. Различные UA-серверы были показаны на программируемом логическом контроллере Beckhoff и встроенной тестовой плате от Euros. ПЛК Beckhoff основан на Windows XP Embedded, а встроенный контроллер основан на операционной системе реального времени Euros. Компания Embedded Labs Ltd продемонстрировала OPC UA Server на базе собственного C++ UA Stack, работающего на однокристальном ARM- микроконтроллере с 64 КБ ОЗУ . В октябре 2012 года немецкий Центр приложений Фраунгофера IOSB-INA и Институт промышленных информационных технологий (inIT) продемонстрировали, что сервер OPC UA масштабируется до 15 КБ ОЗУ и 10 КБ ПЗУ и, следовательно, пригоден для использования на уровне чипа. [ 6 ]

Технические характеристики

[ редактировать ]

Спецификация OPC UA представляет собой многочастную спецификацию и состоит из следующих частей:

  1. Концепции
  2. Модель безопасности
  3. Модель адресного пространства
  4. Услуги
  5. Информационная модель
  6. Сопоставления
  7. Профили
  8. Доступ к данным
  9. Сигналы тревоги и условия
  10. Программы
  11. Исторический доступ
  12. Дискавери и глобальные услуги
  13. Агрегаты
  14. ПабСаб
  15. Безопасность
  16. Государственные машины
  17. Псевдонимы
  18. Ролевая безопасность
  19. Справочник по словарю
  20. Передача файлов
  21. Подключение устройства
  22. Базовая сетевая модель
  23. Общие типы ссылок
  24. Планировщик


Кроме того, также доступны часть 100 «Устройства» и часть 200 «Промышленная автоматизация». Они основаны на базовом наборе спецификаций и добавляют новые общие определения, которые затем используются в различных сопутствующих спецификациях. Например, как OPC UA для анализаторов , так и OPC UA для машинного оборудования построены непосредственно на части 100.

В отличие от спецификаций на основе COM, спецификации UA не являются чистыми спецификациями приложений. Обычно они описывают внутренние механизмы UA, которые обрабатываются через коммуникационный стек и обычно представляют интерес только для тех, кто переносит стек на конкретную цель, или для тех, кто хочет реализовать свой собственный стек UA.

Разработчики приложений OPC UA используют API OPC UA и поэтому в основном используют документацию API. Тем не менее, части 3, 4 и 5 могут быть интересны разработчикам приложений. [ 7 ]

Стек связи UA

[ редактировать ]

Архитектура UA-приложения, независимо от того, серверная это часть или клиентская, структурирована по уровням.

Некоторые части аналогичны прежним COM-прокси/заглушкам и предоставляются OPC Foundation. Уровень переносимости новый; это упрощает перенос стека UA ANSI C на другие целевые платформы. Уровень портов для Windows и Linux также предоставляется OPC Foundation.

безопасность Украины

[ редактировать ]

UA Security состоит из аутентификации и авторизации, шифрования и целостности данных посредством подписей. Для веб-служб WS-SecureConversation используется , поэтому он совместим с .NET и другими реализациями SOAP . Для двоичного варианта были использованы алгоритмы WS-SecureConversation, которые также были преобразованы в двоичный эквивалент. Это называется UA Secure Conversation.

Существует также смешанная версия, в которой код двоичный, но транспортный уровень — SOAP. Это компромисс между эффективным двоичным кодированием и передачей с поддержкой межсетевого экрана. Двоичное кодирование всегда требует безопасного разговора UA. Для аутентификации используются исключительно сертификаты X.509 . Разработчик приложения должен выбрать, к какому хранилищу сертификатов будет привязано приложение UA. Например, можно использовать инфраструктуру открытых ключей (PKI) Active Directory .

Встроенные типы данных

[ редактировать ]

Стандарт OPC UA определяет 25 встроенных типов данных:

Встроенные типы данных OPC UA
Встроенный тип Эквивалент C/C++ Подробности Тип NodeId
логическое значение логическое значение 0/1 (ложь или правда) 0 (числовой)
SByte int8_t от -128 до 127
Байт uint8_t от 0 до 255
Int16 int16_t от -32768 до 32767
UInt16 uint16_t от 0 до 65535
Int32 int32_t от -2147483648 до 2147483647
UInt32 uint32_t от 0 до 4294967295
Int64 int64_t от -9223372036854775808 до 9223372036854775807
UInt64 uint64_t От 0 до 18446744073709551615
Плавать плавать Значение IEEE одинарной точности (32 бита) с плавающей запятой
Двойной двойной Значение с плавающей запятой двойной точности IEEE (64 бита)
СтатусКод uint32_t
Нить uint8_t* / std::string 3 (строка)
ДатаВремя int64_t количество интервалов в 100 наносекунд с 01.01.1601 (UTC)
ГУИД зависит от реализации 16-байтовое число, используемое в качестве уникального идентификатора. 4 (ГУИД)
БайтСтрока (то же, что и строка) 5 (байтовая строка)
XmlElement (то же, что и строка)
идентификатор узла индекс пространства имен и тип NodeId
ExpandedNodeId (аналогично NodeId)
Полное имя индекс пространства имен и строка
Локализованныйтекст строка и индикатор локали
Числовой диапазон строка (например, «0:4,1:5» для массива [0..4][1..5])
Вариант (только встроенные типы данных)
Объект расширения скаляры любого типа
Значение данных сочетание значения, временных меток и кода состояния
Диагностическая информация подробная информация об ошибках/диагностике

API-интерфейсы OPC UA

[ редактировать ]

API UA доступны на нескольких языках программирования. Коммерческие SDK доступны для C, C++, Java и .NET. Стеки с открытым исходным кодом доступны как минимум для C, C++, Java, Javascript(node), Tcl и Python.

.NET-реализация

[ редактировать ]

Реализация .NET использует ANSI C для нижних уровней, а все остальное реализуется в .NET. Это означает, что из стека ANSI C интегрируется только обработка сокета и разделение сообщений. Десериализация происходит непосредственно в .NET и, следовательно, преобразуется непосредственно в структуры и объекты .NET. Это обеспечивает более высокую производительность, чем сначала десериализация в структуру C, а затем копирование данных в структуру .NET.

Java-реализация

[ редактировать ]

Разрабатывались различные стеки для Java. [ когда? ] Как и в случае с .NET, существует три основных варианта:

  1. Инкапсулируйте весь стек ANSI C через JNI , что усложняет переносимость. Хотя стек можно портировать на разные операционные системы, его необходимо скомпилировать для каждой из них индивидуально. Кроме того, данные необходимо скопировать на границу JNI, но при этом выигрывает от производительности C во время десериализации.
  2. Кодируйте непосредственно на сетевом уровне (аналогично текущей реализации .Net) и десериализуйте на Java. Это экономит одно выполнение копирования данных, но все равно зависит от стека C.
  3. Напишите собственный стек Java OPC UA. Было отмечено, что это наиболее портативный вариант, но, по оценкам, для его реализации потребуется больше всего инженерных усилий. Проект Eclipse Milo предоставляет реализацию спецификации клиента и сервера UA 1.03 с открытым исходным кодом на чистой Java. [ 8 ]
  4. Проект Apache PLC4X предоставляет реализацию UA-клиента с открытым исходным кодом на чистом Java, а также описания кадров сетевого уровня, которые можно использовать для межъязыковых реализаций. [ 9 ]

Альтернативно существует простой вариант поддержки только протокола WebService. набор инструментов SOAP, поддерживающий WS-Security Для этого необходим .

МЭК 62541 [ 10 ] является стандартом унифицированной архитектуры OPC.

Обзор МЭК 62541
ИДЕНТИФИКАТОР Дата выпуска заголовок
МЭК/ТР 62541-1 2016 Унифицированная архитектура OPC. Часть 1: Обзор и концепции
МЭК/ТР 62541-2 2016 Унифицированная архитектура OPC. Часть 2. Модель безопасности
МЭК 62541-3 2020 Унифицированная архитектура OPC. Часть 3. Модель адресного пространства
МЭК 62541-4 2020 Унифицированная архитектура OPC. Часть 4: Сервисы
МЭК 62541-5 2020 Унифицированная архитектура OPC. Часть 5: Информационная модель
МЭК 62541-6 2020 Унифицированная архитектура OPC. Часть 6. Сопоставления
МЭК 62541-7 2020 Унифицированная архитектура OPC. Часть 7: Профили
МЭК 62541-8 2020 Унифицированная архитектура OPC. Часть 8: Доступ к данным
МЭК 62541-9 2020 Унифицированная архитектура OPC – Часть 9: Сигналы тревоги и условия
МЭК 62541-10 2020 Унифицированная архитектура OPC. Часть 10: Программы
МЭК 62541-11 2020 Унифицированная архитектура OPC – Часть 11: Исторический доступ
МЭК 62541-12 2020 Унифицированная архитектура OPC. Часть 12. Обнаружение и глобальные сервисы.
МЭК 62541-13 2020 Унифицированная архитектура OPC. Часть 13. Агрегаты
МЭК 62541-14 2020 Унифицированная архитектура OPC. Часть 14: PubSub
МЭК 62541-100 2015 Унифицированная архитектура OPC. Часть 100: Интерфейс устройства

См. также

[ редактировать ]
  1. ^ Браун, Роланд; Мендоса, Франциско (17 ноября 2021 г.). «Интеграция устройств для полевых устройств, подключенных к OPC UA» . Журнал АТП . 63 (11-12). дои : 10.17560/atp.v63i11-12.2567 . ISSN   2364-3137 . S2CID   246122846 .
  2. ^ «Эталонная реализация OPC Foundation» . Гитхаб .
  3. ^ Манке, Вольфганг; Лейтнер, Стефан-Хельмут https://library.e.abb.com/public/75d70c47268d78bfc125762d00481f78/56-61%203M903_ENG72dpi.pdf Унифицированная архитектура OPC – будущий стандарт для коммуникационного и информационного моделирования в автоматизации], 3/2009 ABB Review 3 /2009, стр. 56-61
  4. ^ «Единый фонд – Фонд OPC» . Фонд ОПК . Проверено 13 декабря 2021 г.
  5. ^ «Члены» .
  6. ^ Самый маленький в мире сервер OPC UA родом из Германии.
  7. ^ Массаро, Симона Что такое OPC UA и как он влияет на ваш мир? , 15.05.2008 Planetengineering.com
  8. ^ «Функциональность клиента и/или сервера унифицированной архитектуры OPC (UA) в любом проекте на базе JVM» . 26 февраля 2016 года . Проверено 22 августа 2016 г.
  9. ^ «Параметры подключения клиента PLC4X OPC-UA» .
  10. ^ «Интернет-магазин МЭК по МЭК 62541» . Проверено 1 июня 2018 г.

Литература

[ редактировать ]
  • Вольфганг Манке, Стефан-Хельмут Ляйтнер, Маттиас Дамм: унифицированная архитектура OPC. Спрингер Верлаг 2009; ISBN   978-3-540-68898-3
  • Ланге Дж., Иваниц Ф., Берк Т. OPC: от доступа к данным к унифицированной архитектуре, 2010 г.; ISBN   978-3-8007-3242-5
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 84f3eb81606c27aeb7c802f9c747adc3__1717599060
URL1:https://arc.ask3.ru/arc/aa/84/c3/84f3eb81606c27aeb7c802f9c747adc3.html
Заголовок, (Title) документа по адресу, URL1:
OPC Unified Architecture - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)