ПРОМИСЛОВІ ІНФОРМАЦІЙНІ МЕРЕЖІ ТА ІНТЕГРАЦІЙНІ ТЕХНОЛОГІЇ МЕТОДИЧНІ РЕКОМЕНДАЦІЇ до виконання лабораторних робіт для студентів напряму 6.050701 "Електротехніка та електротехнології" денної та заочної форм навчання
ПРОМИСЛОВІ ІНФОРМАЦІЙНІ МЕРЕЖІ ТА ІНТЕГРАЦІЙНІ ТЕХНОЛОГІЇ МЕТОДИЧНІ РЕКОМЕНДАЦІЇ до виконання лабораторних робіт для студентів напряму 6.050701 "Електротехніка та електротехнології" денної та заочної форм навчання
S88.01 Tutorial
Неофіційний переклад українською мовою
Оригінал посібника http://www.batchcontrol.com/s88/01_tutorial/index.shtml
Автори: Jim Parshall, Larry Lamb
КЕРУВАННЯ ПЕРІОДИЧНИМИ ВИРОБНИЦТВАМИ (BATCH CONTROL) Частина 1. МЕТОДИЧНІ РЕКОМЕНДАЦІЇ
до виконання лабораторних робіт для студентів напряму 8.05020202
S88.01 Tutorial
Неофіційний переклад українською мовою
Оригінал посібника http://www.batchcontrol.com/s88/01_tutorial/index.shtml
Автори: Jim Parshall, Larry Lamb
КЕРУВАННЯ ПЕРІОДИЧНИМИ ВИРОБНИЦТВАМИ (BATCH CONTROL) Частина 1. МЕТОДИЧНІ РЕКОМЕНДАЦІЇ
до виконання лабораторних робіт для студентів напряму 8.05020202
"Request Lifecycle at Prom.ua", Vitaliy KharytonskiyFwdays
A detailed journey of a single user request through prom.ua infrastructure including hardware, networks, services, and databases.
This talk will feature an explanation of our architecture and reasons behind its current state and external and internal challenges which arise in a high load project built completely on premise.
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...Fwdays
Developing and managing large projects can become a challenge for developers. This presentation will show how to overcome these challenges, using the example of one of the largest open-source PHP projects. We will discuss approaches to code organization, coding standards, effective tools, as well as the role of code review and testing. We won't forget about design patterns either.
"Key considerations in implementing a distributed message-sending system usin...Fwdays
Designing and implementing a scalable and reliable message-sending service may seem like a challenging and time-consuming task. However, let's explore some key points of implementation in .NET that will help us achieve the desired level of quality and avoid unexpected obstacles.
To accomplish this, we will:
Explore of some features of the .NET Confluent Kafka driver.
Examine real-life use cases of utilizing .NET channels as an InProc Pub/Sub mechanism to enhance application performance.
Discuss the usage of Minimal API and understand its limitations.
Compare gRPC streaming with HTTP and determine which option is more suitable for our specific scenario.
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDПупена Александр
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED. Перезентация к вебинару. Видео записи вебинара https://youtu.be/oGHVKl83wLQ
Даний посібник описує концепції використання взаємопов’язаного набору рекомендацій, структур даних та програм до розробки прикладного програмного забезпечення (ПЗ) для програмованих пристроїв, таких як промислові контролери (PLC/PAC) але не обмежених ними, з урахуванням типових вимог до систем керування, сучасних світових стандартів (ISA, IEC, ISO) та тенденцій (Industry 4.0, IIoT). Ці концепції (надалі називається Каркасом або PAC Framework) дає можливість швидко розробляти ПЗ для PLC/PAC та SCADA/HMI в складі АСКТП з функціоналом, достатнім для будь-яких типів процесів та виробництв: неперервних (Continues), дискретних (Discrete) та періодичних (Batch). Каркас може бути використаний для будь яких програмованих пристроїв.
Посібник рекомендується для розробників прикладного ПЗ промислових контролерів та SCADA/HMI.
Даний матеріал являється частиною навчального посібника Пупена О.М., Ельперін І.В. "ПРОГРАМУВАННЯ ПРОМИСЛОВИХ КОНТРОЛЕРІВ В СЕРЕДОВИЩІ UNITY PRO, який готується до видання в першій половині 2013 року.
Всі побажання та пропозиції Ви можете направляти на pupena_san@ukr.net або висловити на сторінках форумів:
http://forum.se-automation.in.ua/viewtopic.php?f=8&t=58
http://asutpforum.ru/viewtopic.php?f=60&t=2977
Регіональний центр євроатлантичної інтеграції України, що діє при відділі документів із гуманітарних, технічних та природничих наук, підготував віртуальну виставку «Допомога НАТО Україні».
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...tetiana1958
29 травня 2024 року на кафедрі зоології, ентомології, фітопатології, інтегрованого захисту і карантину рослин ім. Б.М. Литвинова факультету агрономії та захисту рослин Державного біотехнологічного університету було проведено відкриту лекцію на тему «Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випробувань пестицидів: шлях до підвищення якості та надійності досліджень» від кандидата біологічних наук, виконавчого директора ГК Bionorma, директора Інституту агробіології Ірини Бровко.
Участь у заході взяли понад 70 студентів та аспірантів спеціальностей 202, 201 та 203, а також викладачі факультету та фахівці із виробництва. Тема лекції є надзвичайно актуальною для сільського господарства України і викликала жваве обговорення слухачів та багато запитань до лектора.
Дякуємо пані Ірині за приділений час, надзвичайно цікавий матеріал та особистий внесок у побудову сучасного захисту рослин у нашій країні!
Практика студентів на складі одягу H&M у Польщіtetiana1958
Пропонуємо студентам Державного біотехнологічного університету активно поринути у аспекти логістики складу одягу H&M.
Метою практики є не тільки отримання теоретичних знань, а й їх застосування практично.
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
16. Вступ в OPC UA
Єдиний стандарт для різних задач:
• інформаційні моделі:
• DA - Data Access
• AC - Alarms & Conditions
• HA - Historical Access
• Prog - Programs
• свої
• розширення
18. Об’єктна модель
• Client-Server
• Сервер надає сервіси, при
підключенні говорить які
доступні
• данні і сервіси доступні через
об'єкти
• об'єкти мають методи,
властивості, події …
• об'єкти і їх складові пов'язані в адресні простори (Address
Space)
19. Адресний простір
Object - folder
Object
Data Variable
Method
Property
• об'єкти і їх частини – вузли
• вузли ідентифікуються в адресному просторі
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
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