ВВЕДЕНИЕ 5
1 Анализ предметной области 8
1.1 Общая информация OPC UA 8
1.2 Сравнение OPC UA 8
1.3 Особенности OPC UA 11
1.3.1 Методы расширения коммуникации 13
1.4 Адресное пространство OPC UA 15
1.4.1 Узлы в адресном пространстве 15
1.4.2 Доступные типы узлов в адресном пространстве 16
1.4.3 Имена пространств и идентификаторы узлов 17
1.4.4 Атрибуты узла 18
1.5 Безопасность OPC UA 18
1.5.1 Уровни безопасности 19
1.5.2 Параметры конфигурации для безопасности 19
1.5.3 Обмен сертификатами между клиентом и сервером 20
1.6 Вывод по разделу 21
2 Проектирование информационной системы 23
2.1 Общее описание проектируемой системы 23
2.2 Проектирование ПО для OPC UA клиента 25
2.2.1 Описание конфигурации 25
2.2.2 Использование UAClientHelperAPI в решении 26
2.2.3 Диаграммы классов приложения 27
2.2.4 Диаграммы последовательности приложения 31
2.2.4.1 Установление и разрыв соединения с OPC UA сервером 31
2.2.4.2 Функция Browsing на сервере OPC UA 33
2.2.4.3 Чтение и запись тегов 33
2.2.4.4 Чтение и запись структур/UDT 34
2.2.4.5 Регистрация идентификатора узла 37
2.2.4.6 Механизм подписки и закрытие подписки 38
2.2.4.7 Вызов методов 39
2.3 Конфигурирование OPC UA сервера 40
2.3.1 Настройка сервера OPC UA 41
2.3.2 Включение глобальных настроек безопасности 43
2.3.3 Создание пользователя для OPC UA сервера 44
2.3.4 Настройка тегов для коммуникации OPC UA 45
2.4 Вывод по разделу 46
3 Реализация информационной системы 47
3.1 Описание пользовательского интерфейса 47
3.1.1 Раздел подключения «Connect» 47
3.1.2 Раздел обзора узлов Browse Nodes 48
3.1.3 Раздел чтения и записи Read/Write 49
3.1.4 Раздел подписки Subscribe 50
3.1.5 Раздел чтения и записи структур Read/Write Struct/UDT 51
3.1.6 Раздел вызова методов Method Calling 52
3.2 Ввод приложения в эксплуатацию 53
3.2.1 Установление соединения с OPC UA сервером 53
3.2.2 Обзор адресного пространства OPC UA сервера 56
3.2.3 Чтение и запись тегов 56
3.2.4 Подписка и мониторинг значений OPC UA сервера 59
3.2.5 Чтение и запись структур/UDT 60
3.2.6 Вызов методов 62
3.3 Вывод по разделу 63
ЗАКЛЮЧЕНИЕ 65
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 67
ПРИЛОЖЕНИЕ А 70
ПРИЛОЖЕНИЕ Б 71
ПРИЛОЖЕНИЕ В 72
OPC UA (Единая архитектура открытой платформы коммуникации) - это протокол коммуникации машина-к-машине, принятый в 2009 и основанный организаций OPC. Этот протокол был разработан с целью создать совместимый, безопасный и надежный способ коммуникации. Эти три важных свойства заложили основу все большему преобладанию OPC UA как стандарта в промышленной среде.
Протокол дал возможность встраивать интерфейс в соответствующую систему, независимо от того, в какой операционной системе работает эта система, и независимо от языка программирования, на котором она была создана.
OPC UA предоставляет следующие особенности:
- обобщение всех предыдущих достоинств OPC в единый, общий интерфейс;
- использование открытых и платформа-независимых протоколов для коммуникации внутри процессов или в сети;
- доступ к Интернет, а также коммуникация с использованием защитных механизмов;
- управление доступом и механизмы обеспечения безопасности на уровне протокола и приложения;
- интенсивное применение объектно-ориентированных моделей;
- расширяющаяся система типов для объектов и сложные типы данных;
- масштабируемость от малых систем, до бизнес-приложений.
Благодаря продуманной выстроенной архитектуре и своим особенностям стандарт OPC UA достигает все более высоких показателей в частоте внедрения в системы автоматизации. Растет глобальная активность его внедрения в промышленных предприятиях разных сфер. Протокол оказывает влияние на новый тренд в коммуникации промышленного интернета вещей.
Объектом исследования работы является современный стандарт OPC UA и коммуникация с его помощью между объектами промышленности. Для полноценного исследования необходимо провести анализ ряда его спецификаций:
- Часть 1: Обзор и концепт. Предоставляет полное представление технологии Единой архитектуры;
- Часть 2: Модель безопасности. Описывает аспекты безопасности OPC UA;
- Часть 3: Модель адресного пространства. Предоставляет
детальное описание адресного пространства OPC UA сервера для клиента;
- Часть 4: Сервисы. Описывает какие интерфейсы должны
использовать серверы и клиенты, ожидаемое поведение сервера и клиента;
- Часть 5: Информационная модель. Предоставляет детальное
описание как OPC UA использует адресное пространство, узлы и ссылки;
- Часть 6: Отображение (Mappings). Описывает как данные
передвигаются между OPC UA сервером и клиентом;
- Часть 7: Профили (Profiles). Описывает какие категории поведения OPC UA сервера и клиента могут быть имплементированы;
- Часть 8: Доступ к данным. Описывает приложения доступа к данным. Обзор и концепт доступа к данным;
- Часть 9: Аварийный сигнал и обстоятельства (Alarms and Conditions). Описывает приложения «Alarms and Conditions». Обзор и концепт, а также эволюция от классического представления к Единой архитектуре;
- Часть 11: Исторический доступ к данным. Описывает как данные могут быть заархивированы и воспроизведены из истории/базы данных;
- Часть 12: Обнаружение и глобальные сервисы. Описывает как продукты Удиной архитектуры могут быть обнаружены и подвержены управлению с компьютера или инфраструктуры сети;
- Часть 14: Издатель/Подписчик. Описывает модель коммуникации Издателя и Подписчика OPC UA.
В качестве исходных данных предлагается использовать открытый исходный код SDK на платформе .NET, публикуемый организацией OPC Foundation. Необходимо провести анализ инструмента разработчика.
Сервер OPC UA предлагается размещать в ПЛК. С приходом нового программного обеспечения для SIMATIC S7-1500, в управляющую систему был интегрирован OPC UA сервер. Это открывает дополнительные возможности для обмена данными прямо в процессе взаимодействия SIMATIC S7-1500 с широкой разновидностью других систем, поддерживающих OPC UA. Необходимо провести анализ TIA Portal, его среды разработки, а также анализ возможностей контроллера S7-1500.
В качестве цели работы выступает повышение эффективности коммуникации между клиентским приложением и промышленными конечными устройствами на основе автоматизации доступа к этим устройствам посредством OPC UA технологии.
Поставленной цели сопоставлены следующие задачи:
- провести всесторонний анализ предметной области - OPC UA;
- изучить и проанализировать спецификации OPC UA;
- проанализировать исходный код .NET официального SDK;
- описать концепт клиент-сервер .NET приложения и PLC;
- определить наиболее важные компоненты приложения;
- составить диаграммы последовательности для функций приложения;
- произвести конфигурирование OPC UA сервера;
- разработать оболочку клиентского API для OPC UA SDK;
- разработать .NET приложение, которое способно выступить OPC UA клиентом для любого OPC UA сервера, при этом охватывая основные возможности OPC UA коммуникации.
В данной работа проведено исследование особенностей и преимуществ стандарта промышленного обмена данными OPC UA. OPC UA использует мощную и стандартизированную технологию для такого рода коммуникации. Стандарт основан на модели связи клиент/сервер, которая требует установленного соединения.
Организация OPC Foundation предлагает современный подход к развитию стандарта, что вызывает положительные отклики как крупных игроков промышленности, так и остальных, заинтересованных в совместимом, безопасном и быстром обмене данными в разрезе машина-к-машине, от контроллера к машине и контроллер-контроллер, от ПЛК к SCADA, HMI или в облачное хранилище данных, от SCADA/HMI к MES, от MES к ERP системе. Стандарт позволяет реализовать инициативу интернета вещей, а также движется к Индустрии 4.0.
Организация OPC Foundation предлагает открытый исходный код к SDK .NET для OPC UA. Проведен анализ SDK. Для упрощения работы с ним, создан класс-оболочка - API для взаимодействия с ядром SDK. На основе созданного API реализовывались другие архитектурные слои клиентского приложения OPC UA.
В качестве размещения сервера OPC UA выбран ПЛК SIMATIC S7-1500. Проведен анализ TIA Portal, его среды разработки, а также анализ возможностей контроллера S7-1500.
Перед выполнением данной работы была поставлена цель повышения эффективности коммуникации между клиентским приложением и промышленными конечными устройствами на основе автоматизации доступа к этим устройствам посредством OPC UA технологии.
Для достижения цели были решены следующие задачи:
- проведен всесторонний анализ предметной области - OPC UA;
- изучены и проанализированы спецификации OPC UA;
- проанализирован исходный код .NET официального SDK;
- описан концепт клиент-сервер .NET приложения и PLC;
- определены наиболее важные компоненты приложения клиента и сервера;
- разработана функциональная последовательность клиента, а также его конфигурация;
- составлены диаграммы классов приложения. Составлены диаграммы последовательности функций приложения;
- произведено конфигурирование OPC UA сервера;
- разработана оболочка клиентского API для OPC UA SDK.
- разработано .NET приложение, способное выступить OPC UA клиентом для любого OPC UA сервера, охватывая основные возможности OPC UA коммуникации.
В клиентское приложение мплементированы основные функции:
- подключение к OPC UA серверу;
- обзор адресного пространства сервера;
- чтение и запись значений;
- механизм подписки;
- чтение и запись структур и пользовательских типов данных;
- вызов методов.
Произведен ввод в эксплуатацию OPC UA сервера. Продемонстрирована работа приложения по коммуникации OPC UA клиента и OPC UA сервера.
Оценивая перспективы развития темы, можно выделить направление создание удаленного веб-сервиса, позволяющего расширить круг пользователей OPC UA клиента, а также организовать сбор и хранение данных.