Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
23.02.2016
Размер:
100.86 Кб
Скачать

ПЗ АСУ ТП

Тема 4.2. Мови програмування в промислових системах.

Лекція 12.

Мови програмування в промислових системах.

  1. Мови програмування визначені стандартом МЕК 61131-3.

  2. Мова програмування Tehno FBD.

  3. Мова програмування Tehno IL.

  1. Мови програмування визначені стандартом МЕК 61131-3.

Стандарт МЕК (Міжнародна електротехнічна комісія) 61131-3 встановлює п’ять мов програмування ПЛК: три графічних та два текстових. Основною ціллю стандарта було підвищення швидкості та якості розробки програм для ПЛК, а також створення мов програм­ування, орієнтованих на технологів, забезпечення відповідності ПЛК ідеології відкритих систем, виключення етапу додаткового навчання при зміні типу ПЛК.

Системи програмування, засновані на МЭК 61131-3, характеризуються наступними показниками:

надійністю створюваного програмного забезпечення. Надійність забезпечується тим, що програми для ПЛК створюються за допомогою спеціально призначеного для цього середовища розробки, яке містить усі необхідні засоби для написання, тестування і відладки програм за допомогою емуляторів і реальних ПЛК, а також безлічи готових фрагментів програмного коду;

можливістю простої модифікації програми і нарощування її функціональності;

переносимістю проекту з одного ПЛК на інший;

можливістю повторного використання відпрацьованих фрагментів програми;

простотою мови і обмеженням кількості його елементів.

Мови МЭК 61131-3 з'явилися не як теоретична розробка, а як результат аналізу безлічі мов, вже використовуваних на практиці і пропонованих ринку виробниками ПЛК. Стандарт встановлює п'ять мов програмування з наступними назвами:

структурований текст (ST — Structured Text);

послідовні функціональні схеми (SFC — Sequential Function Chart);

діаграми функціональних блоків (FBD — Function Block Diagram);

релейно-контактні схеми, або релейні діаграми (LD — Ladder Diagram);

список інструкцій (IL — Instruction List).

Графічними мовами є SFC, FBD, LD. Мови IL і ST є текстовими.

Мови МЭК 61131-3 базуються на наступних принципах:

  • уся програма розбивається на безліч функціональних елементів — Program Organization Units (POU), кожен з яких може складатися з функцій, функціональних блоків і програм. Будь-який елемент МЕК-програми може бути сконструйований ієрархічно з простіших елементів;

  • стандарт вимагає строгої типізації даних. Вказівка типів даних дозволяє легко виявляти більшість помилок в програмі до її виконання;

  • є засоби для виконання різних фрагментів програми в різний час, з різною швидкістю, а також паралельно. Наприклад, один фрагмент програми може сканувати кінцевий датчик з частотою 100 разів в секунду, тоді як другий фрагмент скануватиме датчик температури з частотою один раз в 10 с;

  • для виконання операцій в певній послідовності, яка задається моментами часу або подіями, використовується спеціальна мова послідовних функціональних схем (SFC);

  • стандарт підтримує структури для опису різнорідних даних. Наприклад, температуру підшипників насоса, тиск і стан «ввімкнено-вимкнено» можна описати за допомогою єдиної структури «Pomp» і пе-редавати її усередині програми як єдиний елемент даних;

  • стандарт забезпечує спільне використання усіх п'яти мов, тому для кожного фрагменту завдання може бути вибрана будь-яка, найбільш зручна, мова;

  • програма, написана для одного контроллера, може бути перенесена на будь-який контроллер, сумісний із стандартом МЭК 61131-3.

  1. Мова програмування Tehno FBD.

FBD (діаграми функціональних блоків) є графічною мовою і найбільш зручна для програмування процесів проходження сигналів через функціональні блоки. Мова FBD зручна для схемотехників, які легко можуть скласти електричну схему системи управління на «жорсткій логіці», але не мають досвіду програмування.

Функціональні блоки представляють собою фрагменти програм, написаних на IL, SFC або інших мовах, котрі можуть бути багаторазово використані в різних частинах програми та яким відповідає графічне зображення, прийняте при розробці функціональних схем електронних пристроїв (рис. 1).

Мал. 1. Приклад програми на мові FBD

Мова FBD може бути використана для програмування функцій функціональних блоків та програм, а також для опису кроків та перехо­дів в мові SFC. Функціональні блоки інкапсулюють дані та методи, чим нагадують об’єктно-орієнтовані мови програмування, але не підтримують наслідування та поліморфізм.

Типовим застосуванням мови FBD є опис «жорсткої логіки» і замкнутих контурів систем управління. Мова функціональних блоків є зручною також для створення і поповнення бібліотеки типових функціональних блоків, яку можна багаторазово використовувати при програмуванні завдань промислової автоматизації. До типових блоків відносяться блок таймера, ПІД-регулятора, тригера, генератора імпульсів, фільтру і тому подібне

  1. Мова програмування Tehno IL.

Мова IL (список інструкцій) нагадує асемблер і використовується для реалізації функцій, функціональних блоків і програм, а також кроків і переходів в мові SFC. Основною перевагою мови є простота її вивчення. Найбільш ча­сто мова IL використовується у випадках, коли вимагається отримати оптимізований­ код для реалізації критичних секцій програми, а також для вирішення невеликих завдань з малою кількістю розгалужень алгоритму.

Лістинг. Приклад програми на мові ILМітка Оператор Операнд Коментарі

LD Voltage (*Завантажити Voltage в акумулятор*)

GT 220 (*Якщо >220*)

JMPCN Ml (*Перейти до мітки, якщо п>220" не вірно*)

LD Current (*Завантажити Current в акумулятор*)

SUB 10 (*Відняти з акумулятора 10 *)

ST Current («Присвоїти Current значення, аккумулятора*)

Ml: LD 0 («Завантажити в акумулятор значення »0«*)

ST Out («Присвоїти Out значення акумулятора*)

У основі мови лежить поняття акумулятора і переходів по мітках. Приклад програми на мові IL з коментарями приведений в лістингу вище. Починається програма із завантаження в акумулятор значення змінної. Подальші кроки програми полягають у отримані вмісту акумулятора і виконанні над ним обмеженого числа допустимих дій (їх в мові всього 24).

Програма на мові Texno IL — послідовність інструкцій.

Кожна інструкція починається з нового рядка, містить оператор з модифікатором, у разі деяких операторів приводиться один або більше за операнди. Компілятор не чутливий до регістра. Інструкції ADD 10 15 і Add 10 15 рівнозначні.

У цій мові вводиться поняття акумулятора, під яким слід розуміти сховище поточного результату.

В якості операндів можуть виступати:

1. змінні;

2. константи (див. мову Texno ST);

3. ім'я мітки;

4. ім'я функції.

Під модифікатором слід розуміти літери N, C, X, які приписуються справа до імені деяких операторів. Модифікатор N означає логічне заперечення операнда, З означає, що інструкція виконується, якщо результат попередньої операції порівняння істинний, модифікатор X вказує на те, що інструкція виконується, якщо акумулятор містить значення true.

Приклад використання модифікатора :

OR b//акумулятор АБО b

ORN b// акумулятор АБО НЕ b

Соседние файлы в папке ПЗ АСУ ТП_Гузнин