МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ХАРЧОВИХ ТЕХНОЛОГІЙ ЗАТВЕРДЖУЮ Ректор__________ А.І. Українець (Підпис) «____» ___________2016р. О.М. ПУПЕНА Д.В. МАЦЕБУЛА ПРОМИСЛОВІ ІНФОРМАЦІЙНІ МЕРЕЖІ ТА ІНТЕГРАЦІЙНІ ТЕХНОЛОГІЇ КОНСПЕКТ ЛЕКЦІЙ для студентів освітнього ступеня "бакалавр" спеціальності 141 "Електроенергетика, електротехніка та електромеханіка" денної та заочної форм навчання Всі цитати, цифровий та фактичний матеріал, бібліографічні відомості перевірені. Написання одиниць відповідає стандартам Підпис(и) автора(ів)________________ «____» ______________ 20__ р. Реєстраційний номер електронного конспекту лекцій у НМУ ___________________ СХВАЛЕНО на засіданні кафедри ІАСУ як конспект лекції Протокол № 3 від 13.10.2015 р. КИЇВ НУХТ 2016 Пупена О.М. [Електронний ресурс]: Промислові інформаційні мережі та інтеграційні технології: курс лекцій для студ. освіт. ст. "бакалавр" спец. 141 "Електроенергетика, електротехніка та електромеханіка" денної та заочної форм навчання / О.М. Пупена Д.В. Мацебула. – К.: НУХТ, 2016. – 138 с. Рецензент І.В.Ельперін, канд. техн. наук О.М.Пупена, канд. техн. наук Д.В. Мацебула Подається у авторській редакції © О.М. Пупена, 2016 © Д.В. Мацебула, 2016 © НУХТ, 2016 Вступ Ефективне виробництво та робота систем енергопостачання може здійснюватися тільки при наявності та правильного використання інформації про стан всіх технологічних процесів а також обладнання. Це можливо тільки при інтегрованому виробництві, коли всі підсистеми функціонують в єдиному інформаційному просторі. Мета дисципліни "Промислові інформаційні мережі та інтеграційні технології" – дати принципи інтеграції мікропроцесорних засобів автоматизації в складі сучасних автоматизованих систем управління технологічними процесами (АСУТП) та енергопостачання (АСУЕ). Враховуючи велику різноманітність мікропроцесорних засобів автоматизації, що являються структурними вузлами інтегрованих систем, в дисципліні коротко дається про принципи функціонування тільки найбільш вживаних (ПЛК та SCADA/HMI) та технологій, що їх поєднує. У результаті вивчення дисципліни студент повинен отримати наступні знання: - основні принципи побудови інтегрованих автоматизованих систем; - апаратну структуру програмованих логічних контролерів (ПЛК); - принципи програмування ПЛК та мову програмування Ladder Diagram; - основні принципи побудови засобів людино-машинного інтерфейсу на базі операторських панелей та SCADA/HMIпрограм; - принципи функціонування промислових мереж; - принципи функціонування стандартних промислових інтерфейсів (RS-232, RS-422, RS-485); - принципи роботи протоколу Modbus (Modbus Application Protocol) та мережі Modbus RTU; - принципи управління перетворювачами частоти по промисловим мережам; - принципи функціонування інтеграційних технологій OPC; 3 1. Структура автоматизованої системи правління виробництвом План. 1.1. Типова структура автоматизованого управління виробництвом. 1.2. Структура АСУТП. 1.3. Функціональне призначення програмно-технічних засобів автоматизації в складі АСУТП. 1.1. Типова структура автоматизованого управління виробництвом Сучасні системи автоматизації є інтегрованими, оскільки включають у себе взаємопов’язані різні за функціями та рівнями управління підсистеми (рис.1.1). Функції перших трьох рівнів реалізовуються системами АСУТП (Автоматизовані системи управління технологічними процесами) і забезпечують оптимальне протікання технологічного процесу. На більшості українських підприємств АСУТП в певній степені впроваджені, однак мало де пов’язані між собою. Тим не менше, в інтегрованих автоматизованих системах управління (ІАСУ) для ефективної роботи всього виробництва необхідна узгоджена робота всіх ділянок технологічного процесу, що можливо тільки при скоординованій роботі всіх АСУТП. Для цього використовуються системи управління виробництвом (АСУВ), які також слугують зв’язувальною ланкою між АСУТП та АСУП. На сучасних підприємствах на рівні АСУВ впроваджують системи MES (Manufacturing Execution System), де збираються і обробляються дані всього виробництва, проводиться їх аналітичний аналіз з використанням статистичних методів, проводиться аналіз якості продуктів та напівпродуктів відповідно до лабораторних показників, готуються виробничі звіти, виконується оперативне планування виробництва, відповідно до чого формуються завдання для технологічних процесів. Грамотна побудова таких систем дає колосальні економічні ефекти. Автоматизовані системи управління підприємством (АСУП) орієнтовані на вирішення завдань автоматизації управлінською і фінансовогосподарською діяльністю, а також на планування ресурсів підприємства. Це рівень різноманітних бізнес-застосунків, які як правило входять в пакети систем ERP. 4 Рис. 1.1. Приклад архітектури сучасної інтегрованої автоматизованої системи управління підприємством (ІАСУ) Ефективна робота всього підприємства може проходити тільки при взаємодії всіх підсистем, що можливо тільки при реалізації їх функціональної, технічної та програмної інтеграції. Технічна та програмна інтеграція проводиться з використанням різноманітних промислових мереж та технологій міжпрограмної взаємодії, які є предметом вивчення даної дисципліни. Промислові мережі використовуються як для об'єднання АСУТП між собою, так і для підключення до них інтелектуальних засобів. Технології міжпрограмної інтеграції використовуються на всіх рівнях ІАСУ. Автоматизовані системи управління енергопостачанням (АСУЕ) відрізняються від АСУТП тільки особливостями об’єкту керування. Це звичайно вносить свої корективи в побудову ІАСУ. Однак в даній дисципліні ця різниця не являється суттєвою, тому АСУТП та АСУЕ тут ототожнюються. 1.2. Структура АСУТП Сучасні АСУТП як правило реалізовуються одним з двох підходів: - з використанням систем DCS (Distributed Control Systems), в яких функції управління розподілені між усіма технічними засобами; - з використанням систем на базі ПЛК (PLC) та SCADA/HMI, де функції автоматичного управління реалізовуються в промислових контролерах, а збір даних операторське управління, архівування та тривоги в операторських панелях або АРМах оператора; 5 Історично так склалося, що на вітчизняних підприємствах більшість АСУТП впроваджені на базі систем SCADA/HMI+ПЛК, тому надалі будемо розглядати саме їх. Структура таких систем представлена на рис.1.2, вона включає три рівні : 0-й – рівень взаємодії з технологічними процесом, або рівень датчиків та виконавчих механізмів 1-й – рівень контролерів, де на основі вимірювальної інформації з датчиків розраховуються керуючі дії; 2-й – рівень людино-машинного інтерфейсу, або рівень SCADA/HMI; 1.3. Функціональне призначення програмно-технічних засобів автоматизації АСУТП Функціональне призначення засобів автоматизації розглянемо на структурі, показаній на рис.1.3 Засоби людино-машинного інтерфейсу. Основним завданням цих засобів є збирання, зберігання, попередня обробка, передача і відображення технологічної інформації (даних процесу) для забезпечення ефективної взаємодії системи управління і оператора. Технічно вони можуть бути реалізовані як (рис.1.4): - термінали та операторські панелі (ОП); - автоматизовані робочі місця (АРМ) оператора виконані на базі промислового чи офісного персонального комп’ютера з встановленим спеціалізованим програмним забезпеченням - SCADA/HMI. Термінали та операторські панелі – це мікропроцесорні засоби людино-машинного інтерфейсу (HMI - Human Machine Interface), в яких обов’язково присутній хоча б один інтерфейс підключення до цифрової мережі, за допомогою якого відбувається обмін даними з контролерами. Виконавчі системи SCADA (Supervisory Control And Data Acquisition - диспетчерське Рис. 1.2. Реалізація системи управління з керування й збір даних) відіграють використанням роль програм-серверів, які центрального мікропроцесорного управляючого забезпечують збір, попередню пристрою 6 обробку даних, опосередковану їх зміну та контроль значень (тривоги), ведення архіву та доступ до архівних даних. Таким чином HMI системи повинні мати доступ до даних реального часу, які акумулюються в серверах SCADA. Останні, в свою чергу, доступаються до даних контролерів, периферійних засобів, до інших SCADA, або до інших програмнотехнічних засобів. Практично всі сучасні Рис. 1.3. Типи пристроїв АСУТП програмні пакети для побудови систем SCADA призначені також для побудови АРМ з функціями HMI, тому вони мають назву SCADA/HMI. Детальніше вони будуть розглянуті в темах 11-16. Зв'язок засобів SCADA/HMI з іншими підсистемами проводиться з використанням промислових мереж (теми 6-9), а з іншими програмними засобами з використанням технологій міжпрограмної інтеграції, зокрема ОРС (тема 17) Контролери. Пристрої з функціями управління будемо називати контролерами. Саме в них реалізуються алгоритми управління. До цих пристроїв можна віднести: - ПЛК - програмовані логічні контролери (PLC - Programming Logical Controller); - IBM РС-сумісні (PC-base) контролери; - ОПЛК – ПЛК з вбудованою операторською панелю ОП (ОPLC); - контролери-регулятори з мережним інтерфейсом. У наведеному переліку до ПЛК також будемо відносити програмовані реле. До IBM РС-сумісних контролерів будемо відносити промислові IBM РС-сумісні ПК, які використовуються для задач автоматичного управління. ПЛК з вбудованими функціями ОП та регулятори з наявним мережним інтерфейсом також будемо відносити до даних засобів. 7 ПК HMI ПК HMI ОП ПК контролер контролер HMI SCADA контролер контролер Рис. 1.4. Реалізація засобів людино-машинного інтерфейсу в ІАСУ. Особливістю апаратно-програмних засобів «контролерного» рівня управління заключаються у пред'явленні жорстких вимог до часу їх реакції на зміну даних процесу які поступають від датчиків та видачі управляючих дій на виконавчі механізми. Тобто вони повинні функціонувати в реальному для процесу часі. У системах управління контролери повинні обмінюватись даними процесу з периферійними пристроями вводу/виводу, іншими контролерами, програматорами, засобами людино-машинного інтерфейсу, а в деяких випадках і з ПТЗ рівня АСУП. ПЛК розглядаються в темах 2-6. Периферійні засоби: перетворювачі та виконавчі механізми. До цих засобів можна віднести різного роду інтелектуальні (intelligent) датчики та виконавчі механізми, які мають цифровий інтерфейс зв’язку, або засоби розподіленого/віддаленого вводу/виводу (Distributed I/O, Remote I/O). Останні забезпечують перетворення сигналів пристроїв зв’язку з об’єктом (ПЗО) в цифровий вигляд і в зворотному напрямку, обмінюються даними процесу з процесорним вузлом (контролером). У зв’язку з подорожчанням кабельної продукції, здешевленням мікропроцесорної техніки, гнучкістю та зручністю експлуатації, живучості кінцевої системи, надійністю та точністю передачі даних – пристрої розподіленого вводу/виводу набувають великої популярності. На рис. 1.5 наведені різні методи підключення периферійних пристроїв до контролерів. 8 контролер контролер контролер Модулі ПЗО Мережний інтерфейс Мережний інтерфейс уніфіковані сигнали промислова мережа промислова мережа модуль віддаленого вводу/виводу модуль віддаленого вводу/виводу уніфіковані сигнали датчики та ВМ з уніфікованими сигналами датчики та ВМ з мережним інтерфейсом датчики та ВМ з уніфікованими сигналами Рис.1.5. Різні методи підключення периферійних пристроїв до ПЛК На сьогоднішній день існує велика гама пристроїв віддаленого вводу/виводу. Порівняно з технологією передачі уніфікованого сигналу (010В, 4-20 мА) цифровий зв’язок дає наступні переваги: - менш чутливий до зовнішніх перешкод; - дає можливість розширеної діагностики пристрою; - дає можливість змінювати конфігурацію у реальному часі без зупинки роботи управляючої програми; - дає можливість будувати системи з мережею без виділеного ведучого вузла. Конфігурування польових периферійних пристроїв може проводитись за допомогою спеціальних засобів – конфігураторів, або безпосередньо самим контролером. Окремо необхідно виділити засоби управління приводами (POWER DRIVE SYSTEMS – PDS). До них відносяться частотні перетворювачі, сервоприводи та приводи з позиціонованням. Ці засоби, крім своїх основних функцій – управління двигунами, нерідко включають також функції контролера, людино-машинного інтерфейсу та функції вводу/виводу. Все що стосується особливостей обміну даними для вище наведених типів периферійних засобів, може бути актуальними і для PDS. З’єднання по цифровому зв’язку з PDS дає такі переваги: - отримання всієї інформацію про стан привода та двигуна; - повне управління приводом та двигуном; - віддалене та швидке конфігурування системи приводу; - менша витрата інформаційного кабелю порівняно зі зв’язком за уніфікованим сигналом 4-20мА/24В; - віддалена діагностика привода; - можливість безпосереднього обміну між приводами. Більш детально принципи інтеграції перетворювачів частоти в єдину систему з ПЛК розглядається в темі 10. У електроенергетичних системах також використовуються різнорідні електролічильники, аналізатори фаз, інтелектуальні контактори, розмикачі, 9 автоматичні вимикачі з дистанційним контролем та керуванням. Ці засоби в даній дисципліні не розглядаються, але інтеграція їх в єдину систему проводиться з використанням промислових мереж, які розглядаються в темах 6-9. Програматори (конфігуратори). В якості програма торів (конфігураторів) можуть використовуватись або комп’ютери з встановленим спеціальним програмним забезпеченням або спеціалізовані пристрої. Незалежно від технічної реалізації засобів цього типу, вони необхідні лише для налаштування роботи інших ПТЗ в системі та їх діагностики. Програматори мають інтерфейс для підключення до мережі, який використовується тільки при необхідності перепрограмування або переконфігурування. Підключення програматорів часто проводиться з використанням промислових мереж, які розглядаються в темах 6-9. Запитання для самоперевірки 1. Що представляє собою типова структура управління виробництвом? 2. Що представляє собою структура АСУТП? З яких рівнів вона складається? 3. Які є типи технічних засобів АСУТП? Яке їх функціональне призначення? 4. Які є програмно технічні засоби АСУТП? 5. Що таке периферійні засоби АСУТП? 10 2.1. 2.2. 2.3. 2.4. 2. Програмовані логічні контролери. План. Загальні властивості контролерів. Структура контролерів Типи ПЛК. Апаратне забезпечення ПЛК та його конфігурування. 2.1. Загальні властивості контролерів Програмований логічний контролер (ПЛК), який у міжнародних документах позначається як PLC (Programmable Logic Controller) – це мікропроцесорний пристрій, призначений для керування виробничими процесами в умовах промислового середовища в реальному масштабі часу, що програмується з використанням спеціалізованих мов програмування. Окрім ПЛК в промисловості використовуються й інші типи контролерів, наприклад РС-сумісні. У даній дисципліні розглядаються тільки програмовані логічні контролери, тому надалі в тексті терміни "контролер" та "ПЛК" вважаються синонімами, якщо інше не буде вказане явно. Можна виділити декілька основних рис ПЛК: 1. Наявність спеціалізованих мов програмування, що максимально наближені до потреб управління в реальному часі, спрощують розробку, налагодження та модифікацію прикладних програм, можливість оперативної зміни алгоритму керування програмним шляхом. Ці мови стандартизовані в міжнародному стандарті МЕК 61131. 2. Блочно-модульний принцип побудови ПЛК (крім моноблочних контролерів), що дає можливість за рахунок використання різноманітних модулів входу-виходу оптимізувати його компонування для керування конкретним об’єктом. Тобто конфігурація ПЛК (перелік модулів, які входять до складу контролера) залежить від конкретного об’єкта управління і алгоритму управління ним. Це не тільки зменшує витрати на впровадження систем автоматизації, а й підвищує ремонтоздатність ПЛК. 3. Призначення ПЛК для використання в промислових умовах ставить досить жорсткі вимоги до надійності ПЛК та захищеності його від впливу різноманітних електромагнітних, вібраційних, кліматичних та інших перешкод. Це досягається за рахунок використання надійної елементної бази, стійких і надійних схемних рішень, спеціальних гальванічних розподільників, резервування, дублювання та інших заходів, а також високого технологічного рівня виробництва ПЛК. 11 4. Наявність широко розвинутої системи самодіагностики та тестування, за допомогою яких можна швидко визначити несправність та усунути її. Це є дуже важливою функцією, оскільки ПЛК - досить складний технічний засіб і визначення причини відмови ПЛК потребує досить високої кваліфікації обслуговуючого персоналу. Тому в разі виникнення технічної несправності ПЛК система діагностики допомагає швидко визначити модуль, у якому виникла несправність. Цей модуль повинен бути швидко замінений технічним персоналом і роботоздатність системи управління буде поновлена. А несправний модуль повинен бути переданий на ремонт у сервісну службу виробника ПЛК. 5. Для забезпечення роботи ПЛК у складі розподіленої АСУТП передбачена можливість організації обміну інформацією між окремими ПЛК та передачі технологічної інформації в системи організаційно-економічного управління за рахунок широкого використання промислових мереж, польових шин та комп’ютерних мереж. 2.2. Структура контролерів На рис. 2.1 показано узагальнену структуру програмованого логічного контролера. Центральною частиною ПЛК є мікропроцесорний пристрій (МП, CPU), який керує операціями збору і оброблення даних від зовнішніх пристроїв і вироблення керуючих дій відповідно до розробленої програми користувача. Пам'ять контролера використовується для декількох цілей. Частина призначена для зберігання та виконання операційної системи, якою керується мікропроцесорний модуль, а також для розміщення системної інформації про оперативний стан апаратного і програмного забезпечення. Саме ця інформація використовується для функціонування системи самодіагностики і тестування контролера. Рис. 2.1. Фізична структура промислового контролера Інша частина ресурсів пам’яті використовується 12 для зберігання розробленої програми користувача, яка й визначає виконання алгоритму керування об’єктом. Ємність пам’яті, яка використовується для зберігання програми користувача, визначає можливості даного ПЛК для створення прикладного програмного забезпечення. У ПЛК використовуються всі види пам’яті – ОЗП (оперативна, тобто енергозалежна), ПЗП (постійна, енергонезалежна) і ППЗП (перпрограмована, енергонезалежна з можливістю запису). Вони можуть вбудовуватись у процесорний модуль, і/або входити до складу контролера у вигляді окремих модулів або карт пам’яті. Останнє дає можливість так сформувати пам’ять контролера, щоб за характеристиками і ємністю вона найбільш відповідала прикладній задачі керування. Функціональні і технічні можливості мікропроцесорного модуля і модулів пам’яті визначають одну з основних характеристик ПЛК – його швидкодію, яка, як правило, вимірюється в швидкості оброблення 1 кілобайта (або кілослова) програми користувача або/і як час одноразового обслуговування всіх входів-виходів контролера, тобто робочого циклу ПЛК. Промисловий контролер по своїй суті являється спеціалізованим комп’ютером. Однак він має спеціалізоване призначення - управління об’єктом автоматизації в реальному часі, що відображається на його програмній та технічній структурі. Для постійного слідкування за процесом та керування ним він повинен отримувати інформацію від різноманітних датчиків і, згідно із заданим алгоритмом, виробляти сигнали для управління виконавчими механізмами. Для реалізації цього завдання до складу ПЛК входять різноманітні канали (часто в складі модулів або блоків), які забезпечують його зв’язок з датчиками і виконавчими механізмами. Враховуючи що ПЛК працює з цифровою формою сигналу, ряд каналів забезпечують можливість його роботи з іншими формами сигналів. Основними завданнями каналів є: вхідних: перетворення фізичних сигналів від датчиків в цифрову форму, зрозумілу для мікропроцесорного модуля; вихідних: перетворення цифрової форми управляючих сигналів, вироблених мікропроцесорним модулем, на фізичні сигнали, що можуть керувати виконавчими механізмами; комунікаційних: забезпечити зв'язок з іншими мікропроцесорними (інтелектуальними) засобами; Конструктивно контролери мають блоково-модульний принцип (крім моноблочних контролерів), тобто вони є проектно-компонованими виробами. Це значить, що типи модулів і їхня кількість залежать від особливості об’єкта автоматизації і алгоритму керування ним. До складу сучасних ПЛК може входити велика кількість різноманітних каналів, як правило, в складі модулів або блоків. Ці модулі умовно можна поділити на декілька основних груп, в залежності від того, які типи датчиків і виконавчих механізмів можуть бути підключені до нього. Нижче коротко перерахуємо їх властивості. 13 Вхідні канали (модулі) – це канали, які забезпечують контролер необхідною інформацією з об’єкту, тобто до них підключаються різноманітні датчики (напряму або через перетворювач), контакти кнопок, контакторів тощо. До вхідних каналів відносять: - канали (модулі) дискретно-цифрового перетворення (ДЦП), до яких підключаються датчики з дискретним виходом (сигналізатори рівня, електроконтактні манометри та ін.) та управляючі технічні засоби (кнопки, перемикачі, датчики положення та ін.); - канали (модулі) аналогового-цифрового перетворення (АЦП), до яких підключаються датчики з аналоговим уніфікованим електричним виходом, термометри опору, термопари; - спеціалізовані вхідні канали (модулі), до яких підключаються специфічні не уніфіковані вхідні сигнали, наприклад, модулі для підключення тензометричних датчиків вимірювання ваги; модулі лічильників; модулі безпеки; кодери і енкодери тощо. Вихідні канали (модулі) – це канали, які забезпечують перетворення керуючого сигналу цифрової форми, що формується програмою, в необхідний рівень сигналу для виконавчого механізму. До вихідних каналів відносять: канали (модулі) цифро-дискретного перетворення (ЦДП), до яких підключаються дискретні виконавчі механізми і засоби комутації (магнітні пускачі, сигнальні лампи та ін.), а також електричні виконавчі механізми з постійною швидкістю обертання (типу МЕО, МЕК та ін.); канали (модулі) цифро-аналогового перетворення (ЦАП), до яких підключаються аналогові виконавчі механізми, для управління якими використовуються уніфіковані електричні сигнали. спеціалізовані вихідні канали (модулі), до яких підключаються специфічні вихідні сигнали, наприклад, модулі для керування кроковими двигунами, модулі безпеки та ін. При модульній або блочній побудові, до одного модуля можуть входити канали різного типу. Такі модулі (або блоки) прийнято називати змішаними (mixed). Крім вхідних та вихідних каналів ПЛК має комунікаційні канали (модулі), які забезпечують підключення ПЛК до різноманітних промислових мереж. Сучасний контролер завжди має як мінімум один комунікаційний канал, щоб мати можливість підключити до ПЛК термінал програмування. На сьогоднішній день в якості терміналів програмування використовуються комп’ютери зі встановленим спеціальним програмним забезпеченням – середовищем програмування ПЛК. 14 2.3. Типи ПЛК У світі випускається велика кількість промислових мікропроцесорних контролерів серед яких особливої популярності в системах автоматизації харчових виробництв України набули ПЛК фірм Siemens, Schneider Electric, Mitsubishi Electric, VIPA та ін. За конструктивним виконанням всі ПЛК можна поділити на декілька груп. Для завдань автоматичного управління з невеликою кількістю входів-виходів випускаються моноблочні ПЛК, які також називають компактними. Вони являють собою функціонально закінчений технічний засіб, у якому Рис. 2.2. Приклад ПЛК у моноблочному виконанні розташовані всі функціональні модулі: мікропроцесор, усі види пам’яті, блок живлення, комунікаційні, вхідні та вихідні канали. Основна перевага таких контролерів – їхня низька ціна. Основний недолік – неможливість розширювати кількість каналів входіввиходів. Для забезпечення можливості вибору оптимальної структури такого типу контролерів випускається серія таких контролерів, які мають різну кількість і співвідношення типів каналів входів виходів. На рис. 2.2 показано моноблочний контролер Twido Compact фірми Schneider Electric (Франція). Для систем із середньою кількістю каналів (порядку десятків) можливою альтернативою моноблочним контролерам можуть бути компактні контролери з можливістю нарощення додатковими модулями (рис. 2.3). У такому конструктиві основу ПЛК становить базовий модуль, який функціонально являє собою повністю закінчений контролер, подібно до компактного. Особливістю його виконання є можливість нарощення додатковими модулями. Таким чином він більш універсальний і гнучкіший, так як має властивості компактного і модульного ПЛК. На рис. 2.3 показано компактний Рис. 2.3. Приклад компактного ПЛК з можливістю контролер типу FX фірми нарощення додатковими модулями Mitsubushi Elcetric (Японія) з установленими додатковими модулями. 15 Для систем автоматизації технологічними процесами та великими енергетичними об'єктами частіше використовуються модульні ПЛК, кількість і типи модулів у яких вибираються залежно від кількості і типів вхідних-вихідних сигналів. Це і є основною перевагою модульних контролерів перед нерозширюваними компактними. Такі контролери призначені для побудови систем управління, кількість датчиків та виконавчих механізмів у яких вимірюється десятками та сотнями. Для ПЛК такого типу базовими складовими для забезпечення їхньої працездатності є модуль живлення та процесорний модуль (їх інколи суміщують в єдиному корпусі). Всі інші модулі набираються залежно від поставленого завдання. На рис. 2.4 показано модульний контролер M340 фірми Schneider Electric (Франція). До складу модульного ПЛК може входити велика кількість модулів (порядку ста), з одним процесорним модулем у якості керуючого пристрою. Такий багатоканальний контролер може керувати технологічними процесами всього виробництва. Але недоліком такої системи є те, що в разі виходу з ладу мікропроцесорного модуля втрачається управління всім виробництвом. Тому як варіант ставлять модель з резервуванням Рис. 2.4. Приклад ПЛК модульного типу процесорного модуля. Інший підхід – це створення розподіленої системи, в якій на кожній технологічній ділянці (відділенні) встановлюється свій окремий ПЛК для управління технологічними процесами цієї частини виробництва. Для координації роботи ПЛК їх об’єднують промисловими мережами в єдину інтегровану систему управління. Використання розподіленого принципу управління та модульної структури дає змогу вибрати і конфігурувати контролери, для якого буде мінімізований показник функціональні можливості/вартість ПЛК. Останнім часом великої популярності набули структури систем управління на базі контролерів з розподіленими (віддаленими) засобами вводу/виводу (рис. 2.5). У таких системах до промислової мережі ПЛК можуть підключатися: - віддалені модулі вводу/виводу (модулі I/O); - перетворювачі частоти (ПЧ), які призначені для управління частотою обертів асинхронного двигуна; - сервоприводи; - інтелектуальні контактори (магнітні пускачі); - інтелектуальні датчики та виконавчі механізми. 16 З точки зору функціональності, всі засоби польового рівня, які підключені по промисловій мережі до ПЛК, являються його модулями вводу/виводу. На відміну від локальних модулів вводу/виводу модульного ПЛК (тобто які розміщені на його шасі), віддалені модулі I/O можуть знаходитись у місці розташування датчиків, тобто на порівняно великій відстані від базового ПЛК, що значно зменшує кількість кабелів і спрощує монтаж обладнання. Крім того, застосування стандартних промислових мереж дає можливість використовувати віддалені модулі вводу/виводу Рис. 2.5. Структура ПЛК з віддаленими модулями та периферії розроблених входів-виходів різними виробниками, що неможливо для локальних модулів ПЛК. На рис. 2.5 показано структуру розподіленої системи управління, в якій до ПЛК за допомогою промислової мережі (CANopen) під’єднуються віддалені модулі входів-виходів (I/O). До них в свою чергу підключаються датчики і виконавчі механізми, перетворювачі частоти (ПЧ) та інтелектуальні контактори. Ці віддалені модулі I/O можуть знаходитись на відстані в декілька сотень метрів від ПЛК, до якого вони підключені. 2.4. Апаратне забезпечення ПЛК та його конфігурування. Контролер забезпечує оброблення вхідної інформації з об’єкта управління та формування управляючих дій відповідно до реалізованого в ПЛК алгоритму управління. Вибір і конфігурування конкретного ПЛК як правило виконується після етапів: - визначення типів і кількості датчиків та виконавчих механізмів а також необхідних перетворювачів; - розроблення алгоритму управління, функціональної структури системи, визначення необхідних контурів регулювання; - визначення технічної структури системи управління в цілому: вибрані мікропроцесорні засоби автоматизації та їх способи інтеграції. Першочерговим завданням розроблення системи управління на базі промислового контролера є вибір його типу і конфігурації, тобто вибір переліку каналів (модулів), які повинні бути використані для системи управління конкретним об’єктом. Розробниками пропонується велика 17 номенклатура модулів входів/виходів, які як правило розрізняються наступними технічними характеристиками. Модулі дискретних входів: за кількістю каналів; за типом вхідних сигналів, наприклад: 24, 48 В постійного струму (VDC) чи 48В, 110В, 220В змінного струму (VAC). Модулі дискретних виходів: - за кількістю каналів; - за типом вхідних каналів, наприклад: транзисторні з можливістю комутувати сигнали 24 В постійного струму зі струмом комутації до 0,5 А; релейні з можливістю комутувати сигнали зі струмом комутації до 3 А. Модулі аналогових входів: - за кількістю каналів; - за типом вхідних сигналів, наприклад: уніфіковані сигнали з напругою 0-5 В, 0-10 В, -10/+10 та ін.; уніфіковані сигнали зі струмом 0-20 мА, 4-20 мА та ін.; сигнали від термометрів опору; сигнали від термопар. - за наявністю гальванічного розділення між каналами та з загальною шиною ПЛК; - за розрядністю АЦП, яка впливає на точність аналогово-цифрового перетворення (наприклад 8-, 10, і 16-розрядні) Модулі аналогових виходів: - за кількістю каналів; - за типом вихідних сигналів, наприклад: уніфіковані сигнали з напругою 0-5 В, 0-10В, -10/+10 та ін.; уніфіковані сигнали зі струмом 0-20 мА, 4-20 мА та ін. - за наявністю гальванічного розділення між каналами та з загальною шиною ПЛК; - за розрядністю ЦАП, яка впливає на точність цифро-аналогового перетворення. Якщо функції управління об’єктом передбачають необхідність використання модулів, які використовують не уніфіковані електричні сигнали, розглядається доцільність і типи цих модулів з урахуванням кількості каналів і технічних характеристик. При необхідності інтеграції ПЛК з іншими інтелектуальними засобами визначаються з типом промислової мережі та вимогами до мережних вузлів системи. При цьому може бути декілька варіантів вибору промислової мережі. Для кожного з цих варіантів визначається необхідний комунікаційний модуль або опція для даного ПЛК, а також особливості обмеження його використання. Останні сильно залежать від типу промислової мережі, що сильно ускладнює формалізацію процесу вибору. Для більшості ПЛК характерна можливість додаткового налаштування каналів, що задає особливості їх роботи. Наприклад, для окремих каналів 18 вхідних модулів можна вибирати і встановлювати різні діапазони вимірювання, контроль обриву чи перевантаження, а для модулів дискретних виходів задавати значення або стан вихідних сигналів, які будуть установлюватися в разі зупинки контролера. Ці налаштування проводяться шляхом конфігурування контролеру. Під час конфігурування також може вказуватися розміщення модулів, та усі їх налаштування. У широкому значенні під словом "конфігурування" розуміється все, що пов’язано зі зміною параметрів без написання програми користувача. У вузькому сенсі використовують словосполучення "апаратне конфігурування", яке вказує на визначення особливостей роботи саме апаратної частини контролера. Як правило, для зміни апаратної конфігурації ПЛК, його попередньо необхідно зупиняти, що необхідно враховувати при налагодженні працюючої системи. Запитання для самоперевірки 1. Що таке ПЛК? Які його основні риси? 2. Яка структура у ПЛК? Назвіть оі охарактеризуйте основні типи модулів ПЛК. 3. Які існують основні типи ПЛК? Що таке не розширювані та розширювані ПЛК? 4. Що таке розподілені засоби вводу/виводу? Що до них включається? 5. Яким чином конфігурується ПЛК? Які характеристики ПЛК настроюються при конфігуруванні? 19 3. Основи програмування ПЛК План. 3.1. 3.2. 3.3. Змінні ПЛК. Робочий цикл виконання програми користувача. Розроблення програми користувача ПЛК 3.1. Змінні ПЛК У АСУТП, що базуються на базі промислових контролерів, алгоритм управління об’єктом реалізується програмним шляхом. Як відомо, кожна програма включає дані та код (алгоритм), який оперує цими даними. Код програми ПЛК оперує даними, які пов’язані з об’єктом управління і постійно змінюються, що накладає певні особливості на функціонування контролера. Дані з об’єкта управління поступають через вхідні канали. На основі цих даних код програми формує керуючі дії, що по суті являється даними, які через вихідні канали поступають на об’єкт у вигляді сигналів управління. Оскільки стан об’єкту постійно змінюється, задача ПЛК відслідковувати цю зміну і забезпечувати протікання процесу в заданих межах. Тобто контролер повинен циклічно, в реальному масштабі часу, відновлювати дані з вхідних каналів, після чого формувати дані для вихідних каналів. Для того, щоб оперувати такими даними, для них виділяються певні комірки оперативної пам’яті, до яких доступається код програми. Ці комірки називаються змінними, так як в процесі виконання програми вони постійно змінюють свої значення. На відміну від змінних, константи – це комірки пам’яті в яких знаходяться значення, що змінюються тільки в процесі конфігурації контролера. Наведені вище змінні, що пов'язуються з технологічним процесом умовно діляться на вхідні та вихідні. Змінні, які пов’язані із сигналами від датчиків, прийнято називати вхідними змінними (Input Variables), вихідних каналів – вихідними змінними (Output Variables). Таким чином, якщо в програмі треба оперувати значенням з певного датчика, необхідно просто звернутися до потрібної вхідної змінної, тобто використовувати її значення. Якщо ж необхідно змінити положення виконавчого механізму, треба записати певне значення у вихідну змінну. А ПЛК повинен забезпечити своєчасне оновлення вхідних змінних та видачу керуючих дій з вихідних. При програмуванні контролера інженер-програміст повинен чітко знати до якої змінної треба звернутися, щоб отримати значення з конкретного вхідного каналу. Тому змінні повинні мати адресу або/та ім’я, яке однозначно пов’язане з місцем реального підключення датчиків або виконавчих механізмів до каналів ПЛК. Якщо контролеру відоме місце розміщення своїх каналів, розподіл адрес (імен) вхідних та вихідних змінних може бути зроблено автоматично. У більшості ж випадків, особливо в модульних контролерах, для ПЛК треба вказати місце розміщення модулів, а 20 інколи і виділити каналам конкретні адреси чи імена. Такого типу налаштування входить до процесу конфігурування контролеру, який описано вище. Після конфігурування в пам’яті ПЛК виділяється область комірок пам’яті, куди буде записуватись інформація про стан фізичних вхідних та вихідних каналів. Існує декілька варіантів адресації змінних та їх прив'язки до вхідних та вихідних каналів. Розглянемо один з них, так званий «топографічний», який використовується в модульних контролерах фірми Schnеider Electric. У основу цієї системи покладений принцип, що адреса змінної чітко пов’язана з порядком розміщення модуля та каналу в ньому. Адреса змінної складається з позначень (рис. 3.1). % I або Q Х або W n . і Службовий символ Тип модуля: I – входи, Q – виходи Тип сигналу: Х – дискретний, W – аналоговий Місце розташування модуля в ПЛК Службовий символ № каналу на модулі Рис. 3.1. Принцип адресації вхідних і вихідних змінних ПЛК У даному підході, адреса кожної змінної починається зі знаку "%", що дає змогу редактору програми ідентифікувати її саме як адресу. Далі вказується за який тип каналу відповідає ця змінна: I (Input) - за входи, Q (Quit) – за виходи. Подейкують, що символ "O" як скорочення від "Output" не використовують, щоб не плутати з нулем "0". Адреса також вказує на тип змінної, яка буде використовуватися для збереження значення. Для дискретних каналів використовується символ "X", що вказує на змінну типу BOOL, яка може вміщувати два стани: логічний "0" (FALSE) або логічну "1" (TRUE). Символ "W" вказує на те, що змінна використовує для збереження ціле слово (WORD, займає 2 байти), оскільки для аналогового каналу необхідно мати числове значення сигналу. Таке 16бітне слово може вміщувати ціле беззнакове значення від 0-65535, або знакове від -32768 до 32767. Таким чином, такі змінні можуть використовуватися для роботи з АЦП розрядністю 16 біт та менше. Тим не менше, для зручності обробки в програмі, цей діапазон може бути змінений. Так, в деяких ПЛК Schnеider Electric, за замовченням він є 0-10000. Враховуючи цілочисельний формат змінних "W", часто вони мають тип не WORD а INT (Integer). Наявність типів змінних та особливості їх використання залежить від типу ПЛК. Останні позиції запису адреси, вказаного на рис.3.1, вказують на місце розташування каналу, за яку відповідає змінна. Розглянемо даний принцип на прикладах. На рис. 3.2 показано приклад підключення до каналів умовного ПЛК датчиків і виконавчих механізмів. До складу ПЛК входять: 21 - модуль живлення, встановлений на спеціальному місці, яке позначено PS; процесорний модуль, який встановлений на місці за номером 00; - модулі дискретних входів, дискретних виходів, аналогових входів і аналогових виходів, які встановлені відповідно на місцях за номерами 01, 02, 03 і 04. Рис. 3.2. Схема підключення датчиків і виконавчих механізмів до каналів ПЛК На кожному модулі для прикладу показано по 5 каналів, кожен із яких також має свій номер. Нижче наведено детальний опис підключення засобів автоматизації до ПЛК і визначення адрес та значень змінних, що відповідають за них. На рис. 3.3 показано приклад адресації змінних для дискретних входів. 22 Рис. 3.3. Підключення дискретних вхідних сигналів Сигнали від кнопочної станції SB і сигналізатора рівня LA відповідно підключаються до каналів 00 (через контакти «0+» та «0-») і 02 (через контакти «2+» та «2-») модуля дискретних входів розташованого на місці 01 у ПЛК. Згідно з розглянутими вище правилами «топографічної» адресації, вони мають адреси: %I1.0 i %I1.2. Символ «Х» для дискретних змінних можна не вказувати. Таким чином, якщо буде натиснута кнопка SB або спрацює сигналізатор рівня LA (коли рівень стане більше допустимого значення), на вхід відповідного каналу буде поданий електричний сигнал + 24 В. У цьому випадку вхідна зовнішня змінна з відповідною адресою перейде в стан логічної «1». На рис. 3.4 показано приклад адресації змінних для дискретних виходів. До 1-го каналу модуля, розташованого на місці 02 у ПЛК, підключене реле KV1, контакти якого включають і відключають насос. Цей дискретний вихід пов'язаний зі змінною, яка, згідно з правилами, має адресу %Q2.1. Це значить, що якщо в процесі виконання програми користувача вихідна змінна Рис. 3.4. Підключення дискретних вихідних сигналів %Q2.1 прийме значення логічної «1», на виході цього каналу замкнеться контакт реле або спрацює транзисторний ключ, через який на обмотку реле KV1 буде подана напруга 24 В, що спричинить спрацювання реле KV1, через контакти якого буде вкючений двигун насосу. На рис. 3.5 показаний приклад адресації змінних для аналогових входів ПЛК, розташованого на місці 03. До каналу 03 підключений датчик витрати, а до каналу 04 – датчик рівня. Відповідно адреси цих сигналів будуть мати вигляд: %IW3.3 i %IW3.4. На даному прикладі розглянемо, що буде зі значенням даних змінних. Припустимо, що вказані датчики мають різні уніфіковані електричні сигнали: струмовий 0–20 мА і по напрузі – 0–10 В. Тобто вибрано такий модуль аналогових входів, у якому можливо настроювати кожний аналоговий канал на той чи інший уніфікований Рис. 3.5. Підключення аналогових вхідних сигналів 23 електричний сигнал. Кожний датчик має діапазон вимірювання, який вибирається залежно від робочого значення вимірювального параметра. Наприклад датчик витрати 0-120 м3/год, а датчик рівня від 0 до 2 метрів. Вибраному діапазону вимірювання відповідає повний діапазон аналогового уніфікованого сигналу, що йде від датчика: 0-20 мА для витрати і 0-10 В для рівня. У модулі аналого-цифрового перетворення ПЛК фізичний сигнал від датчика перетворюється на ціле числове значення. У вказаному прикладі це значення становить від 0 до 10000. Тобто відбувається перетворення: Діапазон вимірюваної величини датчика Діапазон уніфікованого вихідного сигналу Діапазон числового представлення сигналу Тому при створенні програми необхідно вміти вираховувати значення вимірюваної величини з числового значення представлення цієї величини в ПЛК та навпаки. У загальному вигляді ці розрахунки можна проводити з використанням такої пропорції: ШК ШП X ШП ЧЗ К ЧЗ П ЧЗ i ЧЗ П (3.1) де Шп і Шк – відповідно початкове і кінцеве значення вимірюваного діапазона; ЧЗп і ЧЗк – відповідно початкове і кінцеве значення числового представлення сигналу в ПЛК (рис. 3.6). Діапазон вимірювальної величини датчика Шп ЧЗп Х Шк ЧЗі ЧЗк Діапазон числового представлення сигналу Рис. 3.6. Числове представлення аналогового вхідного сигналу Із наведеного в (3.1) співвідношення, знаючи діапазон вимірювання і числовий діапазон представлення цього діапазону в ПЛК, можна для будьякої точки діапазону розрахувати його числове значення в контролері, і навпаки. Наприклад, для розглянутого вище діапазону від 0 до 120 м3/год числове значення для точки 80 м3/год, для діапазону представлення аналогової змінної в ПЛК діапазоні від 0 до 10000, становитиме: 120 0 80 0 120 80 10000 ; ; ЧЗ i 80 6667 ; 10000 0 ЧЗ i 0 10000 ЧЗ i 120 (3.2) 24 Розрахуємо числове значення для точки 80 0С, але для діапазону вимірювання від -30 0С до 120 0С. 120 ( 30 ) 80 ( 30 ) 150 110 10000 ; ; ЧЗ i 110 7333 ; 10000 0 ЧЗ i 0 10000 ЧЗ i 150 (3.3) Розглянемо приклад підключення аналогового вихідного модулю (рис.3.7). На 04-му місці ПЛК розташований модуль аналогових виходів, до 01-го каналу якого підключений регулюючий клапан 1, а до каналу 03 – регулюючий клапан 2. На регулюючі клапани з модуля ЦАП ПЛК подається реальний фізичний управляючий сигнал 0–20 мА (може бути інший уніфікований електричний сигнал). Величина цього сигналу змінюється пропорційно значенню зовнішніх аналогових змінних %QW4.1 i %QW4.3, які розраховуються програмою користувача в діапазоні від 0 до 10000. Програма користувача окрім вхідних та вихідних змінних, що пов’язані з каналами, може оперувати змінними, призначеними для збереження проміжних значень розрахунків. Так, наприклад, для підрахунку імпульсів з лічильникавитратоміра необхідно зберігати його плинне значення. Інший приклад, коли оператор з операторської панелі задає задане значення певного параметра. Ці проміжні значення не Рис. 3.7. Підключення аналогових вихідних сигналів приходять з вхідних каналів і не використовуються для вихідних. Тому їх записують у внутрішні змінні (Internal Variables або Memory Variables). Внутрішні змінні не пов’язані ні з входами ні з виходами ПЛК, тому можуть бути використані довільно. Внутрішні змінні типу BOOL (для дискретних значень), згідно наведеного вище підходу, мають адресу %Мі, де і – номер змінної. Внутрішні змінні типу INT (для аналогових значень) позначаються %MWi, де і – номер змінної. Максимальна кількість внутрішніх змінних залежить від моделі ПЛК. Крім вхідних/вихідних і внутрішніх, у програмі користувача можуть використовуватися змінні, пов’язані з системою, різноманітними функціональними блоками: таймерами, лічильниками, регістрами тощо. Крім типу BOOL та INT, сучасні контролери можуть оперувати іншими типами змінних. Змінна UINT є цілим без знаку. Тобто, якщо для змінної типу INT 15-й біт (починаючи з нульового) використовується для вказівки знаку, то в UINT цей біт розширює діапазон цілого значення. Тип WORD використовується для роботи зі значенням змінної як з набором біт. 25 Змінні DINT (подвійне ціле зі знаком), UDINT (подвійне ціле без знаку) та DWORD (подвійне слово) теж являються цілими як і INT, UINT чи WORD, але займають чотири байти. Це значить, що вони можуть зберігати більший діапазон числових значень. Усі типи цілих змінних не можуть мати дрібної частини. Для роботи з дійсними числами використовують змінні з плаваючою комою, типу REAL (FLOAT). Так наприклад, значення 45.678 може бути записано в INT чи DINT тільки як 45. Для роботи з текстовими рядками використовують змінні типу String. Так наприклад записи "45.768" або "Hello, World!" інтерпретуються як послідовності символів. Як правило змінні різного типу не можна використовувати в одному виразі. Так, наприклад, запис %MW100 + 0.678 + "456.78" є помилковим, так як до цілої змінної %MW100 додається константа дійсного типу та рядок символів. Тим не менше такі вирази можна розрахувати, використовуючи спеціальні функції перетворення типів. У більшості сучасних ПЛК є можливість присвоювати змінним контролера імена, які можуть бути використані в процесі розроблення прикладної програми користувача. 3.2. Робочий цикл виконання програми користувача Контролер повинен весь час стежити за станом та значеннями вхідних каналів і виробляти керуючі дії відповідно до реалізованого алгоритму керування. Тому процес роботи ПЛК представляє собою циклічну послідовність виконання кількох етапів (рис. 3.8): опитування входів, у процесі якого в оперативну пам’ять контролера записується інформація про стан вхідних каналів, підключених до ПЛК; таким чином на початку робочого циклу формується так званий образ процесу; виконання прикладної програми, записаної користувачем згідно із заданим алгоритмом Опитування входів керування; програма користувача оперує значеннями вхідних сигналів, які були отримані на Виконання програми стадії опитування входів; в результаті виконання користувача програми розраховуються нові значення вихідних змінних; Встановлення виходів встановлення виходів, у процесі якого вихідні змінні пересилаються на вихідні канали. Внутрішня обробка Слід зазначити, що при такому робочому циклі, значення виходів ПЛК оновлюються тільки на етапі встановлення виходів. Тобто вихідна змінна може Рис.3.8. Робочий цикл змінюватися протягом одного циклу декілька раз, але роботи ПЛК тільки останнє значення буде записане на реальний 26 дискретний чи аналоговий вихід контролера. Крім того, в процесі кожного робочого циклу виконуються процедури, пов’язані не стільки з обробленням прикладної програми, як із задачами аналізу стану апаратних засобів, самодіагностики, оброблення запитів, які прийшли з панелі ПЛК або по мережі тощо. Тобто відбувається внутрішня обробка, яка виконується на системному рівні контролера. Після виконання цього етапу починається новий робочий цикл знову з опитування входів. Циклічність виконання програми користувача ПЛК є дуже важливою особливістю роботи мікропроцесорного контролера, яка повинна бути врахована при розробленні прикладної програми користувача. Є декілька форм організації робочого циклу: циклічне, періодичне виконання та виконання по події. Самі ж цикли звуться задачами (Task). Деякі ПЛК дозволяють будувати програми користувача з декількома задачами, кожна з яких може викликатися періодично або по виникненню подій, і тільки одна з них – циклічно. Кожна задача контролюється сторожовим таймером (WatchDog), який унеможливлює "зависання" контролера при невірному виконанні програми користувача. Так, якщо тривалість циклу буде більше вказаного у сторожовому таймеру значення, контролер перейде в режим аварійного зупину. Слід зазначити, що організація задач дуже сильно залежить від типу ПЛК. 3. 3. Розроблення програми користувача ПЛК У загальному вигляді порядок розроблення мікропроцесорної системи автоматизації з використанням промислових логічних контролерів включає в себе декілька етапів: 1) формування переліку функцій та задач ПЛК в складі системи управління; в основу такого рішення може бути покладена розроблена напередодні схема автоматизації для об’єкта управління; 2) вибір апаратного забезпечення мікропроцесорного контролера, тобто визначення кількості і типів каналів (модулів), які повинні забезпечити підключення до контролера різноманітних датчиків і виконавчих механізмів; 3) розроблення алгоритму та програми користувача для реалізації заданого алгоритму управління, а також його налагодження. Послідовність розроблення прикладного програмного забезпечення також залежить від середовища програмування. Усі функції та задачі (задача – сукупність дій що приводить до заданого результату) які покладені на ПЛК, умовно можна віднести до одного з двох типів: задачі логіко-командного управління і функції неперервного регулювання. Для кожного з цих типів можна вибрати більш зручну для програмування мову. Основною особливістю програмованих логічних 27 контролів є наявність "технологічних" мов програмування, добре зрозумілих спеціалістам у галузі автоматизації, електроніки, електротехніки та технології виробництв. Ці мови розроблялися з урахуванням особливостей різних типів задач і функцій та кваліфікації спеціалістів. На сьогоднішній день 5 найбільш популярних мов програмування промислових контролерів закріплені в міжнародному стандарті МЕК 61131-3 (IEC 61131-3); це: LD (Ladder Diagram); FBD (Function Block Diagram); ST (Structured Text); SFC (Sequential Function Chart); IL (Instruction List); Мова IL (Instruction List) являє собою список інструкцій, подібних до мови Асемблера, які виконуються послідовно. Це мова низького рівня, тому нею користуються в основному програмісти, які залучаються для розроблення програми користувача для ПЛК. У деяких ПЛК є дещо схожа на неї мова STL. Мова LD (Ladder Diagram) – це графічна мова програмування, яка використовує графічні елементи, подібні до тих, які рисуються в релейноконтактних схемах. Саме тому у вітчизняній практиці ця мова носить назву “Мова релейно-контактних схем” (РКС). Ця мова найбільш підходить для вирішення задач логіко-командного управління. Мова FBD (Function Block Diagram) – графічна мова програмування, яка дає змогу створювати програми у вигляді взаємопов’язаних функціональних блоків, які виконують стандартні для систем автоматизації функції. Вони нагадують графічну схему, на якій були б показані стандартні взаємопов’язані фізичні функціональні блоки, що використовуються в системах автоматизації (регулятори, задавачі, таймери, лічильники, суматори, блоки вилучення кореня, різноманітні логічні елементи та ін.). У деяких ПЛК є також дещо схожа на неї мова CFC. Мова ST (Structured Text, структурований текст) – це текстова мова, подібна до PASCAL, C, BASIC і т.п. Ця мова програмування найбільш зручна для спеціалістів у сфері автоматизації та програмістів. Мова SFC (Sequential Function Charts) – графічна мова програмування, в якій поведінка системи задається послідовністю кроків з діями що виконуються, та переходами між кроками що задаються умовами, при яких ці переходи спрацьовують. Ця мова програмування найбільш зручна для об’єктів, які мають чітко визначену послідовність дій. У деяких ПЛК є також дуже схожа на неї мова, яка має назву Grafcet. У багатьох ПЛК ці мови програмування мають однакові функціональні можливості, однак нерідко зустрічаються принципові розбіжності. Вибір мови також залежить від уподобання розробників програмного забезпечення. У деяких ПЛК дозволяється в одній прикладній програмі, в різних її блоках, використовувати різні мови програмування. 28 У наступній лекції розглянемо приклади розроблення програми користувача на мові LD. Запитання для самоперевірки 1. Вкажіть змінні ПЛК та їхні типи 2. Наведіть один із принципів адресації вхідних та вихідних змінних. 3. Яким чином відбувається перенесення фізичного значення підключеного до ПЛК сигнала у числове значення у пам’яті ПЛК? 4. З яких етапів складається цикл ПЛК? Що таке задачі? 5. Які мови технологічного програмування ПЛК визначені міжнародним стандартом МЕК 611131-3? 29 4.1. 4.2. 4.3. 4. Мова Ladder Diagram(LD) План. Приклад: постановка завдання. Основні принципи побудови. Використання основних елементів. 4.1. Приклад: постановки завдання Розробимо програму користувача для Кл1 Продукт управління об’єктом, зображеним на рис.4.1, з наступним алгоритмом LA1 функціонування. TE Після натискування кнопки «Пуск» і за умови, що апарат пустий, відкривається Кл2 клапан Кл1 і продукт поступає в нього. LA2 Коли рівень в апараті досягне верхнього Пара значення (при цьому спрацює сигналізатор Кл3 верхнього рівня LA1), клапан Кл1 закривається і відкривається клапан Кл2. В Рис. 4.1. Функціональна апарат поступає пара, і продукт починає структура об’єкта автоматизації розігріватись. Коли температура в апараті досягне заданого значення (про що свідчать показання термометра ТЕ), клапан Кл2 закривається і включається таймер. Коли встановлений час вичерпався, відкривається клапан Кл3 і рідина виливається з апарата. В момент, коли рівень в апараті досягне нижнього значення (при цьому спрацює сигналізатор нижнього рівня LA2), клапан Кл3 закривається, відкривається Кл1 і цикл повторюється. На рис. 4.2 зображено алгоритм управління для описаного вище алгоритму функціонування об’єкта управління. Як видно, алгоритм управління для задачі логіко-командного управління являє собою послідовність умов і дій, які повинні виконуватись при виконанні відповідної умови. Так, на початку програми система управління повинна очікувати, поки одночасно не будуть виконані дві умови – апарат буде пустий (тобто спрацьовує датчик нижнього рівня LA2) і не буде 30 Рис. 4.2. Алгоритм управління натиснута кнопка «Пуск». Як тільки одночасно будуть виконані ці дві умови – буде сформована команда на відкриття клапана Кл1 і закриття клапана Кл3. Після цього система переходить на стадію очікування виконання наступної умови – наповнення апарата продуктом до верхнього рівня і спрацьовування сигналізатора верхнього рівня LA1. При виконанні цієї умови подається команда на закриття клапана Кл1 і відкриття клапана Кл2 подачі пари. Далі система очікує виконання умови досягнення заданої температури. У цей момент закривається клапан Кл2 і включається таймер. Після спрацьовування реле часу відкривається клапан 3 і система переходить у стан очікування виконання умови спрацьовування сигналізатора нижнього рівня LA2. У момент її виконання система повертається на початок нового циклу роботи, тобто клапан Кл3 закривається і відкривається клапан Кл1. Розглянемо варіант програми користувача для наведеного алгоритму управління з використанням мови LD. 4.2. Основні принципи побудови Для прикладу, розроблення програми користувача покажемо в середовищі програмування TwidoSuite, яке використовується для програмування ряду контролерів фірми Schneider Electric. Для програмування на технологічній мові LD у середовищі TwidoSuite використовується спеціальний графічний редактор, у якому за допомогою графічних елементів розробляється програма користувача. При вході в режим програмування на екран дисплею виводиться розбита на клітинки сторінка програми. Програма складається з окремих сторінок із написаною програмою, які послідовно виконуються одна за одною. Кожна сторінка має зони для мітки і коментаря, а також робочу зону (рис. 4.3). У зоні мітки може бути записана мітка сторінки у вигляді %Li, де i – номер мітки. Сторінка не обов’язково повинна мати мітку. За її наявності можна у програмі організувати умовний або безумовний перехід на сторінку з відповідною міткою. Рис. 4.3. Сторінка графічного редактора Ladder Diagram 31 Робоча зона редактора умовно ділиться на дві зони: тестування і виконавчу. Зона тестування прилягає до лівої умовної шини живлення і в цій зоні розміщуються елементи, стан і значення яких зумовлює логіку виконання програми користувача. У виконавчій зоні, яка прилягає до правої умовної шини, розміщуються елементи, які призначені для виконання керуючих дій. Робоча зона сторінки має сітку, в клітинках якої розміщуються елементи. 4.3. Використання основних елементів У табл. 4.1 наведено графічні зображення елементів, які використовуються в мові Ladder Diagram, а також інтерпретація цього елемента в алгоритмі управління. Таблиця 4.1. Зображення графічних елементів Пояснення Зоб Назва раж Кнопк елемент енн а а я Елементи, що розміщуються в тестовій зоні Нормаль як вираз логічної умови : «якщо подія відбулася», но «якщо умова виконалася», «якщо спрацював …» відкрити або «якщо ввімкнувся …», або «якщо змінна …. й перейшла в стан логічної 1» і т. ін. контакт Нормаль як вираз логічної умови: «якщо подія не но відбулася», «якщо умова не виконалася», «якщо закрити не спрацював …» або «якщо вимкнувся …», або й «якщо змінна …. перейшла в стан логічної 0» і т. контакт ін. Контакт, як логічний вираз: «у момент виникнення події», що «у момент виконання умови», «у момент закриває ввімкнення ….» або «у момент зміни стану ться по дискретної змінної з 0 на 1» переднь ому фронту Контакт, що закриває тья по задньом у Виконавчі елементи як логічний вираз: «у момент зникнення події», «у момент, коли умова перестає виконуватись», «у момент вимкнення» або «в момент зміни стану дискретної змінної з 1 на 0» 32 фронту Котушк а на ввімкне ння Котушк а на вимкнен ня Котушк а на ввімкне ння з замикан ням Котушк а на вимкнен ня з замикан ням як виконавча частина логічного виразу: «тоді виконати дію», «тоді ввімкнути …» або «тоді змінній присвоїти значення логічної 1 …» і т. ін. як виконавча частина логічного виразу: «тоді не виконувати дію», «тоді вимкнути …» або «тоді змінній присвоїти значення логічної 0 …» і т. ін. як виконавча частина логічного виразу: «тоді виконати дію» або «тоді ввімкнути…. і зберігти стан змінної, навіть коли перестає діяти умова ввімкнення» як виконавча частина логічного виразу – «тоді перестати виконувати дію» або «тоді вимкнути…. і зберігти стан змінної, навіть коли перестає діяти умова вимкнення» Програмування полягає у виборі графічних елементів, що відповідають тим чи іншим логічним елементам або функціональним блокам, розміщенні їх у робочих зонах сторінок і показі зв’язків між ними у вигляді традиційних електричних ланцюгів (рис. 4.4). Вибір і нанесення графічних елементів у полі графічного редактора відбувається за допомогою активних кнопок, на яких нанесено графічне зображення вибраного елемента, розташованих у нижній частині вікна редактора. Наприклад, для того щоб розмістити графічне зображення того чи іншого елемента в полі графічного редактора в середовищі PL7 необхідно: – підвести курсор миші до відповідної кнопки в нижній частині екрана редактора і клацнути правою клавішею миші; – підвести курсор до того місця, де ми бажаємо розмістити вибраний елемент у полі графічного редактора і знову клацнути правою кнопкою миші і зображення елемента з’явиться в полі графічного редактора; – над зображенням елемента відкриється вікно, в якому треба ввести адресу або ім’я змінної, з якою воно пов’язане. 33 Рис. 4.4. Фрагмент програми на мові Ladder Diagram Крім простих елементів, у програмі використовуються блоки, які виконують різноманітні функції. До них належать блоки порівняння, операційні блоки, таймери, лічильники та ін. Розглянемо деякі з них. Блоки порівняння (компаратори) призначені для перевірки виконання умови порівняння числових (аналогових) значень. Блок порівняння (рис. 4.5) має Рис.4.5. Компаратор вигляд горизонтального прямокутника, в середині якого записується умова порівняння двох операторів. Порівняння перевіряється з використанням умов: <, >, =, <=, >=,<>. Блок порівняння розміщується в тестовій зоні. Функціонально, на мові релейно-контактних схем, блок порівняння можна порівняти з нормально відкритим контактом, який замикається, коли умова, яка записана в блоку порівняння, виконується, і розмикається, коли умова не виконується. На рис. 4.6 показано графічне зображення функціонального блока таймера. Зображення наведено для таймера типу TON. Якщо на вхід IN подається логічна «1» -таймер починає відлік часу. Якщо час у таймері досягне заданого значення – на виході Q з’явиться логічна «1». Настроювання таймера, тобто вибору режиму роботи таймера (TON, TOF або TP), завдання заданого значення TM.P (від 0 до 9999) і вибору одиниць відліку часу ТВ (10ms, 100ms, 1s, 1min) задається в режимі настроювання таймера. Час, який буде витримувати таймер, розраховується як TMi.P ∙ ТB. Для виконання операцій над числовими (аналоговими) змінними Рис. 4.6. Блок таймера використовується операційний блок (рис. 4.7), у якому записуються необхідні дії над цими змінними. Розробимо програму користувача на мові LD для наведеного алгоритму управління. Першочергово необхідно визначитися з адресами зовнішніх змінних, які пов’язані з Рис. 4.7. Операційний блок датчиками і виконавчими механізмами. У табл. 34 6.2 наведено адреси зовнішніх змінних для умовного ПЛК та їх технологічні імена. Таблиця 4.2. Таблиця змінних Змінна Адреса Технологічне змінної ім’я Кнопка «Пуск» %I1.0 Pusk Датчик сигналізатора верхнього рівня (LA1) %I1.1 LA1 Датчик сигналізатора нижнього рівня (LA2) %I1.2 LF2 Датчик температури (TE) %IW3.1 Temp Дискретний клапан 1 (Кл1) %Q2.1 KL1 Дискретний клапан 2 (Кл2) %Q2.2 KL2 Дискретний клапан 3 (Кл3) %Q2.3 KL3 На рис. 4.8 наведена програма на мові LD. Програма управління працює так. Якщо апарат порожній (тобто спрацював датчик нижнього рівня LA2, зовнішня змінна %I1.2 переходить у стан логічної «1») і натискається кнопка «Пуск» (зовнішня змінна %I1.0 також переходить у стан логічної «1»), умовно замикається ланцюг, який підключений до зовнішніх виходів %Q2.1 і %Q2.3. При цьому клапан Кл1, підключений до виходу %Q2.1 відкривається і фіксується, оскільки використаний вихід з командою S (включити і зафіксувати), а клапан Кл3, підключений до виходу %Q2.3, закривається і фіксується, оскільки використаний вихід з командою R (включити і зафіксувати). Тобто, якщо навіть кнопка «Пуск» відпуститься, клапан Кл1 буде Рис. 4.8. Програма користувача на залишатись у включеному стані. мові LD Коли спрацює датчик верхнього рівня LA1, вхідний сигнал %I1.1 перейде в стан «логічної 1», що призведе до закриття клапана Кл1 (%Q2.1) і відкриття клапана подачі пари Кл2 (%Q2.2). Блок COMPARE виконує порівняння сигналу від датчика температури ТЕ (%IW3.1) і його заданного значення (на схемі показано значення 7000, що відповідає 70% від діапазону шкали). У разі виконання умови, записанної в ньому, відключається і фіксується вихід %Q2.2 (Кл2) і включається таймер %TM1. Після того, як сплине час, заданий у таймері (10 хвилин), його вихід %TM1.Q включить і зафіксує вихід %Q2.3 (Кл3). У момент досягнення рівня в апараті нижнього значення подається короткий імпульс, від спрацьовування входу %I1.2 ( ), який приводить до закриття клапана Кл3 і відкриття клапана Кл1. Цикл роботи розпочнеться знову. 35 На рис. 4.9 показано ту ж саму програму, але замість адрес змінних використано їхні технологічні імена. Як видно, основною перевагою цієї програми є її наглядність. Наприклад, з програми можна скзати, що якщо натиснута кнопка Pusk і спраював датчик верхнього рівня LA1, то включається клапан KL1 і відключається KL3. Якщо спрацьовує датчик верхнього рівня LA2, то клапан KL1 закривається і відкривається KL2. Коли значення температури в апараті Temp досягне заданого значення (70% від діапазону, клапан KL2 закриється, а через 10 хвилин спрацьовує таймер, вихід якого включить KL3. В момент досягнення рівня в апараті нижнього значення (верхня ланка на схемі) знов спрацьовує клапан KL1 і відключиться клапан Рис. 4.9. Програма користувача на мові LD KL3. Розпочнеться новий цикл роботи. Тобто опис роботи програми з використанням технологічних імен стає зрозумілішим. Крім того, виникає можливість спочатку розробити програму, а потім прив’язати її до конкретного ПЛК, задаючи відповідність адрес зовнішніх змінних і їх технологічних імен. Запитання для самоперевірки 1. Наведіть основні елементи мови Ladder Diagram. 2. Які особливості реалізації мови Ladder Diagram у середовищі Twido Suite? 3. Яким чином у приклады реалызовано затримку часу? 36 5.1. 5.2. 5. Функціональні блоки контролера. План. Таймери, їх типи та призначення. Лічильники 5.1. Таймери, їх типи та призначення Функціональний блок таймера представлений на рис. 4.6 має такі входи, виходи та настройки: IN – вхід таймера. Q – вихід таймера. TYPE – тип таймера, обирається один з трьох типів, описаних нижче. TB – часова база уставки таймера. ADJ – можливість зміни параметрів таймера програмно. %TMx.P – уставка таймера. %TMx.V – плинний час таймера. Табл. 5.1. Приклад настройки часу затримки таймера Час затримки TB %TMx.P 1s 60 60 s 1min 1 62s 100ms 625 500ms 10ms 6250 4s 10ms 454 540ms В середовищі TwidoSuite присутні наступні види таймерів: 1. Таймер із затримкою на включення (TON). 2. Таймер із затримкою на виключення (TOF). 3. Таймер з витримкою імпульсу (TP). TON працює наступним чином (Рис. 5.1) – при появі на вході таймера сигналу логічної «1» – таймер запускається; коли плинне значення таймеру доходить до уставки (PRESET) на виході Q з’являється логічна «1». Якщо на вході IN зникає логічна «1», таймер скидається. 37 Рис. 5.1. Часова діаграма роботи таймера TON TOF працює наступним чином (Рис. 5.2) – якщо на вході IN таймера логічний «0», то на виході Q також логічний «0». Як тільки на вході з’являється логічна «1» – на виході також відразу з’являється логічна «1». При зникненні логічної «1» на вході, на виході сигнал логічної «1» протримається ще заданий уставкою час. Рис. 5.2. Часова діаграма роботи таймера TOF TP працює наступним чином (Рис. 5.3) – при появі на вході IN логічної «1», на виході Q формується імпульс заданої уставкою тривалості. Рис. 5.3. Часова діаграма роботи таймера TР 38 5.2. Лічильники Функціональний блок лічильника призначений для підрахунку кількості імпульсів певного сигналу. В середовищі TwidoSuite представлений лише один тип лічильників – реверсивний лічильник (Рис. 5.4). Даний функціональний блок має наступні входи, виходи та настройки: R – скидання кількості нарахований імпульсів до нуля. S – встановлення кількості нарахованих імпульсів рівній величині уставки лічильника. CU – вхід, що збільшує кількість нарахованих імпульсів на один по передньому фронту сигналу. CD – вхід, що зменшує кількість нарахованих імпульсів на один по передньому фронту сигналу. E – вихід, який сигналізує, що кількість нарахованих імпульсів менше нуля. D– вихід, який сигналізує, що кількість нарахованих імпульсів досягла уставки. F– вихід, який сигналізує, що кількість нарахованих імпульсів більше 999. Рис. 5.4. Функціональний блок ADJ– можливість зміни параметрів лічильника лічильника програмно. %Cx.P – уставка лічильника. %Cx.V – кількість нарахованих імпульсів. Запитання для самоперевірки 1. Які типи таймерів існують? Які входи та виходи має блок таймера? 2. Що таке лічильник, яке його функціональне призначення? 3. Які входи та виходи має функціональний блок лічильника? 39 6.1. 6.2. 6.3. 6. Загальні принципи функціонування промислових мереж План. Функції та призначення промислових мереж. Вимоги до промислових мереж. Промислові мережі в контексті моделі ISO OSI 6.1. Функції та властивості промислових мереж. У даній дисципліні англомовний термін Fieldbus (дослівний переклад „польова шина”) перекладається як "промислова мережа". Під промисловою мережею ми будемо розуміти промислову комунікаційну систему з послідовною передачею бітів, яка використовує металевий кабель, оптоволокно або радіохвилі для зв’язку між мікропроцесорними засобами автоматизації. Слід зазначити, що в деяких джерелах терміни "польова шина" та "промислова мережа" не являються синонімами. Визначення, які наведені в даному посібнику можуть не співпадати з прийнятими в інших джерелах. У подальшому при розгляді матеріалу будемо використовувати умовний розподіл промислових мереж в залежності від області застосування на два рівня: рівень датчиків та розподіленої периферії, завданням мереж якого є безпосереднє або через модулі/вводу виводу опитування датчиків і керування роботою різноманітних виконавчих механізмів. Умовно цей рівень можна розділити на два підрівня: рівень датчиків/виконавчих механізмів (Sensor/Actuator Level) та польовий рівень (Field Level). Перші призначені для роботи безпосередньо з інтелектуальними датчиками/ВМ, а другі для зв’язку з польовими засобами (розподіленим засобами вводу/виводу, приводними засобами, операторськими терміналами та панелями). В даному посібнику оба типи мереж відносяться до рівня датчиків. рівень контролерів (Controller level або Cell Level), промислові мережі якого приймають участь у вирішенні завдань по керуванню виробництвом в цілому або комплексом технологічних процесів і забезпечують обмін між контролерами, засобами SCADA/HMI та засобами рівня АСУП. Дане розділення є умовним і може не співпадати з прийнятими в інших джерелах. Типові програмно-технічні засоби та особливості обміну між ними дозволять визначити типові функції промислових мереж. До них можна віднести: 1. Обмін даними процесу в реальному часі. 2. Програмування та конфігурація вузлів. 3. Діагностика вузлів. 4. Управління станом вузла. 40 Функції резервного переключення між вузлами мережі. Обмін даними процесу у реальному часі - це одна з найважливіших функцій реалізації промислової мережі як рівня датчиків так і рівня контролерів. Дані технологічного процесу постійно змінюються в часі, тому необхідно їх доставити від джерела до споживача в потрібному обсязі, за визначений інтервал часу. Доставка даних процесу в реальному часі є одним із показників ефективності конкретної реалізації мережі. Фізичні рамки реального часу чисельно визначаються для конкретної системи управління. Тому одне рішення може задовольняти вимогам реального часу для однієї системи та зовсім не задовольняти для іншої. Відповідно до стандартів ДСТУ режимом реального часу називається режим оброблення даних, який забезпечує взаємодію обчислювальної системи з зовнішніми, по відношенню до неї, процесами у темпі порівнянному зі швидкістю протікання цих процесів. За допомогою функцій програмування та конфігурування більшість сучасних мікропроцесорних засобів, зокрема контролери та периферійні ПТЗ, можуть програмуватись з використанням спеціалізованого програмного забезпечення, встановленого на ПК або програматорі. На відміну від функцій обміну даними процесу, ці функції не накладають жорстких вимог до обміну в реальному часі. Діагностика роботи вузлів мережі є такою ж важливою, як і діагностика складових будь якої мікропроцесорної системи. Функції діагностики дозволяють визначити факт (функція виявлення аварії) та причину відмови пристрою (ідентифікація аварії), що дозволяє визначити та замінити дефектний вузол, а в системах з резервуванням (standby) – переключитися на резервні підсистеми. Вияв факту несправності вузла повинен бути визначений в режимі реального часу, для можливості зворотної реакції системи на збій, що особливо стосується функціонально-небезпечних процесів. Тому ця функція базується на високо-пріоритетних повідомленнях. Ідентифікація аварії як правило потрібна для обслуговуючого персоналу, для можливості усунення проблеми, тому особливих вимог до реального часу не потребує. Функції управління станом вузла необхідні для можливості запуску, перезапуску, зупинки роботи програмного забезпечення та ініціалізації вузла. Враховуючи можливість функціонування декількох вузлів в системі, команди управління станом вузла мають нижчий пріоритет перед обміном даними процесу в реальному часі. За рахунок цих функцій резервування промислова мережа дає зручний і порівняно недорогий спосіб підвищення живучості та надійності системи. Технічні засоби систем з резервуванням діляться на основні або первинні (Primary) та резервні (Standby). В нормальному режимі функціонування у системі працюють основні вузли, у випадку виходу яких з ладу, їх функції беруть на себе резервні. В таких системах промислової мережі забезпечують можливість самодіагностики вузлів, тобто вияву дефектних засобів, 5. 41 переключення на резервні вузли та підтримку каналів зв’язку з основними та резервними засобами. Промислова мережа може забезпечити: резервування віддалених периферійних засобів; резервування контролерів; резервування серверів SCADA; резервування каналів зв’язку: контролер <-> периферійні засоби, контролер <-> SCADA/HMI, контролер <-> контролер, і інші. 6.2. Вимоги до промислових мереж Промислові мережі споріднені комп’ютерним мережам, однак порівняно з останніми, вимоги до промислових мереж дещо відрізняються. Ідеальний варіант промислової мережі повинен задовольняти наступним вимогам. 1. Властивість детермінованості. 2. Завадостійкість та промислові умови експлуатації. 3. Надійність та живучість. 4. Простота, зручність інсталяції та обслуговування. 5. Можливість подачі живлення по кабельній системі мережі. 6. Вільна топологія. Властивість детермінізму тісно пов’язана з реальним часом, про який вище було неодноразово згадано. Слід звернути увагу, що промислова мережа повинна забезпечити своєчасну доставку та цілісність даних процесу. З іншого боку, промислова мережа повинна забезпечити ациклічний обмін параметричними даними, які можуть бути передані без чіткого визначення часу їх доставки, однак в межах допустимого. Так, наприклад, одночасно із обміном даними процесу з розподіленими модулями вводу/виводу, необхідно змінювати конфігурацію одного з них. Тобто промислова мережа повинна надавати можливість обміну обома типами даних, тобто надавити час для реал-тайм трафіку (для обміну даними процесу) та не реал-тайм трафіку (для обміну параметричними даними). Це можливо при умові визначення пріоритетності повідомлень для обміну даними процесу, або розділення загального мережного часу на циклічно-періодичний обмін даними процесу та ациклічний обмін параметричними даними. Вимоги завадостійкості та промислових умов експлуатації зумовлено тим, що поряд з кабелем і засобами мережі може знаходитися силове електрообладнання, що може спричинити спотворення корисного сигналу паразитними струмами. Для боротьби з цим явищем у промислових мережах використовують спеціальні методи кодування/модуляції бітової послідовності, екранований кабель, захисне зміщення і інше(детальніше див. розділ 3). Промислові умови експлуатації, які обумовлюються надмірними температурами, вологістю, вібрацією або іншими кліматичними факторами потребують використання кабельної продукції і комутуючих засобів (конектори, роз’єми, коробки і іше) спеціального виконання. В деяких 42 випадках є необхідність в іскробезпечному виконанні мережі, що накладає додаткові вимоги на середовище та способи передачі даних. Щодо пило- та вологозахисту технічних засобів в промислових мережах, згідно стандартів IEC 529, EN 60529 та ГОСТ 14254-96, всі електричні засоби прийнято класифікувати та маркувати по ступені захисту IP-кодом (Ingress Pritection). ІР-код - це двохзначне число, перша цифра якого вказує на ступінь захисту електрообладнання від твердих тіл, а друга – від води. Чим більше ці цифри, тим краще оболонка (корпус) засобу захищає його від попадання твердих тіл або рідини. Стандарт IEC EN 62262 (попередня версія EN 50102) визначають ступінь захисту електрообладнання від механічної дії (ударостійкість). Цей захист визначається ІК-кодом, який вказує на максимальну енергію удару, яку витримує оболонка засобу. Таким чином промислові умови експлуатації для промислових мереж обумовлюються спеціальними виконаннями технічних засобів та матеріалів, такими як: тип кабелю, ступінь захисту по IP, по IK, по NEMA, захист від агресивних середовищ, вібростійкість та ін. Надійність системи перш за все залежить від надійності її компонентів та структури мережі. Мережні технології дають можливість будувати системи з резервуванням, що дозволяє збільшити надійність роботи мережі або окремих її компонентів. Резервування окремих, найменш надійних мережних компонентів дозволяє збільшити живучість системи. Однак слід зазначити, що надійність у більшості випадків реалізується на рівні програмно-апаратного забезпечення вузлів, а не мережних компонентів. В свою чергу протоколи промислових мереж повинні забезпечити можливість діагностики мережі, для своєчасного виявлення дефектних вузлів, а самі мережні компоненти повинні мати надійність значно вищу ніж мережні вузли. В промислових мережах необхідно, щоб при виявленні дефектного вузлу, він автоматично відключався, не порушуючи працездатність всієї мережі. Це здійснюється засобами самодіагностики мережних адаптерів, які можуть перевести вузол у режим аварійної зупинки, відправити сигнал аварії слідкуючому пристрою і відключитись від комунікаційного обміну. Простота, зручність інсталяції та обслуговування зумовлено тим, що в промислових умовах експлуатації простій обладнання може привести до аварійної зупинки виробничої лінії, що відповідно приводить до втрат різного характеру. Тому обслуговуючий персонал, наприклад служба КВПіА, повинен швидко виявити причину зупинки та замінити дефектну частину системи, при цьому не зупиняючи функціонування мережі. Гаряча заміна вузлів, або їх частини – одна з основних вимог до промислових мереж. Процедура заміни або добавлення нового вузла повинна проходити швидко та легко. Часто важливою але не принциповою вимогою до промислових мереж є живлення вузлів по мережі. Живлення як правило потрібне датчикам та виконавчим механізмам, які підключаються до мережі. Щоб не прокладати живлення окремим кабелем, воно подається по тому ж самому кабелю, що і цифровий сигнал, а інколи і по тій самій інформаційній парі проводів, 43 створюючи несучий сигнал для модуляції. Сучасні мережі рівня датчиків як правило забезпечують можливість живлення датчиків по мережі. Потрібна топологія мережі диктується територіальним розміщенням мережних вузлів. Тому в ідеальному варіанті мережа повинна мати вільну топологію, що особливо актуально для мереж рівня датчиків та виконавчих механізмів. Однак більшість промислових мереж мають шинну топологію, рідше – дерево видну або кільцеву. Для деяких мереж топологію можна вибрати, виходячи з вимог та обмежень поставленої задачі. Для вибору потрібної топології, у деяких мережах використовуються спеціальні адаптери. Інший шлях – побудова інтермереж з використанням міжмережних адаптерів (мостів, шлюзів). 6.3. Промислові мережі в контексті моделі ISO OSI Для того щоб мережа функціонувала, всі її складові повинні працювати як єдине ціле за певними правилами. Очевидно, що кабель мережі Ethernet не можна вставляти в роз’їм USB та навпаки, навіть якщо зробити провідник з перепаяних провідників. Звичайно є перехідники які забезпечують їх взаємну роботу, але це не обходиться тільки вирішенням питань їх фізичної сумісності. Мережа функціонує тільки завдяки погодженій роботі апаратного та програмного забезпечення які складають цю мережу. Враховуючи, що вирішення різноманітних проблем узгодження роботи мережі проводиться різними методами та засобами, є сенс розбити загальну задачу мережної взаємодії на декілька більш маленьких задач. У такому випадку наприклад виробники мережних карт будуть займатися тільки задачами передачі бітових наборів, не думаючи навіщо вони призначені. Виробники програмних компонентів будуть використовувати мережні карти як готові елементи, що забезпечують доставку потрібних бітів, і в свою чергу будуть вирішувати як ці дані передавати необхідним програмам. На самому ділі таких функціональних рівнів більше ніж два, так як вирішується набагато більше задач, ніж здається на перший погляд. Для кращого розуміння функціонування конкретних мереж, а також спрощення розробки елементів, проектування та взаємне перетворення мережі прийнято розглядати в контексті декількох рівнів (слоїв), на кожному з яких вирішуються конкретні задачі. Тому, по суті кожна мережа буде реалізацією набора таких рівнів. На сьогоднішній день промислові та комп’ютерні мережі прийнято розглядати в контексті 7-рівневої моделі ISO OSI. Кожен з рівнів виконує певні функції, які прийнято називати сервісами рівнів. Ці функції реалізовується певним чином, тому щоб мережі були сумісні на даному рівні, необхідно щоб вони працювали узгоджено, тобто дотримувалися одних і тих самих правил. Такі правила прийнято називати протоколом рівня. Тобто щоб мережа забезпечувала зв'язок між вузлами необхідно щоб у них був однаковий набір протоколів усіх задіяних рівнів. 44 Набори протоколів на кожному з рівнів прийнято називати стеком протоколів, а на усіх рівнях – архітектурою мережі. Отже ієрархія моделі OSI включає 7 рівнів, однак ми розглянемо тільки найбільш вживані 5. Рівень 1. Фізичний рівень (Physical Link Layer). Даний рівень описує механічні та електричні характеристики, а також визначає фізичне середовище для передачі даних. Тобто сутність фізичного рівня займається передачею та прийомом бітів по каналу зв’язку. Принциповими питаннями тут є: який тип сигналу (напруга, струм, світло і інші) і якої величини використовується для передачі логічної "1" та "0"; тривалість одного біту; напрямок передачі даних; коли розпочати і закінчити передачу; кількість і призначення фізичних каналів зв’язку, спосіб стикування (типи роз’ємів) і т.ін. Кожен біт кодується своїм рівнем сигналу, або характером зміни фізичної величини. При передачі сигналу для кожної мережі також визначено: швидкість передачі в бітах (біт/с), кілобітах (1000 біт/с = 1 кбіт/с), Мегабітах (1000 кбіт/с = 1 Мбіт/с) або Гігабітах (1000 Мбіт/с = 1 Гбіт/с); швидкість може вибиратися з ряду вказаних; правила побудови мережі, стосовно взаємного підключення пристроїв – топологія мережі; найбільш популярними в промислових мережах набули топологія шина, зірка, кільце, лінійна та деревовидна (рис.6.1); максимальна довжина ліній зв’язку між вузлами, та сумарна еквівалентна довжина кабелю, максимальна відстань відгалужень та інші обмеження; вимоги до кабелів звязку правила підключення кабелю до вузла (розєми, призначення їх контактів) кільце зірка шина лінійна дерево Рис. 6.1. Базові топології мереж Пристрої які об’єднані в єдину мережі прийнято називати вузлами. Фізичний рівень повинен забезпечити достовірну доставку бітів від передавача одного вузла в мережі до приймача іншого. Перетворенням логічних бітів у фізичний сигнал забезпечує передавач (трансміттер) а перетворенням фізичного сигналу в біт – приймач (ресивер). Враховуючи що кожний пристрій в мережі як правило повинен і передавати і приймати дані, то він повинен мати як передавач так приймач. Практично завжди ці 45 функціональні частини поєднують в єдиній мікросхемі, яку прийнято називати трансивером (рос. приемопередатчик). Логічні сигнали що поступають всередині пристрою на його трансивер (див. рис.6.2) прийнято позначати як TD (Transmit Data), а ті, які на виході ресивера - RD (Receive Data). Це сигнали всередині пристрою, які можуть приймати значення логічного "0" або "1". Трансивери і ресивери зображаються трикутниками, так як електрично вони являються підсилювачами сигналів. Трансивери можуть позначатися однією з літеро G (Generator), D (Driver) або T (Transmitter). Ресивери позначаються літерою R (Receiver). Рис. 6.2. Типи звязку Фізично трансмітери та ресивери вузлів можуть з’єднуватися лініями зв’язку (ЛЗ) різним чином. На рис.6.2 показані три типи зв’язку: - симплекс, при якому один вузол передає дані, а інші можуть тільки приймати - дуплекс, при якому вузли можуть передавати та приймати дані одночасно - напівдуплекс, при якому дані вузол може приймати, або передавати але не одночасно з іншими, оскільки використовується одна і та сама лінія зв’язку Рівень 2. Передачі даних (Data Link Layer) або канальний. Його задача забезпечити можливість та надійність передачі даних на фізичному рівні. Всі дані, які передаються з верхнього (наприклад мережного) рівня, передаються у вигляді кадрів – бітового набору. За допомогою спеціальних алгоритмів 46 проводиться контроль за правильною передачею на фізичному рівні з подальшою реакцією на помилки. Окрім підтримки каналу зв’язку та контролю за помилками, у мережах з загальним доступом до сумісно використовуваного фізичного каналу, на цьому рівні регламентується алгоритми та процедури доступу. Канальний рівень повинен забезпечити достовірну доставку даних від одного вузла до іншого в одній і тій самій мережі. Серед найбільш важливих функцій, які забезпечує протокол канального рівня: доставка корисних даних за місцем призначення: кожен вузол може мати спеціальну адресу, побачивши яку вузол зможе визначити, що дані призначені йому; визначення порядку доступу до середовища передачі, якщо воно використовується спільно декількома передавачами (напівдуплексний зв'язок); в промислових мережах великої популярності набув метод Master-Slave, при якому один вузол визначає порядок доступу до шини іншими вузлами; контроль достовірності доставки даних: біти можуть бут доставлені або роспізнані фізичним рівнем невірно, тому необхідно забезпечити контроль цілісності; формування та інтерпретація кадру: до корисних даних, що треба передавати добавляються додаткові бітові поля, які забезпечують виконання всіх вищезазначених функцій Рівень 3. Мережний (Network Layer). Основна із задач – це визначення маршруту пересилки пакетів від джерела до приймача. Мережа може являти собою об’єднання підмереж, між якими виникає необхідність в обміні даними. Оскільки підмережі можуть бути різнорідними по природі, задачею мережного рівня є забезпечення прозорості між ними. Таким чином мережний рівень повинен забезпечити достовірну доставку даних від одного вузла до іншого в різних мережах, об’єднаних в одну інтермережу. Рівень 4. Транспортний (Transport Layer). Основна функція – прийняти дані від прикладного рівня, при необхідності розбити їх на частини, передати їх мережному рівню і гарантувати прибуття їх в правильному порядку до місця призначення. Цей рівень забезпечує передачу даних безпосередньо між прикладними програмами. Тобто транспортний рівень повинен забезпечити достовірну доставку даних від однієї програми (прикладного Процесу) до іншої, які функціонують на одному вузлі або на різних вузлах в мережі. Рівень 7. Прикладний (Application Layer). Містить набір протоколів для доступу до даних прикладного Процесу. Прикладний рівень повинен забезпечити одній прикладній програмі доступ до об’єктів іншої прикладної програми через систему домовленостей. Найбільш популярним типом обміну між програмами (прикладними процесами) є обмін по моделі клієнт-сервер. Для цього одна програма-клієнт 47 може формувати запит до іншої програми-сервера, в якому попросити виконати якусь операцію, наприклад прочитати дані. Функціонування мережі в контексті моделі OSI продемонструємо на прикладі, який зображений на рис.6.3.На вузлі 1 функціонують три прикладні програми (надалі Процеси) під умовними позначками A, B, C, а на вузлі 2 – Процеси D, E, F. Необхідно: показати передачу даних від Процесу B до Процесу E, використовуючи мережу описану на 1, 2, 3, 4 та 7 рівні моделі OSI. Процеси С та Е спілкуються за єдиними правилами обміну, які визначені протоколом 7-го (прикладного) рівня. Частково цей протокол визначає семантику спілкування, тобто відповідність символьних позначень до функцій, які необхідно виконати, та дані, які необхідно передати з цими функціями. Таким чином між двома прикладними програмами ведеться обмін кодом та даними, по правилам протоколу даного рівня, які називають APDU (Application Protocol Data Unit – модуль даних протоколу прикладного рівня). Оскільки Процеси B і E повинні якось взаємодіяти між собою, то за передачу даних між цими Процесами відповідає транспортний рівень. Для транспортного рівня код і дані прикладного рівня – це дані, які треба передати від одного Процесу до іншого. Для цього необхідно використати правила адресації цих Процесів, щоб правильно доставити дані, тобто щоб їх отримав Процес E, а не скажімо Процес F. Ці правила визначаються протоколом транспортного, тобто 4-го рівня. Для того, щоб транспортний об’єкт на вузлі 2 міг ідентифікувати Процес, якому передають дані (у нашому випадку Е), транспортний об’єкт на вузлі 1 добавляє допоміжні дані до тих, які він отримав у прикладного рівня. Дані які добавляються на кожному рівні перед даними з вищого рівня називаються заголовком (header). Таким чином, для ідентифікації Процесу отримувача транспортний об’єкт відправника добавляє його адресу (Е) у заголовок H1 і передає управління мережному рівню. Заголовок разом із даними на транспортному рівні прийнято називати TPDU (Transport Protocol Data Unit – модуль даних транспортного протоколу). Мережний рівень у свою чергу повинен забезпечити доставку модулів TPDU від вузла до вузла, які можуть знаходитись у різних за принципом функціонування підмережах. Для цього до TPDU добавляється заголовок з адресою приймача та відправника (у нашому випадку H2), який необхідний маршрутизаторам (router) для знаходження правильного шляху до визначеної підмережі. Окрім того, на даному рівні дані можуть бути розбиті на частини, для можливості їх передачі на нижніх рівнях (це саме може відбуватися на всіх рівнях). Ці частини разом із заголовками називаються пакетами (packet) або NPDU (Network Protocol Data Unit – модуль даних мережного протоколу). У нашому випадку модуль TPDU на мережному рівні ділиться на два пакети з заголовками H2, які передаються послідовно один за одним канальному рівню. 48 Пакети, які отримує канальний рівень, вставляються у кадри (frame). Кадри мають заголовок, у якому міститься інформація про адресу вузла отримувача та/або відправника в локальній мережі та/або допоміжні службові коди. Отримувач може бути у свою чергу тільки допоміжним пристроєм для забезпечення передачі даних в іншу підмережу, тому може і не бути кінцевим вузлом призначення. Але для канального рівня це не важливо, тому що функції маршрутизації належать мережному рівню. Окрім заголовка, у кінці до пакету може добавлятися кінцевик (terminator) з службовою інформацією, наприклад даними контролю за правильною передачею. Безпосередня передача кадру по бітам забезпечується обладнанням та ПЗ фізичного рівня. Отримання даних та їх обробка проходить по тій же схемі з точністю до навпаки. Засоби канального рівня на вузлі 2 відловлюють кадр, визначають по заголовку H3, що кадр призначений саме їм, по T3 перевіряють правильність отриманих даних, вилучають пакет і передають мережному рівню. Це саме вони роблять і з другим пакетом. Мережний рівень у свою чергу вилучає модулі TPDU з пакетів, об’єднує їх і передає транспортному рівню, який по заголовку H1 ідентифікує Процес E і передає йому дані. Це спрощений і далеко неповний перелік дій з даними на кожному рівні, який дає представлення про послідовність і принцип обробки даних при передачі. вузол 1 вузол 2 C A H1 F D B обмін даними E дані 7 дані APDU дані 4 H1 дані TPDU 3 H2 H1 дані H2 H1 дані H3 H2 H1 дані Т3 H2 дані H3 H2 дані Т3 2 H3 H2 H1 дані Т3 H2 дані NPDU пакет (packet) H3 H2 дані Т3 кадр (frame) 1 Рис. 6.3. Обробка даних при обміні даними через мережу Слід зазначити, що для реалізації мережі не завжди потрібні функції усіх 7 або в нашому випадку навіть 5-ти рівнів. Більшість промислових мереж не 49 потребує маршрутизації, так як не можуть об’єднуватися в інтермережі. Крім того, враховуючи що на інтелектуальних засобах автоматизації як правило виконується тільки один прикладний процес, послуги транспортного рівня також не потребуються. Таким чином, переважна більшість промислових мереж обходяться функціями 3-х рівнів: фізичного (для передачі/прийому бітів), канального (для забезпечення гарантованої доставки за місцем призначення) і прикладного (для спілкування між програмами). Запитання для самоперевірки 1. Перелічіть та коротко охарактеризуйте типові функції, які виконують промислові мережі. 2. Перелічіть та коротко охарактеризуйте вимоги, що накладаються на промислові мережі. 3. Дайте визначення поняттям: рівень OSI, протокол рівня, інтерфейс рівня, архітектура мережі. 4. Поясніть призначення фізичного, канального, мережевого, транспортного та прикладного рівнів у контексті моделі OSI. 5. Наведіть передік робочих характеристик, за допомогою яких можна оцінити промислову мережу. 50 7. Стандартні послідовні інтерфейси План. 7.1. Синхронна та асинхронна передача. 7.2. Стандартні послідовні інтерфейси. 7.3. Інтерфейс RS-232. 7.4. RS-422 7.5. RS-485 7.6. Порівняльна характеристика стандартних послідовних інтерфейсів. 7.7. Використання адаптерів-перетворюваів інтерфейсів. 7.1.Синхронна та асинхронна передача При обміні бітами між вузлами на фізичному рівні необхідно щоб передавач і приймач використовували одне і те саме джерело часу, тобто щоб вони були синхронізовані на фізичному рівні. У протилежному випадку, приймач не зможе визначити, коли надходить перший біт, тобто розпізнати початок посилки. Однак навіть при початковій синхронізації джерела тактів передавача і приймача, а також домовленості про час початку відправки, при передачі великих послідовностей бітів, може виникнути розсинхронізація. При синхронній передачі приймач і передавач постійно синхронізуються під час передачі. Синхронізація проходить через певні проміжки часу або бітів за допомогою синхронізуючої посилки, яка представляє собою імпульсний сигнал (набір імпульсів) певної частоти. Синхронізуючий сигнал як правило передається разом з цифровими даними (наприклад RZ-кодування, манчестерське кодування), або перед ними (наприклад у вигляді преамбули). При асинхронній передачі, обмін даними може проходити і без визначеного джерела часу. Передача починається в будь який момент часу з сигналу початку передачі – стартового біта. В цей час приймач синхронізується з передавачем. Обмін проходить короткими наборами бітів (символами), що дозволяє не робити додаткову синхронізацію під час передачі. При асинхронній передачі приймач повинен наперед знати всі параметри зв’язку, в першу чергу – швидкість, щоб правильно ідентифікувати сигнали які поступають. Асинхронну передачу називають такоє символьною. При такому способі, дані які передаються діляться на символи по декілька біт (як правило по 8 або 7) і обрамляються службовими бітами. На рис. 8 графічно представлено передачу двох байт D816(110110002) та C416(110001002) при наступних настройках: біт парності – «непарний», 1 стоповий біт, бітова швидкість 9600 біт/с. При відсутності передачі на лінії утримується логічна "1". При передачі символу передавач скидає сигнал на "0" і тримає його протягом 1-го біту, який називають стартовим бітом. За цей час приймач 51 синхронізується з передавачем і готовиться до прийому бітів даних, які передаються відразу після стартового біту. Потім передається біт парності (біт паритету – parity bit), якщо він використовується при обміні. Даний біт призначений для контролю за правильністю передачі даних і вибирається з ряду: парний (even), непарний (odd), відсутній (none). При виборі останнього на фізичному рівні не проводиться контроль помилок. Якщо використовується парний (even) біт паритету, то при передачі підраховується кількість одиничних бітів даних, і якщо їхня кількість непарна, то добавляється біт паритету рівним логічній "1", в протилежному випадку добавляється логічний "0". При непарному (odd) паритеті – навпаки, передавач буде добавляти до бітів даних логічну "1" або "0" так, щоб сума одиничних бітів в бітах даних разом паритетним була непарною. Приймач перевіряє суму прийнятих одиничних бітів даних та паритету і якщо не вона не співпадає з типом наперед визначеного біта паритету, сигналізує про це верхнім рівням, які вирішують можливість повторного запиту. u передача відсутня 0 0 0 1 1 0 1 1 1 біти данних 0 0 0 1 0 0 t біти данних 1-й символ старт біт 1 2-й символ біт паритету стоп біт старт біт біт паритету стоп біт Рис. 7.1. Передача двох символів: 1-й – 11011000; 2-й – 00100011. Біт паритету – непарний; 1 стоповий біт За бітом паритету, йдуть стопові біти, призначення яких витримати мінімальну паузу між символами. Кількість стопових бітів як правило вибирається 1, 1.5 або 2. За стоповими бітами може відразу йти наступний символ, тобто стартовий біт наступного символу. Символьну передачу реалізовують спеціальною мікросхемою – універсального асинхронного приймача-передавача УАПП (UART – Universal Asynchronous Receiver Transmitter), яка застосовується в багатьох пристроях. UART являється частиною інтерфейсу між шиною мікропроцесора і трансивером каналу зв’язку. Тобто вихід UART безпосередньо не підключається до каналу зв’язку, а видає біти на рівні ТТЛ на вхід трансивера. 7.2.Стандартні послідовні інтерфейси Багато промислових мереж в якості фізичного рівня використовують вже реалізовані стандартні промислові інтерфейси. Це з одного боку спрощує реалізацію мережі, так як не приходиться виробляти додаткове обладнання, 52 так і спрощує апаратну сумісність між пристроями. Так, наприклад, присутній на комп’ютері інтерфейс RS-232 (СОМ-порт) робить його апаратно сумісним з будь-якою мережою, що використовує цей інтерфейс. Однак навіть його відсутність дає можливість використовувати один і той самий адаптер-перетворювач USB-RS232 для підключення мереж з зовсім різним набором протоколів 2-7 рівнів моделі OSI, однак якы базуються на цьому інтерфейсі. Те саме стосується і інших стандартних інтерфейсів – RS422, RS-485, які розглянуті в наступних пунктах. 7.3.Інтерфейс RS-232 Інтерфейс RS-232C перш за все був призначений для підключення ПК або іншого пристрою, який передає або приймає дані (DTE — Data Terminal Equipment) до модему (DCE — Data Communication Equipment). Кінцева мета – це з’єднання двох DTE (рис.7.2.а). Найпростіший приклад такої системи, коли в ролі DTE виступає комп’ютер, в якому RS-232 реалізований в якості COM-портів (рис.7.3), а в ролі DCE – модем (рис.7.2.б). RS-232 б ПК1 в COM DTE телефонна лінія DCE RS-232 Модем1 RS-232 DCE телефонна Модем2 лінія DTE RS-232 COM а ПК2 RS-232 DTE нуль модем DTE Рис.7.2. З’єднання за допомогою RS-232: а – схема з’єднання DTE з використанням DCE; б – приклад з’єднання двох ПК (як DTE) через модем (як DCE); в – схема з’єднання двох DTE без DCE (нуль-модемний зв’язок) На практиці великої популярності набув спосіб з’єднання з використанням RS-232 двох DTE без модема, який отримав назву нульмодемного з’єднання (Zero-modem або Z-modem). Стандарт RS-232C описує управляючі сигнали інтерфейсу, обмін даними, електричний інтерфейс і типи роз’ємів. 53 Рис. 7.3. Реалізація RS-232 у вигляді СОМ-порта. Стандарт RS-232C описує несиметричні (незбалансовані) передавачі та приймачі, тобто сигнал передається відносно загального проводу – схемної землі за допомогою напруги. Для передачі використовується сигнальна лінія TD – Transmit Data (інколи позначається TxD), а для прийому – RD – Receive Data (інколи позначається RxD), загальний провід SG (Signal Ground), див. рис. 7.4. Логічній "1" на вході відповідає діапазон напруги від –12В до –3В; логічному "0" – від +3В до +12В. Діапазон від –3В до +3В – зона нечутливості, яка обумовлює гістерезис приймача: логічний стан лінії поміняється тільки після переходу через поріг. Рівні сигналів "1" і "0" на виходах передавачів повинні лежати в межах відповідно від -5В до -12В і від +5В до +12В. Інтерфейс не забезпечує гальванічної розв’язки пристроїв. Різниця потенціалів між схемними землями SG пристроїв, що з’єднуються, не повинна бути більше 2В. Підключення і відключення інтерфейсних кабелів пристроїв з автономним живленням повинно проводитись при відключеному живленні. Інакше в момент підключення пристроїв можуть вийти з ладу мікросхеми в результаті дії на них різниці потенціалів.Стандартні трансивери RS-232 повинні забезпечити передачу та прийом бітів з швидкістю до 115200 біт/с на відстані до 20 м. Рис. 7.4. Схематичне зображення нуль-модемного зєднання. На обладнанні DTE прийнято встановлювати вилки типу DB-9P (9 штиркові) або DB-25P (25 штиркові). Останні як правило використовуються для синхронних режимів, оскільки мають 54 Рис. 7.5. Підключення DTE (зліва) до DCE (справа) допоміжні штирки. На пристроях DCE використовуються розетки DB-9S та DB-25S. Це значить, що при такому з’єднанні пристрої DTE (наприклад ПК) та DCE (наприклад модем) можна підключати безпосередньо один до одного, або через "прямий" кабель з вилкою з одного боку та розеткою з іншого (рис.7.5). У системах автоматизації частіше використовується нуль-модемне з’єднання, для якого використовується нуль-модемні кабелі. Якщо при з’єднанні використовуються тільки інформаційні сигнальні лінії (TxD, RxD, SG), то з’єднання проводиться мінімальним нуль-модемним кабелем (рис.7.6.а), в протилежному випадку – повним (рис.7.6.б). Рис.7.6. Нуль-модемне підключення, за допомогою нуль-модемного кабелю: а – повного, б – мінімального На практиці інтерфейс RS-232 використовується як правило в асинхронному режимі, тому розглянемо сигнальні лінії, призначені тільки для цього режиму. Для кращого розуміння, при розгляді ліній інтерфейсу, DCE будемо називати модемом, а DTE – комп’ютером. У табл. 7.1 наведені сигнальні лінії RS-232C та їх призначення. В другій та третій колонці вказані відповідні контакти роз’ємів, а в четвертій колонці також вказана додаткова інформація, яка вказує напрямок передачі даних по лінії: IN – в комп’ютер, OUT – з комп’ютера. Таблиця 7.1 Сигнальні лінії інтерфейсу RS-232C DBDBСигнал Призначення 25S 9S Захисна земля (Protected Ground). З’єднується з PG 1 корпусом пристрою і екраном кабелю. Сигнальна земля (Signal Ground), відносно неї SG 7 5 діють лінії сигналів. TD(TxD 2 3 OUT Вихід передавача (Transmit Data). ) RD(RxD 3 2 IN Вхід приймача (Receive Data). ) OUT Запит дозволу на передачу (Request To Send). RTS 4 7 "Вкл" означає наявність даних у комп’ютера для передачі. При напівдуплексі – перемикання 55 CTS 5 8 DTR 20 4 DSR 6 6 DCD 8 1 RI 22 9 модему в режим передачі. IN Готовність передачі (Clear To Send). "Відкл" модем забороняє комп’ютеру передавати йому дані. OUT Готовність DTE (Data Set Ready). "Вкл" комп’ютер готовий до роботи з модемом. IN Готовність DCE (Data Terminal Ready). "Вкл" модем готовий до роботи з комп’ютером. IN Виявлення несучої (Data Carried Detected). "Відкл" модем сигналізує про сигнал поганої якості IN Сигнал виклику (Ring Indicator). "Вкл" – модем отримав сигнал виклику (дзвінок на телефонній лінії) Апаратно один передавач даного інтерфейсу може забезпечити необхідним рівнем сигналу тільки одного приймача. Таким чином інтерфейс RS-232 дозволяє об’єднати між собою тільки два пристрої з одним передавачем і одним приймачем на максимальній відстані 20 м. Інтерфейс RS-232 має ряд недоліків, які обмежують область його використання в промислових умовах. Насамперед це пов’язано з чутливістю його до електромагнітних завад, малою довжиною кабелю з’єднання і малою бітовою швидкістю. 7.4.Інтерфейс RS-422 Стандарт RS-422A описує (рекомендує) тільки електричні характеристики інтерфейсу, тобто вимоги до передавачів (драйверів - drivers) та приймачів і не визначає параметри сигналів, типи роз’ємів, тип та довжину кабелів та ін. Інтерфейс базується на збалансованих (симетричних) лініях передавачів та приймачів, тобто напруга передається по трьом проводам - два сигнальних та сигнальна земля. На рис.7.7 показаний принцип функціонування збалансованого передавача (а) та приймача (б) лінії. Збалансований передавач лінії при передачі на TD логічної „1”, формує напругу між сигнальним проводом „A” і землею „C” – UA) та між проводами „B” і „C” – UВ (на рис.7.7 показаний знак інверсії). При передачі логічного „0” передавач інвертує знак сигналу. Приймач вимірює напругу між „А” і „В” і якщо різниця буде більше ніж +200 мВ то приймач буде розпізнавати його як певний логічний стан лінії. Якщо різниця змінить свій знак і стане менше ніж -200 мВ, приймач змінить логічний стан на протилежний. 56 а +6В UAB G A UAB B +2В C -2В UA= - UB -6В UA UB б A UAB R UA UB +6В t допустимий діапазон UAB TD UAB UAB B C +200мВ -200мВ t Зона -6В нечутливості Рис. 7.7. Функціональна схема передавача (а) та приймача (б) в інтерфейсі RS-422A. Якщо на проводі „А” передавача в інтерфейсі RS-422А по відношенню до проводу „В” від’ємна напруга, лінія перебуває в стані логічної „1”, якщо додатна – логічного „0”. Позначення проводу „А” може бути еквівалентне „─„, а позначення „В” - „+”, а інколи приймають навпаки. Тому при підключенні треба звертати увагу на прийняту в пристрої полярність. Диференційний спосіб передачі зменшує вплив синфазної завади на лінію передачі, оскільки вимірюється не сигнал між сигнальним проводом і землею, а різниця потенціалів між двома сигнальними лініями. Навіть якщо на обох проводах будуть наведені паразитні струми, диференційна напруга практично не зміниться. Стандарт також описує електричні вимоги до передавачів та приймачів. Зокрема, один передавач повинен бути розрахований на 10 приймачів. Інтерфейс працює в дуплексному режимі. Тому можливі два варіанти з’єднання: передавачі та приймачі двох вузлів з’єднуються перехресно (точка –точка); передавач одного вузла обслуговує до 10 приймачів інших вузлів. На основі даного стандарту з’явилися деякі рекомендації по його використанню. Це схеми підключення, способи заземлення, максимальні відстані, використання резисторів-термінаторів, максимальні бітові швидкості і т.д. Так установлено, що максимальна бітова швидкість – становить біля 10 Мбіт/с, максимальна відстань (при невеликих швидкостях) – біля 1200 м. Ці величини залежать від багатьох параметрів: типу кабелю, рівня завад, типу роз’ємів і т.д. В якості середовища передачі на великі відстані рекомендують використовувати виту пару, бажано екрановану. На 57 рис.7.8 показаний один із способів реалізації дуплексного з’єднання двох пристроїв по RS-422А. Інтерфейс RS-422А має один значний недолік – на ньому не можна побудувати мережі з шинною топологією, тому він не знайшов такого широкого застосування як RS-485. Це пов’язано з тим, що передача інформації забезпечується логічними "0" та "1" які мають відповідний рівень фізичного сигналу по напрузі. Наприклад в символьному режимі, при відсутності передачі на лінії приймача повинна бути присутня логічна "1", яку передає трансмітер. Тобто в кожен момент часу трансмітер буде прикладати напругу певного рівня. Якщо декілька передавачів буде підключено до однієї лінії зв’язку – це може привести до виходу з ладу трансиверів, оскільки кожен з передавачів буде генерувати свої сигнали. Цей недолік відсутній у інтерфейса RS-485. вузол 1 вузол 2 A A TD G B RD R GWG 100Ω RT B C C A A B RT B C C RD R G TD 100Ω GWG – сигнальна земля, загальний провід – захисне заземлення корпусу GWG – ланцюг заземлення блока живлення Рис. 7.8. Функціональна схема 5 – провідного дуплексного з’єднання двох вузлів по RS-422A 7.5.Інтерфейс RS-485 Стандарт RS-485 (офіційна назва EIA/TIA-485) електрично сумісний з RS-422A: використовується збалансована система зв’язку з тими ж рівнями сигналу, за винятком синфазної напруги, яку витримує інтерфейс – від +12В до -7В. На відміну від RS-422А, інтерфейс RS-485 розрахований на багатоточкове з’єднання, тобто на побудову шинних топологій. Перш за все, на трансиверах крім інформаційних сигналів RD та TD є додатковий сигнал управління передачі/прийому (рис.7.9). При закінченні передачі пристрій може відключити свій передавач (перевести його в високоімпедансний стан), 58 і надати можливість іншим трансмітерам підключатися для передачі. Іншими словами сигнал дозволу передачі переводить траснмітер з активного стану в пасивний, тобто передавач може генерувати логічну „1”, логічний „0” або знаходитись в пасивному стані. В який час і в якому порядку передавачі вузлів будуть доступатися до шини стандарт не оговорює, дане питання повинне вирішуватись на канальному рівні (організація доступу до шини). Один трансмітер розрахований на 32 одиниці навантаження, які в свою чергу, визначаються як вхідний імпеданс (опір) одного стандартного приймача (12 кОм) та 2 резистори по 120 Ом (термінатори ліній), які підключені паралельно. Рис. 7.9. Функціональна схема трьохпровідного пів-дуплексного з’єднання вузлів по RS-485 Схеми з’єднання. На рис.7.9 показана функціональна схема з’єднання 3х пристроїв до загальної шини через RS-485 інтерфейс. Напівдуплексна система дозволяє в один момент часу вузлу передавати інформацію, а в інший приймати. Передавач та приймач кожного вузла підключається до єдиної шини, тобто контакт „А” кожного передавача та контакт „А’ ” кожного приймача (штрихом позначені контакти приймачів) підключаються до загального лінії „А”, так само і контакти „В” та „В’ ” підключаються до лінії „В”. Таким чином, коли передавач одного вузла передає послідовність бітів, всі приймачі інших вузлів їх приймають. В один момент часу тільки один передавач може бути активним, його стан управляється з боку самого пристрою дозволом передачі. RS-485 не визначає вимоги до середовища передачі. Як правило використовують екрановану виту пару. На рис.7.9 показана 3-х провідна схема, однак на практиці нерідко використовують 2-х провідну (без 59 сигнальної землі). Для реалізації 2-х провідної схеми з’єднання достатньо однієї витої пари, трьох-провідної – подвійної витої пари (пара сигнальних проводів, пара земляних). Бітова швидкість вибирається в залежності від сумарної довжини лінії, характеристик кабелю, і, як правило, приводиться в документації до обладнання у вигляді номограм. Схеми узгодження. При великих трансивер RS485 швидкостях і при значних відстанях A(-) необхідно вирішити проблему відбиття TD RT G сигналу на кінцях лінії. Основою для С B(+) мінімізації відбиття є використання дозвіл узгоджуючих резисторів з номіналами, які передачі відповідають хвильовому опору кабелю. Як R правило в промислових мережах RD використовують кабель з характеристичним імпедансом 120 Ом, тому на рис.7.10 на обох кінцях шини між лініями „А” і „В” Рис. 7.10. Схема RC узгодження підключений узгоджувальний резистор (термінатор) з відповідним опором. На практиці виникає необхідність паралельного підключення до шини джерела постійного струму (розглянуто нижче). Резистори представляють активний опір, тому розсіють певну потужність, що вимагає використання більш потужних джерел струму. Це спонукає до використання альтернативних схем узгодження. Добавлення конденсатора послідовно з резистором виключає протікання постійного струму, і не створює бар’єру для високочастотного сигналу. Забезпечення захисного зміщення Реалізація інтерфейсу передбачає, що при відсутності бітів для передачі трансмітер переходить у високоімпедансний стан. При сигнальній "тиші" всі трансивери на шині будуть працювати в режимі прийому. Оскільки жоден трансмітер не буде генерувати сигнал, на шині буде 0В. Для більшості мереж, зокрема для тих, які працюють в символьному режимі, відсутність передачі обов’язково позначається певним рівнем сигналу, наприклад логічною "1". Однак при напрузі на входах приймачів від -200мВ до 200мВ, вихідний стан залишається невизначеним. У цьому випадку логічна „1” або „0” на виході RD приймачів рівноймовірні (або запам’ятовують попередній стан). Така ситуація неприпустима. В момент інформаційної тиші необхідно тримати сигнал напруги певної величини за допомогою зовнішнього джерела постійного струму, який підключається між сигнальними проводами A та B, тобто необхідно забезпечити зміщення потенціалу відносно нуля. 60 Всю лінію можна представити як замкнутий ланцюг із опорів ресиверів та двох термінаторів, що підключені паралельно. Задача захисного зміщення зводиться до забезпечення цього ланцюгу таким струмом, щоб напруга на ній була в межах, що відповідає логічній RС трансивер RS485 "1", тобто >200мВ. У більшості A(-) випадків підключають джерело напруги TD G 5 В, і підбирають такі шунтуючі опори, RT B(+) щоб забезпечити ланцюг необхідним струмом. Ці опори отримали назву RС резисторів захисного зміщення (bias R resistors): резистор завдання +5В RD початкового високого рівня (pullup) – на одній лінії, наприклад „В”, і низького рівня (pulldown) – на другій лінії, Рис. 7.11. Використання резисторів захисного (RC) зміщення разом з узгоджувальними наприклад „А” (рис.7.11). Значення резисторами (RT) опору резистора зміщення залежить від виду узгодження (термінування) і кількості вузлів тобто приймачів, підключених до шини. Номінали опорів зміщення розраховують виходячи з необхідного мінімального струму зміщення в мережі для забезпечення різниці потенціалів між А і В >200мВ. 7.6. Порівняльна характеристика стандартних послідовних інтерфейсів Для порівняння інтерфейсів, розглянутих вище, найбільш важливі характеристики зведені в таблицю 7.2. Таблиця 7.2 Порівняльні характеристики послідовних інтерфейсів. 20 мА EIA RSEIA/TIA-485, „струмова Назва, стандарт EIA RS-422A 232C RS-485 петля”,CL, ИРПС, Напруга, Напруга, Напруга, диференційни диференційни Тип сигналу асиметричн струм й й ий симетричний симетричний напівдуплекс, Режим з’єднання дуплекс дуплекс дуплекс дуплекс 1/1 Максимальна 32/32 у кількість (при опорі багаточкових 1/1 1/10 передавачі/прийма приймачів схемах чів 12кОм) залежно від реалізації Максимальна 20 м 1200 м 1200 м декілька км 61 відстань (приблизно) Максимальна бітова швидкість 115200 біт/с 10 Мбіт/с 10 Мбіт/с 1 Мбіт/с (приблизно) При використанні RS-485 кількість приймачів вказана рівною 32, це при опорі приймачів 12кОм. При інших опорах, наприклад 48кОм, максимальна кількість приймачів відповідно буде 128. В інтерфейсі „струмова петля” 20 мА кількість передавачів/приймачів залежить від конкретної реалізації. Для всіх інтерфейсів (окрім RS-232С) максимальна бітова швидкість залежить від багатьох факторів: довжина лінії зв’язку, тип кабелю, рівень завад, способи узгодження ліній і т.ін. Вибір інтерфейсу для реалізації мережі залежить від багатьох факторів. В більшості випадків пристрій може підтримувати тільки один визначений інтерфейс. Для зв’язку з іншими пристроями дуже ймовірне використання адаптерів-перетворювачів інтерфейсів, які розглянуті в наступному підрозділі. При побудові шинних топологій як правило користуються RS-485. Інколи використовують також багатоточкове з’єднання по інтерфейсу "струмова петля". Якщо необхідне з’єднання точка-точка – вибирають дуплексний зв’язок, оскільки, при тих самих бітових швидкостях досягається майже в 2 рази більша швидкість передачі даних, за рахунок подвійного каналу. У цьому випадку можна використати RS-422А або RS-485 в дуплексному режимі (якщо обладнання дає можливість організувати таке з’єднання). RS-232 популярний при з’єднанні пристроїв з ПК. Поряд з розглянутими інтерфейсами існує ряд інших. Один з найбільш популярних інтерфейсів являється USB, який практично витіснив СОМ-порт (RS-232) та паралельний порт з персональних комп’ютерів. 7.7. Використання адаптерів-перетворювачів інтерфейсів Типи адаптерів-перетворювачів. Для вирішення задач несумісності інтерфейсів існують адаптери-перетворювачі (конвертери) інтерфейсів. Адаптер можна представити у вигляді пристрою, що має два різні інтерфейси. Задача даного пристрою електрично перетворити вхідні сигнали RD одного інтерфейсу у вихідні TD іншого. Можливі випадки з’єднань пристроїв з різними інтерфейсами: RS-422A <–> RS-485, RS-232 <–> Current Loop 20 mA, RS-232 <-> RS-485. Зупинимося на принципах роботи адаптерів RS-232С <-> RS-485 більш детально, оскільки вони одні з найбільш поширених в промисловості. Нагадаємо, що передавачі в системі RS-485 повинні підтримувати можливість відключення від лінії зв’язку, якщо трансивер не передає дані. Однак передавачі RS-232 разом з UART при відсутності передачі видають логічну "1". Тобто, при звичайному схемному рішенні електричного 62 перетворення сигналу з RS-232 в RS-485, передавач RS-485 ніколи не відключиться, що недопустимо в шинних топологіях. Таким чином в конвертері повинно бути забезпечене переключення передавача RS-485 зі сторони RS-232 в активний чи пасивний (високоімпедансний) стан. Виробники адаптерів вирішують цю проблему по різному. Розглянемо декілька способів. Управління адаптером RS-232<->RS-485 зі сторони RS-232. Один із варіантів вирішення проблеми управління станом трансмітера RS-485 є використання одного з сигналів управління потоком зі сторони інтерфейсу RS-232C: RTS або DTR. На рис.7.12 показана модель перетворювача, який управляється сигналом RTS. Перетворювач умовно поділений на 2 частини з відповідними інтерфейсами. Коли пристрій з RS-232C має передавати дані, він активує передавач адаптера за допомогою RTS, виставляючи на цій лінії логічну „1”. Далі він надсилає послідовність бітів в символьному вигляді по лінії TD. Перетворювач за допомогою схемних рішень відсилає цей сигнал на передавач адаптера зі сторони RS-485. Оскільки той вже активований, цю ж послідовність він видає на лінію інтерфейсу RS-485. Так буде тривати, поки пристрій зі сторони RS-232С не зніме „1” з RTS, що приведе до переключення передавача в високоімпедансний (неактивний) стан. RTS адаптер RS-232<-> RS-485 RS-485 RS-232 TD TD R до RS-232 G B(+) дозвіл передачі RD G RD SG A(-) до RS-485 R GND Рис. 7.12. Управління передавачем адаптера RS-232<->RS-485 сигналом RTS Алгоритм управління сигналом RTS для RS-232C може бути різним. Для комп’ютерів, як правило, налаштовують роботу СОМ-порту так, щоб сигнал RTS виставлявся автоматично в „1”, коли буфер передачі заповнений байтами, і „0”, коли він пустий. Для СОМ-порту це нормальний режим роботи з апаратним управлінням потоком. При наведеному способі реалізації перетворювача можлива ситуація передчасного відключення сигналу RTS до передачі трансмітером RS-485 останнього біту. Такі проблеми повинні вирішуватись на пристрої зі сторони інтерфейсу RS-232C. Ще одна з проблем заключається в тому, що не всі пристрої вміють управляти сигналом RTS. У цьому випадку існує інший, більш універсальний спосіб управління передавачем адаптера. 63 Автоматичне управління адаптером RS-232<->RS-485. Цей метод у різних фірм називається по різному: Automatic Send Data Control (ASDC), Automatic Data Direction Control (ADDC), Automatic RTS Signal Control (ARSC), але всі вони базуються на принципі управління по сигналу даних, які передаються (рис.7.13). Тобто адаптер сам відслідковує, коли включати і коли відключати передавач по даним, які надходять зі сторони RS-232. Один з варіантів такої реалізації – відслідковування приймального буферу. Як тільки адаптер з боку RS-232 отримав перший біт символу (стартовий біт) − відразу активує передавач. Оскільки біт в стані логічної „1” не може триматися більше часу одного символу, то після паузи відсутності логічного „0” протягом певного часу (не менше тривалості одного символу), конвертер буде ще тримати передавач в активному стані, після чого переведе його в високоімпедансний стан. Якщо затягнути цю паузу, може виникнути ситуація, коли інший передавач в системі зі сторони RS-485 захоче передати дані (адже лінія вже звільнилася) і виникне колізія. адаптер RS-232<-> RS-485 RS-485 RS-232 TD TD R A(-) G до RS-232 B(+) RD G до RS-485 дозвіл передачі R RD SG GND Рис. 7.13. Управління передавачем адаптера за сигналом даних, що передаються. Адаптери з управлінням по сигналу даних по приймальному буферу користуються більшою популярністю ніж адаптери з управлінням сигналами RTS чи DTR. Ще один з методів управління передавачем, який не знайшов широкого використання, по сигналу зі сторони пристрою з інтерфейсом RS-485. Останній для цього повинен мати спеціальну сигнальну лінію (аналогія з RTS), яка передбачена саме для цього. Коли пристрій з RS-485 планує передавати дані, він переводить перетворювач в стан прийому, тобто вимикає передавач. Специфіка таких перетворювачів заключається в тому, що використати їх можна тільки в режимі точка-точка, що сильно звужує коло їх використання. Такий перетворювач не накладає ніяких вимог по управлінню на пристрій з RS-232C, що звісно ж таки повинно компенсуватись зі сторони RS-485. Література: [1], розділ 3 (3.7-3.14). 64 Запитання для самоперевірки 1. Поясніть необхідність синхронізації, що таке синхронна та асинхронна передача на фізичному рівні? 2. Які схеми з’єднання між пристроями доступні при використанні інтерфейсу RS-232? Що таке нуль-модемне з’єднання? 3. Перерахуйте електричні характеристики інтерфейсу RS-232. Які основні недоліки даного інтерфейсу? 4. Які типи роз’ємів визначені інтерфейсом RS-232? Розкажіть про призначення всіх контактів 9-пінового роз’єму. 5. Яким чином організовано управління потоком даних при символьному способі передачі по RS-232? 6. Перелічіть електричні характеристики RS-422. Які основні переваги даного інтерфейсу порівняно з RS-232? 7. Перелічіть електричні характеристики RS-485. Які основні переваги даного інтерфейсу порівняно з RS-422? 65 8.1. 8.2. 8.3. 8.4. 8. Modbus Application Porotocol План Мережі MODBUS в контексті моделі OSI Модель даних пристрою Modbus Реалізація MODBUS на прикладному рівні Формат основних функцій 8.1. Мережі MODBUS в контексті моделі OSI MODBUS на сьогоднішній день є одним з найбільш популярних протоколів. Основна причина такої популярності – це простота в реалізації. На сьогоднішній день MODBUS підтримує і розвиває організація MODBUS.ORG, вона забезпечує відкритість даного протоколу та розробляє готові компоненти для спрощення реалізації. Згідно стандартів MODBUS.ORG – MODBUS являється протоколом прикладного рівня для зв’язку типу Клієнт-Сервер між прикладними Процесами пристроїв, які під’єднані до Modbus-мереж. В контексті OSI-моделі, ці мережі мають архітектуру, наведену на рис.8.1. прикладний MODBUS Application Ptotocol IEC 61158-5-15, IEC 61158-6-15 MODBUS on TCP транспортний TCP мережний IP канальний фізичний CRC16 check LRC check Управління доступом Master/Slave RS-422, RS-485, RS-232, CL MODBUS RTU MODBUS ASCII HDLC маркерний Ethernet II або LLC IEEE 802.2 RS-485, оптоволокно IEEE 802.3 MODBUS + MODBUS TCP/IP MAC IEEE 802.3 CSMA/CD Рис.8.1. MODBUS в контексті OSI-моделі MODBUS на сьогоднішній день представлений 4-ма мережами: MODBUS RTU та ASCII (Modbus over Serial Line), MODBUS Plus і MODBUS TCP/IP. Ці мережі використовуються для різних цілей, зокрема: - обмін даними процесу SCADA/HMI з ПЛК, чи іншими інтелектуальними засобами (електроприводами, лічильниками, засобами розподіленого вводу/виводу, тощо); - обмін даними процесу між ПЛК; - обмін даними процесу ПЛК з іншими інтелектуальними засобами; - обмін параметричними даними конфігураторів з ПЛК а також іншими інтелектуальними засобами; 66 8.2. Модель даних пристрою MODBUS Основна ідея функціонування обміну даними по мережам Modbus в тому, що усі вузли мережі, вірніше їх прикладні процеси (програми) діляться на дві категорії: ті, які мають дані і ті, яким ці дані потрібно прочитати або змінити. Ті процеси які мають дані, звуться Modbus Клієнтами, а ті, які ці дані хочуть прочитати чи записати – Modbus Серверами. Протокол Modbus був розроблений для зв’язування контролерів Modicon. Тому з боку Cерверу, який як правило являв собою ПЛК, передбачалося використання змінних з 4-х областей памяті (рис.8.2): - дискретні входи, іншими словами вхідні біти (Input Bits) - дискретні виходи, або котушки (Coils) - аналогові входи, або вхідні регістри (Input Register, 16-бітові) - аналогові виходи, або вихідні/внутрішні регістри (Holding Registers, 16-бітові) Кожна область памяті вміщує комірки, які адресуються, починаючи з 1. Крім того, ці області мали номери. Так, наприклад, область Input Registers починається з комірки 30000. Усі інші комірки розміщуються в адресах, номер яких послідовно збільшується. Таким чином, при розробці проекту для ПЛК інженер-програміст вказував які комірки пам’яті за які канали відповідає. А пристрій Modbus-Клієнт, який захотів прочитати чи записати цю комірку, звертався до неї за номером та області памяті, в якому вона знаходиться. 67 Рис.8.2. Області памяті згідно MODBUS Слід зазначити, що комірки з усіх зон памяті доступні для читання. Однак для запису доступні тільки комірки з областей Holding Registers та Coils, адже вхідні дані міняються тільки залежно від значення вхідних каналів. Не дивлячись на цілком логічну архітектуру пам’яті ПЛК Modicon, на практиці нерідко необхідно обмінюватися іншими даними. По переше протокол Modbus використовується зараз для звязку не тільки з ПЛК Modicon. По друге, в якості Modbus Серверів, як ми вже зазначали вище, може бути взагалі не контролер, а наприклад перетворювач частоти. Тому для обміну внутрішніми змінними, параметрами регуляторів, тощо потрібні інші типи комірок пам’яті. Тому виробники пристроїв самі вирішують як на самому ділі організована пам'ять пристрою і як вона зв’язується з комірками згідно Modbus. Тобто в самому пристрої йде відображення (Mapping) реальних комірок пам’яті на комірки визначені в Modbus (рис.8.3). За якими правилами проводиться це відображення, визначається самим виробником пристрою. Тому спеціалісту необхідно ознайомитися з документацією на даний пристрій, перш ніж з’єднуватися з ним по протоколу Modbus. 68 Рис.8.3. Відображення реальних комірок памяті на віртуальну пам’ять MODBUS 8.3. Реалізація MODBUS на прикладному рівні повідомлення MODBUS PDU MODBUS Application Protocol (MBAP MODBUS протокол прикладного рівня) базується на моделі Клієнт-Серверного обміну код функції ДАНІ повідомленнями і визначає формат повідомлень MODBUS PDU (Protocol Data Unit), які мають Рис.8.4. Формат повідомлення вигляд наведений на рис.8.4. Клієнтський прикладний Процес робить повідомлення-запит MODBUS PDU. до серверного Процесу, в якому в полі „код функції” вказує йому на дію, яку необхідно провести. Байти даних вміщують інформацію, яка необхідна для виконання даної функції. Серверний прикладний Процес у випадку вдалого виконання цієї функції повторює код функції у відповіді (якщо запит передбачає відповідь). При виникненні помилки, код функції у відповіді модифікується (старший біт виставляється в 1) а в байтах даних передається причина помилки. Тобто, якщо при передачі клієнтським прикладним Процесом повідомлення-запиту з функцією 0316 (000000112) виникла помилка у її виконанні Сервером, той відішле відповідь з полем функції рівним 8316(100000112). В доповненні до зміни коду функції, при помилці, Сервер розміщує в поле даних унікальний код, який вказує на тип і причину помилки. Код функції являє собою поле з одного байту, яке може приймати значення від 1 до 255 (коди 128-255 зарезервовані під коди повідомленьвідповідей при помилкових діях). Нижче розписані тільки ті функції, які призначені для доступу до даних процесу, що наведені в попередньому пункті. У повідомленні-запиті за полем коду функції можуть слідувати дані, які уточнюють або доповнюють функцію допоміжною інформацією. Це можуть бути адреси змінних, їх кількість, лічильник байтів даних, що 69 передаються та самі дані для запису. Для певних функцій, поле даних може бути відсутнім взагалі. Максимальна довжина повідомлення прикладного рівня рівна 253. 8.4. Формат основних функцій Повний список кодів а також специфікацію протоколу можна знайти на офіційному Веб сайті www.MODBUS.org. Скорочення в дужках Hi та Lo вказують відповідно на старший та молодший байти слова. Тобто, якщо для вказівки адреси початкової змінної необхідно двобайтове слово, то значення старшого байта буде передаватись в полі з позначенням Hi, а молодшого – відповідно Lo. Індекс 16, значить, що числа вказуються в 16-ковому форматі. Код функції 0116 − читання статусу Coils (дискретних вихідних бітів). Повідомлення-запит вміщує адресу початкового біту і кількість бітів для читання. Біти нумеруються починаючи з 0. У повідомленні-відповіді кожне значення змінної передається одним бітом, тобто в одному байті пакується статус 8 бітових змінних. Якщо кількість їх не кратно восьми, інші біти в байті заповнюються нулями. Лічильник вміщує кількість байт в полі даних. Запит: Код функції Адреса початкового біту (HI) Адреса початкового біту (LO) Кількість біт (HI) Кількість біт (LO) Відповідь: 01 0 до FFFF16 1 до 7D016 (2000) код функції лічильник байт Значення бітів (перші 8 біт) Значення бітів (наступні 8 біт) ... Значення бітів (Nні 8 біт) 01 N 0 до FF16 0 до FF16 0 до FF16 Код функції 0216 − читання статусу дискретних входів. Формат даного запиту такий же як попереднього, за винятком поля функції. Код функції 0316 − читання значення вихідних/внутрішніх регістрів. Повідомлення-запит вміщує адресу початкового Holdnig Registers (двохбайтове слово), і кількість регістрів для читання. Регістри нумеруються починаючи з 0. 70 Запит: код функції Адреса початкового регістру (Hi) Адреса початкового регістру (Lo) Кількість регістрів (Hi) Кількість регістрів (Lo) Відповідь: 03 від 0 до FFFF16 від 1 до 7D16 (125) У відповідному повідомленні в полі даних кожний регістр передається двома байтами. код функції лічильник байт Значення 1-го регістру (Hi) Значення 1-го регістру (Lo) ... Значення N-го регістру (Hi) Значення N-го регістру (Lo) 01 N*2 0 до FFFF16 0 до FFFF16 Код функції 0416 − читання значення вхідних регістрів. Формат даного запиту такий же як попереднього, за винятком поля функції. Код функції 0516 − запис вихідного/внутрішнього біту. В запиті вказується номер бітової змінної та значення: 0 – 0000, а 1 – FF00, всі інші значення не міняють стан змінних. В широкомовній передачі клієнтський запит виставляє значення даної змінної для всіх серверів. Функція 05 Адреса біту (Hi) від 0 до FFFF16 Адреса біту (Lo) Значення біту (Hi) 0000 або FF0016 Значення біту (Lo) Нормальна відповідь серверу являється повторенням запиту до клієнта. Код функції 0616 − запис вихідного/внутрішнього регістру. Функція аналогічна попередній, але оперує з регістрами(словами). В запиті вказується номер вихідного/внутрішнього регістру та його значення. В широкомовній передачі запит виставляє значення даної змінної для всіх серверів. Функція 06 Адреса регістру (Hi) від 0 до FFFF16 Адреса регістру (Lo) Значення регістру (Hi) від 0 до FFFF16 Значення регістру (Lo) Нормальна відповідь сервера являється повторенням запиту клієнту. Код функції 0F16 − запис декількох вихідних/внутрішніх бітів. В запиті вказується початкова адреса біту, кількість біт для запису, лічильник байтів і безпосередньо значення. В широкомовній передачі біти записуються всім серверам. Розглянемо приклад для встановлення наступних бітових вихідних/внутрішніх змінних: Байт 1 Байт 2 71 26 25 24 23 22 21 20 19 -- -- -- -- -- -- 28 27 1 1 0 0 1 1 0 1 0 1 В таблиці показана відповідність адреси змінної, починаючи з 19-ї, і значення біту. Для зручності біти розміщені у тому порядку, що і передаються. В другому байті корисні тільки 2 перші біти, значення інших не буде прийнято до уваги, оскільки кількість бітів вказані у кадрі. Запит та відповідь будуть мати такий вигляд: Запит: Відповідь: Функція Адреса початкового біту (Hi) Адреса початкового біту (Lo) Кількість бітів (Hi) Кількість бітів (Lo) Лічильник байтів Дані(змінні 19-26) Дані(змінні 27-28) 0F 00 13 00 0А 02 CD 01 Функція 0 F Адреса початкового біту (Hi) Адреса початкового біту (Lo) Кількість бітів (Hi) Кількість бітів (Lo) 0 0 1 3 0 0 0 А Код функції 1016 − запис декількох вихідних/внутрішніх регістрів. Дана функція забезпечує запис декількох Holding Registers. Напочатку вказується початкова адреса регістру, кількість регістрів, після чого передаються значення самих регістрів. Перед значеннями спочатку передається лічильник байт, що вказує скільки байт слідує за цим полем. Враховуючи, що кожен регістр вміщує 2 байти, лічильник байт буде рівним 2*N, де N – кількість регістрів. Запит: Функція Адреса початкового Відповідь: 1016 0 до 72 регістру (Hi) Адреса початкового регістру (Lo) Кількість регістрів (Hi) Кількість регістрів (Lo) Лічильник байтів Дані (1-й регістр Hi) Дані (1-й регістр Lo) ... Дані (N-й регістр Hi) Дані (N-й регістр Lo) FFFF16 1 до 007B16 (123) 2*N 0 до FFFF16 Функція Адреса початкового регістру (Hi) Адреса початкового регістру Lo Кількість регістрів (Hi) Кількість регістрів (Lo) 10 0 до FFFF16 1 до 007B16 (123) 0 до FFFF16 Код функції 1716 − запис декількох вихідних/внутрішніх регістрів. Дана функція проводить операцію читання та запису за одну MODBUS транзакцію. Функція може записувати нові значення Holding Registers і повертає значення іншої групи Holding Registers. Ця функція підтримується не всіми пристроями з Modbus. У запиті вказується початкова адреса і кількість регістрів для читання, після чого вказується початкова адреса, кількість регістрів і дані для запису. Лічильник байт перед ними для запису вказує на кількість байт, які передаються в полі даних. Запит: Код функції 1716 Адреса початкового регістру для читання (Hi) від 0 до FFFF16 Адреса початкового регістру для читання (Lo) Кількість регістрів для читання (Hi) від 1 до 7616 (118) Кількість регістрів для читання (Lo) Адреса початкового регістру для запису (Hi) від 0 до FFFF16 Адреса початкового регістру для запису (Lo) Кількість регістрів для запису (Hi) від 1 до 7616 (118) Кількість регістрів для запису (Lo) Лічильник байтів 2*N Дані для запису (1-й регістр Hi) від 0 до FFFF16 Дані для запису (1-й регістр Lo) ... … Дані для запису (N-й регістр Hi) від 0 до FFFF16 Дані для запису (N-й регістр Lo) Відповідь. код функції лічильник байт Значення 1-го регістру читання (Hi) 1716 2*N від 0 до FFFF16 73 Значення 1-го регістру читання (Lo) ... Значення N-го регістру читання (Hi) Значення N-го регістру читання (Lo) … від 0 до FFFF16 На рис.8.5 продемонстроване функціонування обміну по протоколу Modbus на прикладі читання 3-х Holdnig Registers, починаючи з 108-го. Слід звернути увагу, що адресація всіх комірок починається з одиниці, але в запитах вказується з нуля. Рис.8.5. Приклад читання Holding Registers з 400108 по 400110 (3 шт) На рис.8.6. показаний приклад позитивного та негативного виконання функції на читання статусу Coils. Також наведений перелік кодів помилок, по причині яких може виникнути така ситуація. 74 Рис.8.6. Приклад позитивного та негативного (з помилкою) обробки запиту Запитання для самоперевірки 1. Якими мережами насьогодні представлений MODBUS? Охарактеризуйте їх у контексті моделі OSI. 2. Розкажіто про основи функціонування MODBUS Application Protocol. Який формат мають повідомлення MODBUS PDU? 3. Які функції використовуються для доступу до даних процесу? 4. Яким чином формуються повідомлення-запити та повідомленнявідповіді для читання та запису діапазону вхідних та вихідних регістрів? 5. Які ситуації можливі при обробці запиту MODBUS клієнта? Наведіть приклад відповіді про помилку. 75 9.1. 9.2. 9.3. 9. MODBUS Serial План Загальні принципи функціонування Фізичний рівень Канальний рівень 9.1. Загальні принципи функціонування Modbus Protocol – являється протоколом прикладного рівня, він не визначає яким чином проводиться доставка повідомлення від Клієнту до Серверу та в зворотному напрямку, це залежить від типу мережі Modbus. Перші мережі MODBUS базувалися на асинхронних послідовних лініях зв’язку і отримали назву MODBUS RTU та MODBUS ASCII. На фізичному рівні вони використовують стандартні послідовні інтерфейси з символьним режимом передачі. На сьогоднішній день в MODBUS.ORG ці мережі отримали назву MODBUS over Serial Line і описані у відповідному стандарті. У ньому вказуються правила та рекомендації використання на канальному та фізичному рівні. 9.2. Фізичний рівень Згідно стандартів MODBUS.ORG, Modbus over Serial Line (Modbus RTU або Modbus ASCII) може функціонувати поверх RS-485 або RS-232. На практиці Modbus over Serial Line може працювати поверх будь-яких стандартних послідовних асинхронних інтерфейсів (RS-422, CL). Замість словосполучення "Modbus over Serial Line" частіше використовують "мережа Modbus" (Modbus network), "шина Modbus" (Modbus bus), Modbus Serial або прямо вказують Modbus RTU чи Modbus ASCII. Щоб вказати повний стек протоколів та інтерфейсів для конкретної реалізації мережі краще використовувати назву щось типу "Modbus RTU on RS485". Саме Modbus RTU будемо розглядати надалі. Принцип роботи мереж Modbus RTU базується на тому, що кожний байт, що треба передавати, відправляється одним символом (див. синхронна та асинхронна передача). Використовується 11-бітний символ: 1 старт, 8 біт даних, 1 паритет або без нього, 1 стоповий біт, або 2 – якщо паритет не використовується. Бітові швидкості як правило визначені 9600 біт/с та 19200 біт/с. Однак виробники пристроїв можуть додатково підтримати і інші швидкості. Принцип реалізації зєднання пристроїв в мережу Modbus on RS485 на базі 3-х провідної схеми показаний на рис.9.1. Маркування ліній прийнято D1 (+) та D0 (-) та Common. Хоча в багато пристроїв лінії маркують як прийнято в RS485 (А, В, С), або DATA+, DATA-, GND. У будь якому випадку слід звертати увагу на потенціали. 76 В кінцях шини ставляться термінатори (LT Line Terminator), які можуть бути реалізовані як резистор 150 Ом, 0.5 Вт або конденсатор (1 нФ, 10 В мінімум) разом з резистором номіналом 120 Ом (0.25 Вт). Захисне зміщення проводиться резисторами PullIUp та PulDown від 450 Ом до 650 Ом в залежності від кількості пристроїв (650 Ом при великій кількості) підключеними до напруги живлення 5В. Зміщення проводиться тільки в одній точці лінії, як правило на стороні Ведучого (див канальний рівень). Рис.9.1. 3-х провідне підключення Modbus on RS-485 9.3. Канальний рівень Оскільки мережа MODBUS RTU може мати шинну топологію, то в один момент часу тільки один пристрій може передавати свої дані. На канальному рівні використовується метод доступу до шини − Ведучий/Ведений (Master/Slave). Ведучий може передавати свій кадр тоді, коли в нього є на це потреба, а Ведений тільки тоді, коли йому дав на це прав Ведучий. Тому в мережі MODBUS RTU Процес Ведучого завжди являється Клієнтом, а Процеси Ведених – Серверами. Це значить, що Ведучий відсилає запити коли забажає, і чекає від них відповіді. Ведені отримавши запити обробляють їх, після чого надсилають відповідь. Весь цей час Ведучий очікує відповідь і тим самим надає право заняти Веденому шину для її передачі. Цей запит може 77 бути адресований як індивідуальному вузлу так і всім Веденим на шині (broadcast). На канальному рівні MODBUS RTU/ASCII використовується адресація орієнтована на ідентифікатори вузлів. Кожний Ведений повинен мати свою унікальну адресу (1-247), Ведучий не адресується. При індивідуальних запитах, Ведучий з клієнтським Процесом формує кадр із повідомленнямзапитом і відправляє його за вказаною адресою. Ведений з серверним Процесом отримує цей кадр і обробляє повідомлення. Після його обробки Ведений формує кадр з повідомленням-відповіддю і відправляє його назад Ведучому. Кадр з повідомленням-відповіддю носить також функції кадру підтвердження, який Ведучий буде чекати від Веденого протягом часу, визначеного тайм-аутом. При широкомовних запитах (broadcast) використовується 0-ва адреса. Широкомовні запити не потребують підтвердження, тому після відправки широкомовного кадру Ведучий не очікує кадр відповіді. На рис.9.2 показаний загальний вигляд кадру MODBUS RTU. Як видно, окрім Modbus PDU, кадр MODBUS PDU додатково вміщує поля адреси пристрою, який передається до адреса код контрольна ДАНІ байтів запиту, та контрольної пристрою функції сума суми, що передаютьс після кадр MODBUS них. В полі адреси пристрою Рис.9.2. Поля кадру MODBUS RTU Ведучий при запиті вказує адресу отримувача, а Ведений при відповіді - свою адресу. Поля MODBUS PDU описані вище. Даний режим передбачає використання 8 біт даних в 11бітному символі, що дозволяє передавати по байту на символ. Повний формат кадру MODBUS RTU наведений на рисунку 9.3. Розмежування між кадрами проводиться за допомогою пауз між символами. Новий кадр не повинен з’являтися на шині раніше, ніж 3.5*Тс від попереднього, де Тс – час передачі одного символу. Якщо час відсутності сигналу на лінії (інтервал тиші) буде більше ніж 3.5*Тс приймач ідентифікує помилку. З іншого боку, появлення нового кадру раніше ніж 3.5*Т с, теж приведе до помилки. інтервал тиші Адреса від 3.5 Тс 1 байт Код ф-ції ДАНІ CRC16 1 байт 0-252 байт 2 байти інтервал тиші від 3.5 Тс Рис.9.3. Формат кадру для RTU режиму обміну Поле адреси і коду функції в RTU режимі займають по одному байту, оскільки байти передаються по символу на кожний. У якості контрольної суми використовується два байти, розраховані за алгоритмом CRC16. Тобто вузол що передає, за цим алгоритмом складує усі байти в кадрі, що йдуть до цього поля, і отриманий результат відправляєв в кінці кадру. Вузол, який 78 отримує кадр, робить таку саму процедуру розрахунку. Результат який він отримує порівнюється зі значенням, що отримане в полі CRC16. Якщо дані не зійшлися, певні біти в кадрі були невірно доставлені, а отже кадр неірний. Невірно отримані кадри ігноруються. Це значить, що якщо Ведений отримає кадр – він не відповість на цей запит. А Ведучий, отримавши такий кадр від Веденого, повторно зробить запит. Слід зазначити, що кадри з неправильним бітом паритету теж ігноруються. У ряді випадків реалізація функцій MODBUS-Клієнта лягає на операційну систему, а доступ до них в програмі ПЛК відбувається через інтерфейсні комунікаційні функції. Зокрема це характерно для більшості ПЛК від Scneider Electric (Momentum, Quantum, TSX Micro, TSX Premium, M340). В ряді інших систем – клієнтську сторону на прикладному рівні необхідно повністю прописувати в програмі ПЛК, а інтерфейс надається тільки для обміну з комунікаційним портом. В цьому випадку система надає сервіси відправки та отримання повідомлення (яке формує і аналізує сама програма користувача), і генерації та перевірки контрольної суми. На рис.9.4 показаний приклад виконання однієї транзакції між Modbus RTU Master та Slave з адресою 5. Формування запиту та відповіді на прикладному рівні були розглянуті рис.8.5. 79 Рис.9.4 Приклад функціонування Modbus RTU Запитання для самоперевірки 1. Яка модель адресації та який метод доступу до шини використовується в MODBUS RTU/ASCII на канальному рівні? Як на цьому рівні контролюється правильність доставки бітової послідовності? 2. В чому відмінність роботи MODBUS RTU та MODBUS ASCII на канальному та фізичному рівнях? 3. Розкажіть про принципи розрахунку розрахунку часу обміну з використанням часової діаграми. 80 4. Розкажіть про принципи побудови кадрів для MODBUS RTU та MODBUS ASCII. 5. Які основні недоліки Ви можете назвати в принципах функціонування мереж MODBUS RTU/ASCII? 81 10. Управління приводами по промисловим мережам План 10.1. Використання інтерфейсів промислових мереж частотних перетворювачів. 10.2. Загальні принципи управління по промисловій мережі. 10.3. Профіль управління CiA-402 10.1. Використання інтерфейсів промислових мереж частотних перетворювачів. Чатотні перетворювач (ПЧ, перетворювачі частоти, інвертери) дуже популярні пристрої, які призначені для управління швидкістю обертання асинхронними двигунами. З розвитком систем управління електроприводами PDS (Power Drive Systems), до яких відноситься і ЧП, виникла необхідність в їх інтеграції у єдину автоматизовану систему для дистанційного управління та контролю за двигунами. Класичним підходом до підключення таких систем вважається використання уніфікованих аналогових, дискретних та імпульсних(частотних) сигналів. Зі збільшенням інформаційного обміну між контролерами та частотними перетворювачами, значно збільшується кількість необхідних каналів, що приводить до додаткових витрат як на засоби автоматизації, так і на інсталяцію та експлуатацію систем. Використання промислових мереж дає змогу ефективно використовувати всі ресурси частотних перетворювачів незалежно від кількості задіяних функцій, покращити завадостійкість та збільшити дальність зв’язку. Крім того, підключення по цифровим інтерфейсам дає додаткові можливості та зручність при конфігуруванні частотних перетворювачів, зокрема віддалене налагодження, збереження плинної конфігурації, її перенесення ні інші приводи і т.д. Для початку розглянемо можливості мережних інтерфейсів ПЧ. Мережний інтерфейс ПЧ може використовуватися для управління та контролю з контролера (поз.1 рис.10.1), шляхом обміну даними вводу/виводу (I/O Data). Для контролера (ПЛК), частотний перетворювача є зовнішнім польовим пристроєм, яким потрібно керувати (запускати/зупиняти, видавати завдання частоти) і який необхідно контролювати (визначати стан приводу, зчитувати плинні значення частоти, струму, напруги тощо). У основному, при зовнішньому управлінні ПЧ з контролеру, саме ця задача стоїть перед розробниками. 82 Конфігураційне ПЗ, або панель налаштування Контролер (PLC, PC-base…) промислова мережа (Fieldbus) 1 2 4 мережний інтерфейс ПЧ 3 інший інтелектуальний пристрій (ПЧ, вводу/виводу, контактори…) Рис.10.1. Використання інтерфейсів промислових мереж частотних перетворювачів Класичними до недавнього часу способами такого керування було використання уніфікованих аналогових сигналів (4-20 мА, 0-10В, 0-5В), дискретних (0/24В) а також імпульсних (частотних) сигналів. Однак такий підхід значно обмежує кількість можливих сигналів при обміні, і при їх збільшенні здорожує систему. Так, наприклад, для контролю зупинки/роботи дивгуна, частоти, струму необхідно задіяти один дискретний та два аналогових виходи частотного перетворювача і відповідно входів ПЛК. Якщо ще потрібен контроль напруги, необхідно задіяти (якщо такий є в наявності) ще один аналоговий вихід ПЧ і вхід ПЛК. Іншим недоліком використання аналогових сигналів є погана завадозахищеність і як наслідок – спотворення сигналу. Використання цифрового послідовного зв’язку, тобто промислових мереж, дає можливість відійти ід цих проблем. Поява такої можливості дало ще одну функціональність. Тепер входи та виходи ПЧ можуть бути використані як віддалені входи/виходи контролера, що може значно зменшити вартість кінцевої системи. Крім обміну даними вводу/виводу, мережний інтерфейс дає можливість обмінюватися з контролером параметричними даними (поз.2.рис.10.1). Оскільки ПЧ являється частиною системи керування, в центрі якої стоїть контролер, можна вважати, що він являється його "віддаленим модулем". Крім обміну даними вводу/виводу цей віддалений модуль потрібно конфігурувати та діагностувати. Наприклад, можна зчитувати значення стану попередження або аварії. Також мережний інтерфейс може використовуватися для безпосереднього обміну з іншими польовими засобами (поз.3.рис.1). Інтелект ПЧ настільки зріс, що вони можуть забезпечувати керування частиною технологічного процесу без наявності керуючого контролеру. Однією з таких задач може бути синхронізація частотних перетворювачів між собою чи обмін з пристроями віддаленого вводу/виводу. 83 Мережний інтерфейс може бути використаний для конфігурування зовнішніми утилітами чи панелями налаштування (поз.4,рис.10.1). Враховуючи збільшення функціональності і відповідно складності ПЧ, їх конфігурація потребує все більше і більше зусиль. У багатьох випадках для нормальної роботи ПЧ, достатньо сконфгурувати з десяток параметрів як правило зчитаних з шильдиків. Операції конфігурування, як правило, проводяться з використанням локальної текстової чи графічної панелі. Однак, наявність великої кількості ПЧ і додаткових параметрів, приводить до великих затрат людино-годин на таке конфігурування. Крім того, така складність приводить до частих помилок у цьому процес і до несправностей. Для таких систем розробники пропонують спеціалізоване ПЗ (інженерні утиліти), які через мережний інтерфейс конфігурують ПЧ. Нижче ми зосередимось тільки на використанні мережного інтерфейсу ПЧ для задач управління та контролю з ПЛК. 10.2. Загальні принципи управління по промисловій мережі. Вирішення задачі керування ПЧ по промисловій мережі можна розділити на 2 частини: 1. Забезпечення обміну даними вводу/виводу між ПЛК та ПЧ. 2. Забезпечення логіки керування ПЧ. Перша частина завдання управління перетворювачем частоти зводиться тільки до того, щоб необхідні дані були доставлені з контролера на ПЧ і навпаки. Вирішення цього завдання забезпечує тільки доставку даних, але не їх інтерпретацію. Додатково потрібно знати карту розподілу пам'яті конкретного ПЧ щодо конкретної промислової мережі, і налаштувати доступ до неї. Ця частина завдання повністю залежить від обраного ПЧ, використовуваного протоколу мережі. При забезпеченні доставки даних, умовно можна вважати, що контролер і ПЧ знаходяться в одному адресному просторі. Тобто контролер просто оперує якимись змінними, які відповідають за функціонування ПЧ. Перетворювач частоти є складним багатофункціональним пристроєм, він може перебувати в різних станах, які потрібно контролювати і якими потрібно управляти. Для прикладу, частотний перетворювач одночасно може перебувати в станах: як польовий пристрій може перебувати в стані аварії, сигналізуючи про помилку функціонування; як вузол мережі - у стані періодичного обміну даними або в режимі конфігурування мережі (наприклад, в PROFIBUS Preparation, в CANOpen - Preoperational); як засіб управління двигуном - у стані вибігу на зазначену частоту. Для переведення ПЧ зі стану в стан необхідно якимось чином ним управляти. Управління зводиться до зміни змінних ПЧ (обмін якими повинен 84 бути забезпечений першою частиною завдання) за певним правилом. Таким чином, друга частина завдання зводиться до забезпечення логіки управління частотним перетворювачем. У самому простому випадку, для запуску ПЧ досить просто змінити один або кілька біт. У більш складних випадках необхідно побудувати цілу послідовність дій, тобто управляти автоматом станів. У кожному конкретному стані частотний перетворювач поводиться різним чином. Так, наприклад, в нормальному операційному (робочому) режимі, можна керувати швидкістю обертання двигуна, а в стані аварії - команди управління не працюють. Автомат станів - це логіка поведінки функцій ПЧ що базується на станах, перехід між якими здійснюється за командами з контролера або по внутрішнім подіям. Автомат станів описується діаграмою станів, як правило в графічному вигляді. У більшості випадків логіка управління функціями ПЧ залежить тільки від конкретного ПЧ, або від підтримуваного їм профілю, і мало залежить від типу використовуваного мережного інтерфейсу. Профіль пристрою - це набір правил, що визначає поведінку конкретного пристрою. Якщо, припустимо, в мережі CANOpen або Profibus DP, пристрій підтримує профіль модуля аналогового вводу, то в змінних за конкретними адресами можна буде знайти значення аналогових входів, значення зсуву і т.д. Таким чином, для розробника прикладного ПЗ створення системи буде мало залежати від виробника модуля з обраним профілем. А підключення і заміна буде проводиться за методикою Plug & Play. Аналогічно, можна сказати і про профіль управління ПЧ. Профіль управління визначає модель (логіку) управління функціями частотного перетворювача, а також інтерпретацію команд слова управління. На даний час існує багато профілів управління ПЧ. Більшість з них фірмові, наприклад профіль FC в Danfoss або I/O Profile в Altivar. Але ряд з них - стандартизовані і використовуються в ПЧ багатьох виробників. До найбільш популярних відносяться такі профілі: 1. CiA 402 (CAN in Automation); 2. CIP Motion (ODVA); 3. PROFIDrive (PROFIBUS International); 4. SERCOS (SERCOS International). 5. DRIVECOM (INTERBUS). Всі ці профілі крім DRIVECOM описані в 7-й частині стандарту IEC 61800 "Adjustable speed electrical power drive systems". Історично, багато профілів ПЧ з'явилися як профілі пристроїв. У цьому плані, вони Інтерфейсно-залежні. Однак, в даний час, використання конкретного протоколу мережі не визначає обов'язкову наявність конкретного профілю. З точки зору функціонального профілю ПЧ, розміщення і спосіб доступу до даних не має значення. За цим, наявність скажімо CANOpen в частотному перетворювачі, не говорить про те, що він управляється по CiA 402, і 85 навпаки, частотний перетворювач з підтримкою CiA 402 може управлятися по мережі Modbus, Profibus, WorldFIP і т.д. І навпаки, частотний перетворювач з PROFIBUS не завжди управляється за правилами профілю PROFIDRIVE (наприклад FC в Danfoss, DRIVECOM в Lenze). Перетворювач частоти може функціонувати в різних режимах: управління моментом, швидкістю, переміщенням, як зі зворотним зв'язком від датчиків, так і з розімкненим управлінням, як з перемиканням завдання, так і з числовим завданням (рис.10.2). У будь-якому випадку, всі функції ПЧ можна умовно віднести або до групи загальних функцій управління (включення режиму функціонування, підтвердження аварій, перемикання джерела управління) або до базових прикладних функцій (управління швидкістю, моментом, переміщенням). контролер дані вводу/виводу Command ПЧ загальні функції управління ПЧ: вмикання, квітування аварій, пермикання джерел керування Status Програма керування Set-Points бащові прикладні функції: керування моментом, швидкістю, переміщеням Позиція Position Управление перемещением Швидкість Velocity Момент Torque Управление скоростью Управление моментом M Actual Values Position Velocity Torque зворотній зв'язок SE Рис.10.2. Принципи керування та контролю приводом Для віддачі команд частотному перетворювачу по мережі використовуються змінні управління, так звані COMMAND. Це одне або більше 16-бітових слів, кожен біт яких визначає яку дію потрібно зробити. Для контролю за станом ПЧ використовуються змінні стану, які називають STATUS. Це одне або більше 16-бітових слів, кожен біт яких визначає в якому стані знаходиться та чи інша функція. 86 Для завдання поточних значень швидкості, частоти, позиції керуючий контролер передає уставки (SetPoints), а для контролю за ними - отримує поточні значення (ActualValues). Крім уставок і поточних значень, керуючий контролер і ПЧ можуть обмінюватися іншою інформацією, наприклад значеннями сигналів з датчиків і виконавчих механізмів, підключених до приводу, або уставки ПІД-регулятора. Крім цього, додаткові дані можуть використовуватися для зчитування або запису параметрів ПЧ. Розглянемо в я ких станах може перебувати ПЧ, згідно IEC 61800. У стані помилки (Faulted State), ПЧ не може функціонувати. Для контролю за помилками, в слові стану як правило виділяється біт помилки. Для переходу його в нормальний стан (No Faulted) необхідна команда скидання помилки (Reset Fault) з керуючого контролера або локально, по місцю (наприклад з лицьової панелі). Крім біту помилки у слові стану деяких ПЧ є також біт попередження Warning. При нормальній роботі ПЧ, функціонують його базові прикладні функції: управління швидкістю, моментом або переміщенням. Незалежно від того, звідки він управляється (локально з панелі, локальними входами/виходами або по мережі), з точки зору функціонування він знаходиться в операційному режимі (operating). У режимі not operating базові функції управління не функціонують, а двигун зупиняється. Залежно від джерела управління, в профілі можуть бути визначені такі стани: local control - ПЧ приймає команди і задані значення через локальний інтерфейс (наприклад лицьову панель або локальні входи/виходи ПЧ); remote control - ПЧ приймає команди і задані значення через мережевий інтерфейс. Значення режимів роботи базових функцій контролюються через відповідні біти змінної статусу Operating і Remote Control. При подачі живлення на ПЧ, він стартує в режимі not operating і local control. Команда Operate перемикає автомат станів режимів operating і not operating. Біткоманди Local/Remote переводять привід у відповідний режим управління. 10.3. Профіль управління CiA-402 Профіль CiA402 спочатку був розроблений організацією CAN in Automation як профіль пристрою DS-402. Він використовується як базовий прикладної профіль управління ПЧ в мережах CANOpen, ETHERNET Powerlink і ETHERCat. У ПЧ Altivar він також використовується при підключені по Modbus. Управління у CiA402 здійснюється за допомогою слова Controlword, а контролюються через слово статусу Statusword. Дані вводу/виводу включають один або декілька сигналів уставок і поточних значень для управління і контролю над приводом. Таким чинои, для режиму керування швидкістю без зворотного зв'язку визначені наступні змінні: - Слово управління - Controlword; - Слово стану - Statusword ; - Задана швидкість - Target velocity ; 87 - Поточна швидкість - velocity actual value . ПЧ може перебувати в режимі Fault (3-й біт Statusword = 1) або No Fault (3-й біт Statusword = 0). Скидання аварії проводиться командою Fault Reset (7-й біт Controlword = 1). Поведінка приводу в кожному стані визначається в самому пристрої, наприклад при конфігурації. Після скидання аварії, ПЧ переводиться в стан Ready To Switch On. Діаграма станів для профілю CiA402 наведено на рис.10.3, номера переходів відповідають подіям з таблиці 10.2. Стан not operating в профілі CiA402 складається з декількох підстанів. Таким чином автомат включає такі стани: - Not ready to Switch On - стадія ініціалізації ПЧ, комунікації недоступні; - Switch On Disabled - закінчення стадії ініціалізації, силова частина приводу неактивна, подача живлення на неї не здійснюється і заборонена, доступна параметризація приводу через комунікації; - Ready to Switch ON - очікування подачі живлення на силову частину приводу, доступна параметризація через комунікації. - Switched On - подано харчування на силову секцію приводу, двигун не запитан, доступна параметризація через комунікації; - Operation Enabled - нормальний операційний режим, помилок не виявлено, на двигун подано харчування, доступна параметризація через комунікації за винятком конфігураційних даних силової частини. - Fault Reaction Active - визначена помилка приводу, проводиться її обробка; функції управління двигуном недоступні. - Fault - стан помилки, привід заблокований, на двигун не харчування не подається; - Quick Stop Active - стан швидкого зупинки двигуна. 88 Рис.10.3. Діаграма станів для профілю CiA-402 Стан ПЧ визначається словом Statusword, а переходи між станами можуть здійснюватися за внутрішніми подіями, або по команді в Controlword. Таблица 10.1 Команди для переходу між станами Біти слова Controlword (604016) Fault Enable Quick Enable Switch знач в Команда Reset Operati Stop Voltag On 16on e ковому форматі 7 3 2 1 0 Shutdown x x 1 1 0 0006 Switch On x x 1 1 1 0007 Enable Operation x 1 1 1 1 000F Disable Operation x 0 1 1 1 0007 Disable Voltage x x x 0 x 0000 Quick Stop x x 0 1 x 0002 Fault Reset 0->1* x x x x 0080 * - по передньому фронту сигналу В таблиці 10.2 наведені події і команди, за якими відбувається перехід між станами. Номер переходу показаний на рис.10.3. 89 Таблица 10.2 Події та команди, за якими відбувається перехід між станами № пере- Зі стану ходу 0 Start В стан Подія Реакція на подію Not Ready To Switch ON Switch On Disabled запуск ПЧ ПЧ проходить самодіагностику і стартову ініцалізацію активація комунікації та відображення даних процесу перехід в наступний стан Not Ready To Switch ON Switch On Disabled Ready to Switch ON Switched On позитивний результат ініціалізації Ready to команда Switch ON Shutdown Switched On команда Switch On Operation команда Enabled Enable Operation 5 Operation Enabled Switched On 6 Switched On Ready to Switch ON Operation Enabled Ready to Switch ON Switch On Disabled Ready to Switch ON 1 2 3 4 7 8 9 10 11 12 13 14 команда Disable Operation команда Shutdown команда Quick Stop команда Shutdown вмикається силова секція ПЧ перехід в операційний режим: доступні функції управління двигуном відключається операційний режим відключається силова секція ПЧ перехід в наступний стан миттєве відключення силової секції і напруги з двигуна Operation Switch On команда миттєве відключення Enabled Disabled Disable Voltage силової секції і напруги з двигуна Switched Switch On команда миттєве відключення On Disabled Disable Voltage або силової секції і напруги з Quick Stop двигуна Operation Quick Stop команда здійснюється швидкий Enabled Active Quick Stop останов двигуна Quick Stop Switch On виконаний відключається силова Active Disabled швидкий зупин секція приводу або команда Disable Voltage Усі стани Fault Reaction помилка ПЧ здійснення дії відповідно Active до налаштувань Fault Fault обробка функції управління Reaction помилки двигуном недоступні, 90 закінчена Active 15 Fault Switch On Disabled 16 Quick Stop Active Operation Enabled силова секція може теж відключитися команда підтвердження помилки, Fault Reset при відсутності помилок біт команди Fault Reset обнуляється автоматично команда активуються всі функції Enable Operation управління двигуном У CiA-402 режим керування швидкістю без зворотного зв'язку називається Profile Velocity mode. Для цього режиму в операційному стані запуск двигуна відбувається за допомогою команди No Halt (8-й біт Controlword = 0), зупинка - Halt (8-й біт Controlword = 1). Задана швидкість обертання задається об'єктом Target velocity, а контролюється об'єктом Velocity actual value. Контроль роботи двигуна в операційному режимі проводиться також додатковими бітами статусу, які є опциональними: - Target Reached (біт 10) - при Halt = 1, - 0 означає, що двигун зупиняється, 1 - що двигун зупинився; при Halt = 0, - 0 означає, що швидкість не досягла уставки, 1 - що швидкість досягла уставки; - Speed (біт 12) - якщо 0 - швидкість не дорівнює нулю, 1 швидкість дорівнює нулю. Запитання для самоперевірки 1. Навіщо пристрої PDS необхідно підключати до контролерів? Які типи сигналів використовуються при підключенні? 2. В чому переваги використання мережевого зв’язку порівняно з аналоговим, дискретним та імпульсним підключенням PDS до контролера? 3. Які проблеми виникають при використанні мережевого зв’язку з PDS різних виробників? Як ці пролеми вирішуються на рівні стандартизації зв’язку з PDS? 4. Які основні складові логічної моделі системи з PDS? Які функції виконують ці складові? 5. Що визначає Універсальний Інтерфейс МЕК 61800? 6. Які інтерфейси можуть бути доступні для зв’язку з PDS? Які з них підтримуються функціями Універсального Інтерфейсу МЕК 61800? 7. Прокоментуйте схему функціонування автомату станів базових функціональних елементів для профілю СіФ402. 91 11. Місце засобів SCADA/HMI в структурі управління. План 11.1. Способи реалізації людино-машинного інтерфейсу 11.2. Засоби розроблення автоматизованих робочих місць 11.3. Функціональні можливості середовищ виконання SCADA/HMI 11.1. Способи реалізації людино-машинного інтерфейсу Більшість систем управління технологічними процесами є автоматизованими, тобто такими, що потребують участі людини в процесі керування. Це зумовлено рядом факторів. Насамперед, це те, що не завжди можна розробити алгоритм управління, за допомогою якого можна було б реалізувати повністю автоматичну систему управління. Для цього або недостатньо інформації про стан об’єкта управління, або в процесі управління можуть виникати непередбачувані ситуації, з якими не може впоратись існуюча система автоматизації. Крім того, навіть для традиційних і добре вивчених і відпрацьованих завдань автоматичного регулювання (стабілізуюче, програмне і слідкуюче) та задач дискретного управління періодичними процесами, для яких існують надійні алгоритми і програми управління, виникає необхідність коригування їх роботи. У будь-якому випадку необхідно налагодити зв'язок, який би, з одного боку, давав можливість контролювати людині стан процесу та системи, а з іншого – забезпечував можливість втрутитися в процес управління. Тобто необхідно в системі управління передбачити людино-машинний інтерфейс (HMI – Human-Machine Interface). Під "машиною" в цьому випадку розуміється система з усіх технічних засобів, що бере участь у процесі вимірювання, контролю, сигналізації та управлінні, а під «людиною» – оператор-технолог, який бере безпосередню участь в процесі управління. Враховуючи, що людина, задіяна у процесі управління, є частиною даної системи, яка, в свою чергу, зветься автоматизованою системою управління технологічними процесами (АСУТП), вона займає відповідальну роль, оскільки саме вона приймає найвідповідальніші рішення в процесі управління. Людино-машинний інтерфейс є частиною автоматизованого робочого місця (АРМ) оператора. На відміну від прямого візуального контролю та безпосереднього керування регулюючими органами, в АСУТП процес отримання людиною інформації та ручне управління проходить опосередковано через засоби людино-машинного інтерфейсу, Рис. 11.1. Супервізорне управління об’єктом 92 контролери (ПЛК), виконавчі механізми та датчики (рис.11.1). Такий процес отримав назву супервізорного управління. Для невеликих процесів людино-машинний інтерфейс може бути реалізований з використанням кнопок, перемикачів, різного типу індикаторів. Однак більшість технологічних процесів потребує значної кількості елементів відображення та ручного управління, а також різного типу самописців та елементів сигналізації. У цьому випадку для реалізації людино-машинного інтерфейсу використовують операторські панелі, які ще називаються панелі оператора. Це невеликі мікропроцесорні засоби з текстовим або графічним дисплеєм для відображення інформації та елементами управління – кнопками або/та сенсорним екраном. Передня частина таких панелей захищена від пилу, бруду, вологи, що дає змогу оператору управляти процесом безпосередньо біля об’єкта. Для захисту іншої частини панелі її розміщують у спеціальному щиті. Для великих АСУТП панель оператора не забезпечує можливості контролю за всім процесом, архівування великої кількості параметрів, зв’язку з іншими системами управління процесами та виробництвом у цілому. Ці функції можуть бути реалізовані засобами людино-машинного інтерфейсу, побудованим на базі комп’ютерів зі спеціалізованим програмним забезпеченням. На виробництві такі автоматизовані робочі місця операторатехнолога розташовуються, як правило, в спеціально обладнаних диспетчерських, які захищають комп’ютери від пагубного впливу виробничих умов та надають можливість для нормальної роботи операторів. У диспетчерських приміщеннях для управління об’єктами з великим обсягом інформації застосовують також настінні екрани. Для реалізації нормальної роботи людино-машинного інтерфейсу необхідно забезпечити для нього двосторонній обмін даними: - збирати інформацію про стан технологічного обладнання і значень технологічних параметрів; - передавати команди оператора в зворотному напрямку. При побудові АСУТП на базі програмованих контролерів, цими процесами займаються SCADA (Supervisory Control And Data Acquisition – супервізорне управління і збирання даних). Тобто організація роботи АРМ складається, як мінімум, з двох складових: SCADA – для збирання даних та управління; HMI – для реалізації людино-машинного інтерфейсу. У АСУТП, побудованих на базі DCS (Distributed control system – системи розподіленого управління), база даних процесу єдина як для управління процесом у реальному часі так і для візуалізації. Тому окремо функція SCADA не виділяється, але процес створення людино-машинного інтерфейсу практично не відрізняється. Надалі будемо розглядати тільки системи, побудовані за принципом: контролери+SCADA+HMI. 93 11.2. Засоби розроблення автоматизованих робочих місць Програмне забезпечення для комп’ютерів АРМ можна створити на базі універсальних середовищ та мов програмування. Такий підхід дає змогу створити систему з будь-яким функціоналом за бажанням замовника, однак має ряд недоліків. По-перше, розроблення проектів займає багато часу і потребує залучення спеціалістів з комп’ютерного програмування. По-друге, відлагодження такого проекту триває досить довго, а помилки в роботі програм нерідко проявляють себе протягом усього життєвого циклу системи. По-третє, такі програми важко супроводжувати і вносити туди зміни, оскільки це потребує постійного контакту з людиною-розробником. Альтернативою наведеному вище підходу є використання спеціального програмного забезпечення, яке значно спрощує розроблення прикладного програмного забезпечення для реалізації АРМів різного призначення. Таке інструментальне програмне забезпечення належить до класу SCADA/HMI. Основний принцип розроблення з використанням цих інструментів – "Конфігурування замість програмування", що різко зменшує витрачений час та вірогідність помилок, адже функціональність АРМів у своїй базовій частині мало залежить від особливостей виробництва. Програмні пакети для розроблення АРМів на базі комп'ютерів прийнято називати "SCADAпрограмами", або просто "SCADA", а для панелей оператора – "HMIпрограмами", або просто "HMI". Надалі ми будемо використовувати загальний термін, який об’єднує ці поняття – програми SCADA/HMI. У світі налічуються сотні компаній, що активно займаються розробленням і розповсюдженням програм SCADA/HMI. Декі популярні SCADA в Україні: InTouch (Wonderware, США) Genesis (Iconics, США) WinCC (Siemens, Німеччина) Vijeo Citect (Schneider Electric, Франція) Zenon (Copa Data, Австрія) Visual Intellect (Мікрол, Україна) Необхідно розрізняти програмне забезпечення SCADA/HMI, яке функціонує на автоматизованому робочому місці оператора і набір інструментальних програмних засобів, призначених для розроблення такого прикладного програмного забезпечення (рис.11.2). Середовище розроблення (Design-Time) використовується на стадії створення системи і містить набір різних редакторів. Як правило, ця програма виконується тільки на комп’ютері розробника. Результат розроблення – набір пов’язаних файлів, які називають проектом. Середовище виконання (Run-Time) містить усі виконавчі підсистеми для реалізації функцій, розроблених виробником SCADA/HMI. Воно слугує для запуску і виконання створеного проекту на 94 комп’ютері автоматизованого робочого місця в режимі м’якого реального часу. На самому підприємстві обов’язковим є наявність середовища виконання проекту. У більшості SCADA/HMI проект може бути в 2-х варіантах (див. рис.11.2): - вихідний проект, де зберігаються проектні дані з можливістю їх редагування; - скомпільований проект, який потрібен тільки для середовища виконання і Рис. 11.2. Порядок створення, компіляції та недоступний для виконання проекту. редагування. Для функціонування системи в режимі операційної роботи необхідне тільки середовище виконання та скомпільований проект. Однак, якщо в майбутньому планується вводити зміни в проект, підприємство повинно домовитися з розробниками про передачу також вихідного проекту. Слід зазначити, що середовище виконання для комп’ютерів є платним і ліцензується залежно від функціональних можливостей та кількості змінних процесу, які задіяні в контролі та управлінні. Середовище виконання для панелей оператора вже вбудоване в неї і входить у вартість обладнання. Середовище розробки може бути як платним так і безкоштовним, залежно від особливості фінансової політики виробника SCADA/HMI. 11.3.Функціональні можливості середовищ виконання SCADA/HMI Більшість програм SCADA/HMI має типовий набір функціональних можливостей для реалізації завдань АРМів: збирання інформації про контрольовані технологічні параметри (даних реального часу) з контролерів та засобів віддаленого вводу/виводу; графічне представлення стану технологічного процесу і обладнання в зручній для сприйняття формі у вигляді мнемосхем; вторинна обробка інформації (масштабування, обмеження вводу, перевірка коректності тощо); приймання команд оператора і передача їх на контролер або засіб віддаленого виводу; збереження даних реального часу в архівах даних і графічне представлення історичної інформації в зручній для сприйняття формі у вигляді графіків, гістограм тощо; 95 сповіщення експлуатаційного і обслуговуючого персоналу про виявлені аварійні події в технологічному процесі і програмноапаратних засобах; фіксація в електронних журналах виникнення аварійних подій у контрольованому технологічному процесі та дій експлуатаційного персоналу; формування звітів на основі архівної інформації, тривог та даних реального часу; обмін інформацією з автоматизованими системами управління виробництвом та підприємством у складі інтегрованих систем управління; підтримка мов програмування високого рівня, наприклад, VBA; захист від несанкціонованого доступу до компонент і файлів. На наступних лекціях розглянемо детальніше ці функції. Запитання для самоперевірки 1. Коли виникає необхідність участі людини в процесі управління? 2. Поясніть що таке нештатна ситуація. Наведіть приклади. Чому для автоматики проблематично приймати рішення в таких ситуаціях? 3. Поясніть своїми словами, що таке людино-машинний інтерфейс (ЛМІ). 4. Яке місце займає людина в АСУТП? 5. Поясніть що таке супервізор не управління. Які пристрої приймають у ньому участь? 6. Поясніть призначення SCADA. В чому відмінність SCADA та ЛМІ? 7. Що таке проект SCADA? Чим відрізняється вихідний проект від скомпільованого? 96 12. Людино-машинний інтерфейс (ЛМІ) План 12.1. Загальний вигляд графічного ЛМІ 12.2. Способи та елементи відображення стану процесу 12.3. Способи та елементи введення (зміни значення змінних) 12.1. Загальний вигляд графічного ЛМІ Загальний вигляд графічного людино-машинного інтерфейсу (ЛМІ) суттєво залежить від типу технологічного процесу, прийнятих стандартів (корпоративних, галузевих) на побудову автоматизованих систем та індивідуальних потреб замовника (наприклад, технологів, інженерного персоналу). Тим не менше, найбільш типовим є побудова графічного інтерфейсу АРМа таким, що ґрунтується на наведених нижче підходах. Графічна підсистема (людино-машинного інтерфейсу) АРМа оператора має багатовіконний інтерфейс з можливістю відображення у вікнах сторінок процесу, трендів, тривог та іншої службової інформації. Враховуючи, що вся доступна інформація не може вміститися в одному вікні, в один момент відображається тільки одна сторінка процесу. Такі сторінки можуть називатися по-різному, залежно від термінології прийнятої для вибраної SCADA/HMI. Сторінки, які призначені для відображення технологічного процесу або його частини, часто називають мнемосхемами. На рис.12.1 показаний прикад загального вигляду екрана, де мнемосхема процесу займає більшу його частину. 97 Рис. 12.1. Приклад загального вигляду екрана людино-машинного інтерфейсу (SCADA Vijeo Citect): 1 – сторінка (мнемосхема) процесу; 2 – панель(меню) доступу до інших сторінок та команд; 3 – вікно відображення активних тривог та подій Такий спрощений вигляд установки з відображенням значень технологічних параметрів у плинний момент часу дає оператору інформацію про стан цієї частини процесу. Однак для перегляду інших частин процесу оператор повинен відкрити іншу сторінку, наприклад за допомогою панелі керування, меню або інших елементів управління. Таким чином, використовуючи меню або панель навігації, оператор може переглянути детально будь-яку частину процесу. Для введення дій, перегляду уточнюючої інформації чи тимчасового відображення ряду параметрів також використовують спливаючі вікна. Вони відкриваються поверх основного вікна і не заважають перегляду його вмісту. Хоча кількість сторінок процесу, як правило, не обмежується системою, оператор не може вчасно зреагувати на зміни в системі, постійно їх перемикаючи. Тому в більшості випадків в графічній підсистемі є головна мнемосхема, де відображається найбільш загальна інформація про весь процес. Крім того, всі технологічні параметри, що потребують підвищеного контролю з боку оператора, повинні відслідковуватися підсистемою тривог (наприклад, вихід значення змінної за аварійні межі). Графічна підсистема повинна бути розроблена таким чином, щоб тривоги, які з’явилися, відразу привертали увагу оператора. Останні тривоги, як правило, показуються у вигляді постійно видимого вікна тривог (див. рис.12.1) або окремого підсвічуваного елемента, що вказує на наявність нештатної ситуації в системі. 98 Графічний людино-машинний інтерфейс реалізується через: - елементи відображення, які надають оператору інформацію про стан змінних процесу; - елементи введення, що надають можливість впливати на процес, шляхом зміни значень змінних або відправки команд. Часто функції відображення та введення комбінуються в одному елементі. Нижче розглянемо більш детально способи відображення та введення, а також типові елементи, які використовуються для цього. 12.2. Способи та елементи відображення стану процесу Інформація про значення технологічних параметрів повинна бути надана в такому вигляді, щоб оператор швидко визначив загальний стан процесу. Для цього окрім відображення значення величини у вигляді тексту, можна використовувати різного типу зміни властивостей графічного об’єкта, зокрема: – кольору; – тексту; – видимості; – вигляду зображення; – геометричних розмірів; – заповнення; – позиції на екрані; – кута повороту. Зміна якоїсь властивості графічного елемента залежно від значення змінної часто називають анімацією. Анімація кольору використовується для показу стану змінної процесу або обладнання чи агрегату. Яскраві червоні та жовті 1 2 кольори прийнято використовувати для сигналізації відповідно аварійного та передаварійного стану, а всі інші – для уточнення діапазону нормального стану. Останнім часом передові організації-розробники рекомендують 3 4 використовувати в якості кольорів білі, чорні та відтінки сірого. Інші кольори рекомендуються використовувати для Рис. 12.2. Приклад виділення станів елементів, на які особливо треба звернути зображення стану увагу, або для розрізнення елементів між собою дискретної змінної: (трубопроводи з різною рідиною, графіки на трендах тощо) 1- клапан відкритий, Для відображення стану дискретної змінної (типу 2 – клапан закритий, включено/ відключено) можна використати два кольори. 3 – насос увімкнений, Наприклад, зелений може вказувати на стан "включений", а 4 – насос вимкнений сірий – для стану "виключений". Можна також використовувати пару білий/темно-сірий, як показано на рис.12.2. У будьякому випадку призначення кольорів необхідно заздалегідь узгодити між розробниками та замовниками. 99 Стан аналогової змінної теж можна показати у вигляді зміни кольору елемента або його частини. У цьому випадку колір може вказувати на діапазон, у якому знаходиться значення змінної (рис.12.3). У такий спосіб оператор швидко може зорієнтуватися, чи знаходиться змінна в нормі, або в якому Рис. 12.3. Приклад зображення різного стану аналогової змінної технологічному режимі знаходиться установка. Зміна кольору елемента шляхом зміни кольору фону та тексту часто використовується для сигналізації. Стан періодичного процесу також може відображатися у вигляді різних кольорів. Так, стани "ПУСК", "СТОП", "БЛОКУВАННЯ", "ПАУЗА" можуть відображатися на одному й тому самому елементі у вигляді однойменних написів з різним кольоровим підсвічуванням. Крім того, активний крок (етап) процесу можна показати на діаграмі станів у вигляді яскравого елемента. Так, на рис.12.4 показано діаграму стану 4-х танків, один погляд на яку відразу вказує на активні кроки. Рис. 12.4. Приклад зображення активних кроків (етапів) для періодичних процесів Поряд з кольором та текстом нерідко використовується миготіння. Цей тип анімації в основному призначений для привертання уваги оператора до події, що виникла та потребує його реакції. Найчастіше миготіння використовується в 2 підсистемі тривог, де оператор повинен підтвердити 1 факт, що він побачив тривогу, шляхом її квитування. Таким чином, миготіння може тривати доти, поки оператор не зверне уваги і не 3 4 підтвердить тривогу. Зміна видимості елементів може використовуватися для різних функцій. Наприклад, Рис. 12.5. Приклад на рис.12.5(2) поява зображення руки вказує на зображення стану ручний (дистанційний) режим роботи клапана, а на обладнання шляхом рис.12.5(4) поява трикутника із символом "W" – на зміни видимості наявність попереджувальної тривоги, пов’язаної з даним насосом. Крім того, властивість видимості може бути використана для виведення на екран оператору тільки тих елементів, які використовуються в даний момент. Одним із найбільш наглядних способів представлення аналогової величини є показ ступеня наповненості фігури у відсотковому відношенні 100 (заливки). На рис.12.6 показано декілька прикладів заливки в якості відображення рівня в збірниках та наповнення трубопроводу. Хоч інтуїтивно заливка підходить для відображення рівня (ступеня заповнення), анімацію заповнення використовують для будь-яких аналогових змінних процесу. Як правило, для цього в засобах SCADA/HMI доступні стандартні елементи, які прийнято називати стовпчикові діаграми, або гістограми. На рис.12.7 показано приклади стовпчикових діаграм, на яких, окрім самого стовпчика, показано вимірювальну шкалу, а також Рис. 12.6. Приклади відображено аварійні та попереджувальні межі, щоб використання вертикальної оператор бачив, у якому діапазоні зараз знаходиться заливки величина. Стовпчикові діаграми також можуть змінювати колір заповнення стовпчика залежно від значення та показувати бажане значення величини. Крім стовпчикових діаграм, для відображення значення аналогових величин можна використовувати кругові діаграми. Так, на рис.12.8 кругова діаграма показує плинну витрату речовини. Так само можна показувати ступінь відкриття регулюючого органу. На рис.12.11 у нижній частині фільтра F3 за допомогою кругової діаграми показано, скільки часу пройшло з початку етапу фільтрації відносно заданого. мітки аварійних та попереджувальних меж Рис. 12.7. Стовпчикові діаграми (гістограми): ліворуч – вертикальні; праворуч – горизонтальні Рис. 12.8. Фрагмент мнемосхеми з різними типами діаграм За допомогою анімації руху по вертикалі чи по горизонталі можна показувати як значення вимірюваної величини, так і значення уставки (заданого або бажаного значення). Так, на рис.12.8 (праворуч) показано стовпчикові діаграми з відміткою заданих значень (вказані трикутними стрілками). 101 Анімація обертання (зміна кута повороту), як правило, використовується в стрілочних індикаторах (рис.12.9). Цей тип графічних елементів інтуїтивно зрозумілий оператору, а інформація з нього швидко сприймається. Комбінація з анімацією кольору поліпшує процес сприйняття. Крім цього, анімацію руху застосовують, щоб показати залежність однієї змінної від іншої Рис. 12.9. Стрілочні індикатори або розподіл (градієнт) параметрів у просторі. Наприклад, на рис.12.10 показано значення температур на контрольних тарілках колони у вигляді точок, розміщених на горизонтальних лініях. Поєднавши ці точки, можна показати градієнт розподілу температур по висоті колони. Застосувавши такий підхід разом з анімацією кольору, можна одним поглядом оцінити стан роботи колони. Для відображення тенденції зміни значення технологічних Рис. 12.10. Приклад відображення градієнту змінних використовуються температур самописці, які також називають по висоті колон. трендами реального часу. Наприклад, у мнемосхемі на рис.12.11 самописець дає оператору уявлення про поведінку тиску, оскільки різке його підвищення може вказувати на забитість фільтраційного матеріалу. Слід зазначити, що в даному випадку абсолютна величина тиску не має такого значення, як його зміна в часі. А на рис.12.12 самописець показує тенденцію відхилення дійсного значення витрати від заданого, що значно інформативніше, аніж бачити тільки їхні плинні значення. 102 самописець Крім того, на мнемосхемі рис.12.11 задіяно функцію видимості, оскільки самописець і кругова діаграма показана тільки для працюючого фільтра, тому що в іншому випадку вони не мають ніякого значення і тільки заплутують оператора надлишковою кругова непотрібною діаграма інформацією. Рис.12.11. Приклад мнемосхеми з використанням самописців і кругової діаграми. Як видно з рис.12.12, самописець часто використовується у вікнах налаштування регулятора, оскільки саме вигляд перехідного процесу дає наладчику інформацію про вдалий підбір його настройок. значення 10 хвилин назад історія зміни за останні 10 хвилин теперішні значення вимір задане РО рух тренду 10 хвилин Рис. 12.12. Приклад використання самописця Сучасні програми SCADA/HMI дають можливість залежно від значення змінних включати або відключати мультимедійний контент, наприклад фільми, аудіо або різного типу анімацію GIF, Flash і т. д. Однак не слід зловживати цими засобами, тому що їхнє надмірне використання тільки погіршує процес сприйняття інформації та адекватну оцінку стану процесу. 103 12.3. Способи та елементи введення (зміни значення змінних) Графічні елементи, які використовуються для зміни значення змінних або відправки команд, називають елементами управління. Впливати на ці елементи можна використовуючи один з доступних елементів введення: - маніпулятор "миша"; - сенсорний екран; - клавіатура. Для виконання команд для зміни значення дискретних змінних типу "включити"/"відключити" використовуються кнопки, перемикачі або графічні елементи з цими функціями. Графічний вигляд таких елементів може бути дуже різним (рис.12.13). Тим не менше можна виділити два типи команд для таких елементів: - перемикання, яке приводить до зміни значення ВКЛ на ОТКЛ та навпаки; - запис константи, яка відповідає одному зі станів: «ВКЛ» або « ВИКЛ». Рис. 12.13. Приклади зображення перемикачів. Можна здогадатися, що на рис.12.13 показано перемикачі, оскільки команди (наприклад по кліку миші) приводять до зміни значення на обернене. Однак слід зазначити, що функціональність таких елементів не обов’язково збігається з зображенням, тому слід заздалегідь обговорювати їх з розробником. На рис. 12.14 показано приклади використання кнопок з командами запису константи. В обох прикладах для включення та виключення установки/двигуна необхідно використати різні кнопки: "Начать" та "ВКЛ" Рис. 12.14. Приклади використання для включення і "СТОП" та "ОТКЛ" для кнопок запису константи відключення. Аналогічним способом можна записати значення константи для аналогової або текстової змінної. Однак цей спосіб не такий вживаний, тому що є необхідність в запису будь-яких значень з дозволеного діапазону введення. Один з найбільш універсальних способів – це ввести значення з клавіатури в полі для введення. Для цього елемент 104 введення отримує курсор введення, який називають фокусом. У більшості засобах SCADA/HMI по отриманні фокуса значення поле для вводиться безпосередньо в поле для введення введення (див. рис.12.15). Однак бувають і інші способи введення значення, як, наприклад, набір значення під елементом, що отримав фокус. Враховуючи, що у зв’язку з набір значення виробничими умовами чи наявністю під елементом сенсорного екрана клавіатури на АРМі може віртуальна не бути, для введення значення можна клавіатура використати віртуальну клавіатуру (див. рис.12.15). Рис. 12.15. Різні способи введення Слід зазначити, що більшість значення аналогової змінної. SCADA/HMI обмежують введене значення в дозволених межах, що зменшує ймовірність помилкової дії оператора. Введення з клавіатури дозволяє записати вказане значення з дозволеного діапазону, однак часто оператору необхідно змінити його відносно плинного стану. Крім того, оператор при управлінні користується нечіткими більш інтуїтивними поняттями, на кшталт "трохи збільшити" чи "сильно зменшити", або "відкрити десь наполовину". Для такого типу управління більш підходять "аналогові" засоби управління типу повзунка чи кнопки «більше/ менше». 105 Повзунки призначені для зміни значення змінної шляхом пересування повзунка по шкалі від мінімального до максимального значення. Повзунки 1 можуть бути вертикальними, горизонтальними та круговими (рис.12.16). Приклад використання вертикального повзунка показано на рис. 12.17 для завдання заданого значення та ручного виходу на виконавчий механізм. Серед усіх елементів введення повзунок виділяється найшвидшим способом зміни значення змінної. Для зміни значення змінної на кшталт "трохи 3 2 більше" чи "трохи менше" найкраще використовувати кнопки ступеневої зміни. На рис.12.17 кнопки Рис. 12.16. Приклади повзунків. "більше" та "менше" поряд з повзунками відповідно збільшують та зменшують значення на 1%. Іноді крок зміни параметра залежить від тривалості натиснення відповідної кнопки. Чим більша тривалість натиснення кнопки – тим більша величина кроку і з більшою швидкістю змінюється параметр. «більше» «менше» Рис.12.17. Приклади використання кнопок «більше» та «менше» . Запитання для самоперевірки 1. Які механізми використовують, щоб оператор міг контролювати велику кількість параметрів технологічного процесу? 2. Зміною яких властивостей графічних елементів можна показати стан технологічних параметрів? Як прийнято називати такі зміни? 3. Які загальні рекомендації щодо використання кольору в графічній підсистемі? 4. Якими способами можна показати стан дискретної змінної? 5. Якими способами можна показати стан аналогової змінної? 6. Навіщо використовується миготіння? 7. Як можна використати анімацію видимості? 8. Поясніть призначення та можливості стовпчикових діаграм(гістограм). 106 9. Розкажіть про призначення самописців та приклади їх використання. Якими способами можна змінити значення дискретної змінної? 10.Якими способами можна змінити значення аналогової змінної? 11.Розкажіть про призначення повзунків, кнопок "більше"/"менше" та приклади їх використання. 107 13. Підсистема тривог та подій План 13.1. Загальні принципи функціонування 13.2. Ведення журналу тривог та його перегляд 13.3. Типи тривог. 13.4. Події та журнал подій. 13.1.Загальні принципи функціонування Кількість параметрів, які контролює один оператор, може вимірюватися сотнями, при цьому кількість мнемосхем може перевищувати десяток. При таких обставинах навіть найуважніший і досвідчений оператор не зможе вчасно зреагувати на вихід за регламентні межі значення однієї з контрольованих величин. Тому для кращого моніторингу процесу в SCADA/HMI використовуються підсистеми контролю тривог (Alarms Management). Основна ідея її функціонування – відслідковування виходу змінної процесу за нормовані межі. Тобто, коли всі технологічні параметри процесу знаходяться в регламентних межах, оператор може не слідкувати за всіма значеннями контрольованих параметрів, оскільки за ними слідкує підсистема тривог. Як тільки значення хоча б однієї зі змінних переходить у ненормований стан (за межі нормованих значень), то підсистема сповіщає про це оператора, щоб той звернув на це увагу і по можливості усунув причину тривоги. Факт появи тривоги може сигналізуватися зміною кольору елемента (наприклад, яскраво-червоним чи жовтим), миготінням, звуковим сигналом, спливаючим вікном та іншими способами, які привертають увагу оператора. Тобто перша функція підсистеми тривог – виявити тривожну подію та сповістити про неї оператора. Сама нештатна подія називається тривогою. Як уже зазначалося, тривога повинна сигналізуватися таким чином, щоб привертати увагу оператора незалежно від відкритої мнемосхеми на даний момент часу. Як тільки оператор виявив факт появи тривоги, такі засоби сигналізації як звук чи миготіння вже можуть навпаки заважати адекватній роботі оператора внаслідок їх додаткового психологічного тиску. Тому оператор може дати команду підтвердження, що він помітив тривогу (квитування, acknowledge alarm). Після цього тривога переходить у стан активної (оскільки умова тривоги продовжує виконуватись), але підтвердженої (заквітованої), а отже, і по-іншому буде відображатися (наприклад, без звуку та миготіння). При створенні системи розробники повинні узгодити з технологами, які саме тривоги повинні бути з підтвердженням, а які – без, а також яким чином будуть себе вести при цьому елементи ЛМІ. У будь-якому випадку тривога зникає (відключається), коли перестає виконуватись умова її появи та було зроблене її підтвердження (якщо таке 108 вимагалось). Елементи сигналізації тривог відповідно до станів також можуть мати чотири варіанти кольорів, миготінь, звуків тощо. У ряді ситуацій, наприклад, коли частина обладнання вийшла з ладу або тимчасово відсутні деякі датчики, тривоги пов’язані з цими процесами варто перевести в стан заборонених (suppress), щоб вони не виводилися на сигналізацію. У іншому випаду, до постійно включеної сигналізації оператори поступово звикають і тому далі підсистема тривог втрачає своє функціональне призначення, тому що людина не реагує на чергову сигналізацію, яка з’являється на фоні постійно діючої. Це ще одна з причин, чому до розроблення системи тривог необхідно підходити скрупульозно. 13.2. Ведення журналу тривог та його перегляд Для підвищення якості виробництва та запобігання аваріям у майбутньому всі тривожні події, що виникли в технологічному процесі, повинні аналізуватися. Для цього вони заносяться в журнал тривог, який зберігається в постійно-запам’ятовуючій пам’яті (наприклад, на жорсткому диску) протягом указаного часу (наприклад, одного місяця). Таким чином друга функція підсистеми тривог – ведення архівного журналу тривог з можливістю його подальшого перегляду. У журнал автоматично заносяться: відмітка часу появи тривоги, її підтвердження та зникнення, а також повідомлення тривоги (alarm message або текст тривоги – alarm text). Крім того, в журнал може також вноситися інша додаткова інформація про тривогу. Переглядаючи журнал тривог, можна отримати всю послідовність проходження тривоги через усі стани. Так, за відмітками часу можна визначити, коли виникла тривога, наскільки швидко зреагував на неї оператор (час підтвердження) та в який термін тривога була усунена (час зникнення тривоги). Для перегляду включених (активних) та непідтверджених тривог, а також архівного журналу засоби SCADA/HMI надають спеціальні інструменти, які називають «переглядачами тривог» (alarm viewer). Функціональні можливості таких переглядачів відрізняються залежно від середовища, але в більшості випадків вони надають такі можливості: - перегляду станів включених (активних) на даний момент тривог; - перегляду архівного журналу тривог за вказаний проміжок часу; - перегляду відміток часу появи, підтвердження, зникнення тривог; - перегляду повідомлення та додаткових властивостей тривоги; - налаштування різних способів відображення, наприклад, у вигляді списку тривог; - налаштування фільтрів для виведення в переглядач тільки тих тривог, які відповідають заданим критеріям (наприклад, по імені змінної чи пріоритету) Як правило, переглядач останніх трьох-чотирьох тривог завжди видимий на екрані (див. поз. 3 на рис.12.1). Приклад такого переглядача показано на рис.13.1. В ідеальному варіанті, коли немає тривог, список повинен бути 109 пустим. Нове повідомлення появляється в ньому на вершині списку, повідомляючи оператору про наявність нової тривоги. час виникнення інформація та швидкий доступ до переглядачів тривог назва тривоги повідомлення стан тривоги контекстне меню для вибору дій з тривогою Рис.13.1. Приклад переглядача останніх тривог Крім найважливішої інформації про тривогу (назва, повідомлення, час виникнення та стан тривоги), оператору можуть бути доступні такі дії, як підтвердження тривоги, заборона (блокування) тривоги та доступ до інших властивостей. У наведеному прикладі на рис.13.1 переглядач дає можливість перейти до повного списку тривог різної категорії. Число біля піктограми вказує на кількість тривог у списку. Тривоги можуть мати властивість пріоритетності. У цьому випадку найбільш пріоритетні тривоги будуть розміщені в переглядачі на першому місці (на вершині списку). У випадку великої кількості активних тривог (у даному випадку – більше 3-х) повний перелік доступний через переглядач усіх тривог, який відкривається на окремій сторінці. Переглядач Рис. 13.2. Приклад переглядача тривог у вигляді може показувати список усіх списку тривог з їх активним станом, аналогічно до того, який показаний на рис.13.2. Повідомлення про тривоги можуть підсвічуватися та/або миготіти відповідно до їхнього стану. Для аналізу історії тривог переглядачі можуть відображати інформацію з журналу тривог (історичний режим). Оператору може бути зручно переглядати історію у вигляді списку, де кожна дія відображається окремим повідомленням, або у вигляді зведення, де Рис. 13.3. Приклад переглядача журналу тривог 1 – списку; 2 – зведення 110 окремий рядок представляє повну історію появи, підтвердження і зникнення тривоги. Так, на рис.13.2(1) показано як змінювався стан тривоги з дескриптором (назвою) ALARM_6, яка відповідає за зниження рівня масла у двигуні 3. Кожна нова зміна стану показана в списку у вигляді окремого запису: 9:54:25 – тривога включилась; 9:55:18 – оператор її підтвердив (квитував); 9:59:03 – тривога відключилась. На рис.13.3(2) овалами виділено відмітки часу зміни стану ALARM_6 на переглядачі журналу у вигляді зведення тривог. Переглядачі тривог, як правило, надають можливість сортувати повідомлення за різними полями, наприклад, за ім’ям (дескриптора), часу виникнення тривоги тощо. Для відображення тільки необхідних записів можна налаштувати фільтри; приклади: - відображати тільки непідтверджені записи за вказаний період часу; - відображати тільки тривоги з указаною категорією; - відображати всі тривоги з указаним дескриптором (назвою). 13.3. Типи тривог Тривоги можуть виникати за різних причин. Більшість засобів SCADA/HMI надають можливості генерувати тривоги за такими подіями: - зміна значення дискретної змінної (дискретні тривоги); - зміна значення аналогової змінної (аналогові тривоги); - збій роботи зв’язку середовища виконання SCADA/HMI з джерелом даних (наприклад, контролером) або неполадки в роботі самої системи (системні тривоги). Умову виникнення дискретних тривог можна налаштувати як на ВКЛючення (ON, 1), так і на ВИКЛючення (OFF, 0). Яке саме значення є тривогою, визначається залежно від завдання. Для аналогових тривог умовою спрацювання може бути: - вихід значення за верхні межі (високо – англійською позначається як HI; дуже високо – англійською позначається як HIHI); - вихід значення за нижні межі (низько – англійською позначається як LO; дуже низько – англійською позначається як LOLO). - відхилення величини від заданого значення (англійською позначається як deviation). Для зручності фільтрації повідомлень у переглядачі тривог, а також групового налаштування можуть використовуватись додаткові властивості тривог, такі як номер групи, зона дії (наприклад, вказаний цех, відділення), категорія (наприклад, критичні, некритичні, системні) та ін. 111 13.4. Події та журнал подій Подібно до фіксування тривог, засоби SCADA/HMI мають можливість вести журнал подій. На відміну від тривоги, подія – це штатна зміна значення змінної або виконання команди. Так, може бути необхідність у фіксуванні таких подій: - включення насоса, установки, відкриття клапана; - запуск програми приготування продукту, перехід до етапу, закінчення її; - запуск та зупинка SCADA системи чи її частини; - реєстрація користувача в системі (оператор зайшов під своїм іменем та паролем); - введення оператором значення змінної. З наведених прикладів Рис. 13.4. Приклад переглядача журналу подій. видно, що ці ситуації є штатними і в більшості випадків не потребують підтвердження. Тим не менш, вони можуть бути зафіксовані в журналі подій для подальшого аналізу або звітності. Однак деякі події потребують реакції оператора і повинні при активації відображатися на екрані. Для виведення списку та журналу подій використовуються переглядачі подій, функції яких дуже схожі до переглядачів тривог. На рис.13.4 показано приклад зовнішнього вигляду переглядача журналу, де видно події останнього запуску та зупинки системи, модифікацію значення змінних оператором ("Модификация спонтанного значения") з іменем “SYSTEM” на конкретному комп’ютері системи. Враховуючи схожість функцій оброблення подій та тривог, у деяких засобах SCADA/HMI вони поєднуються в єдиній підсистемі (Alarms and Events), яка також може бути реалізована як окремий сервер тривог та подій (Alarms and Events Server). Слід зауважити що архівні журнали подій та тривог можуть використовуватися при формуванні звітів. Запитання для самоперевірки 1. Яке призначення і принципи функціонування підсистеми контролю тривог? 2. Що таке тривога? Як оператор може дізнатися про тривогу? 3. Навіщо потрібне підтвердження (квитування) тривоги? 4. У яких станах може перебувати тривога? 5. Розкажіть про призначення журналів тривог. Яка інформація туди записується? 6. Яким чином можна переглянути список усіх активних тривог? Яка саме інформація може бути доступна для перегляду? 112 7. Яким чином і в якому вигляді можна переглянути журнал (історію) тривог? Яка саме інформація може бути доступна для перегляду? 8. Чим події відрізняються від тривог? Наведіть приклади подій. Де фіксуються події і як переглянути їх історію? 113 14. Підсистема трендів План 14.1. Загальні принципи функціонування 14.2. Переглядання трендів 14.1. Загальні принципи функціонування У темі 12 ми показали, які можливості для аналізу динаміки надають самописці. Кожна точка на самописці – це значення змінної в конкретний момент часу в минулому, а їх взаємне поєднання показує тенденцію її зміни в часі. Таке представлення прийнято називати трендом. Самописці представляють тренди реального часу (Real-Time Trend), оскільки зміна змінної показується, починаючи з плинного часу (див. рис.12.12) в крайній правій точці графіка, за певний невеликий відрізок часу (як правило, до однієї години). Причому це зображення постійно оновлюється новими значеннями, а крайні ліві значення (найстаріші) зникають. Тренди реального часу призначені тільки для перегляду тенденції змінної в даний момент часу, для кращого оцінювання поведінки процесу саме зараз. Тим не менше, для таких трендів все одно необхідно зберігати (буферизувати) попередні значення. Буфер тренду розрахований тільки на певний час, а отже, старі значення завжди будуть зникати. Для можливості аналізу тенденції зміни значень змінних, що відбувалися в минулому, їх треба зберігати на постійному запам’ятовуючому пристрої (наприклад, жорсткому диску). Такі тренди прийнято називати історичними (Historical Trend). На відміну від трендів реального часу, підсистема управління історичними трендами займається двома окремими задачами: - запис даних в історію; - вибірка даних з історії для відображення на елементах людиномашинного інтерфейсу або у звітах. На відміну від трендів реального часу, в яких значення на самописці оновлюється разом з оновленням змінної, запис даних в історію, як правило, проводиться рідше, ніж їх зчитування з джерела даних (контролера). Слід розуміти, що надмірно часте записування даних призводить до значних затрат ресурсів комп’ютера. Тому разом з періодичністю запису визначаються з глибиною історії (тренду) – діапазоном часу, протягом якого зберігаються архівні дані. Таким чином, чим частіше проводиться запис і чим глибше зберігається історія, тим більше дискового простору буде виділятися під файли архіву і тим довше доведеться системі відшукувати потрібні значення. Продемонструємо це на прикладі. Припустимо, кожний запис в архіві займає 100 байт. Якщо змінну записувати з періодичністю один раз за секунду, за місяць архів для даної змінної буде займати: 114 100*60 секунд *60 хвилин *24 години *30 діб = 259200000 байт ≈ 247 Мбайт. Якщо кількість змінних буде декілька сотень, то архів займатиме десятки, а то і сотні Гігабайт. Якщо ж змінну записувати один раз за 10 секунд, то об’єм архіву буде вже в 10 разів менший. Навіть при великих об’ємах дискового простору залишається проблема швидкого доступу до архівних даних для читання. Тому при проектуванні SCADA/HMI розробникам разом з технологами необхідно визначитися з глибиною та періодичністю запису. При виборі періодичності запису треба враховувати швидкість зміни параметра, а при виборі глибини – необхідність аналізу історичних даних у майбутньому. Для детального аналізу одну й ту саму змінну можуть записувати в архівні тренди різної глибини. Наприклад, у добові тренди (глибиною 24 години) можуть писати змінну один раз за секунду, а в місячні (глибина один місяць) – один раз за хвилину. Більшість SCADA/HMI, окрім періодичного способу запису, підтримують запис по зміні значення, тобто запис відбувається тільки тоді, коли параметр починає змінюватися. Цей спосіб дає можливість економити дисковий простір, оскільки в більшості часу технологічні параметри не змінюється. При цьому для аналогових змінних також треба визначити зону (поріг) нечутливості, переходячи через який буде відбуватися запис. Деякі SCADA/HMI підтримують запис по тригеру. Це дає можливість записувати дані в архів тільки при спрацюванні певних умов. Комбінація запису по тригеру з іншими типами дає можливість вести пакетні архіви (batch archive), коли дані пишуться тільки на певних етапах процесу. Так, для періодичного процесу приготування продукту в танках запис значень параметрів (температур, тисків, рівнів і т.п.) необхідно робити тільки на стадіях участі танка в процесі. 14.2. Переглядання трендів Вибірка даних з історичного тренду, як правило, проводиться спеціальними елементами відображення або підсистемою звітів. Для відображення трендів можна використати табличний вигляд, однак частіше для цього використовуються самописці, які також називають переглядачами трендів (Trend Viewer), а ще частіше – просто трендами. Ці елементи відображення, як правило, можуть працювати як у режимі перегляду трендів реального часу, так і історичних. Розглянемо найбільш вживані можливості переглядачів трендів на прикладах з рис. 14.1 та 14.2. Сукупність взаємопов’язаних точок на тренді для однієї змінної прийнято називати кривими (curves), або перами (pens). Для того щоб відрізняти пера на тренді, їм назначають свій колір або/та тип лінії, що пов’язують точки (суцільна, пунктирна, штрихова тощо). Крім того, самі точки можна показувати різними геометричними фігурами (див. рис.14.2). 115 Криві показуються у вибраному діапазоні часу (інтервалі), який може налаштовуватися спеціальними кнопками типу "розтягування"(“<>”), "звуження"(“><”) або вибору з ряду заданих (див. рис.14.1). Початкове значення дати та часу перегляду вибирається за допомогою календаря або вказується шляхом введення. Швидка навігація доступна через кнопки: “ < ” – на половину інтервалу назад; “ << ” – на один інтервал назад; “ > ” – на половину інтервалу вперед; “ >> ” – на один інтервал вперед. За допомогою легенди оператор може подивитися призначення кожної кривої тренду відповідно до кольору, налаштувати масштаб відображення, показувати чи ховати пера на графіку. Крім того, більшість переглядачів мають можливість показати курсор часу, що дає можливість відобразити числове значення трендів у потрібній точці часу. Так, на рис.14.2 видно, що 05.11.2014 о 15:17:06 значення тиску внизу колони К1 було 76,7 Па. Наведені вище можливості – це не повний перелік тих, які надаються переглядачами трендів. Наприклад, за допомогою панелі керування (див. рис.14.2) можна добавляти/видаляти пера, налаштовувати особливості відображення, створювати незалежні панелі зі своїми осями і багато чого іншого. Підсистема трендів може бути реалізована у вигляді окремого програмного забезпечення, яке, як правило, називають сервером трендів (Trend Server). Рис. 14.1. Приклад переглядача трендів. 116 Рис. 14.2. Приклад переглядача трендів з розширеними можливостями. Запитання для самоперевірки 1. Що таке тренд? Чим відрізняються тренди реального часу від історичних? 2. Які завдання виконує підсистема управління історичними трендами? 3. Навіщо визначати для трендів періодичність запису та глибину? Як пов’язані ці властивості та яким чином їх вибирати/розраховувати? 4. За якими подіями може відбуватися запис значень змінних у тренд? Що таке пакетний архів? 5. Розкажіть про можливості переглядачів трендів (самописців). 6. Як показуються змінні на самописцях і як їх відрізняти між собою? Як дізнатися про значення змінної в конкретній точці? 7. Яке призначення звітів? Яка функціональність звітів відсутня в трендах, журналах подій та тривог? 117 15. Додаткові підсистеми SCADA/HMI. План 15.1. Формування звітів 15.2. Управління рецептами 15.3. Планувальники 15.4. Система розмежування доступу 15.1. Формування звітів Для аналізу подій та тривог, тенденції зміни технологічних параметрів протягом певного часу можна скористатися відповідними переглядачами. Крім виведення на екран, вони дають змогу виводити тренди та журнали на принтер. Не дивлячись на те, що в цей спосіб можна вивести багато потрібної і детальної інформації, вона не достатньо оброблена для отримання загальних показників ефективності роботи процесу чи установки. Для виведення загальних показників використовують звіти. Звіт (Report) – це документ, сформований на основі визначеної для нього форми та статистично оброблених активних чи історичних даних. У формі звіту визначається розміщення та призначення полів, а при генеруванні звіту ці поля заповнюються конкретними значеннями. Крім полів, вміст яких залежить від даних, форма звіту може вміщувати статичну графічну та текстову інформацію. На рис.15.1 показано приклад звіту, в якому, починаючи з початку місяця вказуються сумарні добові та місячні величини споживання теплоенергії, середньодобові значення температур та кількість годин напрацювання за добу. Слід звернути увагу, що у звітах, як правило, використовуються не миттєві значення параметрів (які дають тренди чи журнали), а статистично оброблені за певний звітний період часу дані (наприклад, за добу, місяць, рік). Тому для звіту необхідна серйозне статистичне оброблення історичних даних, що потребує від розробника високої кваліфікації програміста, а від середовища розробки – додаткових функціональних можливостей. Як правило, засоби SCADA/HMI мають досить обмежені можливості для роботи зі звітами, тому для складних звітів необхідно додаткове спеціалізоване програмне забезпечення або модулі класу MES. 118 Дата: 20.03.2009 14:25 Рис. 15.1. Приклад звіту Звіти можуть генеруватися автоматично (в разі виникнення події чи тривоги, або періодично в указаний астрономічний час) або за запитом оператора. Це може бути віддрукований документ, файл формату PDF, RTF, TXT, CSV, HTML сторінка, або таблиця Excel чи якоїсь бази даних. Звіти у вигляді текстових документів насамперед цікавлять керівний персонал, якому вони потрібні для аналізу технологічного процесу. Електронні таблиці потрібні для ведення автоматизованого загальновиробничого обліку (наприклад, передача на рівень управління виробництвом та підприємством). Наприклад, кількість спожитої теплоенергії може бути використано для розрахунку собівартості продукції. 15.2. Управління рецептами Рецепт (recipe) – це сукупність технологічних параметрів, які зчитуються, записуються, зберігаються як єдине ціле. Рецепти дають можливість оператору зберегти в системі задані значення певних технологічних параметрів для приготування конкретного продукту. Враховуючи, що одне й те саме обладнання може використовуватись 119 Рис. 15.2. Приклад сторінки управління рецептами (SCADA Zenon) для приготування різного виду продукту, підсистема управління рецептами може значно допомогти в цьому. Так, технолог може змінити значення уставок температур у програмі варіння пива і зберегти його в системі під новим іменем рецепта (рис.15.2). Якщо виникає необхідність зварити пиво за даним рецептом, то оператор просто вибирає його і відправляє на запис у контролер. Іншими словами, в контролер будуть записані всі значення змінних, які вказані у вибраному рецепті. Підсистема управління рецептами, як правило, надає такі можливості: - створювати нові рецепти, добавляти в них технологічні параметри (змінні), вказувати їх значення; - редагувати існуючі рецепти; - відправляти рецепт на запис у контролер; - зчитувати значення параметрів рецепта з контролера; - зберігати рецепти на диску. Рецепти можуть також використовуватися для збереження конфігураційних параметрів механізмів, налаштувань регуляторів, тощо. Слід зауважити, що підсистема управління рецептами не є обов’язковою складовою SCADA/HMI, що треба мати на увазі при виборі середовища розробки та виконання. 15.3. Планувальники Для ряду об’єктів повинно бути передбачене управління установками згідно з календарним графіком та астрономічним часом. Наприклад, у ряді систем управління водо- та теплопостачання необхідно забезпечити вмикання та вимикання насосів згідно з встановленим графіком. У цьому випадку можна скористатися спеціальними підсистемами SCADA/HMI, які називаються планувальниками (Scheduler). На рис.15.3 показано приклад сторінки налаштування планувальника, де оператор може створювати нові плани (процес-плани). У цих процес-планах на заданий час кожного дня тижня можна добавляти дії над дискретними змінними (включення/відключення), аналоговими змінними (запис вказаного значення), додаткові функції (наприклад, запуск скрипту). Слід розуміти, що логіка управління процесом, у тому числі включення та відключення обладнання, формування завдань залежно від часу тощо, як правило, реалізується в контролері. Однак, коли необхідна гнучкість в таких налаштуваннях, як зміна часу, добавка нового обладнання в план управління, створення нового плану, реалізувати це без планувальника можливо тільки через ручне управління. Крім того, функції планувальника доступні не в усіх системах SCADA/HMI, а отже, потребує додаткових фінансових затрат, більше часу та вищої компетенції розробника. 120 Рис.15.3. Приклад сторінки налаштування планувальника (SCADA Zenon) 15.4. Система розмежування доступу Доступ до автоматизованої системи управління технологічним процесом можуть мати: - оператори процесу, до функцій яких входить контроль за процесом, зміна уставок, внесення керуючих дій у ручному режимі; - технологи, до функцій яких входить визначення технологічних параметрів процесу, аналіз; - працівники служб експлуатації, до функцій яких входить контроль за правильністю роботи обладнання, налаштування контурів управління, діагностування та конфігурування пристроїв; - інші працівники підприємства, яким потрібна певна інформація про стан процесу. Це означає, що автоматизованим робочим місцем можуть користуватися декілька операторів для виконання різних функцій. Треба чітко розуміти, що, згідно з організаційною структурою, працівник служби КВПіА, як правило, не має права змінювати уставку чи закривати клапани, оскільки за це відповідає оператор. З іншого боку, оператор не має права змінювати налаштування регуляторів, бо це не в його компетенції. Таким чином, виникає завдання розмежування доступу до сторінок та елементів SCADA/HMI. У більшості випадків для цього використовуються механізми, що ґрунтуються на системі аутентифікації. Для кожного користувача створюється ім’я входу (login) та пароль (password) і визначаються права доступу до сторінок та елементів. Якщо користувач хоче доступитися до елементів з обмеженим доступом, то система потребує від нього зайти під своїм ім’ям. При проектуванні системи управління технологи разом з розробниками повинні визначитися з кількістю користувачів та їх правами доступу. 121 Запитання для самоперевірки 1. Які можуть бути формати звітів, у яких випадках використовується кожний з них? 2. Яке призначення і можливості підсистеми управління рецептами? 3. Яке призначення і можливості підсистеми планування (планувальників)? 4. Розкажіть про необхідність розмежування доступу до АРМу оператора. 5. Поясніть принципи автентифікації? 122 16. Внутрішня типова функціональна структура SCADA/HMI План. 16.1. Опис загального процесу розробки. 16.2. Спрощена модель функціонування SCADA системи та робота з тегами 16.3. Створення графічної частини проекту 16.1. Опис загального процесу розробки Розроблення та введення в дію проекту для SCADA/HMI – це комплекс робіт, що включає: - попередню підготовку вихідних даних до проекту; - створення проекту, його відлагодження; - запуск та налагодження на об’єкті. Попередня підготовка вихідних даних – це дуже важливий етап робіт, у якому задіяний не тільки розробник, а й замовник, яким у даному випадку нерідко виступає технолог. У ці роботи входять: - підготовка переліку мнемосхем процесу; - визначення особливостей побудови людино-машинного інтерфейсу; - підготовка переліку технологічних параметрів для відображення, сигналізації, трендового архіву та вимог до них; - визначення форми звітів; - визначення додаткових функцій SCADA; - інші. Процес створення проекту проходить у трьох площинах: конфігурування проектних даних, створення графічної частини проекту (HMI) і написання невеликих програм (скриптів), якщо такі потребуються. Програмна структура та процес розроблення проектів у різних програмах SCADA/HMI мають свої особливості. Слід розуміти, що, на відміну від функціонального призначення, реалізація середовищ розробки сильно відрізняються один від одного. Тим не менше, можна виділити деякі загальні концепції розроблення проектів, які спільні для більшості SCADA/HMI; в цій главі розглянемо деякі з них. Як вже зазначалося, загальна концепція розроблення на базі програм SCADA/HMI – конфігурування замість програмування. Тобто вся або більша частина проекту розробляється шляхом заповнення полів, таблиць, розміщення готових елементів. Тільки в деяких випадках, коли немає готового рішення, використовують вбудовані в SCADA/HMI мови програмування. 123 16.2. Спрощена модель функціонування SCADA системи та робота з тегами Спрощена модель функціонування SCADA системи наведена на рис.16.1. Рис. 16.1. Спрощена модель функціонування SCADA системи Центральне місце в системі збирання та диспетчерського керування займає база даних реального часу – сукупність змінних процесу, на базі значень яких функціонують інші підсистеми. Ці змінні часто називають тегами (Tag), і завдання SCADA – слідкувати за їхнім оновленням. З одного боку, теги зв’язуються з джерелом даних, а з іншого – з іншими підсистемами SCADA/HMI. Джерелом даних для тегів можуть бути: - зовнішні пристрої (наприклад контролери), такі теги називаються зовнішніми, або тегами вводу/виводу; - системна інформація (наприклад, плинна дата та час, або ім’я оператора, що ввійшов в систему); - внутрішня або дискова пам’ять, без прив’язки до будь-якого обладнання (контролера), тобто змінюється тільки самою SCADA. При створенні та конфігуруванні тегу вказується його унікальне ім’я, тип, джерело даних, періодичність оновлення (зчитування), межі зміни та інші настройки. Наприклад, на рис.16.1 показано, що зовнішній тег з ім’ям “TT1a” через підсистему вводу/виводу зв’язується з однойменною змінною на ПЛК, яка має за джерело даних датчик температури, що підключений до вхідного аналогового каналу (%IW3.3). 124 Періодичне оновлення тегів проводиться для того, щоб отримати свіжу інформацію. Ці значення потрібні іншим підсистемам, наприклад, людиномашинному інтерфейсу. З іншого боку, деякі підсистеми SCADA теж можуть змінювати значення тегів, і при цьому воно повинно записуватися в контролер. Таким чином, реалізується двосторонній обмін. Наприклад, на рис.16.1 за допомогою повзунка в підсистемі HMI змінюється значення тегу "H1", який прив’язаний до нього. При зміні "H1" підсистема вводу/виводу змінює значення однойменної змінної в контролері, яка формує завдання для регулятора "TC1". Одні й ті самі теги з бази даних реального часу можуть використовуватись одночасно в декількох підсистемах (див. рис.16.1): для відображення та диспетчерського управління (в підсистемі HMI), ведення трендового архіву (підсистема трендів), контролю за значенням (підсистема тривог) та ін. Заповнення бази даних відбувається у спеціалізованих редакторах шляхом заповнення відповідних значень полів (властивостей об’єкта). 125 16.3. Створення графічної частини проекту Створення графічної частини проекту проводиться у вбудованих в SCADA/HMI редакторах. 1 Цей процес полягає у виборі елемента з палітри доступних (див. рис.16.2) та конфігурування його властивостей. Властивості елементів, які повинні анімуватися, просто вказують на той тег, який використовується в анімації. Так, на рис.16.2 властивість "Числовое выражение" 2 елемента "Текст" вказує на тег "ТТ1а", що в режимі виконання приведе до показу значення даного тегу в цьому елементі. Більшість середовищ розроблення SCADA/HMI мають у своєму складі значну кількість бібліотек готових графічних елементів, що дає змогу Рис. 16.2. Приклади інструментів для створення людинозначно прискорити процес машинного інтерфейсу в різних SCADA: 1 – Zenon (COPADATA, Австрія); створення проекту. 2 – Vijeo Citect (Schneider Electric, Франція) Використання готових програмних інструментів SCADA/HMI значно прискорює процес розроблення, зменшує кількість проектних помилок та дає можливість внести зміни в проект у будь-який момент часу, навіть без зупинки технологічного процесу. Однак треба розуміти, що ціна будь-якої функціональності – це додаткова затрата фінансових та часових ресурсів, які, тим не менше, окупляться сторицею під час експлуатації. Для розроблення ефективних повнофункціональних проектів повинна бути тісна співпраця розробників, якими є спеціалісти з автоматизації, та технологів. Запитання для самоперевірки 1. Поясніть, що таке тег SCADA? Що може бути джерелом даних для тега? 2. Поясніть, що таке відмітка часу і показник достовірності тегу? 126 3. Які підготовчі роботи необхідно провести розробнику разом з технологом перед початком розроблення проекту SCADA/HMI? 127 17. Інтеграція засобів SCADA/HMI з іншими системами управління План 17.1. Мережні архітектури 17.2. Інтеграція з іншими рівнями управління 17.3. Технологія ОРС. 17.1. Мережні архітектури У найбільш простому випадку системи на базі SCADA/HMI мають одиночну архітектуру, де на одному комп’ютері суміщені підсистема збирання даних з контролерів і АРМ оператора. Наприклад, на рис.17.1 Server PC, який збирає дані з контролерів Pasteurizer#1..n, є також робочою станцією оператора, тобто виконує функції людиномашинного інтерфейсу (HMI клієнта). У цьому випадку системою не передбачається інтеграція з зовнішніми по Рис. 17.1. Одиночна архітектура відношенню до неї підсистемами інших станцій SCADA/HMI. Такі системи порівняно прості в побудові, однак мають ряд недоліків: передбачається тільки одне робоче місце оператора, тобто весь персонал, що бере участь в управлінні чи експлуатації, може працювати тільки через один термінал; відсутність резервування робить Рис. 17.2. Клієнт-серверна архітектура. систему нестійкою до збоїв різного типу, тобто при неполадках у мережі чи в складових робочої станції, втрачається зв’язок з процесом (однак система управління на рівні контролерів надалі функціонує); значне навантаження на один комп’ютер не дає можливості побудувати великі системи; відсутність інтеграції з рівнем управління виробництвом не дає можливості повністю оцінити ефективність роботи процесу. 128 Для можливості доступу до управління або тільки для контролю з декількох робочих місць багато засобів SCADA/HMI пропонують клієнтсерверну архітектуру (рис.17.2), в якій на сервер покладається задача збирання даних (а також архівування, контроль за тривогами та ін.), а клієнтська частина (тобто людино-машинний інтерфейс) реалізується на окремих комп’ютерах. Клієнт (HMI клієнт, Client) – це програма, яка реалізує людиномашинний інтерфейс доступу до даних на сервері (зокрема через мережу). Сервер (SCADA сервер, Server) – це програма, яка надає доступ до своїх даних клієнтам (зокрема через мережу) та реалізує одну або всі функції: збирання даних, їх оброблення, архівування, формування алармів та ін. Іншими словами, сервери реалізують функції SCADA, однак без людиномашинного інтерфейсу, а клієнти – тільки функції людино-машинного інтерфейсу (графічної підсистеми). Як правило, на комп’ютерах з програмою сервера виконуються і програми клієнтів. Слід розуміти, що клієнти і сервери у більшості випадків спілкуються між собою з використанням спеціалізованих протоколів, тобто поєднання складових від різних програм SCADA можливе тільки за певних обставин, наприклад використовуючи технології ОРС. При великій кількості джерел даних (контролерів) може використовуватись мультисерверна архітектура (рис.17.3). У таких системах кожний сервер збирає дані в окремої групи пристроїв, а клієнт (клієнти) мають доступ до всіх даних серверів. У деяких програмах SCADA Рис. 17.3. Мультисерверна архітектура можна виділити окремі комп’ютери для серверів збирання даних, серверів трендів, серверів тривог, серверів звітів, що дає змогу розподіляти ресурси між декількома апаратними засобами. Якщо технологічний процес Рис. 17.4. Архітектура з резервуванням функціонально небезпечний або втрата даних може призвести до створення аварійних ситуацій, необхідно використовувати архітектури з резервуванням (рис.17.4). У таких системах основний сервер (Server PC) дублюється резервним (RServer PC), який виконує всі ті самі функції, окрім запису даних на контролери. Резервний сервер контролює працездатність 129 основного, і у випадку виходу його з ладу починає виконувати всі його функції, в тому числі й спілкування з клієнтами та запис даних на контролер. Сучасні SCADA/HMI надають можливість доступу до системи через Internet або локальну мережу, використовуючи WEB-браузер. На відміну від HMI клієнтів, які використовують для зв’язку з серверами SCADA спеціалізовані протоколи, WEB клієнти з’єднуються з технологічним процесом через WEB-сервіси. Тобто вони використовують ті самі технології, що й при доступі звичайного браузера (наприклад, Internet Explorer) до якогось сайту в мережі Інтернет. Це має ряд переваг, зокрема: на відміну від протоколів обміну між HMI та SCADA, WEB-технології прозорі для комунікаційного обладнання (маршрутизатори, брандмауери, шлюзи та ін.), що дає змогу з’єднуватися через Інтернет; у багатьох випадках можуть використовуватися будь-які браузери, в тому числі на планшетах та мобільних телефонах; підвищена мобільність клієнтів, оскільки Інтернет доступний на великій території. На рис.17.5 показано приклад архітектури з доступом через WEB. Для роботи такої системи необхідний запуск служб WEB-сервера, які потребують окремого комп’ютера. WEB-сервер конвертує дані, які зчитує/записує зі SCADA-серверів та передає їх WEB-клієнтам через локальну мережу підприємства або через Інтернет. Рис. 17.5. Архітектура з доступом через WEB Не дивлячись на привабливість WEB-доступу, слід розуміти деякі обмеження та передбачити потенційну небезпеку несанкціонованого доступу, зокрема: функція WEB-доступу, як правило, ліцензується окремо, тобто потребує додаткової оплати; 130 як правило, через WEB-клієнт доступні не всі функції, які доступні через HMI клієнт; ряд систем працюють тільки через обмежений перелік браузерів і потребують інсталювання додаткових програм на комп’ютер WEB клієнта; перед організацією доступу через Інтернет слід подбати про неможливість несанкціонованого доступу (кібербезпеку), щоб зловмисник не зміг втрутитися в процес управління; бажано не надавати доступу до управління, а тільки для перегляду. 17.2. Інтеграція з іншими рівнями управління Вище ми навели різні архітектури систем на базі SCADA/HMI, де робочі станції (клієнти) і сервери взаємодіють між собою, обмінюючись даними процесу для відображення, диспетчерського управління, архівування та формування алармів. Такий обмін відбувається на одному рівні диспетчерського управління (SCADA), тому його прийнято називати горизонтальною інтеграцією. Однак засоби SCADA/HMI не функціонують самі по собі і повинні взаємодіяти з іншими рівнями управління. Архітектуру управління підприємством прийнято показувати у вигляді піраміди (рис.17.6), де засоби SCADA/HMI займають 3-й рівень. Вони взаємодіють з процесом через контролери (PLC), які в свою чергу можуть бути поєднані між собою промисловими мережами. Обмін SCADA/HMI з контролерами проходить у м’якому реальному часі, тобто коли запізнення оновлення даних не критичне, а між контролерами – в жорсткому реальному часі, коли дані повинні надходити в чітко визначені проміжки часу. У свою чергу, промислові контролери взаємодіють з технологічним процесом через датчики та виконавчі механізми, які можуть підключатися з використанням уніфікованих сигналів або промислових мереж рівня датчиків. Як видно з рис.17.6, у сучасних системах управління підприємством рівень SCADA/HMI не є найвищим. Для ефективного управління всім виробництвом на сучасних підприємствах використовують системи MES (Manufacturing Execution System), де збираються і обробляються дані всього виробництва, проводиться їх аналітичний аналіз з використанням статистичних методів, проводиться аналіз якості продуктів та напівпродуктів відповідно до лабораторних показників, готуються виробничі звіти, виконується оперативне планування виробництва, відповідно до чого формуються завдання для технологічних процесів. Грамотна побудова таких систем дає колосальні економічні ефекти. На сьогоднішній день MES розробляються з використанням спеціальних програм, наприклад: - Wonderware MES Software 2012 (Wonderware, США); - Proficy Plant Applications (GE, США); - SAP ME (SAP, Німеччина); - Simatic IT Production Suite (Siemens, Німеччина); - Ampla (Schneider Electric, Франція); 131 - PI System (OSIsoft, США); - Collaborative Production Management – CPM (ABB, Швеція/Швейцарія). У свою чергу, системи MES взаємодіють з ERP (Enterprise Resource Planning), призначення яких – автоматизація бізнес-процесів, організаційноекономічної діяльності, документообігу. З рівня MES в ERP-системи передаються узагальнені виробничі показники, наприклад, сумарні/середні витрати за певний період часу, питомі значення, інтегровані показники ефективності, які стосуються саме виробничої діяльності підприємства. Рис. 17.6. Типова архітектура управління підприємством 17.3.Технологія ОРС. При інтеграції продуктів одного виробника, наявність в SCADAпрограмі драйверів зв’язку з необхідними контролерами є очевидною. Найскладнішим є випадок, коли необхідно інтегрувати засоби від декількох виробників, ряд з яких підтримують закриті протоколи. В цій ситуації дуже важко підібрати таку SCADA-програму, яка б підтримувала всі необхідні протоколи промислових мереж. Для подолання цієї проблеми, групою великих компаній було вирішено створити стандартний інтерфейс доступу до даних "драйвера" зі сторони програмного забезпечення верхнього рівня. Таким чином, будь який драйвер зі стандартним інтерфейсом може бути використаний будь-якою SCADA-програмою, яка цей інтерфейс підтримує. Технологія отримала назву ОРС. 132 Перша версія стандарту OPC (OPC DA 1.0) розроблена групою компаній, які в 1996 році організували некомерційну організацію OPC Foundation (www.opcfoundation.org), що займається розвитком та просуненням даної технології на ринку. Стандарти OPC Foundation існують в наборі декількох специфікацій. Серед них найбільшу популярність на сьогоднішній день мають OPC DA (Data Access), які стандартизують доступ однієї програми до даних реального часу іншої програми. Однак OPC DA базуються на технологіях, що можуть застосоувавтися тільки на програмних платформах Windows і мають ряд суттєвих обмежень. OPC UA (Unified Archintecture) є найновішим стандартом, який базується на обміні різноманітними даними (реального часу, історичними, тревогами), використовуючи відкриті протоколи на базі XML та технологій WEB. Він більш універсальний і може буи використаних для взаємодії між програмними елементами, які виконуються на різних платформах. Однак OPC UA поки що не знайшов широкого вжитку, однак в найближчому майбутньому він очевидно витіснить OPC DA 2.0 та всі супутні йому стандарти. В загальному випадку, технологія ОРС забезпечує одній програмі (ОРСКлієнту) доступ до даних процесу іншої програми (ОРС-Серверу) через стандартний набір інтерфейсів. Найбільш часто ОРС-технологія використовується в якості універсального інтерфейсу до драйверів контролерів та периферійних пристроїв. Тобто разом з контролером може поставлятися спеціальна програма - ОРС-Сервер, який надає доступ до змінних цього типу контролеру. Тобто ОРС-Сервер з одного боку має драйвери для зв’язку з контролерами по конкретним протоколам промислових мереж, а з іншого - надає універсальний ОРС-інтерфейс для зв’язку з сервером SCADA-програми. В такій системі SCADA буде ОРСКлієнтом. 133 ПК SCADA програма "SamplSCADA" змінні реального часу SCADA драйвер для X ПЛК1 драйвер для Y драйвер ОРС Client Інтерфейс ОРС Інтерфейс ОРС ОРС-Сервер "Sampl.OPC" ОРС-Сервер "Exmpl.OPC" змінні реального часу OPC змінні реального часу OPC драйвер для Z драйвер для Q ПЛК21 ПЛК31 ПЛК43 1 Рис.17.7. Функціонування ОРС з точки зору інтегратора На рис.17.7 показана спрощена схема функціонування роботи ОРСтехнології в контексті описаної системи. База даних реального часу SCADAпрограми (з умовною назвою "SamplSCADA"), збирає дані з чотирьох джерел: ПЛК1, ПЛК2, ПЛК3 та ПЛК4. Для перших двох контролерів для збору даних використовуються драйвери зв’язку для цих ПЛК, вірніше для протоколів промислових мереж, по яким вони з’єднуються. Дані зчитуються (або записуються) з ПЛК в БДРЧ. Зв’язок з ПЛК3 та ПЛК4 виконується через ОРС-сервери з умовними назвами відповідно "Sampl.OPC" та "Exmpl.OPC" з використанням драйвера ОРС-Клієнт. Тобто ОРС-Сервери через вбудовані драйвери зчитують дані з ПЛК та зберігають їх в своїй базі даних реального часу. SCADA-програма в свою чергу зчитує дані з ОРС-серверів. Запис даних відбувається аналогічно. Для реалізації такого зв’язку користувач повинен: 1. Налаштувати OPC-Сервер за допомогою спеціалізованої програмиконфігуратора, що поставляється разом з ним: створити всі необхідні змінні сервера, тобто дати їм ім’я (ItemID) та вказати джерела даних в ПЛК, на які вони посилаються. 2. В SCADA-програмі вказати: - назву ОРС-Сервера, з яким необхідно зв’язатися (ProgID). У нашому прикладі це будуть два сервери "Sampl.OPC" та "Exmpl.OPC". Інколи SCADA надає можливість вибору ProgID зі списку зареєстрованих ОРС-Серверів. - для вибраної змінної в якості джерела даних вказати ім’я на ОРССервері, тобто ItemID, що був створений на 1-му кроці. Як 134 правило ItemID вибирається зі списку, який надає Browser на стороні ОРС-Клієнта. ОРС DA технологія базується на Клієнт-Серверній архітектурі. ОРСКлієнт користується послугами ОРС-Сервера, використовуючи СОМінтерфейси його об’єктів. У наведеному на рис.17.8 прикладі, ОРС-Клієнтом є SCADA-програма, задачею якої є відображення чотирьох змінних (%MW100-%MW103) які знаходяться на ПЛК. OPC-Сервер отримує необхідні дані через драйвери зв’язку і зберігає їх у своїй базі даних реального часу. Для того щоб доступитися до даних ОРС-Сервера, ОРСКлієнт створює для себе ОРС-Group (Group1, Group2), в яких створює ОРС Item (Item1, Item2), що посилаються на ці дані. SCADA 435,45 438,49 Прикладна програма X 435,45 VAR1 438,49 VAR3 VAR2 VAR4 OPC Client OPC Client OPC Server Group 1 Group 3 Group 2 Item5 Item3 Item1 Item2 змінна1 змінна2 змінна3 змінна4 драйвери зв’язку ПЛК Item6 Item4 %MW100 %MW101 %MW102 %MW103 конфігуратор OPC конфігураційні дані дані ПК Рис.17.8 Принципи функціонування ОРС DA ОРС-Клієнт (OPC Client) – прикладна програма, яка вміє користуватися об’єктами OPC-Сервера за допомогою ОРС-інтерфейсів (підмножина СОМінтерфейсів). ОРС-Сервер (OPC Server) – прикладна програма, яка надає доступ до визначених в специфікації ОРС СОМ-об’єктів за допомогою ОРСінтерфейсів. З одним ОРС-Сервером можуть з’єднатися декілька ОРС Клієнтів. З іншого боку, одна і та сама програма ОРС-Клієнт, може одночасно 135 користуватися послугами декількох ОРС-Серверів. Тобто ОРС технологія є мультиклієнтною і мультисерверною. Так як ОРС-Сервер – це СОМ-Сервер, він реєструється на комп’ютері унікальним числовим ідентифікатором (GUID) та має унікальний строковий програмний ідентифікатор (ProgID). Тобто, для того щоб для ОРС-Клієнта визначити з яким ОРС-Сервером на тому самому ПК йому необхідно з’єднатися, достатньо вказати його ProgID. Об’єкт ОРС-Item надає доступ до джерела даних (надалі тег) в межах ОРС-Сервера, яке ідентифікується унікальним в межах сервера ідентифікатором ItemID. Тому при створенні ОРС-Item’а, вказується ItemID необхідного тега. Правила ідентифікації даних залежать від реалізації ОРССервера, а механізм визначення їх джерел (наприклад адреса пристрою та змінної в ПЛК) як правило реалізується в конфігураторі цього сервера. Весь список ItemID може мати плоску або деревовидну ієрархічну структуру, що дозволяє зручніше використовувати цей механізм в проектах з великою кількістю даних. Для навігації по списку/дереву ідентифікаторів ОРС-Сервер, як правило, має об’єкт OPC Browser. ОРС-Item належить Клієнту, який його створив і тому його не можуть використовувати декілька Клієнтів. Тим не менше є можливість посилатися на одні і ті ж дані. На рис.17.8 два Клієнта одночасно використовують дані з %MW100 та %MW102, однак створюють для цього різні OPC-Item. Джерелом даних не обов’язково є змінна на зовнішньому пристрої, це можуть бути внутрішні дані самого Серверу. З кожним ОРС-Item'ом асоціюється плинне значення (Value), відмітка часу (Time Stamp) та якість (Quality). OPC-Group – об’єкт ОРС-Сервера, який призначений для виконання групових операцій над ОРС-Item’ами. Так як ОРС-Item не може існувати без цього об’єкту, спочатку ОРС-Клієнт створює ОРС-Group, а потім в його межах створює ОРС-Item’и. В інтерфейсі OPC DA 2.0 кожний ОРС-Group, як і все його наповнення, належить окремому ОРС-Клієнту. Механізм групування дозволяє розділяти дані за принципом читання/запису, періодичністю операцій та активувати/деактивувати відновлення змінних. Запитання для самоперевірки 1. Які мережні архітектури можуть бути доступні в АСУТП на базі SCADA/HMI? Коли необхідно використовувати кожну з них? 2. Які принципи побудови, переваги та недоліки одиночної архітектури SCADA/HMI? 3. Які принципи побудови клієнт-серверної архітектури SCADA/HMI? 4. Роз'ясніть поняття «клієнт» та «сервер» у контексті клієнтсерверної архітектури SCADA/HMI. 5. Які принципи побудови мультисерверної архітектури SCADA/HMI? 6. Які принципи побудови архітектур SCADA/HMI з резервуванням? 136 7. Які принципи побудови архітектур SCADA/HMI з WEBдоступом? Які переваги надають такі системи? Які обмеження можуть бути в таких системах? 8. З якими системами і для чого взаємодіють засоби SCADA/HMI? 137 Література. 1. Автоматизація виробничих процесів [Текст] : підручник / І. В. Ельперін, О. М. Пупена, В. М. Сідлецький, С. М. Швед ; Нац. ун-т харч. технол. — 2-ге вид., випр. — К. : Ліра-К, 2015. — 378 с. 2. Промислові мережі та інтеграційні технології в автоматизованих системах [Текст] : навч. посіб. / О. М. Пупена, І. В. Ельперін, Н. М. Луцька, А. П. Ладанюк. — К. : Ліра-К, 2011. — 552 с. 3. Промислові контролери [Текст] : навч. посіб. / І. В. Ельперін ; МОН України, НУХТ. — К. : НУХТ, 2003. — 320 с. 138
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )