Програмовані логічні контролери стандарту МЕК 61131

49
ТДА16-1 (20.07.16) Програмовані логічні контролери стандарту МЕК 61131 Олександр Пупена ([email protected]) www.asu.in.ua 17.07.2016 ПЛК [email protected] 1 Програма та місце проведення конференції – за посиланням

Upload: alexandr-pupena

Post on 08-Jan-2017

255 views

Category:

Engineering


6 download

TRANSCRIPT

Page 1: Програмовані логічні контролери стандарту МЕК 61131

ТДА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

Page 2: Програмовані логічні контролери стандарту МЕК 61131

Місце в загальній архітектурі

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

Page 3: Програмовані логічні контролери стандарту МЕК 61131

Спрощена фізична структура системи

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

Page 4: Програмовані логічні контролери стандарту МЕК 61131

Варіанти фізичної структури ПЛК

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

Page 5: Програмовані логічні контролери стандарту МЕК 61131

Варіанти фізичної структури ПЛК

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

Page 6: Програмовані логічні контролери стандарту МЕК 61131

Централізований 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

Page 7: Програмовані логічні контролери стандарту МЕК 61131

Розподілені 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

Page 8: Програмовані логічні контролери стандарту МЕК 61131

Фізична структура ПЛК (продовження)

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

Page 9: Програмовані логічні контролери стандарту МЕК 61131

Фізична структура ПЛК резервування

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

Page 10: Програмовані логічні контролери стандарту МЕК 61131

Приклад структури системи

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

Page 11: Програмовані логічні контролери стандарту МЕК 61131

Конфігурування та програмування

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

Page 12: Програмовані логічні контролери стандарту МЕК 61131

Середовище розробки та виконання приклад 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

Page 13: Програмовані логічні контролери стандарту МЕК 61131

Функціональна структура

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

Page 14: Програмовані логічні контролери стандарту МЕК 61131

Програмні задачі (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

Page 15: Програмовані логічні контролери стандарту МЕК 61131

Однозадачне виконання циклічне 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

Page 16: Програмовані логічні контролери стандарту МЕК 61131

Коли опитуються входи і записуються виходи

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

Page 17: Програмовані логічні контролери стандарту МЕК 61131

Багатозадачність

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

Page 18: Програмовані логічні контролери стандарту МЕК 61131

Типи задач

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

Page 19: Програмовані логічні контролери стандарту МЕК 61131

Пріоритетність виконання задач (приклад 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

Page 20: Програмовані логічні контролери стандарту МЕК 61131

Програмна структура 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

Page 21: Програмовані логічні контролери стандарту МЕК 61131

Типи 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

Page 22: Програмовані логічні контролери стандарту МЕК 61131

Адресація каналів

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

Page 23: Програмовані логічні контролери стандарту МЕК 61131

Топологічна адресація

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

Page 24: Програмовані логічні контролери стандарту МЕК 61131

Виділення адрес для каналів

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

Page 25: Програмовані логічні контролери стандарту МЕК 61131

Адресація

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

Page 26: Програмовані логічні контролери стандарту МЕК 61131

Змінні

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

Page 27: Програмовані логічні контролери стандарту МЕК 61131

Мови

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

Page 28: Програмовані логічні контролери стандарту МЕК 61131

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

Page 29: Програмовані логічні контролери стандарту МЕК 61131

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

Page 30: Програмовані логічні контролери стандарту МЕК 61131

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

Page 31: Програмовані логічні контролери стандарту МЕК 61131

РКС і 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

Page 32: Програмовані логічні контролери стандарту МЕК 61131

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

Page 33: Програмовані логічні контролери стандарту МЕК 61131

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

Page 34: Програмовані логічні контролери стандарту МЕК 61131

Керування логікою виконання в 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

Page 35: Програмовані логічні контролери стандарту МЕК 61131

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

Page 36: Програмовані логічні контролери стандарту МЕК 61131

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

Page 37: Програмовані логічні контролери стандарту МЕК 61131

Бібліотека

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

Page 38: Програмовані логічні контролери стандарту МЕК 61131

Навігація в середовищі розробки

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

Page 39: Програмовані логічні контролери стандарту МЕК 61131

Конфігурування налаштування

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

Page 40: Програмовані логічні контролери стандарту МЕК 61131

Інструменти відлагодження програм

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

Page 41: Програмовані логічні контролери стандарту МЕК 61131

Приклади анімації програм в режимі виконання

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

Page 42: Програмовані логічні контролери стандарту МЕК 61131

Імітатор ПЛК

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

Page 43: Програмовані логічні контролери стандарту МЕК 61131

Завантаження зміна

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

Page 44: Програмовані логічні контролери стандарту МЕК 61131

Діагностика ПЛК

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

Page 45: Програмовані логічні контролери стандарту МЕК 61131

Приклад діагностичного вікна

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

Page 46: Програмовані логічні контролери стандарту МЕК 61131

Комунікації

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

Page 47: Програмовані логічні контролери стандарту МЕК 61131

Комунікації (продовження)

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

Page 48: Програмовані логічні контролери стандарту МЕК 61131

Висновки для парадигми ПЛК

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

Page 49: Програмовані логічні контролери стандарту МЕК 61131

Висновки для парадигми ПЛК (продовження)

17072016 ПЛК pupena_sanukrnet 49

bull простіше швидше надійніше за програмування PC Based але потребує певних знань в програмуванні складніше для експлуатаційного персоналу КВПіА (програє DCS і кофігурованим контролерам та регуляторам)

bull не таке гнучке в порівнянні PC Based не дозволяє низькорівневого програмування

bull підтримка єдиного стандарту IEC 61131 перехід на іншу платформу - адаптація до середовища а не вивчення мови програмування базовий перехід можливий через тижневе навчання

bull як правило платне середовище розробки під Windows

bull підтримка дуже важливих речей діагностика налагоджування заливка на льоту hellip