<- до лекцій | на основну сторінку курсу |
---|---|
<- Методки та засоби перевірки програм | Мова IL -> |
Мова SFC (Sequential Function Charts) – графічна мова програмування, в якій поведінка системи задається:
- послідовністю кроків, де описуються необхідні дії;
- переходів між кроками, які задаються умовами.
SFC також відома під назвою Grafcet, та крім стандарту IEC 61131 описана також в IEC 848. Основою для розробки SFC стали мережі Петрі – математичний апарат для моделювання поведінки динамічних систем. Зовнішній вигляд та елементи SFC показані на рисунку нижче.
Основними елементами SFC є кроки (Step), переходи (Transition) та зв’язки (Link). Всі елементи (кроки, переходи) організовують мережу SFC (подібно мережі Петрі).
Кроки поєднуються між собою тільки через переходи, які в свою чергу теж не можуть безпосередньо з’єднуватися між собою. Таким чином зв’язки можуть бути тільки між кроками та переходами. У момент активності кроку він володіє маркером (Token). Коли крок активний (тобто володіє маркером) виконуються дії (Action) що описані в кроці. Перехід пропускає через себе маркер тоді, коли справджується умова переходу (Transition Condition).
Мережі SFC можуть мати лінійну структуру або містити альтернативні та паралельні гілки, які організовані відповідними типами розходження та сходження.
Наступна схема є прикладом лінійної програми SFC з початковим кроком, одним звичайним кроком, і двома переходами:
Порядок виконання логічним контролером програми SFC:
Поведінка Grafcet monitor – опис роботи програми :
Логічний контролер обробляє системні біти SFC %S21,%S22 та %S23.
Логічний контролер оновлює стан активації кожного кроку Grafcet (SFC).
Логічний контролер сканує кроки (цикл від найменшого заданого номера кроку до найвищого визначеного). Якщо сканований крок активний, починає виконуватись відповідний код кроку.
Коли код переходу активізує або деактивує крок, ця дія розміщується відповідно в список активації або деактивації для наступного циклу завдань.
Коли виконується останній активний код кроку, Grafcet monitor закінчується.
Bits ControllingGrafcet (SFC):
%S21 - Grafcet Initialization - при встановленні значення 1 крок ініціалізації стає активним;
%S22 - Grafcet reset - при встановленні значення 1 активний крок деактивується і виконання перезапускається;
%S23 - Preset and Freeze Grafcet - при встановленні значення 1 виконання програми зупиняється аж до моменту коли значення не стане 0;
%xi - Grafcet steps - Біти %X1 до %Xi пов’язані з кроками. Значення 1 показує на активність кроку, 0 на те що крок не активний. Даний біт доступний лише для читання.
Графічний редактор Grafcet містить сітку комірок. Кожна клітина містить один крок, один перехід, або обидва. Мінімальний розмір програми - це один крок. Максимальна кількість кроків для програми становить 96.
Двічі клацніть у будь-якій комірці сітки, щоб додати крок, або клацніть правою кнопкою миші у будь-якій комірці сітки та виберіть «Add a step». Ви можете перемістити крок, перетягнувши його в іншу комірку сітки.
Перший крок, створений у Grafcet Graphical Editor, за замовчуванням є початковим кроком. Програма повинна містити хоча б один початковий крок. Можна визначити більш ніж один початковий. Щоб змінити тип кроку (початковий/звичайний), клацніть правою кнопкою миші на кроці та виберіть «Установити / вимкнути як початковий крок».
З’єднайте кроки, щоб визначити порядок виконання кроків. Щоб створити перехід між двома кроками необхідно:
Програмування кроку можливе в одному або декількох rung IL/Ladder програмах. Двічі клацніть на кроці графічного редактора Grafcet.
Програмування переходу можливе в одному або декількох rung IL/Ladder програмах.
Програма SFC може містити розгалуження. Існує два типи розгалуження:
Паралельне відгалуження забезпечують розділення маркеру між паралельними гілками при спрацюванні єдиної умови переходу.
Альтернативне відгалуження забезпечують передачу маркера в ту гілку програми, умова переходу якого спрацює раніше. Альтернативне відгалуження позначається одинарною лінією, з відповідною кількістю гілок (від 2-х).
<- до лекцій | на основну сторінку курсу |
---|---|
<- Методки та засоби перевірки програм | Мова IL -> |