тандартом МЕК 61131-3 визначається п'ять мов три графічні (SFC, FBD, LD) і два текстових (ST, IL). Крім цих мов, ISaGRAF пропонує мову блок-схем (Flowchart). Всі ці мови програмування інтегровані в єдину інструментальну середу і працюють з єдиними об'єктами даних.
SFC - графічна мова послідовних функціональних схем (Sequential Function Chart). Мова SFC призначений для використання на етапі проектування ПЗ і дозволяє описати скелет програми - логіку її роботи на рівні послідовних кроків і умовних переходів.
FBD - графічна мова діаграм релейного логіки (Ladder Diagramm). Мова FBD застосовується для побудови комплексних процедур, що складаються з різних бібліотечних блоків - арифметичних, тригонометричних, регуляторів, мультиплексорів і т.д.
LD - графічна мова діаграм релейного логіки (Ladder Diagram). Мова LD застосовується для опису логічних виразів різного рівня складності.
ST - мова структурованого тексту (Structured Text). Це мова високого рівня, по мнемонике схожий на Pascal і застосовується для процедур обробки даних. З вище перерахованих мов вибираємо мову ST, так як він найбільш прийнятний як за рівнем, так і по синтаксису, і зручний для реалізації складних алгоритмів і процедур.
4.5 Опис мови ST
ST (Structured Text) - текстовий високорівнева мова загального призначення, по синтаксису схожий на Паскаль. Походження: Grafcet (Telemechanique-Groupe Schneider). Мова за замовчуванням використовується для опису дій всередині кроків і переходов.программа - це список ST операторів. Кожен оператор закінчується крапкою з комою (;). Імена, використовувані у вихідному коді (ідентифікатори змінних, константи, ключові слова), розділені неактивними роздільниками (пробілами, символами закінчення рядка і табуляції) або активними роздільниками, які мають певне значення (наприклад, роздільник gt; означає порівняння більше ніж ). У текст можуть бути введені коментарі. Коментар повинен починатися з ( і закінчуватися ) raquo ;. Кожен оператор закінчується крапкою з комою.
Основні оператори мови ST:
оператор присвоєння (variable:=expression);
виклик підпрограми або функції;
виклик функціонального блоку;
оператори вибору (IF, THEN, ELSE, CASE);
ітеративні оператори (FOR, WHILE, REPEAT);
керуючі оператори (RETURN, EXIT);
спеціальні оператори для зв'язку з такими мовами як SFC.
Вирази.
() - для виділення частин висловлювання з метою зміни пріоритету виконання операцій, в їх відсутності використовується пріоритет за умовчанням;
:=- привласнює змінної значення деякого вираження константи:
lt; змінна gt ;:= lt; будь-який вираз або константа gt;
Змінна повинна бути внутрішньою або вхідний і мати один тип з виразом.
Булеві оператори :, AND, OR, XOR.
Арифметичні оператори:
+ (додавання), - (віднімання), * (множення),/(ділення).
Оператори порівняння:
lt ;, gt ;, =, lt; gt ;, lt; =, gt; =.
Оператор RETURN.завершает виконання поточної програми. У блоці операцій на мові SFC оператор RETURN забезпечує кінець виконання блоку.
Оператор IF - THEN - ELSE lt; условіе1 gt;
then
lt; оператор1 gt ;;
lt; оператор2 gt ;; lt; условіе2 gt; lt; список операторів gt ;; lt; список операторів gt ;; _ if;
Оператор WHILE.- це циклічна структура для групи операторів на мові ST, умова продовження якої обчислюється до кожної ітерації. lt; умова gt; do
lt; оператор 1 gt ;;
lt; оператор 2 gt ;; _ while;
Примітка: так як система програмування і виконання програм на мові ST є циклічно синхронізованою, то вихідні змінні не оновлюються протягом операції while і, отже, зміна стану вхідної змінної не може бути використане для опису умови оператора while.
Оператор REPEAT.- циклічна структура, умова продовження якої обчислюється після кожної ітерації.
lt; оператор 1 gt ;;
lt; оператор 2 gt ;; lt; умова gt ;; _ repeat;
Примітка аналогічне для while.
Оператор FOR.- виконує обмежену кількість ітерацій, використовуючи целочисленную змінну (integer) для обмеження. lt; index gt ;:= lt; min gt; to...