L_3_4_FBD
ВИВЧЕННЯ МОВИ ФУНКЦІОНАЛЬНИХ БЛОКОВИХ ДІАГРАМ (FBD)
Мета роботи
Метою роботи є ознайомлення з принципами побудови систем автоматичного керування з застосуванням програмованих логічних контролерів, а також набуття навичок розробки програм для програмованих логічних контролерів мовою FBD за стандартом МЕК 61131 у середовищі програмування СоDeSys.
Відео урок (субтітри версія codesys 3)
1. Основні положення
FBD (Function Block Diagram) – це графічна мова програмування. Вона працює з послідовністю ланцюгів, кожна з яких містить логічне або арифметичне вираз, виклик функціонального блоку, перехід або інструкцію повернення.
Діаграма FBD будується з компонентів, що відображаються на схемі прямокутниками. Входи POU зображуються зліва від прямокутника, виходи - справа. Усередині прямокутника вказуються тип POU і найменування входів і виходів. Для екземпляра функціонального блоку його найменування вказується у верхній частині, над прямокутником. У графічних системах програмування прямокутник компонента може містити зображення, що відображає його тип. Розмір прямокутника залежить від числа входів і виходів і встановлюється графічним редактором автоматично. На малюнку представлений функціональний блок PID (ПІД регулятор).
Діаграма FBD дуже нагадує принципову схему електронного пристрою на мікросхемах (див. 1). На відміну від LD «провідники» у FBD можуть проводити сигнали (передавати змінні) будь-якого типу (логічний, аналоговий, час тощо). Шини живлення на FBD діаграмі не показуються. Виходи блоків можуть бути подані на входи інших блоків або безпосередньо на виходи ПЛК. Самі блоки, показані на схемі як «чорні ящики», можуть виконувати будь-які функції. FBD-схеми дуже чітко відбивають взаємозв'язок входів і виходів діаграми. Якщо алгоритм одвічно добре описується з позиції сигналів, то його FBD-подання завжди виходить наочніше, ніж у текстових мовах.
Програма в FBD не обов'язково повинна становити велику єдину схему. Як і в LD, діаграма утворюється з безлічі ланцюгів, які виконуються одна за одною.
FBD працює з послідовністю ланцюгів, кожен з яких містить логічний або арифметичний вираз, виклик функціонального блока, перехід або інструкцію повернення. Типовий приклад програми на FBD показаний на рис.1.
Рисунок 1 – Вікно програми на FBD у середовищі програмування
CoDeSys. Діаграма FBD із двох ланцюгів
Як і у мові LD робоча область складається з розділу оголошень змінних у
верхній частині й розділу програми, яка складається з окремих ланцюгів.
Ланцюг може складатися з одного або декількох компонентів у вигляді
графічних об'єктів, з'єднаних між собою. Кожен компонент може бути
операндом, функцією функціональним блоком, програмою й називається POU
(Program Organization Unit – Програмний організатор об'єктів). Вибір об'єктів
виконується за допомогою мишки шляхом її установки на відповідну кнопку на
панелі інструментів і натискання на праву кнопку. Ланцюги відокремлюються
лініями й мають номер, який відображається у її лівій частині.
1.1 Відображення POU
Діаграма FBD будується з компонентів, відображуваних на схемі
прямокутниками. За замовчуванням графічний блок (прямокутник), що
вставляється в ланцюг POU завжди логічний елемент AND, який можна
перейменовувати й змінювати на блоки, наявні в бібліотеках. Входи POU
зображуються ліворуч від прямокутника, виходи – праворуч. Усередині
прямокутника вказується тип POU і найменування входів і виходів. Для
примірника функціонального блока його найменування вказується зверху, над
прямокутником. У графічних системах програмування прямокутник
компонента може містити картинку, що відображає його тип. Розмір
прямокутника залежить від числа входів і виходів і встановлюється графічним
редактором автоматично. Приклад графічного надання примірника Blinker
функціонального блока BLINK показаний на рис. 2.
Рисунок 2 – Графічне надання примірника
функціонального блока
Програма у FBD не обов'язково повинна представляти більшу єдину схему. Як і в LD, діаграма утвориться із множини ланцюгів, які виконуються один за одним. В CoDeSys всі ланцюги одного POU відображаються в єдиному графічному вікні, пронумеровані й розділені горизонтальними лініями (рис. 1). Значення змінних, обчислені в одному ланцюзі, доступні в наступних ланцюгах відразу у тому самому робочому циклі.
1.2 З’єднувальні лінії
Прямокутники POU у FBD з'єднані лініями зв'язку. З'єднання мають
направленість зліва направо. Вхід блока може бути з'єднаний з виходом блока,
розташованого ліворуч від нього. Крім цього, вхід може бути з'єднаний зі
змінною або константою. З'єднання повинне зв'язувати змінні або входи й
виходи одного типу. На відміну від компонента змінна зображується на
діаграмі без прямокутної рамки. Ширина з’єднувальної лінії у FBD не має
значення. Стандарт допускає використання з’єднувальних ліній різної ширини
й стилю для з'єднань різного типу.
1.3 Порядок виконання FBD
Виконання FBD-ланцюгів йде зліва направо, зверху вниз. Блоки, розташовані ліворуч, виконуються раніше. Блок починає обчислюватися тільки після обчислення значень усіх його входів. Подальші обчислення не будуть продовжені до обчислення значень на всіх виходах. Інакше кажучи, значення на усіх виходах графічного блока з'являються одночасно. Обчислення ланцюга вважається закінченим тільки після обчислення значень на виходах усіх вхідних у неї елементів.
У деяких системах програмування користувач має можливість вільно
пересувати блоки зі збереженням зв'язків. У цьому випадку орієнтуватися
потрібно виходячи з порядку з'єднань. Редактор FBD CoDeSys автоматично
розставляє блоки в порядку виконання.
1.4 Інверсія логічних сигналів
Інверсія логічного сигналу у FBD зображується у вигляді кола на
з'єднанні, перед входом або змінною. Інверсія не є властивістю самого блока й
може бути легко додана або скасована безпосередньо в діаграмі. У CoDeSys це
робиться командою «Negate» (Інверсія).
1.5 З'єднувачі й зворотні зв'язки
З'єднувачі (connectors) являють собою пойменоване з'єднання, яке можна
розірвати й перенести в наступний ланцюг. Такий прийом може знадобитися
при обмеженій ширині вікна редактора FBD. У CoDeSys ширина вікна не
обмежена, тому з'єднувачі тут не потрібні.
Стандарт не забороняє з'єднання, що йдуть із виходу блока на свій вхід або вхід блоків, що виконувались раніше. Зворотний зв'язок не утворить цикл, подібний FOR, просто деяке обчислене значення надійде на вхід при наступному виклику діаграми. Фактично це означає неявне створення змінної, яка зберігає своє значення між викликами діаграми. Для усунення неоднозначності необхідно присвоїти безпечне початкове значення змінного зворотного зв'язку. Але як це зробити для змінної, яка не оголошена в явній формі, незрозуміло?
У редакторі FBD CoDeSys зворотні з'єднання заборонені. Для створення зворотного зв'язку використайте явно оголошену внутрішню змінну. За необхідності перенесення або розгалуження з'єднання в інші ланцюги також необхідно використати проміжні локальні змінні.
1.6 Мітки, переходи й повернення
Порядок виконання FBD-ланцюгів діаграми можна примусово змінювати,
використовуючи мітки й переходи, точно так само, як і в релейних схемах.
Мітка ставиться на початку будь-якого ланцюга, будучи, по суті, назвою
даного ланцюга. Ланцюг може містити тільки одну мітку. Імена міток
підпорядковані загальним правилам найменування ідентифікаторів МЕК.
Графічний редактор автоматично нумерує ланцюги діаграми. Ця нумерація
застосовується винятково для документування й не може замінювати мітки.
Перехід обов'язково пов'язаний з логічної змінної й виконується, якщо
змінна має значення ІСТИНА (TRUE). Для створення безумовного переходу
використовується константа ІСТИНА, яка пов'язана з переходом. Мітки й
переходи у FBD показані на прикладі, рис. 3. Зверніть увагу на останній
ланцюг на рис. 3 – він є порожнім. Порожній ланцюг позначається єдиною
константою TRUE.
Оператор повернення RETURN можна використовувати у FBD так само,
як і перехід на мітку, тобто у зв'язуванні з логічною змінною. Повернення
приводить до негайного закінчення роботи програмного компонента й
повернення на верхній рівень вкладень. Для основної програми це початок
робочого циклу ПЛК
Рисунок 3 – Мітки та переходи у FBD
1.7 Вирази ST у FBD
CoDeSys дозволяє записувати вирази ST на вході графічних блоків. Такий
прийом розширює стандартний FBD і часто виявляється досить зручним
(рис. 4). Компактна форма надання виразів полегшує запис і читання
функціональних діаграм.
Рисунок 4 – Фрагмент FBD-діаграми з виразами
1.8 Редактор FBD
Редактор FBD – графічний редактор. Він працює зі списком
ланцюгів, кожен з яких складається з логічних або арифметичних виразів,
викликів функцій, програм або функціональних блоків, інструкцій повернення
й переходу.
Найбільш важливі функції можна знайти в контекстному меню, що
викликається правою кнопкою миші або поєднанням клавіш
Установка позиції курсора
Позицію курсора можна встановити за допомогою лівої кнопки миші або за допомогою клавіатури. При використанні клавіш переміщення ви будете змінювати поточну позицію курсора на сусідню в заданому напрямку. При використанні цього способу можна вибрати будь-яку позицію курсора, у тому числі й текстове поле. Клавіші нагору й вниз дозволяють вибрати попередню й наступну позиції курсора. Порожня схема містить тільки три знаки питання "???". Таку схему можна вибрати, клацнувши на них мишею.
“Insert” “Assign”
Позначення:
Запустити середовище розробки CoDeSys. Якщо в організаторі об'єктів автоматично відкривається проект, потрібно закрити його за допомогою меню File → Close (Файл → Закрити). Відкрити новий проект за допомогою кнопки New (Створити) на панелі інструментів або меню File → Open (Файл → Відкрити). У вікні, що відкрилося, Target Setting (Настроювання цільової платформи) . У новому вікні, що відкрилося, New РОU (Новий програмний компонент) вибрати тип POU «Програма» і мова програмування FBD. Натисніть кнопку ОК. У робочій області, що з'явилася, реалізувати схему, що виконує автоматизацію ділянки технологічного процесу згідно завдання лабораторної роботи L_2_4 (LD+ctud)
. Для цього за допомогою кнопок на панелі інструментів вставити в перший ланцюг елемент AND (ТА). За необхідності змінити ім'я елемента. Входам присвоїти значеннєві назви змінних і вибрати їхній тип. Підключаючи додаткові елементи, зібрати потрібну схему. Для створення нового ланцюга скористайтеся правою кнопкою мишки, або кнопкою Insert («Вставити») у рядку меню. Зберегти проект під своїм ім'ям. Занести до протоколу перелік програм (PRG), які входять у даний проект. Цей перелік відображається в організаторі об'єктів. Включити режим емуляції за допомогою меню Online → Simulation Mode («Онлайн – Режим емуляції»). Приєднати середовище до емуляції ПЛК за допомогою меню Online > Login («Онлайн» – «Підключення»). Зверніть увагу на те, що під час підключення виконується компіляція проекту. Запустити проект у виконання за допомогою меню Online → Run («Онлайн» – «Старт»). У режимі Online виконати програму за кроками. Для цього підключити контроль потоку виконання програми за допомогою команди ”Online“ (Онлайн) ”Display Flow Control“ (Відображати потік виконання) і послідовним натисканням правою кнопкою мишки по кнопці ”Старт“ пройти по ланцюгах діаграми FBD. При зміні змінних для імітації вхідних впливів (спрацьовування датчика й та ін.) необхідно виконати подвійне клацання правою кнопкою мишки і потім підтверджувати ці значення за допомогою меню Online → Write values (Ctrl+F7, «Онлайн» – «Записати значення»). Під час функціонування проекту досліджуйте процес відображення змінних в усіх блоках.
Зміст звіту.
Звіт з лабораторної роботи повинен містити наступні розділи:
- Титульний аркуш встановленого зразка.
- Мета роботи.
- Список стандартних операторів і основних стандартних функцій і функціональних блоків.
- Розроблену схему, алгоритм і лістинг програми.
- Висновок по лабораторній роботі.
Шрифти
Розмір шрифта
Колір тексту
Колір тла