SlideShare a Scribd company logo
1 of 48
Людино-машинні інтерфейси та SCADA
Підсистема
введення/виведення.
OPC
автор і лектор: Олександр Пупена (pupena_san@ukr.net)
зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
13.10.2020 1
Передумови виникнення
13.10.2020 pupena_san@ukr.net 2
3
Передумови виникнення ОРС
 Вибір іншої промислової мережі, яка б підтримувалась з боку SCADA та контролеру.
 Написання спеціального драйверу, якого не існує в SCADA, для забезпечення зв’язку з
контролером.
 Заміна частини одних контролерів іншими, для яких є драйвери зв’язку.
 Використання шлюзів для промислових мереж.
 Використання “універсального драйверу” зі стандартним інтерфейсом.
SCADA X
драйвер
ЛОМИКОНТ
Modbus MPI
Підключення декількох контролерів до SCADA-
програми
"Сеть
ЛОМИКОНТ"
M340 S7-300 Л-110
ПК
драйвер
Modbus
драйвер
S7-MPI
Варіанти способів інтеграції програмних продуктів з засобами автоматизації різних виробників на прикладі
SCADA.
4
Стандарти ОРС
OPC DA (Data Access) – специфікація доступу до даних реального часу;
OPC AE (Alarms & Events) – для реалізації задач попереджувально-аварійних сигналізацій;
OPC HDA (Historical Data Access) – для реалізації задач ведення архіву та доступу до архівних даних;
OPC DX (Data eXchange) – для безпосереднього обміну між ОРС-серверами;
OPC XML – для обміну даними через інтермережі за допомогою структур XML на базі WEB-сервісів та SOAP;
OPC Batсh – для реалізації управління рецептурними задачами.
OPC UA (United Architecture) – самий новий платформо-незалежний стандарт, який об’єднує функції всіх наведених
вище специфікацій, але функціонує не на базі СОМ а WEB-сервісах .
OPC A&E Client
Alarm Management
OPC HDA Client
Trend Display
OPC A&E Server OPC HDA Server
COM/DCOM
OPC DA Client
SCADA
COM/DCOM
OPC DA Server OPC DA Server
PLCPLC DCSDCS
залежні від
виробника
Специфікації ОРС.
OPC – OLE For Process Control
- базуються на СОМ: OPC DA, AE, HDA, DX, Batch
Перші версії
Нові версії
OPC – Open Platform Communications
- базуються на WEB технологіях HTTP/XML/SOAP а не на
СОМ
Розробник
OPC Foundation – некомерційна організація заснована групою
всесвітньо-відомих компаній виробників ПТЗ автоматизації, що
розвиває та підтримує стандарти (www.opcfoundation.org)
Архітектура
Клієнт-Серверна архітектура, мультисерверність та
мультиклієнтність
5
Функціонування ОРС DA з точки зору інтегратора
SCADA програма "SamplSCADA"
Функціонування ОРС з точки зору інтегратора
змінні реального часу SCADA
драйвер для
X
драйвер для
Y
змінні реального
часу OPC
драйвер для Z
ОРС-Сервер "Sampl.OPC"
Інтерфейс ОРС
ПК
ПЛК1 ПЛК2
1
ПЛК3
1
ПЛК4
31
змінні реального
часу OPC
ОРС-Сервер
"Exmpl.OPC"
драйвер для Q
Інтерфейс ОРС
драйвер ОРС Client
Для реалізації зв’язку через ОРС DA:
• Налаштувати OPC-Сервер за допомогою спеціалізованої програми-конфігуратора: створити всі необхідні змінні
сервера, тобто дати їм ім’я (ItemID) та вказати джерела даних в ПЛК, на які вони посилаються.
• В SCADA-програмі вказати:
• назву ОРС-Сервера, з яким необхідно зв’язатися (ProgID). У нашому прикладі це будуть два сервери
"Sampl.OPC" та "Exmpl.OPC". Інколи SCADA надає можливість вибору ProgID зі списку зареєстрованих
ОРС-Серверів.
• для вибраної змінної в якості джерела даних вказати ім’я на ОРС-Сервері, тобто ItemID, що був
створений на 1-му кроці. Як правило ItemID вибирається зі списку, який надає Browser на стороні ОРС-
Клієнта.
6
Функціонування ОРС DA з точки зору інтегратора (Приклад)
Citect
Схема обміну даним SCADA Citect з використанням ОРС.
Temperat
ure
Modbus RTU
Schneder-Aut.OFS
ПК
Pressure
VIPA.OPCServer
MPI
Інтерфейс ОРС
VIPA
200
TSX Micro
PLC2 PLC1
%MW100 MW100
Інтерфейс ОРС
драйвер ОРС Client
T1 P1
Конфігурування ОFS
Конфігурування VIPA-OPC.
7
Функціонування ОРС DA з точки зору інтегратора (Приклад)
Citect
Схема обміну даним SCADA Citect з використанням ОРС.
Temperat
ure
Modbus RTU
Schneder-Aut.OFS
ПК
Pressure
VIPA.OPCServer
MPI
Інтерфейс ОРС
VIPA
200
TSX Micro
PLC2 PLC1
%MW100 MW100
Інтерфейс ОРС
драйвер ОРС Client
T1 P1
Створення в Citect IODevices, прив’язаних до OPC-
серверів .Створення в Citect Variable Tags .
Принципи функціонування ОРС DA
8
9
Принципи функціонування ОРС DA. Модель взаємодії.
SCADA
ПЛК %MW100
%MW101
%MW102
%MW103
OPC Client
435,45 438,49
Group 1
Item1
Item2
Group 2
Item3
Item4
драйвери зв’язку
дані
змінна1
змінна2
змінна3
змінна4
конфігуратор
OPC
конфігураційні
дані
Прикладна програма
X
Group 3
Item5
Item6
OPC Server
438,49435,45
OPC Client
Принципи функціонування
ОРС DA
ПК
VAR1
VAR2
VAR3
VAR4
OPC Server – прикладна програма, яка
надає доступ до обєктів через ОРС
інтерфейси
OPC Client – прикладна програма, яка
користується обєктами ОРС Серверу
через ОРС інтерфейс
OPC ProgID – символьний ідентифікатор
програми ОРС Серверу
OPC Item – обєкт ОРС Серверу, що
асоціюється з джерелом даних
OPC ItemID – унікальний в межах серверу
ідентифікатор джерела даних
Value – властивість OPC Item що
асоціюється зі значенням джерела даних;
TimeStamp – властивість OPC Item що
асоціюється з часом останнім
відновлення;
Quality - властивість OPC Item що
асоціюється з якістю джерела даних;
OPC Group – обєкт Серверу, який
призначений для виконання групових
операцій з OPC Item, належить Клієнту
OPC Browser – обєкт Серверу, який
дозволяє проводити навігацію по простору
імен ItemID
10
Принципи функціонування ОРС DA.
Механізми читання та запису даних процесу
Підписка
ОРС-client
Виклик
myGroup.IsSubscribed
myGroup_DataChange()
myGroup_AsyncReadComplete()
myGroup_DataChange()
ОРС-server
синхронне читання
myGroup.AsyncRead()
ОРС-client ОРС-server
асинхронне читання
періодичне читання з оповіщенням
Відповідь
Виклик
Відповідь
Оповіщення
Оповіщення
ОРС-client ОРС-server
myGroup.SyncRead()
Способи читання OPC-
Item в ОРС-Group
ОРС client
Виклик
myGroup_AsyncWriteComplete()
ОРС server
синхронний запис
myGroup.AsyncWrite()
ОРС client ОРС server
асинхронний запис
Відповідь
Виклик
Відповідь
myGroup.SyncWrite()
Способи запису OPC Group
11
Ідентифікація даних ОРС. ItemID
OPC ItemID – унікальний в межах серверу ідентифікатор
джерела даних, правила найменування не визначається
стандартом
OPC Browser – обєкт Серверу, який дозволяє проводити
навігацію по простору імен ItemID
PLC_Difuz
Tag
Tag
Tag
F_vyrobn
F_recyrk
F_300
F_120
T_kolon
T_oshpar
F_sp
F_value
F_Kp
root(корінь)
branch(гілка)
leave(лист) -
Item
ItemID="PLC_Difuz.F_recyrk.F_value"
OPC Browser.
Простір імен ItemID може бути доступний у вигляді:
- списку (flat)
- ієрархічне дерево (hierarchical)
12
Робота з віддаленим ОРС Сервером
SCADA
ПЛК2
драйвери зв’язку
OPC Server
DCOM
TCP/IP
TCP/IP
DCOM
ПЛК1
OPCServer2
OPC Client
драйвери зв’язку
OPC Server
OPCServer1
ПЛК3
драйвери зв’язку
OPC Server
TCP/IP
DCOM
OPCServer3
DCOM DCOM
ПЛК4
ПК1
ПК2 ПК3
192.168.1.1
192.168.1.2 192.168.1.3
Приклад з’єднання трьох пристроїв через DCOM
Послідовність
- на вузлах серверу ОРС Серверу та ОРС Клієнту
налаштовується DCOM та брандмауери ;
- в ОРС Клієнті крім ProgID вказується Server Node
Вимоги
- вузли ОРС Серверу та ОРС Клієнту в межах одного
домену або робочої групи
- на вузлах запущені необхідні служби (RPC, COM …)
- на вузлах налаштовані брандмауери
13
Область застосування ОРС
SCADA
ПЛК1
драйвери зв’язку
OPC Server
SCADA
OPC Client
ПЛК2
драйвери зв’язку
OPC Server
DCOM
ПЛК3
SCADA
ПК1
ПК2 ПК3
MES-
програма
OPC Client
ПК4
Excel
OPC Client
ПК5
Приклад використання ОРС в якості моста
SCADA програма "SamplSCADA"
приклад «класичного» використання ОРС
змінні реального часу SCADA
драйвер для X драйвер для Y
змінні реального
часу OPC
драйвер для Z
ОРС-Сервер "Sampl.OPC"
Інтерфейс ОРС
ПК
ПЛК1 ПЛК21 ПЛК31 ПЛК43
1
змінні реального
часу OPC
ОРС-Сервер
"Exmpl.OPC"
драйвер для Q
Інтерфейс ОРС
драйвер ОРС Client
Недоліки OPC DA
• на COM:
• тільки Windows/тільки PC
• складності DCOM
• небезпечний (чорний ящик)
• не прозорий для Інтернета/IIoT
• проблеми адресації (немає чітких правил,
адресація тільки всередині сервера, глибока
ієрархія…)
• декілька різних специфікацій (DA, HDA,
AE, Batch)
14
Основні концепції OPC UA:
інформаційна модель
Вступ в OPC UA
Єдиний стандарт для різних задач:
• інформаційні моделі:
• DA - Data Access
• AC - Alarms & Conditions
• HA - Historical Access
• Prog - Programs
• свої
• розширення
Комунікаційна архітектура
https://reference.opcfoundation.org/v104/Core/docs/Part6/4/
https://reference.opcfoundation.org/v104/Core/docs/Part6/7.6/
Transport
Mapping
URL
OPC UA TCP
opc.tcp://localhost:4840/UADiscover
y
OPC UA
WebSockets
opc.wss://localhost:443/UADiscovery
OPC UA
HTTPS
https://localhost:443/UADiscovery
Кодування даних
• XML/text;
• UA Binary;
• JSON.
Об’єктна модель
• Client-Server
• Сервер надає сервіси, при
підключенні говорить які
доступні
• данні і сервіси доступні через
об'єкти
• об'єкти мають методи,
властивості, події …
• об'єкти і їх складові пов'язані в адресні простори (Address
Space)
Адресний простір
Object - folder
Object
Data Variable
Method
Property
• об'єкти і їх частини – вузли
• вузли ідентифікуються в адресному просторі
Модель вузла
• атрибути (набор характеристик)
• посилання (організація зв'язку вузлів)
Модель вузла: атрибути
Атрибути:
• не видимі (не представлені) як
вузол в адресному просторі
• елементарні дані про вузол
• набір атрибутів незмінний
• набір залежить від класу
об'єкта
• зчитуються/пишуться
• мають: ID, ім'я, опис, тип даних,
індикатор
Класи вузлів
• Object (обєкт) – аналогія екземпляра в ООП
• Variable (змінн) – зміст об'єкта
• Method (Метод)
• View (прдеставлення) – організація свого виду адресного простору
• ObjectType (тип обєкту) – аналогія класу об'єкта в ООП
• VariableType (тип змінної) – означує набір властивостей для змінної
• ReferenceType (тип посилання)
• DataType (тип даних)
• означує
• набір атрибутів
• типів посилань
• не розширюються (не
можна добавити свій)
Object
• Контейнер (посилань) для методів, змінних,
властивостей, інших об'єктів; сам не містить
значення
• може ініціювати події (для ідентифікації події)
Variable
• Представляють зміст об'єкта (об'єкт не має
атрибута Value)
• Читання, запис, підписка
• Типи Variables:
• Properties (Властивості)
• DataVariables (Змінні даних)
Variable - DataVariable
• представляють зміст об'єкту
• можуть включати (посилання) інші об'єкти і
властивості
Variable - Property
• для опису об'єкта/змінної
• добавляються за необхідності (атрибути добавити не
можна)
• не можуть мати вкладених властивостей
Атрибути vs властивості
Method
• для дії над об'єктом (в контексті об'єкта)
• приймають аргументи
• повертають результат
• повинні виконуватися швидко, в іншому випадку -
Programs
Ідентифікація вузлів
Ідентифікація вузлів OPC UA
NodeID – унікальний ідентифікатор вузла на сервері:
• Namespace Index
• Identifier Type
• Identifier
Namespace Index
• посилається по номеру на URI простору імен
NS
• в межах NS ID унікальні
• глобальні URI або локальний сервер
• список URI зберігається в таблиці Namespaces,
індекс списку и є Namespace Index
• таблиці і індекси можуть змінюватися від сесії
до сесії, 0 – завжди OPC UA
Ідентифікатори
Identifier type – формат і тип даних NodeID:
• Numeric, String, GUID, opaque (ByteString)
Identifier – сам ідентифікатор
Ідентифікатори: XML-нотація
<namespace index> - індекс простору імен, якщо 0 можна не писати
<identifier type>:
• i – NUMERIC (UInteger);
• s – STRING (String);
• g – GUID (Guid);
• b – OPAQUE (ByteString)
<identifier> - у форматі string
ns=2;s=MyTemperature
namespace index 2, string
identifier
i=2045
namespace index 0, numeric
identifier
ns=1;g=09087e75-8e5e-499b-
954f-f2a9603db28a
namespace index 1, GUID
identifier
ns=1;b=M/RbKBsRVkePCePcx24o
RA==
namespace index 1,
Opaque/ByteString identifier
Унікальність NodeID
Читання/запис в OPC UA
Підписка
Підключення до OPC UA
Endpoints
• усі параметри підключення в кінцевих точках (endpoint)
• URL: протокол + адреса
• Security Policy – алгоритм безпеки і размір ключа
• Message Security Mode – рівень безпеки для повідомлень
• User Token Type – тип автентифікації
• Discovery Server (LDS) – для означення серверів
• OPC UA сервер надає як
мінімум одну кінцеву точку
без захисту, що дає
перелік доступних кінцевих
точок
LDS - opc.tcp://targetHost:4840
Утиліти
Тестові сервери: OPC Unified
Architecture Server
Тестові сервери
node-opcua wiki
publicly available OPC UA Servers and
Clients
http://opcuaserver.com
Name Endpoint URL Vendor Vendor web site
Local Discovery Server opc.tcp://opcuaserver.com:4840
OPC
Foundation
https://opcfoundation.or
g
OPC UA C++ Demo
Server
opc.tcp://opcuaserver.com:48010
Unified
Automation
https://www.unified-
automation.com
OPC UA Demo
Weather Server
(provides real weather
data with 15 minute
rate for majority of
countries and cities
around world)
opc.tcp://opcuaserver.com:48484
Open source project at
GitHub
Тестові клієнти
UaExpert
https://www.uaclient.com
Для Android (Prosys OPC UA Client)
opc.tcp://opcuaserver.com:48010
1 2 3
4 5 6
2
7
1
8
HMI з OPC UA для Android (Suppanel
HMI)1
https://youtu.be/35Tt8GHt58U
2 3 4 5
6
7
opc.tcp://opcuaserver.com:48010
8
HMI з OPC UA для Android (Suppanel
HMI)
https://youtu.be/35Tt8GHt58U
1 2 3 4
5
тримати
6
7
8
9
10
подвійний
11
45
SCADA – клієнти (Citect)
SCADA – клієнти (Citect)
SCADA – клієнти (zenon)

More Related Content

What's hot

Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Пупена Александр
 
Короткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMКороткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMПупена Александр
 
8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізаціїПупена Александр
 
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenonПупена Александр
 
2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсуПупена Александр
 
Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...
Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...
Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...Пупена Александр
 
Концепція розробки програмного забезпечення для програмованих логічних контро...
Концепція розробки програмного забезпечення для програмованих логічних контро...Концепція розробки програмного забезпечення для програмованих логічних контро...
Концепція розробки програмного забезпечення для програмованих логічних контро...Пупена Александр
 
1 1 призначення засобів людино машинного інтерфейсу та scada
1 1 призначення засобів людино машинного інтерфейсу та scada1 1 призначення засобів людино машинного інтерфейсу та scada
1 1 призначення засобів людино машинного інтерфейсу та scadaПупена Александр
 

What's hot (20)

Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131
 
11 Підсистеми захисту
11 Підсистеми захисту11 Підсистеми захисту
11 Підсистеми захисту
 
лр6 використання modbus для scada
лр6 використання modbus для scada лр6 використання modbus для scada
лр6 використання modbus для scada
 
Короткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMКороткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOM
 
пім косп лекц
пім косп лекцпім косп лекц
пім косп лекц
 
2 2 Інші функції SCADA/HMI
2 2 Інші функції SCADA/HMI2 2 Інші функції SCADA/HMI
2 2 Інші функції SCADA/HMI
 
8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації
 
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
 
лр3 основи modbus
лр3 основи modbusлр3 основи modbus
лр3 основи modbus
 
лр7 ethernet
лр7 ethernet лр7 ethernet
лр7 ethernet
 
2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу
 
S88.01 tutorial (укр мова)
S88.01 tutorial (укр мова)S88.01 tutorial (укр мова)
S88.01 tutorial (укр мова)
 
лр4 основи modbus
лр4 основи modbusлр4 основи modbus
лр4 основи modbus
 
Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...
Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...
Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...
 
Лекція №11
Лекція №11Лекція №11
Лекція №11
 
Лекція №6
Лекція №6Лекція №6
Лекція №6
 
Концепція розробки програмного забезпечення для програмованих логічних контро...
Концепція розробки програмного забезпечення для програмованих логічних контро...Концепція розробки програмного забезпечення для програмованих логічних контро...
Концепція розробки програмного забезпечення для програмованих логічних контро...
 
Лекція №10
Лекція №10Лекція №10
Лекція №10
 
1 1 призначення засобів людино машинного інтерфейсу та scada
1 1 призначення засобів людино машинного інтерфейсу та scada1 1 призначення засобів людино машинного інтерфейсу та scada
1 1 призначення засобів людино машинного інтерфейсу та scada
 
лаб роботи Zenon Batch Control
лаб роботи Zenon Batch Controlлаб роботи Zenon Batch Control
лаб роботи Zenon Batch Control
 

Similar to 5 Підсистема введення/виведення. OPC

Изучение интерфейсов операционных систем с помощью Embedded System
Изучение интерфейсов операционных систем с помощью Embedded SystemИзучение интерфейсов операционных систем с помощью Embedded System
Изучение интерфейсов операционных систем с помощью Embedded Systemitconnect2016
 
Android: Інструменти програміста
Android: Інструменти програмістаAndroid: Інструменти програміста
Android: Інструменти програмістаAnatoliy Odukha
 
Computers and Computing Works lecture №8
Computers and Computing Works lecture №8Computers and Computing Works lecture №8
Computers and Computing Works lecture №8Lesia Sobolevska
 
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy KharytonskiyFwdays
 
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ..."Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...Fwdays
 
Web service lecture
Web service lectureWeb service lecture
Web service lectureeleksdev
 
2 3 утиліти для роботи з COM-портами ПК
2 3 утиліти для роботи з COM-портами ПК 2 3 утиліти для роботи з COM-портами ПК
2 3 утиліти для роботи з COM-портами ПК Пупена Александр
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net eleksdev
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_netRingonoki
 
"Key considerations in implementing a distributed message-sending system usin...
"Key considerations in implementing a distributed message-sending system usin..."Key considerations in implementing a distributed message-sending system usin...
"Key considerations in implementing a distributed message-sending system usin...Fwdays
 
урок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережаурок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережаHelen Pata
 

Similar to 5 Підсистема введення/виведення. OPC (20)

Opc
OpcOpc
Opc
 
Dbase
DbaseDbase
Dbase
 
Изучение интерфейсов операционных систем с помощью Embedded System
Изучение интерфейсов операционных систем с помощью Embedded SystemИзучение интерфейсов операционных систем с помощью Embedded System
Изучение интерфейсов операционных систем с помощью Embedded System
 
Лекція №16
Лекція №16Лекція №16
Лекція №16
 
Android: Інструменти програміста
Android: Інструменти програмістаAndroid: Інструменти програміста
Android: Інструменти програміста
 
ASP.Net basics
ASP.Net basics ASP.Net basics
ASP.Net basics
 
3 1 Modbus Protocol
3 1 Modbus Protocol3 1 Modbus Protocol
3 1 Modbus Protocol
 
Computers and Computing Works lecture №8
Computers and Computing Works lecture №8Computers and Computing Works lecture №8
Computers and Computing Works lecture №8
 
Rpc
RpcRpc
Rpc
 
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
 
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ..."Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...
 
Profibus (УКР)
Profibus (УКР)Profibus (УКР)
Profibus (УКР)
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
 
2 3 утиліти для роботи з COM-портами ПК
2 3 утиліти для роботи з COM-портами ПК 2 3 утиліти для роботи з COM-портами ПК
2 3 утиліти для роботи з COM-портами ПК
 
Розгортання середовища для Camunda
Розгортання середовища для CamundaРозгортання середовища для Camunda
Розгортання середовища для Camunda
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_net
 
"Key considerations in implementing a distributed message-sending system usin...
"Key considerations in implementing a distributed message-sending system usin..."Key considerations in implementing a distributed message-sending system usin...
"Key considerations in implementing a distributed message-sending system usin...
 
урок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережаурок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережа
 
Crawler.pptx
Crawler.pptxCrawler.pptx
Crawler.pptx
 

More from Пупена Александр

2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІПупена Александр
 
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDМастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDПупена Александр
 
Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Пупена Александр
 
Git и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаGit и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаПупена Александр
 
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0 Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0 Пупена Александр
 
Промышленные сети в АСУТП. Начальный уровень.
Промышленные сети в АСУТП.  Начальный уровень.Промышленные сети в АСУТП.  Начальный уровень.
Промышленные сети в АСУТП. Начальный уровень.Пупена Александр
 
навіщо нам потрібен стандарт Isa 88
навіщо нам потрібен стандарт Isa 88навіщо нам потрібен стандарт Isa 88
навіщо нам потрібен стандарт Isa 88Пупена Александр
 

More from Пупена Александр (15)

Node-RED довідник
Node-RED довідникNode-RED довідник
Node-RED довідник
 
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
 
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDМастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
 
Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0»
 
Git и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаGit и GitHub для создания учебного контента
Git и GitHub для создания учебного контента
 
Git4 all
Git4 allGit4 all
Git4 all
 
Presentation 111019 1
Presentation 111019 1Presentation 111019 1
Presentation 111019 1
 
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0 Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
 
Vebinar isa88
Vebinar isa88Vebinar isa88
Vebinar isa88
 
Pac framework v1_250318
Pac framework v1_250318Pac framework v1_250318
Pac framework v1_250318
 
Tda18 1
Tda18 1Tda18 1
Tda18 1
 
кадри в індустрії 4
кадри в індустрії 4 кадри в індустрії 4
кадри в індустрії 4
 
Промышленные сети в АСУТП. Начальный уровень.
Промышленные сети в АСУТП.  Начальный уровень.Промышленные сети в АСУТП.  Начальный уровень.
Промышленные сети в АСУТП. Начальный уровень.
 
UNITY PRO – ШВИДКИЙ СТАРТ
UNITY PRO – ШВИДКИЙ СТАРТUNITY PRO – ШВИДКИЙ СТАРТ
UNITY PRO – ШВИДКИЙ СТАРТ
 
навіщо нам потрібен стандарт Isa 88
навіщо нам потрібен стандарт Isa 88навіщо нам потрібен стандарт Isa 88
навіщо нам потрібен стандарт Isa 88
 

Recently uploaded

Черкаський художньо-технічний коледж оголошує про день відкритих дверей
Черкаський художньо-технічний коледж оголошує про день відкритих дверейЧеркаський художньо-технічний коледж оголошує про день відкритих дверей
Черкаський художньо-технічний коледж оголошує про день відкритих дверейvitaliyinformatik
 
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»tetiana1958
 
Презентація роботи Осипенківської ЗОШ 2023-2024.pptx
Презентація роботи Осипенківської ЗОШ 2023-2024.pptxПрезентація роботи Осипенківської ЗОШ 2023-2024.pptx
Презентація роботи Осипенківської ЗОШ 2023-2024.pptxssuserc6cee7
 
Kryterii otciniuvannia navchalnykh dosiahnen
Kryterii otciniuvannia navchalnykh dosiahnenKryterii otciniuvannia navchalnykh dosiahnen
Kryterii otciniuvannia navchalnykh dosiahnenolha1koval
 
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptx
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptxПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptx
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptxAlexanderSholk
 
Луцький центр ПТО соціальний проєкт .pptx
Луцький центр ПТО соціальний проєкт .pptxЛуцький центр ПТО соціальний проєкт .pptx
Луцький центр ПТО соціальний проєкт .pptxhome
 
Роберт Шеклі. Біографія письменника-фантаста
Роберт Шеклі. Біографія письменника-фантастаРоберт Шеклі. Біографія письменника-фантаста
Роберт Шеклі. Біографія письменника-фантастаAdriana Himinets
 
освітня програма 2023-2024 .
освітня програма  2023-2024                    .освітня програма  2023-2024                    .
освітня програма 2023-2024 .zaskalko111
 
критерії сооцінювання і взаємооцінюваннятехнології.pdf
критерії сооцінювання і взаємооцінюваннятехнології.pdfкритерії сооцінювання і взаємооцінюваннятехнології.pdf
критерії сооцінювання і взаємооцінюваннятехнології.pdfolha1koval
 
Автомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptxАвтомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptxvitalina6709
 
Критерії самоцінювання Іноземні мови.pdf
Критерії самоцінювання  Іноземні мови.pdfКритерії самоцінювання  Іноземні мови.pdf
Критерії самоцінювання Іноземні мови.pdfolha1koval
 

Recently uploaded (15)

Черкаський художньо-технічний коледж оголошує про день відкритих дверей
Черкаський художньо-технічний коледж оголошує про день відкритих дверейЧеркаський художньо-технічний коледж оголошує про день відкритих дверей
Черкаський художньо-технічний коледж оголошує про день відкритих дверей
 
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
 
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
 
Презентація роботи Осипенківської ЗОШ 2023-2024.pptx
Презентація роботи Осипенківської ЗОШ 2023-2024.pptxПрезентація роботи Осипенківської ЗОШ 2023-2024.pptx
Презентація роботи Осипенківської ЗОШ 2023-2024.pptx
 
Kryterii otciniuvannia navchalnykh dosiahnen
Kryterii otciniuvannia navchalnykh dosiahnenKryterii otciniuvannia navchalnykh dosiahnen
Kryterii otciniuvannia navchalnykh dosiahnen
 
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptx
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptxПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptx
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptx
 
Луцький центр ПТО соціальний проєкт .pptx
Луцький центр ПТО соціальний проєкт .pptxЛуцький центр ПТО соціальний проєкт .pptx
Луцький центр ПТО соціальний проєкт .pptx
 
Роберт Шеклі. Біографія письменника-фантаста
Роберт Шеклі. Біографія письменника-фантастаРоберт Шеклі. Біографія письменника-фантаста
Роберт Шеклі. Біографія письменника-фантаста
 
Її величність - українська книга презентація-огляд 2024.pptx
Її величність - українська книга презентація-огляд 2024.pptxЇї величність - українська книга презентація-огляд 2024.pptx
Її величність - українська книга презентація-огляд 2024.pptx
 
17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx
17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx
17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx
 
освітня програма 2023-2024 .
освітня програма  2023-2024                    .освітня програма  2023-2024                    .
освітня програма 2023-2024 .
 
критерії сооцінювання і взаємооцінюваннятехнології.pdf
критерії сооцінювання і взаємооцінюваннятехнології.pdfкритерії сооцінювання і взаємооцінюваннятехнології.pdf
критерії сооцінювання і взаємооцінюваннятехнології.pdf
 
17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx
17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx
17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx
 
Автомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptxАвтомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptx
 
Критерії самоцінювання Іноземні мови.pdf
Критерії самоцінювання  Іноземні мови.pdfКритерії самоцінювання  Іноземні мови.pdf
Критерії самоцінювання Іноземні мови.pdf
 

5 Підсистема введення/виведення. OPC

  • 1. Людино-машинні інтерфейси та SCADA Підсистема введення/виведення. OPC автор і лектор: Олександр Пупена (pupena_san@ukr.net) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua) 13.10.2020 1
  • 3. 3 Передумови виникнення ОРС  Вибір іншої промислової мережі, яка б підтримувалась з боку SCADA та контролеру.  Написання спеціального драйверу, якого не існує в SCADA, для забезпечення зв’язку з контролером.  Заміна частини одних контролерів іншими, для яких є драйвери зв’язку.  Використання шлюзів для промислових мереж.  Використання “універсального драйверу” зі стандартним інтерфейсом. SCADA X драйвер ЛОМИКОНТ Modbus MPI Підключення декількох контролерів до SCADA- програми "Сеть ЛОМИКОНТ" M340 S7-300 Л-110 ПК драйвер Modbus драйвер S7-MPI Варіанти способів інтеграції програмних продуктів з засобами автоматизації різних виробників на прикладі SCADA.
  • 4. 4 Стандарти ОРС OPC DA (Data Access) – специфікація доступу до даних реального часу; OPC AE (Alarms & Events) – для реалізації задач попереджувально-аварійних сигналізацій; OPC HDA (Historical Data Access) – для реалізації задач ведення архіву та доступу до архівних даних; OPC DX (Data eXchange) – для безпосереднього обміну між ОРС-серверами; OPC XML – для обміну даними через інтермережі за допомогою структур XML на базі WEB-сервісів та SOAP; OPC Batсh – для реалізації управління рецептурними задачами. OPC UA (United Architecture) – самий новий платформо-незалежний стандарт, який об’єднує функції всіх наведених вище специфікацій, але функціонує не на базі СОМ а WEB-сервісах . OPC A&E Client Alarm Management OPC HDA Client Trend Display OPC A&E Server OPC HDA Server COM/DCOM OPC DA Client SCADA COM/DCOM OPC DA Server OPC DA Server PLCPLC DCSDCS залежні від виробника Специфікації ОРС. OPC – OLE For Process Control - базуються на СОМ: OPC DA, AE, HDA, DX, Batch Перші версії Нові версії OPC – Open Platform Communications - базуються на WEB технологіях HTTP/XML/SOAP а не на СОМ Розробник OPC Foundation – некомерційна організація заснована групою всесвітньо-відомих компаній виробників ПТЗ автоматизації, що розвиває та підтримує стандарти (www.opcfoundation.org) Архітектура Клієнт-Серверна архітектура, мультисерверність та мультиклієнтність
  • 5. 5 Функціонування ОРС DA з точки зору інтегратора SCADA програма "SamplSCADA" Функціонування ОРС з точки зору інтегратора змінні реального часу SCADA драйвер для X драйвер для Y змінні реального часу OPC драйвер для Z ОРС-Сервер "Sampl.OPC" Інтерфейс ОРС ПК ПЛК1 ПЛК2 1 ПЛК3 1 ПЛК4 31 змінні реального часу OPC ОРС-Сервер "Exmpl.OPC" драйвер для Q Інтерфейс ОРС драйвер ОРС Client Для реалізації зв’язку через ОРС DA: • Налаштувати OPC-Сервер за допомогою спеціалізованої програми-конфігуратора: створити всі необхідні змінні сервера, тобто дати їм ім’я (ItemID) та вказати джерела даних в ПЛК, на які вони посилаються. • В SCADA-програмі вказати: • назву ОРС-Сервера, з яким необхідно зв’язатися (ProgID). У нашому прикладі це будуть два сервери "Sampl.OPC" та "Exmpl.OPC". Інколи SCADA надає можливість вибору ProgID зі списку зареєстрованих ОРС-Серверів. • для вибраної змінної в якості джерела даних вказати ім’я на ОРС-Сервері, тобто ItemID, що був створений на 1-му кроці. Як правило ItemID вибирається зі списку, який надає Browser на стороні ОРС- Клієнта.
  • 6. 6 Функціонування ОРС DA з точки зору інтегратора (Приклад) Citect Схема обміну даним SCADA Citect з використанням ОРС. Temperat ure Modbus RTU Schneder-Aut.OFS ПК Pressure VIPA.OPCServer MPI Інтерфейс ОРС VIPA 200 TSX Micro PLC2 PLC1 %MW100 MW100 Інтерфейс ОРС драйвер ОРС Client T1 P1 Конфігурування ОFS Конфігурування VIPA-OPC.
  • 7. 7 Функціонування ОРС DA з точки зору інтегратора (Приклад) Citect Схема обміну даним SCADA Citect з використанням ОРС. Temperat ure Modbus RTU Schneder-Aut.OFS ПК Pressure VIPA.OPCServer MPI Інтерфейс ОРС VIPA 200 TSX Micro PLC2 PLC1 %MW100 MW100 Інтерфейс ОРС драйвер ОРС Client T1 P1 Створення в Citect IODevices, прив’язаних до OPC- серверів .Створення в Citect Variable Tags .
  • 9. 9 Принципи функціонування ОРС DA. Модель взаємодії. SCADA ПЛК %MW100 %MW101 %MW102 %MW103 OPC Client 435,45 438,49 Group 1 Item1 Item2 Group 2 Item3 Item4 драйвери зв’язку дані змінна1 змінна2 змінна3 змінна4 конфігуратор OPC конфігураційні дані Прикладна програма X Group 3 Item5 Item6 OPC Server 438,49435,45 OPC Client Принципи функціонування ОРС DA ПК VAR1 VAR2 VAR3 VAR4 OPC Server – прикладна програма, яка надає доступ до обєктів через ОРС інтерфейси OPC Client – прикладна програма, яка користується обєктами ОРС Серверу через ОРС інтерфейс OPC ProgID – символьний ідентифікатор програми ОРС Серверу OPC Item – обєкт ОРС Серверу, що асоціюється з джерелом даних OPC ItemID – унікальний в межах серверу ідентифікатор джерела даних Value – властивість OPC Item що асоціюється зі значенням джерела даних; TimeStamp – властивість OPC Item що асоціюється з часом останнім відновлення; Quality - властивість OPC Item що асоціюється з якістю джерела даних; OPC Group – обєкт Серверу, який призначений для виконання групових операцій з OPC Item, належить Клієнту OPC Browser – обєкт Серверу, який дозволяє проводити навігацію по простору імен ItemID
  • 10. 10 Принципи функціонування ОРС DA. Механізми читання та запису даних процесу Підписка ОРС-client Виклик myGroup.IsSubscribed myGroup_DataChange() myGroup_AsyncReadComplete() myGroup_DataChange() ОРС-server синхронне читання myGroup.AsyncRead() ОРС-client ОРС-server асинхронне читання періодичне читання з оповіщенням Відповідь Виклик Відповідь Оповіщення Оповіщення ОРС-client ОРС-server myGroup.SyncRead() Способи читання OPC- Item в ОРС-Group ОРС client Виклик myGroup_AsyncWriteComplete() ОРС server синхронний запис myGroup.AsyncWrite() ОРС client ОРС server асинхронний запис Відповідь Виклик Відповідь myGroup.SyncWrite() Способи запису OPC Group
  • 11. 11 Ідентифікація даних ОРС. ItemID OPC ItemID – унікальний в межах серверу ідентифікатор джерела даних, правила найменування не визначається стандартом OPC Browser – обєкт Серверу, який дозволяє проводити навігацію по простору імен ItemID PLC_Difuz Tag Tag Tag F_vyrobn F_recyrk F_300 F_120 T_kolon T_oshpar F_sp F_value F_Kp root(корінь) branch(гілка) leave(лист) - Item ItemID="PLC_Difuz.F_recyrk.F_value" OPC Browser. Простір імен ItemID може бути доступний у вигляді: - списку (flat) - ієрархічне дерево (hierarchical)
  • 12. 12 Робота з віддаленим ОРС Сервером SCADA ПЛК2 драйвери зв’язку OPC Server DCOM TCP/IP TCP/IP DCOM ПЛК1 OPCServer2 OPC Client драйвери зв’язку OPC Server OPCServer1 ПЛК3 драйвери зв’язку OPC Server TCP/IP DCOM OPCServer3 DCOM DCOM ПЛК4 ПК1 ПК2 ПК3 192.168.1.1 192.168.1.2 192.168.1.3 Приклад з’єднання трьох пристроїв через DCOM Послідовність - на вузлах серверу ОРС Серверу та ОРС Клієнту налаштовується DCOM та брандмауери ; - в ОРС Клієнті крім ProgID вказується Server Node Вимоги - вузли ОРС Серверу та ОРС Клієнту в межах одного домену або робочої групи - на вузлах запущені необхідні служби (RPC, COM …) - на вузлах налаштовані брандмауери
  • 13. 13 Область застосування ОРС SCADA ПЛК1 драйвери зв’язку OPC Server SCADA OPC Client ПЛК2 драйвери зв’язку OPC Server DCOM ПЛК3 SCADA ПК1 ПК2 ПК3 MES- програма OPC Client ПК4 Excel OPC Client ПК5 Приклад використання ОРС в якості моста SCADA програма "SamplSCADA" приклад «класичного» використання ОРС змінні реального часу SCADA драйвер для X драйвер для Y змінні реального часу OPC драйвер для Z ОРС-Сервер "Sampl.OPC" Інтерфейс ОРС ПК ПЛК1 ПЛК21 ПЛК31 ПЛК43 1 змінні реального часу OPC ОРС-Сервер "Exmpl.OPC" драйвер для Q Інтерфейс ОРС драйвер ОРС Client
  • 14. Недоліки OPC DA • на COM: • тільки Windows/тільки PC • складності DCOM • небезпечний (чорний ящик) • не прозорий для Інтернета/IIoT • проблеми адресації (немає чітких правил, адресація тільки всередині сервера, глибока ієрархія…) • декілька різних специфікацій (DA, HDA, AE, Batch) 14
  • 15. Основні концепції OPC UA: інформаційна модель
  • 16. Вступ в OPC UA Єдиний стандарт для різних задач: • інформаційні моделі: • DA - Data Access • AC - Alarms & Conditions • HA - Historical Access • Prog - Programs • свої • розширення
  • 17. Комунікаційна архітектура https://reference.opcfoundation.org/v104/Core/docs/Part6/4/ https://reference.opcfoundation.org/v104/Core/docs/Part6/7.6/ Transport Mapping URL OPC UA TCP opc.tcp://localhost:4840/UADiscover y OPC UA WebSockets opc.wss://localhost:443/UADiscovery OPC UA HTTPS https://localhost:443/UADiscovery Кодування даних • XML/text; • UA Binary; • JSON.
  • 18. Об’єктна модель • Client-Server • Сервер надає сервіси, при підключенні говорить які доступні • данні і сервіси доступні через об'єкти • об'єкти мають методи, властивості, події … • об'єкти і їх складові пов'язані в адресні простори (Address Space)
  • 19. Адресний простір Object - folder Object Data Variable Method Property • об'єкти і їх частини – вузли • вузли ідентифікуються в адресному просторі
  • 20. Модель вузла • атрибути (набор характеристик) • посилання (організація зв'язку вузлів)
  • 21. Модель вузла: атрибути Атрибути: • не видимі (не представлені) як вузол в адресному просторі • елементарні дані про вузол • набір атрибутів незмінний • набір залежить від класу об'єкта • зчитуються/пишуться • мають: ID, ім'я, опис, тип даних, індикатор
  • 22. Класи вузлів • Object (обєкт) – аналогія екземпляра в ООП • Variable (змінн) – зміст об'єкта • Method (Метод) • View (прдеставлення) – організація свого виду адресного простору • ObjectType (тип обєкту) – аналогія класу об'єкта в ООП • VariableType (тип змінної) – означує набір властивостей для змінної • ReferenceType (тип посилання) • DataType (тип даних) • означує • набір атрибутів • типів посилань • не розширюються (не можна добавити свій)
  • 23. Object • Контейнер (посилань) для методів, змінних, властивостей, інших об'єктів; сам не містить значення • може ініціювати події (для ідентифікації події)
  • 24. Variable • Представляють зміст об'єкта (об'єкт не має атрибута Value) • Читання, запис, підписка • Типи Variables: • Properties (Властивості) • DataVariables (Змінні даних)
  • 25. Variable - DataVariable • представляють зміст об'єкту • можуть включати (посилання) інші об'єкти і властивості
  • 26. Variable - Property • для опису об'єкта/змінної • добавляються за необхідності (атрибути добавити не можна) • не можуть мати вкладених властивостей
  • 28. Method • для дії над об'єктом (в контексті об'єкта) • приймають аргументи • повертають результат • повинні виконуватися швидко, в іншому випадку - Programs
  • 30. Ідентифікація вузлів OPC UA NodeID – унікальний ідентифікатор вузла на сервері: • Namespace Index • Identifier Type • Identifier
  • 31. Namespace Index • посилається по номеру на URI простору імен NS • в межах NS ID унікальні • глобальні URI або локальний сервер • список URI зберігається в таблиці Namespaces, індекс списку и є Namespace Index • таблиці і індекси можуть змінюватися від сесії до сесії, 0 – завжди OPC UA
  • 32. Ідентифікатори Identifier type – формат і тип даних NodeID: • Numeric, String, GUID, opaque (ByteString) Identifier – сам ідентифікатор
  • 33. Ідентифікатори: XML-нотація <namespace index> - індекс простору імен, якщо 0 можна не писати <identifier type>: • i – NUMERIC (UInteger); • s – STRING (String); • g – GUID (Guid); • b – OPAQUE (ByteString) <identifier> - у форматі string ns=2;s=MyTemperature namespace index 2, string identifier i=2045 namespace index 0, numeric identifier ns=1;g=09087e75-8e5e-499b- 954f-f2a9603db28a namespace index 1, GUID identifier ns=1;b=M/RbKBsRVkePCePcx24o RA== namespace index 1, Opaque/ByteString identifier
  • 38. Endpoints • усі параметри підключення в кінцевих точках (endpoint) • URL: протокол + адреса • Security Policy – алгоритм безпеки і размір ключа • Message Security Mode – рівень безпеки для повідомлень • User Token Type – тип автентифікації • Discovery Server (LDS) – для означення серверів • OPC UA сервер надає як мінімум одну кінцеву точку без захисту, що дає перелік доступних кінцевих точок LDS - opc.tcp://targetHost:4840
  • 40. Тестові сервери: OPC Unified Architecture Server
  • 41. Тестові сервери node-opcua wiki publicly available OPC UA Servers and Clients http://opcuaserver.com Name Endpoint URL Vendor Vendor web site Local Discovery Server opc.tcp://opcuaserver.com:4840 OPC Foundation https://opcfoundation.or g OPC UA C++ Demo Server opc.tcp://opcuaserver.com:48010 Unified Automation https://www.unified- automation.com OPC UA Demo Weather Server (provides real weather data with 15 minute rate for majority of countries and cities around world) opc.tcp://opcuaserver.com:48484 Open source project at GitHub
  • 43. Для Android (Prosys OPC UA Client) opc.tcp://opcuaserver.com:48010 1 2 3 4 5 6 2 7 1 8
  • 44. HMI з OPC UA для Android (Suppanel HMI)1 https://youtu.be/35Tt8GHt58U 2 3 4 5 6 7 opc.tcp://opcuaserver.com:48010 8
  • 45. HMI з OPC UA для Android (Suppanel HMI) https://youtu.be/35Tt8GHt58U 1 2 3 4 5 тримати 6 7 8 9 10 подвійний 11 45