Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектування промислових систем автоматизації97...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.39 Mб
Скачать

1.3Основи програмування мовою step 7

Питання розділу:

  • типи блоків програми користувача мовою STEP 7

  • правила написання операндів мови STEP 7

  • огляд системи команд мови STEP 7

  • двійкові операції мови STEP 7

Програму користувача мовою STEP 7 утворюють програмні блоки.

Блок – це частина програми користувача, яка характеризується буквено-цифровим ім'ям, закінченою структурою та конкретним призначенням. Розрізняють блоки з виконавчим кодом, у яких містяться команди, а також блоки даних, у яких зберігаються сталі та змінні.

До блоків з виконавчим кодом відносяться:

  • організаційні блоки - OB,

  • функціональні блоки - FB,

  • функції - FC,

  • а також системні функціональні блоки та системні функції - SFB та SFC.

Блоки даних, в залежності від їх призначення, бувають: глобальні та допоміжні. До інформації, яка міститься в глобальних блоках даних, є доступ з будь-яких програмних блоків з виконавчим кодом. Допоміжні блоки даних завжди підпорядковані якомусь функціональному блоку та відкриті для доступу тільки з нього. Прийнято вважати, що найбільш оптимальний розмір блоків з виконавчим кодом складає приблизно 200-300 команд.

Програма в блоках з виконавчим кодом може розділятися на сегменти (у німецькій версії інтерфейсу користувача - це Netzwerk). Кожний сегмент може супроводжуватися ім'ям та коментарем. При програмуванні логічних зв'язків у графічних способах запису (FUP і KOP) таке поділення на сегменти обов'язково та має фізичний смисл. Сегменту при цьому відповідає віртуальний струмовий ланцюг від контактів та кнопок, підключених на входи контроллера, до виконавчих елементів, підключеним до виходів контроллера.

При запису програм у вигляді команд (спосіб AWL) таке строге поділення програмних блоків на сегменти правилами мови STEP не передбачається. Однак це все ж рекомендується робити з міркувань функціонального та технологічного структурування програми.

Отже, ми підійшли до найменшої самостійної складової програми. Це команда.

Команда становить собою інструкцію для центрального процесора. Вона складається з операційної частини та операнда. Останній, в свою чергу, складається з буквеного символу та числового параметра.

Операційна частина задає дію що виконується, тобто те, що повинен виконувати процесор.

Операнд містить дані для виконання дії, тобто те, з чим повинен працювати процесор.

Правила написання операндів.

При абсолютній адресації необхідно точно задати тип, розмір та адресу операнда. Тип операнда, чи точніше сказати, область простору адресації, у якому розміщується операнд, кодує буквений символ операнда. Додатковим буквеним символом кодується розмір операнда (байт, слово, подвійне слово). Параметр операнда задає конкретну числову адресу.

Мова програмування STEP7 підтримує наступні типи операндів:

  • вхід – символ Е вказує на область відображення входів PAE

  • вихід – символ А вказує на область відображення виходів PAA

  • меркер – символ М проміжна область пам’яті

  • периферія – символ РЕ або РА область периферійних входів або виходів відповідно

  • дані – символ D область блоків даних

  • лічильник - символ Z

  • таймер - символ Т

Наприклад, двійкові операнди розмірністю 1 біт записуються наступним чином: E0.0, A4.5, M100.7. Тут в адресі біта число перед крапкою задає номер байта, а після крапки - номер біта у відповідній області.

Для цифрових операндів, розміром 8, 16 і 32 біт, які кодують числа різних форматів, вказується додаток до буквеного символу операнда:

  • B - для операнда розміром байт (Byte)

  • W - для операнда розміром слово (Word)

  • D - для операнда розміром подвійне слово (Double Word)

Наприклад, МВ50, РЕ0, AD4.

Необхідно пам'ятати, що в адресах слова та подвійного слова, як і в адресі байта, числовим параметром задається номер байта.

Тому, адреси сусідніх операндів розміром СЛОВО повинні відрізнятися на 2, а адреси сусідніх операндів розміром ПОДВІЙНЕ СЛОВО – на 4.

Огляд системи команд мови STEP 7.

Команди мови STEP 7 по призначенню можна розділити на наступні групи:

  • Двійкові операції

  • Цифрові операції

  • Управляючі операції

  • Операції непрямої адресації

За допомогою двійкових операцій виконуються логічні поєднання двійкових операндів. Результати цих поєднань можуть бути збережені в іншому операнді. Логічні операції можуть також виконувати дії над таймерами та лічильниками.

За допомогою цифрових операцій виконуються пересилки даних, а також математичні, логічні та інші дії над числами.

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

Операції непрямої адресації дозволяють динамічно змінювати операнди команд, надавати їм актуальні значення.

Розглянемо двійкові операції.

Двійкові операції можна розділити на такі групи:

  • команди опитування та логічних операцій

  • завершальні команди

  • команди, які діють на стан біта результату

Як вже було сказано, двійкові операції працюють з операндами розміром 1 біт.

Логічні операції І (команда U), АБО (команда ПРО), виключаюче АБО (команда X), виконуються за правилами булевої алгебри. Результат цих операцій зберігається в спеціальному двійковому регістрі процесора VKE, від німецької Verknupfungsergebniss.

Для того, щоб забезпечити опитування та логічне поєднання декількох операндів, використовується інший спеціальний двійковий регістр процесора - ERAB. Його значення говорить про те, чи буде новий стан біта VKE залежати від його теперішнього стану. Так, при нульовому значенні ERAB команди логічних операцій не виконуються, а здійснюється опитування стану операнда та копіювання результату в VKE. Якщо ERAB дорівнює 1, команди логічних операцій здійснюють опитування стану операнда та його логічне поєднання з теперішнім значенням біта VKE. Результат також записується в VKE.

Таким чином, при первинному опитуванні (коли ERAB дорівнює 0), тип логічної операції не має значення, бо ця операція не виконується.

Щоб виконати опитування операнда з інверсією, застосовуються команди UN, ON, XN. Варто пам'ятати, що команди опитування та логічних операцій, що формують VKE, установлюють біт ERAB в 1, а завершальні команди, що використовують значення VKE, скидають ERAB в 0.

За допомогою завершальних команд стан VKE можна

  • привласнити іншому операнду (команда присвоєння = )

  • використати як умову скидання операнда в 0 (команда скидання

R) та установки операнда в 1 (команда установки S)

  • використати для розпізнавання фронту (команди FP і FN)

  • використати для керування таймерів та лічильників

Розглянемо приклад логічних операцій

Команда скидання операнда в 0 та команда установки операнда в 1 є умовними операціями. Вони виконуються тільки при VKE рівному 1. При VKE, рівному 0, стан операнда не змінюється.

При програмуванні в FUP та КОР командам S та R відповідає графічне зображення тригера, причому пріоритет скидання або установки кодується назвою тригера:

RS - тригер із пріоритетом установки,

SR - тригер із пріоритетом скидання.

У деяких завданнях автоматизації потрібне розпізнавання змін стану двійкового сигналу або інших слів його наростаючого або спадаючого фронту. Команди FP та FN розпізнають фронт біта результату VKE, тому VKE варто спочатку сформувати за допомогою опитування стану двійкового сигналу. Результатом дії цих команд буде одиничне значення біта результату VKE за умови розпізнавання фронту на час одного циклу виконання програми користувача. У якості операнда команд розпізнавання фронту варто задати біт в області меркерів для зберігання попереднього стану біта результату VKE.

При програмуванні в FUP та КОР для команд FP та FN є відповідні графічні зображення.

Остання група двійкових команд - це команди, що впливають на стан біта результату

    • Команда NOT - Інвертування стану VKE

    • Команда CLR - Скидання VKE в 0

    • Команда SET - Установка VKE в 1

    • Команда SAVE - Збереження стану VKE у проміжному

двійковому регістрі BIE.

    • Команда U BIE - Відновлення проміжного збереженого значення

VKE із двійкового регістра BIE.

Особливість команд CLR та SET в тому, що вони не мають графічних символів для програмування в KOP/FUP. Тому вони можуть бути використані тільки в AWL.

Таким чином, у даному розділі були розглянуті:

  • типи блоків програми користувача мовою STEP 7,

  • правила написання операндов мови STEP 7,

  • огляд системи команд мови STEP 7.

На закінчення були представлені двійкові операції мови STEP 7 та приклади їхнього використання.