й тільки для опису процесів, що мають дискретний (двійковий) характер; для обробки «безперервних» процесів (з безліччю аналогових змінних) такий підхід втрачає сенс.
Мова FBD
Мова FBD (Functional Block Diagram, Діаграма Функціональних Блоків) є мовою графічного програмування, так само, як і LD, що використовує аналогію з електричною (електронної) схемою. Програма мовою FBD являє собою сукупність функціональних блоків (functional flocks, FBs), входу і виходу яких з'єднані лініями зв'язку (connections). Ці зв'язки, що з'єднують виходу одних блоків з входами інших, є по суті справи змінними програми і служать для пересилання даних між блоками. Кожен блок являє собою математичну операцію (додавання, множення, тригер, логічне «або» і т.д.) і може мати, в загальному випадку, довільну кількість входів і виходів. Початкові значення змінних задаються за допомогою спеціальних блоків - входів або констант, вихідні ланцюги можуть бути пов'язані або з фізичними виходами контролера, або з глобальними змінними програми.
Практика показує, що FBD є найбільш поширеним мовою стандарту IEC. Графічна форма подання алгоритму, простота у використанні, повторне використання функціональних діаграм і бібліотеки функціональних блоків роблять мову FBD незамінним при розробці програмного забезпечення ПЛК. Разом з тим, не можна не помітити і деякі недоліки FBD. Хоча FBD забезпечує легке уявлення функцій обробки як «безперервних» сигналів, зокрема, функцій регулювання, так і логічних функцій, в ньому незручним і неочевидним чином реалізуються ті ділянки програми, які було б зручно представити у вигляді кінцевого автомата.
Мова SFC
Мова послідовних функціональних схем SFC (Sequential Function Chart), що використовується спільно з іншими мовами (зазвичай з ST і IL), є графічною мовою, в якому програма описується в вигляді схематичної послідовності кроків, об'єднаних переходами. Мова SFC побудований за принципом, близьким до концепції кінцевого автомата, що робить його одним з найпотужніших мов програмування стандарту IEC 61131-3
Найбільш простим і природним чином на мові SFC описуються технологічні процеси, що складаються з послідовно виконуваних кроків, з можливістю опису декількох паралельно виконуються процесів, для чого в мові є спеціальні символи розгалуження і злиття потоків (дивергенції і конвергенції, в термінах стандарту IEC 61131-3).
Кроки послідовності розташовуються вертикально зверху вниз. На кожному кроці виконується певний перелік дій (операцій). При цьому для опису самої операції використовуються інші мови програмування, такі як IL або ST.
Дії (операції) в кроках мають спеціальні класифікатори, що визначають спосіб їх виконання всередині кроку: циклічне виконання, однократне виконання, однократне виконання при вході в крок і т.д. У сумі таких класифікаторів налічується дев`ять, причому серед них є, наприклад, класифікатори так званих зберігаються і відкладених дій, змушують дію виконуватися навіть після виходу програми з кроку.
Після того, як крок виконаний, управління передається наступному за ним кроці. Перехід між кроками може бути умовним і безумовним. Умовний перехід вимагає виконання певного логічного умови для передачі управління на наступний крок; поки ця умова не виконана програма буде залишатися всередині поточного кроку, навіть якщо всі операції всередині кроку вже виконані. Безумовний перехід відбувається завжди після повного виконання всіх операцій на даному кроці. За допомогою переходів можна здійснювати розділення і злиття гілок послідовності, організувати паралельну обробку кількох гілок або змусити одну виконану гілка чекати завершення інший.
Як і будь-якому іншому язику, SFC властиві деякі недоліки. Хоча SFC може бути використаний для моделювання кінцевих автоматів, його програмна модель не зовсім зручна для цього. Це пов'язано з тим, що поточний стан програми визначається не змінної стану, а набором прапорів активності кожного кроку, у зв'язку з чим при недостатньому контролі з боку програміста можуть виявитися одночасно активними кілька кроків, які не перебувають у паралельних потоках.
Ще одна незручність мови пов'язане з тим, що кроки графічно розташовуються зверху вниз, і перехід, що йде у зворотному напрямку, зображується у неявній формі, у вигляді стрілки з номером стану, в який здійснюється перехід.
Мова ST
Мова ST (Structured Text, Структурований Текст) являє собою мова високого рівня, що має риси мов Pascal і Basic. Дана мова має ті ж недоліки, що і IL, однак вони виражені в меншому ступені. Приклад програми на мові ST наведено на рис. 4.
За допомогою ST можна легко реалізовувати арифметичні і логічні операції (у тому...