
- •Загальні відомості
- •Мета та завдання курсового проектування
- •1.2 Вихідні дані для розроблення курсового проекту
- •1.3 Зміст та основні етапи виконання курсового проекту
- •Вказівки до виконання окремих розділів проекту
- •2.1. Розроблення алгоритмічної структури алгоритму керування
- •2.2. Вибір конфігурації контролера і схем підключення
- •2.2.1. Схема автоматизації
- •2.2.2. Конфігурування мпк і схеми підключення зовнішніх пристроїв
- •2.2.2.1. Мпк Ломіконт
- •2.2.2.2. Мпк Реміконт 130
- •2.2.2.1. Мікропроцесорні контролери modicon tsx
- •2.3 Розроблення прикладного програмного забезпечення для реалізації алгоритму керування
- •Розроблення програми користувача для мпк Ломіконт
- •2.3.2 Розроблення програми користувача для мпк Реміконт-130
- •2.3.3 Розроблення програми користувача для мпк tsx Micro
- •2.3.3.1. Приклад програми користувача на мові Grafset
- •2.3.3.2. Приклад програми користувача на мові Ladder Diagram
- •2.4. Відлагодження програми користувача для мпк tsx Micro
- •2.5 Розрахунок надійності спроектованої системи
- •3. Література
2.3.3 Розроблення програми користувача для мпк tsx Micro
2.3.3.1. Приклад програми користувача на мові Grafset
В сучасних ПЛК прийнято прив’язувати зовнішні змінні до внутрішніх з метою зручності роботи при відладці програми та з засобами людино-машинного інтерфейсу (SCADA/HMI). Це дає наступні переваги:
- при підключенні датчиків/ВМ до інших фізичних каналів, наприклад при їх відмові, зміни проводяться тільки в одному місті програми;
- змінні для обміну з засобами ЛМІ можна групувати разом для зменшення навантаження на комунікаційні ресурси;
Таким чином на початку програми користувача в ПЛК проміжним внутрішнім змінним присвоюють значення вхідних змінних, а в кінці – вихідним змінним присвоюють значення проміжних внутрішніх. Таким чином для сигналів з таблиці 2 можна використати наступні проміжні змінні:
Таблиця 3.
Відповідність проміжних змінних адресам входів-виходів МПК TSX Micro
Вхідні сигнали |
|||
Джерело сигналу |
Адреса вх |
Проміжна змінна |
Символьна назва |
Сигналізатор рівня |
%I1.0 |
%M10 |
L_a |
Кнопка «ПУСК» |
%I1.1 |
%M11 |
Pusk |
Перемикач вибору продукції: - продукт №1 |
%I1.2 %I1.3 |
%M12 |
Produkt_1 |
- продукт №2 |
%M13 |
Produkt_2 |
|
Датчик рівня (аналоговий) |
%IW3.0 |
%MW30 |
L_aparat |
Датчик температури |
%IW3.1 |
%MW31 |
Temperat |
Вихідні сигнали |
|||
Виконавчий пристрій |
Адреса вих |
Проміжна змінна |
Символьна назва |
Магнітний пускач двигуна мішалки |
%Q2.4 |
%M24 |
Mishalka |
Клапана подачі сировини (дискретний) |
%Q2.0 |
%M20 |
Klapan_syrovyna |
Клапана зливу (дискретний) |
%Q2.3 |
%M23 |
Klapana_zlyv |
Клапана подачі компоненту 1 (дискретний) |
%Q2.1 |
%M21 |
Klapan_komp1 |
Клапана подачі компоненту 2 (дискретний) |
%Q2.2 |
%M22 |
Klapan_komp2 |
Клапана подачі пари (аналоговий) |
%QW4.0 |
%MW40 |
Klapan_para |
Приклад програми користувача написаної на мові Grafcet показаний на рис.17-18 та лістингах коду в переходах та кроках (STEP), який наведений в таблиці 4. Це основна програма (CHART), де виконується вся необхідна послідовність дій. В Prl-обробці приводиться переприсвоєння значення вхідних змінних проміжним змінним із таблиці 3, а Post-обробці – навпаки, переприсвоєння значень проміжних змінних вихідним.
Лістинг коду, написаного в Prl.
L_a:=%I1.0;
Pusk:=%I1.1;
Produkt_1:=%I1.2;
Produkt_2:=%I1.3;
L_aparat:=%IW3.0;
Temperat:=%IW3.1;
Лістинг коду, написаного в Post.
%Q2.4:=%M24;
%Q2.0:=%M20;
%Q2.3:=%M23;
%Q2.1:=%M21;
%Q2.2:=%M22;
%QW4.0:=%MW40;
Лістинг програми на Grafcet необхідно оформляти таким чином, щоб було зрозуміло наповнення кожного кроку та умови переходу. Один із варіантів такого представлення продемонстрований в таблиці 4. Лістинг умови переходу починаються зі слова ПЕРЕХІД (x-y), де x та y - номери кроків відповідно з якого на який проходить перехід. Кроки починаються зі слова STEP N , де N – номер кроку. Кожний крок може складатися з трьох програм P1 (при активації), N1 (коли активний) та P0 (при деактивації), які обрамляються відповідними словами ACTION та END_ACTION. Слід зазначити, що табличне представлення програми є необов’язковим, а позначення кроків та умов переходів може проводитись довільним чином, однак за умови повної визначеності складу програми.
Таблиця 4. Лістинг коду для Grafcet CHART.
ПЕРЕХІД(0-1) %M11
ПЕРЕХІД(1-2) %MW30<50
ПЕРЕХІД (2-3) %M10
ПЕРЕХІД(3-4) %M12
ПЕРЕХІД(4-5) %MW30>8000
ПЕРЕХІД(5-6) %MW31>5833
ПЕРЕХІД(6-7) %TM0.V>90
ПЕРЕХІД(7-0) %MW30<100
ПЕРЕХІД(3-8) %M13
ПЕРЕХІД(8-9) %MW30>9000
ПЕРЕХІД (9-6) %MW31>6250
|
STEP 1 ACTION (P1) SET %M23; END_ACTION ACTION (P0) RESET %M23; END_ACTION |
STEP 6 ACTION (P1) START %TM0; END_ACTION ACTION (N1) PID('Temperat','C',%MW31,%MW40,%M25,%MW150:43); END_ACTION ACTION (P0) %MW40:=0;DOWN %TM0; END_ACTION |
STEP 2 ACTION (P1) SET %M20; END_ACTION ACTION (P0) RESET %M20; END_ACTION |
||
STEP 7 ACTION (P1) SET %M23; END_ACTION ACTION (P0) RESET %M23; RESET %M24; END_ACTION |
||
STEP 3 ACTION (P1) SET %M24; END_ACTION |
||
STEP 4 ACTION (P1) SET %M21; END_ACTION ACTION (P0) RESET %M21; END_ACTION |
STEP 8 ACTION (P1) SET %M22; END_ACTION ACTION (P0) RESET %M22; END_ACTION |
|
STEP 9 ACTION (P1) %MW40:=10000; END_ACTION ACTION (P0) %MW150:=6250; END_ACTION
|
||
STEP 5 ACTION (P1) %MW40:=10000; END_ACTION ACTION (P0) %MW150:=5833; END_ACTION
|
В програмі використані символьні позначення, які наведені в таблиці 5.
Таблиця 5.
Змінна |
Символьне позначення |
Тип змінної |
Коментар |
%MW30 |
L_aparat |
WORD |
Рівень в апараті |
%MW31 |
Temperat |
WORD |
Температура в апараті |
%MW40 |
Klapan_para |
WORD |
Клапан подачі пари |
%MW150 |
Temper_sp |
WORD |
Задане значення температури |
%MW151 |
Out_man |
WORD |
Ручне завдання на вихід ВМ |
%MW152 |
Kp |
WORD |
коефіцієнт пропорційності |
%MW153 |
Ti |
WORD |
Ті |
%MW154 |
Td |
WORD |
Тд |
%MW156 |
Out_max |
WORD |
Обмеження виходу по максимуму |
%MW157 |
Out_min |
WORD |
Обмеження виходу по мінімуму |
%M10 |
L_a |
EBOOL |
Сигналізатор рівня |
%M11 |
Pusk |
EBOOL |
Кнопка пуск |
%M12 |
Produkt_1 |
EBOOL |
Виібр першого продукту |
%M13 |
Produkt_2 |
EBOOL |
Виібр другого продукту |
%M20 |
Klapan_syrovyna |
EBOOL |
Клапан подачі сировини |
%M21 |
Klapan_komp1 |
EBOOL |
Клапан подачі першого компоненту |
%M22 |
Klapan_komp2 |
EBOOL |
Клапан подачі другого компоненту |
%M23 |
Klapan_zlyv |
EBOOL |
Клапан зливу |
%M24 |
Mishalka |
EBOOL |
Двигун мішалки |
%M25 |
Auto_man |
EBOOL |
Перемикач ручний/автомат для регулятору температури |
%TM0 |
|
TM |
Таймер на витримку (TON,1 S,900,YES) |
Прокоментуємо деякі моменти в наведеній програмі.
В залежності від вибраного режиму, програма піде по одній із альтернативних гілок: крок 4 або 8.
Значення заданих температур для різних режимів та компонентів відповідно дорівнюють 5833 од. контролера для першого режиму та 6250 од. для другого режиму, оскільки налаштування діапазону для відповідного входу дорівнює від 0-10000 од. контролеру. В кроці 6 проводиться регулювання температури для обох режимів, однак завдання регулятору задається в кроці 5 (Р0) для першого режиму та 9 (Р0) для другого. Слід зазначити, що перехід регулятору в автоматичний режим програмно не робиться, тому при відладці програми необхідно це зробити вручну, наприклад з таблиці анімацій (на практиці не рекомендується переводити регулятор в автоматичний режим та навпаки програмним шляхом, оскільки це прерогатива оператора). Коефіцієнти настройки Кр, Ті та Тд теж проводиться вручну при відладці програми.
В програмі використаний секундний таймер, з уставкою 900 (900с/60с=15 хв). Однак умова переходу 6-7 є досягнення плинного значення 90с. Це зроблено штучно, для скорочення часу відладки.
При закінченні загального циклу роботи установки, маркер Grafcet знову переходить на нульовий крок ініціалізації.