Програмовані логічні контролери стандарту МЕК 61131
TRANSCRIPT
ТДА16-1 (200716)
Програмовані логічні контролери стандарту
МЕК 61131
Олександр Пупена (pupena_sanukrnet) wwwasuinua
17072016 ПЛК pupena_sanukrnet 1
Програма та місце проведення конференції ndash за посиланням
Місце в загальній архітектурі
17072016 ПЛК pupena_sanukrnet 2
Інші (не ПЛК) варіанти bull DCS (інша структура і парадигма) bull PC-base bull пристрої IEC 61499 bull конфігуровані локальнімережні
регулятори bull hellip
Спрощена фізична структура системи
17072016 ПЛК pupena_sanukrnet 3
Терміни PLC (ПЛК) канали модулі блоки CPU AI DI AO DO CP Rack (Шасі) Slot fieldbus RIODIO середовище розробки real-time
Варіанти фізичної структури ПЛК
17072016 ПЛК pupena_sanukrnet 4
компактний (моноблочний) компактний з можливістю розширення
модульний
Варіанти фізичної структури ПЛК
17072016 ПЛК pupena_sanukrnet 5
з розподіленими IO ПЛК з вбудованим HMI
Централізований IO vs розподілений
17072016 ПЛК pupena_sanukrnet 6
Централізований (модулі IO) Розподілений (RIO ndash віддалені модулі IO)
за місцем ЦПУ ПЛК можливий на відстані по місцю датчиківВМ або навіть в полі (IP-67) ndash зручність монтажу економія кабельної продукції
той самий бренд малий вибір варіантів але перевірена сумісність
можливий інший бренд великий вибір варіантів можлива певна несумісність
максимальна швидкість взаємодії з ЦПУ
можливі великі швидкості (RTE ndash Real Time Ethernet)
гаряча заміна дефектних модулів гаряча заміна дефектних модулів
легка заміна дефектних модулів вийняв - вставив
легка заміна дефектних модулів (не у всіх випадках) вийняв старий змінив перемикачі на новому вставив
топологія ndash зірка (кабелі в один щит) топологія ndash шина (інколи з відгалуженнями) кільце (надійність) інколи дерево (AS-i)
діагностування стану діагностування стану
проблематична організація гарячого резервування
гаряче резервування базується на RIO
Розподілені IO ndash автомат станів (приклад Profibus DP)
17072016 ПЛК pupena_sanukrnet 7
Стан Поведінка
Power_ON Reset
DP slave включили або перевантажили і почалася внутрішня ініціалізація
WPRM Wait for Parameter
DP slave очікує параметри від DP Master
WCFG Wait for Configuration
DP slave очікує телеграму Check_Configuration від DP Master
DXCHG Data Exchange
DP slave циклічно обмінюється даними процесу і за необхідності відповідає діагностичним запитом
Робота з віддаленими модулями IO аналогічна до локальних
Фізична структура ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 8
Широкий вибір на ринку в тч за критеріями bull температурний діапазон bull тип живлення bull IP (ступінь захисту) вібростійкість bull відповідність SIL bull монтажні особливості bull особливості підключення bull архітектурна сумісність з іншими виробниками bull hellip
Фізична структура ПЛК резервування
17072016 ПЛК pupena_sanukrnet 9
14
0 C
RP
14
0 C
RP
14
0 N
OE
14
0 N
OE
мережа IO (адаптована під гаряче резервування)
основний ПЛК резервний ПЛК IO
IO IO
IO
мережа IO
Приклад структури системи
17072016 ПЛК pupena_sanukrnet 10
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Місце в загальній архітектурі
17072016 ПЛК pupena_sanukrnet 2
Інші (не ПЛК) варіанти bull DCS (інша структура і парадигма) bull PC-base bull пристрої IEC 61499 bull конфігуровані локальнімережні
регулятори bull hellip
Спрощена фізична структура системи
17072016 ПЛК pupena_sanukrnet 3
Терміни PLC (ПЛК) канали модулі блоки CPU AI DI AO DO CP Rack (Шасі) Slot fieldbus RIODIO середовище розробки real-time
Варіанти фізичної структури ПЛК
17072016 ПЛК pupena_sanukrnet 4
компактний (моноблочний) компактний з можливістю розширення
модульний
Варіанти фізичної структури ПЛК
17072016 ПЛК pupena_sanukrnet 5
з розподіленими IO ПЛК з вбудованим HMI
Централізований IO vs розподілений
17072016 ПЛК pupena_sanukrnet 6
Централізований (модулі IO) Розподілений (RIO ndash віддалені модулі IO)
за місцем ЦПУ ПЛК можливий на відстані по місцю датчиківВМ або навіть в полі (IP-67) ndash зручність монтажу економія кабельної продукції
той самий бренд малий вибір варіантів але перевірена сумісність
можливий інший бренд великий вибір варіантів можлива певна несумісність
максимальна швидкість взаємодії з ЦПУ
можливі великі швидкості (RTE ndash Real Time Ethernet)
гаряча заміна дефектних модулів гаряча заміна дефектних модулів
легка заміна дефектних модулів вийняв - вставив
легка заміна дефектних модулів (не у всіх випадках) вийняв старий змінив перемикачі на новому вставив
топологія ndash зірка (кабелі в один щит) топологія ndash шина (інколи з відгалуженнями) кільце (надійність) інколи дерево (AS-i)
діагностування стану діагностування стану
проблематична організація гарячого резервування
гаряче резервування базується на RIO
Розподілені IO ndash автомат станів (приклад Profibus DP)
17072016 ПЛК pupena_sanukrnet 7
Стан Поведінка
Power_ON Reset
DP slave включили або перевантажили і почалася внутрішня ініціалізація
WPRM Wait for Parameter
DP slave очікує параметри від DP Master
WCFG Wait for Configuration
DP slave очікує телеграму Check_Configuration від DP Master
DXCHG Data Exchange
DP slave циклічно обмінюється даними процесу і за необхідності відповідає діагностичним запитом
Робота з віддаленими модулями IO аналогічна до локальних
Фізична структура ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 8
Широкий вибір на ринку в тч за критеріями bull температурний діапазон bull тип живлення bull IP (ступінь захисту) вібростійкість bull відповідність SIL bull монтажні особливості bull особливості підключення bull архітектурна сумісність з іншими виробниками bull hellip
Фізична структура ПЛК резервування
17072016 ПЛК pupena_sanukrnet 9
14
0 C
RP
14
0 C
RP
14
0 N
OE
14
0 N
OE
мережа IO (адаптована під гаряче резервування)
основний ПЛК резервний ПЛК IO
IO IO
IO
мережа IO
Приклад структури системи
17072016 ПЛК pupena_sanukrnet 10
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Спрощена фізична структура системи
17072016 ПЛК pupena_sanukrnet 3
Терміни PLC (ПЛК) канали модулі блоки CPU AI DI AO DO CP Rack (Шасі) Slot fieldbus RIODIO середовище розробки real-time
Варіанти фізичної структури ПЛК
17072016 ПЛК pupena_sanukrnet 4
компактний (моноблочний) компактний з можливістю розширення
модульний
Варіанти фізичної структури ПЛК
17072016 ПЛК pupena_sanukrnet 5
з розподіленими IO ПЛК з вбудованим HMI
Централізований IO vs розподілений
17072016 ПЛК pupena_sanukrnet 6
Централізований (модулі IO) Розподілений (RIO ndash віддалені модулі IO)
за місцем ЦПУ ПЛК можливий на відстані по місцю датчиківВМ або навіть в полі (IP-67) ndash зручність монтажу економія кабельної продукції
той самий бренд малий вибір варіантів але перевірена сумісність
можливий інший бренд великий вибір варіантів можлива певна несумісність
максимальна швидкість взаємодії з ЦПУ
можливі великі швидкості (RTE ndash Real Time Ethernet)
гаряча заміна дефектних модулів гаряча заміна дефектних модулів
легка заміна дефектних модулів вийняв - вставив
легка заміна дефектних модулів (не у всіх випадках) вийняв старий змінив перемикачі на новому вставив
топологія ndash зірка (кабелі в один щит) топологія ndash шина (інколи з відгалуженнями) кільце (надійність) інколи дерево (AS-i)
діагностування стану діагностування стану
проблематична організація гарячого резервування
гаряче резервування базується на RIO
Розподілені IO ndash автомат станів (приклад Profibus DP)
17072016 ПЛК pupena_sanukrnet 7
Стан Поведінка
Power_ON Reset
DP slave включили або перевантажили і почалася внутрішня ініціалізація
WPRM Wait for Parameter
DP slave очікує параметри від DP Master
WCFG Wait for Configuration
DP slave очікує телеграму Check_Configuration від DP Master
DXCHG Data Exchange
DP slave циклічно обмінюється даними процесу і за необхідності відповідає діагностичним запитом
Робота з віддаленими модулями IO аналогічна до локальних
Фізична структура ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 8
Широкий вибір на ринку в тч за критеріями bull температурний діапазон bull тип живлення bull IP (ступінь захисту) вібростійкість bull відповідність SIL bull монтажні особливості bull особливості підключення bull архітектурна сумісність з іншими виробниками bull hellip
Фізична структура ПЛК резервування
17072016 ПЛК pupena_sanukrnet 9
14
0 C
RP
14
0 C
RP
14
0 N
OE
14
0 N
OE
мережа IO (адаптована під гаряче резервування)
основний ПЛК резервний ПЛК IO
IO IO
IO
мережа IO
Приклад структури системи
17072016 ПЛК pupena_sanukrnet 10
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Варіанти фізичної структури ПЛК
17072016 ПЛК pupena_sanukrnet 4
компактний (моноблочний) компактний з можливістю розширення
модульний
Варіанти фізичної структури ПЛК
17072016 ПЛК pupena_sanukrnet 5
з розподіленими IO ПЛК з вбудованим HMI
Централізований IO vs розподілений
17072016 ПЛК pupena_sanukrnet 6
Централізований (модулі IO) Розподілений (RIO ndash віддалені модулі IO)
за місцем ЦПУ ПЛК можливий на відстані по місцю датчиківВМ або навіть в полі (IP-67) ndash зручність монтажу економія кабельної продукції
той самий бренд малий вибір варіантів але перевірена сумісність
можливий інший бренд великий вибір варіантів можлива певна несумісність
максимальна швидкість взаємодії з ЦПУ
можливі великі швидкості (RTE ndash Real Time Ethernet)
гаряча заміна дефектних модулів гаряча заміна дефектних модулів
легка заміна дефектних модулів вийняв - вставив
легка заміна дефектних модулів (не у всіх випадках) вийняв старий змінив перемикачі на новому вставив
топологія ndash зірка (кабелі в один щит) топологія ndash шина (інколи з відгалуженнями) кільце (надійність) інколи дерево (AS-i)
діагностування стану діагностування стану
проблематична організація гарячого резервування
гаряче резервування базується на RIO
Розподілені IO ndash автомат станів (приклад Profibus DP)
17072016 ПЛК pupena_sanukrnet 7
Стан Поведінка
Power_ON Reset
DP slave включили або перевантажили і почалася внутрішня ініціалізація
WPRM Wait for Parameter
DP slave очікує параметри від DP Master
WCFG Wait for Configuration
DP slave очікує телеграму Check_Configuration від DP Master
DXCHG Data Exchange
DP slave циклічно обмінюється даними процесу і за необхідності відповідає діагностичним запитом
Робота з віддаленими модулями IO аналогічна до локальних
Фізична структура ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 8
Широкий вибір на ринку в тч за критеріями bull температурний діапазон bull тип живлення bull IP (ступінь захисту) вібростійкість bull відповідність SIL bull монтажні особливості bull особливості підключення bull архітектурна сумісність з іншими виробниками bull hellip
Фізична структура ПЛК резервування
17072016 ПЛК pupena_sanukrnet 9
14
0 C
RP
14
0 C
RP
14
0 N
OE
14
0 N
OE
мережа IO (адаптована під гаряче резервування)
основний ПЛК резервний ПЛК IO
IO IO
IO
мережа IO
Приклад структури системи
17072016 ПЛК pupena_sanukrnet 10
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Варіанти фізичної структури ПЛК
17072016 ПЛК pupena_sanukrnet 5
з розподіленими IO ПЛК з вбудованим HMI
Централізований IO vs розподілений
17072016 ПЛК pupena_sanukrnet 6
Централізований (модулі IO) Розподілений (RIO ndash віддалені модулі IO)
за місцем ЦПУ ПЛК можливий на відстані по місцю датчиківВМ або навіть в полі (IP-67) ndash зручність монтажу економія кабельної продукції
той самий бренд малий вибір варіантів але перевірена сумісність
можливий інший бренд великий вибір варіантів можлива певна несумісність
максимальна швидкість взаємодії з ЦПУ
можливі великі швидкості (RTE ndash Real Time Ethernet)
гаряча заміна дефектних модулів гаряча заміна дефектних модулів
легка заміна дефектних модулів вийняв - вставив
легка заміна дефектних модулів (не у всіх випадках) вийняв старий змінив перемикачі на новому вставив
топологія ndash зірка (кабелі в один щит) топологія ndash шина (інколи з відгалуженнями) кільце (надійність) інколи дерево (AS-i)
діагностування стану діагностування стану
проблематична організація гарячого резервування
гаряче резервування базується на RIO
Розподілені IO ndash автомат станів (приклад Profibus DP)
17072016 ПЛК pupena_sanukrnet 7
Стан Поведінка
Power_ON Reset
DP slave включили або перевантажили і почалася внутрішня ініціалізація
WPRM Wait for Parameter
DP slave очікує параметри від DP Master
WCFG Wait for Configuration
DP slave очікує телеграму Check_Configuration від DP Master
DXCHG Data Exchange
DP slave циклічно обмінюється даними процесу і за необхідності відповідає діагностичним запитом
Робота з віддаленими модулями IO аналогічна до локальних
Фізична структура ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 8
Широкий вибір на ринку в тч за критеріями bull температурний діапазон bull тип живлення bull IP (ступінь захисту) вібростійкість bull відповідність SIL bull монтажні особливості bull особливості підключення bull архітектурна сумісність з іншими виробниками bull hellip
Фізична структура ПЛК резервування
17072016 ПЛК pupena_sanukrnet 9
14
0 C
RP
14
0 C
RP
14
0 N
OE
14
0 N
OE
мережа IO (адаптована під гаряче резервування)
основний ПЛК резервний ПЛК IO
IO IO
IO
мережа IO
Приклад структури системи
17072016 ПЛК pupena_sanukrnet 10
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Централізований IO vs розподілений
17072016 ПЛК pupena_sanukrnet 6
Централізований (модулі IO) Розподілений (RIO ndash віддалені модулі IO)
за місцем ЦПУ ПЛК можливий на відстані по місцю датчиківВМ або навіть в полі (IP-67) ndash зручність монтажу економія кабельної продукції
той самий бренд малий вибір варіантів але перевірена сумісність
можливий інший бренд великий вибір варіантів можлива певна несумісність
максимальна швидкість взаємодії з ЦПУ
можливі великі швидкості (RTE ndash Real Time Ethernet)
гаряча заміна дефектних модулів гаряча заміна дефектних модулів
легка заміна дефектних модулів вийняв - вставив
легка заміна дефектних модулів (не у всіх випадках) вийняв старий змінив перемикачі на новому вставив
топологія ndash зірка (кабелі в один щит) топологія ndash шина (інколи з відгалуженнями) кільце (надійність) інколи дерево (AS-i)
діагностування стану діагностування стану
проблематична організація гарячого резервування
гаряче резервування базується на RIO
Розподілені IO ndash автомат станів (приклад Profibus DP)
17072016 ПЛК pupena_sanukrnet 7
Стан Поведінка
Power_ON Reset
DP slave включили або перевантажили і почалася внутрішня ініціалізація
WPRM Wait for Parameter
DP slave очікує параметри від DP Master
WCFG Wait for Configuration
DP slave очікує телеграму Check_Configuration від DP Master
DXCHG Data Exchange
DP slave циклічно обмінюється даними процесу і за необхідності відповідає діагностичним запитом
Робота з віддаленими модулями IO аналогічна до локальних
Фізична структура ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 8
Широкий вибір на ринку в тч за критеріями bull температурний діапазон bull тип живлення bull IP (ступінь захисту) вібростійкість bull відповідність SIL bull монтажні особливості bull особливості підключення bull архітектурна сумісність з іншими виробниками bull hellip
Фізична структура ПЛК резервування
17072016 ПЛК pupena_sanukrnet 9
14
0 C
RP
14
0 C
RP
14
0 N
OE
14
0 N
OE
мережа IO (адаптована під гаряче резервування)
основний ПЛК резервний ПЛК IO
IO IO
IO
мережа IO
Приклад структури системи
17072016 ПЛК pupena_sanukrnet 10
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Розподілені IO ndash автомат станів (приклад Profibus DP)
17072016 ПЛК pupena_sanukrnet 7
Стан Поведінка
Power_ON Reset
DP slave включили або перевантажили і почалася внутрішня ініціалізація
WPRM Wait for Parameter
DP slave очікує параметри від DP Master
WCFG Wait for Configuration
DP slave очікує телеграму Check_Configuration від DP Master
DXCHG Data Exchange
DP slave циклічно обмінюється даними процесу і за необхідності відповідає діагностичним запитом
Робота з віддаленими модулями IO аналогічна до локальних
Фізична структура ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 8
Широкий вибір на ринку в тч за критеріями bull температурний діапазон bull тип живлення bull IP (ступінь захисту) вібростійкість bull відповідність SIL bull монтажні особливості bull особливості підключення bull архітектурна сумісність з іншими виробниками bull hellip
Фізична структура ПЛК резервування
17072016 ПЛК pupena_sanukrnet 9
14
0 C
RP
14
0 C
RP
14
0 N
OE
14
0 N
OE
мережа IO (адаптована під гаряче резервування)
основний ПЛК резервний ПЛК IO
IO IO
IO
мережа IO
Приклад структури системи
17072016 ПЛК pupena_sanukrnet 10
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Фізична структура ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 8
Широкий вибір на ринку в тч за критеріями bull температурний діапазон bull тип живлення bull IP (ступінь захисту) вібростійкість bull відповідність SIL bull монтажні особливості bull особливості підключення bull архітектурна сумісність з іншими виробниками bull hellip
Фізична структура ПЛК резервування
17072016 ПЛК pupena_sanukrnet 9
14
0 C
RP
14
0 C
RP
14
0 N
OE
14
0 N
OE
мережа IO (адаптована під гаряче резервування)
основний ПЛК резервний ПЛК IO
IO IO
IO
мережа IO
Приклад структури системи
17072016 ПЛК pupena_sanukrnet 10
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Фізична структура ПЛК резервування
17072016 ПЛК pupena_sanukrnet 9
14
0 C
RP
14
0 C
RP
14
0 N
OE
14
0 N
OE
мережа IO (адаптована під гаряче резервування)
основний ПЛК резервний ПЛК IO
IO IO
IO
мережа IO
Приклад структури системи
17072016 ПЛК pupena_sanukrnet 10
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Приклад структури системи
17072016 ПЛК pupena_sanukrnet 10
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Конфігурування та програмування
17072016 ПЛК pupena_sanukrnet 11
Принципи bull орієнтована на задачі реального часу циклічне виконання задач bull мінімум програмування максимум конфігурування bull мінімум помилок (макропрограми відсутність вказівників прямого
доступу до памяті hellip) bull захищеність від зависання (сторожові таймери) bull масштабованість як малі так і великі системи на тому ж ПЛК
можливість нарощування bull відкритість до звязку з засобами інших виробників (стандартизація) bull максимальна універсальність мінімальний час адаптації до бренду
(стандартизація) bull можливість імпортуекспорту даних програм bull максимальна зручність і простота налагодження швидкий пошук
логічних помилок в коді
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Середовище розробки та виконання приклад Unity PRO
17072016 ПЛК pupena_sanukrnet 12
bull Як правило середовище розробки платне для ПЛК великої та середньої канальності безкоштовне для малої канальності
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Функціональна структура
17072016 ПЛК pupena_sanukrnet 13
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Програмні задачі (Task) однозадачне середовище виконання
17072016 ПЛК pupena_sanukrnet 14
задача (Task)
основний час для ОС
час виконання задачі контролюється ОС ПЛК - не більше ніж T watch dog (сторожовий таймер) якщо більше ndash задача аварінйо зупиняється
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Однозадачне виконання циклічне vs періодичне
17072016 ПЛК pupena_sanukrnet 15
циклічне
періодичне
- різна тривалість задачі - без пауз між викликами задачі
- однакова періодичність виклику задачі
- під час пауз виділяється більший час ЦПУ на комунікації
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Коли опитуються входи і записуються виходи
17072016 ПЛК pupena_sanukrnet 16
- обробка входіввиходів організація задач специфічні для різних ПЛК
- якщо опитування входів на початку задачі (образ процесу) а запис виходів в кінці задачі то образ процесу не змінюється протягом виконання задачі а виходи оновлюються тільки по закінченню
- деякі ПЛК мають можливість проводити записчитання з IO в будь якому місці програми (наприклад в S7300400 - PIWPQW)
- у деяких ПЛК змішаний підхід - і образ процесу і пряме звернення
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Багатозадачність
17072016 ПЛК pupena_sanukrnet 17
Декілька задач для кожної своя умова виклику (не обовязково по часу) можуть бути свої watchdog
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Типи задач
17072016 ПЛК pupena_sanukrnet 18
CoDeSys
Cyclic ndash періодичний виклик
Freewheeling ndash ціклічно по колу
Event ndash за зміною значення змінної або іншої
програмної події
External Event ndash апаратне переривання
S7 1200 (TIA Portal)
Залежить від ПЛК
M340 (Unity PRO)
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Пріоритетність виконання задач (приклад Unity PRO)
17072016 ПЛК pupena_sanukrnet 19
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Програмна структура POU - Program Organizational Unit
17072016 ПЛК pupena_sanukrnet 20
Залежить від ПЛК
Задача
CoDeSys Unity PRO
POU викликаються в Задачі POU можуть викликати інші POU усі POU в ланцюжку виконуються в контексті тієї ж Задачі
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Типи POU
17072016 ПЛК pupena_sanukrnet 21
Залежить від ПЛК
Unity PRO Section (ака Program) Function Block FunctionProcedure (тільки бібліотечні)
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Адресація каналів
17072016 ПЛК pupena_sanukrnet 22
Різні підходи привязки до каналів bull топологічна адресація визначається розміщенням каналу
в структурі (не потребує конфігурування адресації) bull наприклад I243 відповідає за значення дискретного входу в 2-
му шасі 4-й модуль 3-й канал
bull виділення адрес для каналів - mapping (відображення) на певну область памяті (можливо поіменовану) під час конфігурування bull наприклад IW100 може містити значення будь-якого
аналогового входу куди захоче розробник
bull змішане (або і)
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Топологічна адресація
17072016 ПЛК pupena_sanukrnet 23
Залежить від ПЛК
Різні рівні і кількість в ієрархії bull адреса PLC пристрою на шині bull номер шасі bull номер модуляблока bull номер каналу на модулі bull номер ком порту
IW012345
шасі коммодуля
ком модуль
ком порт
номер пристрою
модуль на пристрої
канал на модулі
аналоговий вхід приклад 2
приклад 1
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Виділення адрес для каналів
17072016 ПЛК pupena_sanukrnet 24
Залежить від ПЛК
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Адресація
17072016 ПЛК pupena_sanukrnet 25
Залежить від ПЛК
IX або I ndash область дискретних входів IW ndash область значень аналогових входів (у багатьох ПЛК пересікається з I) QX або Q ndash область дискретних виходів QW ndash область значень аналогових виходів (у багатьох ПЛК пересікається з Q) MX або M ndash область внутрішніх бітів MW ndash область внутрішніх слів (у багатьох ПЛК пересікається з MW) hellip інші варіанти
bull топологічна адресація - IW043 bull нетопологічна адресація - IW130
bull поіменована адресація через змінні
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Змінні
17072016 ПЛК pupena_sanukrnet 26
Залежить від ПЛК
Типи bull INT (як правило 16-бітний) UINT DINT (32-бітний) UDINT bull BOOL bull BYTE bull REAL bull STRING bull ARRAY bull STRUCT (UDT) bull hellip
Найменування в деяких ПЛК назви зберігаються тільки в проекті на ПК (синоніми адрес) в деяких ПЛК змінним не обовязково явно вказуються адреси
Область видимості сильно залежить від ПЛК в ряді ПЛК усі змінні є глобальними
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Мови
17072016 ПЛК pupena_sanukrnet 27
LD
STSCL
ILSTL
FBDCFC
SFCGrafcet
bull стандарт IEC 61131-3 ПЛК підтримує як мінімум одну з 5-ти bull laquoзаточеніraquo під різні задачі bull виробники дуже люблять laquoдіалектиraquo звідси несумісність і різність реалізацій bull мови в ПЛК можуть бути нерівнозначні за можливостями bull деякі середовища дозволяють конвертацію між мовами
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
STSCL
17072016 ПЛК pupena_sanukrnet 28
ST - Structured Text
текстова CPascalBasic подібна
вирази та інструкції
доступні умовні розгалуження цикли
послідовне виконання
як правило найбільш гнучка люблять програмісти і автоматники
як правило присутня в ПЛК середньої та великої канальності
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
ILSTL
17072016 ПЛК pupena_sanukrnet 29
IL - Instruction List
текстова орієнтовані на список інструкцій
базуються на акумуляторах
маленькі інструкції
в деяких ПЛК єдина мова інші мови - тільки представлення
популярна тільки в ряді платформ (STL в S7 300400 VIPA)
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
LD
17072016 ПЛК pupena_sanukrnet 30
LD ndash Ladder Diagram
графічна РКС (релейно-контакнті
схеми)
орієнтована переважно на
дискретну логіку
добре сприймається електриками
послідовне виконання зверху до
низу зліва ndash направо
функціональність сильно залежить
від реалізації
в багатьох ПЛК (малої
канальності) є єдиною мовою
програмування
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
РКС і LD
17072016 ПЛК pupena_sanukrnet 31
або
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
FBDCFC
17072016 ПЛК pupena_sanukrnet 32
FBD ndash Function Block Diagram
графічна базується на потоках даних
при нормальній реалізації laquoзаточенаraquo під регулювання люблять
laquoрегулювальніraquo автоматники і електронники
функціональні блоки та функції зrsquoєднуються входамивиходами
послідовність виконання зверху-вниз зліва-направо задається
номером виконання
в багатьох реалізаціях дуже обмежена (напр Simatic) звідси часто
дискредитується але там є CFC
в деяких ПЛК (малої канальності) є єдиною мовою програмування
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
FBDCFC і функціональна схема контуру регулювання
17072016 ПЛК pupena_sanukrnet 33
Рис 630 Приклад контуру регулювання з використанням
бібліотечних блоків та мови FBD
ПЛК (Програма користувача)
QW41
Аналого-
вий вхід
Аналого-
вий вихід
4-20 мА 4-20 мА
IW33
комунікаційний канал
HMI (операторська панель) або SCADA)
H1 HC1
зада
не
ВМ
25 ordmС
TI1
HS1
145
25 c
Kp
Ti
дійсне
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Керування логікою виконання в FBD та LD
17072016 ПЛК pupena_sanukrnet 34
bull EN (Enable) ndash можливість логіки laquoякщо-тоraquo
bull в деяких реалізаціях ПЛК відсутня (але обовязкова в IEC 61131-3)
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
SFCGrafcet
17072016 ПЛК pupena_sanukrnet 35
SFC ndash Sequential Function Chart
графічна базується на станах і
переходах
дуже потужна для керування
періодичними процесами
ресурсоємна (при повноцінній
реалізації) багато вбудованих
функцій контролю (налаштування
та контроль часу виконання кроку
сигналізація hellip)
добре сприймається технологами в
якості опису технологічного
процесу
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
SFC (приклад)
17072016 ПЛК pupena_sanukrnet 36
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Бібліотека
17072016 ПЛК pupena_sanukrnet 37
bull включає в себе готові функції процедури функціональні блоки сильно спрощує життя розробнику
bull програма як взамозвязаний набір бібліотечних елементів
bull часто є критерієм вибору платформи
bull більшість сучасних середовищ розробки для ПЛК середньої і великої канальності дають можливість розробляти власні бібліотечні елементи
bull таймери лічильники робота з датоючасом масивами перетворення типів математичні регулювання керування приводами hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Навігація в середовищі розробки
17072016 ПЛК pupena_sanukrnet 38
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Конфігурування налаштування
17072016 ПЛК pupena_sanukrnet 39
bull багато функцій конфігуруються а не програмуються
bull конфігурація модулів в тч RIO зберігаються в центральному ЦПУ
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Інструменти відлагодження програм
17072016 ПЛК pupena_sanukrnet 40
bull анімаційні таблиці змінних (watch) bull анімація програм bull анімаційні графічні екрани bull самописці bull точки зупинки bull hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Приклади анімації програм в режимі виконання
17072016 ПЛК pupena_sanukrnet 41
httpswwwyoutubecomwatchv=l1yp_VwcA88
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Імітатор ПЛК
17072016 ПЛК pupena_sanukrnet 42
bull імітатори ПЛК (simulator) - імітують роботу ПЛК на ПК розробника bull деякі мають можливість зєднання по TCPIP -gt SCADA+simulator
відлагодження ПЗ АСУТП без наявного обладнання bull ресурси ПК імітатору дає можливість вбудовувати складну
програмну модель обєкту на тих же IEC 61131-3
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Завантаження зміна
17072016 ПЛК pupena_sanukrnet 43
bull окрім виконавчого проекту завантаження вихідного коду (не завжди) bull зміна програми без зупинки ПЛК bull доступ з паролем bull завантаження через звязані між собою ПЛК (шлюзування) bull hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Діагностика ПЛК
17072016 ПЛК pupena_sanukrnet 44
bull діагностичні індикатори на ЦПУ і модулях bull діагностичні вікна середовища розробки bull діагностичний буфер bull діагностичні функції та змінні bull можливість програмної обробки bull підтримка діагностики на рівні мереж bull інтеграція діагностики з SCADAHMI
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Приклад діагностичного вікна
17072016 ПЛК pupena_sanukrnet 45
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Комунікації
17072016 ПЛК pupena_sanukrnet 46
bull fieldbus (промислові мережі) bull рівня розподіленої периферії (RIO приводи) bull рівня датчиківВМ (+ живлення по мережі) bull рівня ПЛК (між ПЛКSCADA)
bull Типові сервіси bull неявний (без програмного ініціювання) обмін IO для розподіленої
периферії і датчиків bull конфігурується діагностується автомат станів bull максимально наближений до локального IO bull як правило функціонує методом Polling
bull неявний обмін Global Data для розподіленої бази даних bull для реалізації спільного Application між різними ПЛК одного рівня bull конфігурується діагностується bull як правило функціонує методом PublisherSubscriber
bull явний обмін повідомленнями читаннязапис обєктів відправкаотримання повідомлення (привязаний до циклу) клієнтсервер
bull функції програмуванняконфігурування пристрою діагностичні функції
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Комунікації (продовження)
17072016 ПЛК pupena_sanukrnet 47
bull сумісність та обмеження bull підтримка laquoріднихraquo протоколів bull модульність набір за необхідністю потрібної мережі bull підтримка відкритих протоколів великі бренди підтримують
laquoвеликіraquo протоколи bull laquoтотальнаraquo підтримка Modbus RTU та ModbusTCP bull все прямує до Ethernet TCPIP TCPIP mail http (WEB Server) ftp
snmp dhcp bull до Ethernet TCPIP йде RTE (Real Time Ethernet) поширені
представники в Україні Ethernet IP Profinet bull прграмісту як правило доступний інтерфейс до Application Layer тільки
деякі вендори надають інтерфейс Open TCP bull для Ethernet TCPIP повна відсутність кіберзахисту - все відкрито bull технологія OPC вирішує проблему сумісності зі SCADA bull OPC UA ndash перспективний напрям реалізація планується на рівні ПЛК bull безпосередня інтеграція в Cloud зараз не підтримується але можлива
через шлюзування та SCADA
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Висновки для парадигми ПЛК
17072016 ПЛК pupena_sanukrnet 48
bull на даний момент великий вибір і функціональні можливості
bull висока швидкодія
bull сучасні не тільки для дискретного керування а і аналогового регулювання (PAC)
bull домінує в Україні але українські бренди не є домінуючими
bull централізований підхід але є розподілена периферія і можливість глобальних даних (розподіленої БД) програм декількох ПЛК
bull окремі БД ПЛК та SCADAHMI (програє в порівнянні з DCS) але імпортекспорт тегів навіть лінк зі SCADAHMI але як правило того ж вендора
bull не тільки пропрієтарні а і відкриті протоколи відкритість все збільшується
bull можливість роботи з засобами інших вендорів
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip
Висновки для парадигми ПЛК (продовження)
17072016 ПЛК pupena_sanukrnet 49
bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)
bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування
bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання
bull як правило платне середовище розробки під Windows
bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip