Лекція 2.2 Програмування ПЛК (CoDeSys)
Сайт: | Навчально-інформаційний портал НУБіП України |
Курс: | Комп'ютерно-інтегровані технології. Ч1 ☑️ |
Книга: | Лекція 2.2 Програмування ПЛК (CoDeSys) |
Надруковано: | Гість-користувач |
Дата: | вівторок, 24 грудня 2024, 02:31 |
1. Мови МЕК
Мови стандарту використовуються провідними фірмами виробниками ПЛК, досить поширені і відомі фахівцям АС. Набір засобів розробки зазвичай виконується на комп'ютері проектувальника, наприклад, комп'ютері типу IBM PC, і складається з редактора, відладчика і препроцесора, який готує описаний проектувальником алгоритм до формату, "зрозумілому" ядру-інтерпретатора програми проектування. Цей набір має сучасний користувальницький інтерфейс, дозволяє тестувати алгоритм в режимі емуляції і отримувати лістинг алгоритму на мовах його опису. В результаті проектування користувача програма спільно з ядром-інтерпретатором завантажується в цільовий ПЛК для виконання. Ядро-інтерпретатор, як випливає вже з його назви, транслює користувальницький алгоритм в «машинні команди» під час виконання. Це дозволяє сконцентрувати машинно-залежний код і таким чином знизити накладні витрати при переході на інший ПЛК. Для виконуючою системи контролер з завантаженою програмою може бути представлений у вигляді, показаному на рисунку 1:
Як тільки сформульована задача програмування логіки контролера, то відразу постає питання про відповідні програмні інструментарії для вирішення цього завдання.
Вважається, що для фахівців КВП найбільш зрозуміла мова LD-релейних діаграм (Ladder Diagrams). Програма контролера, написана на цій мові, являє собою релейну діаграму у вигляді двох вертикальних «шин живлення», між якими розташовують горизонтальні ланцюги, утворені контактами і засобом збудження виконавчого пристрою (обмоткою реле, спіраллю лампи тощо).
1.1. Мова LD
Будь-який технологічний процес повинен виконуватися відповідно до певних правил, послідовностей операцій, тобто відповідно до його "Алгоритму функціонування" й "Алгоритму управління".
Складні процеси можуть бути поділені на елементарні операції, взаємодія яких здійснюється за елементарною логікою.
При автоматизації технологічних процесів виникає необхідність у керуванні процесами без безпосереднього втручання людини, в цьому випадку спеціальні технічні засоби автоматизації повинні забезпечити ведення процесу відповідно до його алгоритму керування. Схема, що пояснює, яким чином взаємодіють технічні засоби автоматичного керування, називається структурною схемою керування.
Найбільш широке застосування при автоматизації процесів знаходять технічні засоби, що використовують електричну енергію. У цьому випадку схема керування буде називатися принциповою електричною схемою регулювання або керування, сигналізації тощо.
Для виконання елементарної логіки широко використовуються релейноконтактні пристрої (електромагнітні реле, кнопки, перемикачі, пускачі, крокові пускачі тощо).
До основних елементарних логічних операцій відносяться:
- операції "АБО";
- операції "І";
- операції "НІ";
- операції "Пам'ять" тощо.
Складні схеми керування складаються з набору типових схем, що реалізують елементарні логічні операції:
Мова релейних діаграм LD (Ladder Diagram) або релейно-контактних
схем (РКС) – графічна мова, що реалізує структури електричних ланцюгів. РКС
– це американський винахід. На початку 70-х рр. XX ст. релейні автомати
складальних конвеєрів почали поступово витискуватися програмованими
контролерами. Якийсь час ті й інші працювали одночасно й обслуговувалися
тими самими людьми.
Так з'явилося завдання прозорого перенесення релейних схем у ПЛК. Різні варіанти програмної реалізації релейних схем створювалися практично всіма провідними виробниками ПЛК. Завдяки простоті подання РКС знайшов заслужену популярність, що і стало основною причиною включення його у стандарт МЕК. Слова «релейна логіка» звучать сьогодні досить архаїчно, майже як «ламповий комп'ютер». Тим більше у зв'язку зі створенням численних швидкодіючих і надійних безконтактних (зокрема, оптоелектронних) реле і потужних перемикаючих приладів, таких як потужні польові транзистори, керовані тиристори і прилади IGBT. Але, незважаючи на це, релейна техніка усе ще дуже широко застосовується.
Мова LD, будучи найбільш простою для розуміння, в той же час її можна застосувати для вузького кола завдань машинної логіки і простого дискретного управління, в той час, як організувати обчислення з її допомогою не особливо зручно.
Графічно LD-діаграма показана у вигляді двох вертикальних шин живлення. Між ними розташовані ланцюги, утворені з'єднанням контактів. Навантаженням кожного ланцюга служить реле. Кожне реле має контакти, які можна використати в інших ланцюгах (табл. 2.1).
Таблиця 2.1 – Зіставлення позначень базових елементів LD і
позначень ЄСКД
Логічно послідовне (І), паралельне (АБО) з'єднання контактів та інверсія
(НІ) утворюють базис Буля. У результаті LD ідеально підходить не тільки для
побудови релейних автоматів, але й для програмної реалізації комбінаційних
логічних схем. Завдяки можливості включення в LD функцій і функціональних
блоків, виконаних іншими мовами, сфера застосування мови практично не
обмежена.
1.2. Мова ST
Мова ST схожий на багато популярних мови програмування високого рівня, такі, як BASIC, або Pascal. У мові є всі стандартні структури, необхідні програмісту: умови і цикли. На неї зручно організовувати обчислення, обробку рядків, але складні логічні конструкції на нуї виглядають набагато більш громіздко і незрозуміло, чим на LD. Також, якщо потрібно описати на мові ST деяку структуру, добре представлені у виді схеми, що складається з блоків, з'єднаних лініями, то легкість прочитання і наочність такого опису також буде невисока.
Мова ST є подальшим розвитком мови PL7-
3/Litteral, до якої додані нові функції. Мова ST найбільш звична для
професійних програмістів. Вона значно використовується при програмуванні
ПЛК, які не мають бібліотеки програм, за допомогою набору необхідної
програми на персональному комп'ютері, підключеному до ПЛК. Основою STпрограми служать вирази. ST являє собою набір інструкцій високого рівня, які
можуть використовуватися в умовних операторах ("IF…THEN…ELSE") і в
циклах (WHILE…DO)
Оформлення текстів ST-програм може бути зовсім довільним. Розташування операторів і виразів у рядку не впливає на правильність програм. Але дуже важливо виробити свій власний стиль і строго дотримуватися його. Найважливішу роль в оформленні відіграють відступи на початку рядків. Відступи зорово поєднують рядки, що містять вираз одного рівня вкладення. Текст, вирівняний у вигляді драбинки, кожна сходинка якої ставиться до одного циклу або умови, читати легко. Незважаючи на можливість горизонтального прокручування в редакторі, бажано, щоб по ширині текст містився на одній сторінці. Не варто розташовувати кілька виразів в один рядок. Нічого поганого немає в тім, що текст виявиться розтягнутим по вертикалі: лаконічні вирази й навіть порожні рядки тільки допомагають зоровому аналізу.
Для оформлення ST текстів цілком застосовні рекомендації, які можна зустріти в літературі за програмування на Паскалі й С. Зверніть увагу, що в ST відсутні горезвісні програмні дужки (у Паскалі: begin, end; у С: {}). Замість них кожний вираз мови має власну кінцівку (WHILE .. END_WHILE, IF .. END_IF). Тобто закриваюча програмна дужка є інформативною. На вигляд такий текст сприймається явно краще. При створенні складних вкладень у мові С дужки, які є закриваючими, часто розташовані суцільною драбинкою. У таких випадках досвідчені програмісти застосовують короткі коментарі після кожної дужки, яка є закриваючою. Коментарі підказують, із чого початий даний рівень відступу. Наприклад: (*FOR x*). Це хороший прийом, але при грамотному застосуванні відступів у рядках ST така необхідність виникає значно рідше, ніж у С й Паскалі.
1.3. Мова CFC
Мова CFC - це графічна мова, в якій дуже зручно оперувати з функціональними блоками. Додатки, які представлені у вигляді схем і складаються з функціональних блоків, виглядають в такій системі наочно і інтуїтивно зрозумілими, але також, складні обчислення з великою кількістю елементарних дій призводять до швидкого розростання «схеми що збирається», зменшенню зручності її прочитання і зменшення ефективності даного застосування мови. Незважаючи на те, що мова не є стандартною мовою системи МЕК, при вирішенні завдань, для яких характерні «схемотехнические» представлення даних він застосовується досить часто. Ще дві особливість його реалізації в системі CoDeSys - автоматичне трасування зв'язків між блоками схеми і можливість обробки зворотних зв'язків усередині схеми (з затримкою на цикл). Також на мові CFC складно управляти порядком виконання функцій і функціональних блоків, так як в разі влаштування, зібраного за схемою і безперервно працюючого, черговість роботи кожного блоку відсутня, як поняття: управляти алгоритмічної послідовністю виконання блоків можна за допомогою зв'язків (пов'язані блоки виконуються від входу до виходу всьому ланцюгу), різновидом такого управління є умовне управління виконанням функціональних блоків за допомогою сигналів EN і ENO, які можна додати до будь-якого блоку за допомогою кнопки на панелі інструментів під головним меню, про це докладніше в наступних роботах, хоча це вже застосовувалося в мові LD
1.4. Мова FBD
FBD (Function Block Diagram) – це графічна мова програмування. Діаграма FBD дуже нагадує принципову схему електронного пристрою на мікросхемах.
Мова FBD є проміжним між LD і CFC. Схема розбивається на смислові фрагменти, кожен з яких поміщається в рядок, що виглядає на зразок рядки мови LD, при цьому взаємне розташування блоків не так вільно, як в CFC. На відміну від мови CFC, дана мова прийнятий як стандарт. Його можна розглядати як спробу об'єднати визначеність черговості виконання операторів, притаманну мові LD з наочністю CFC. Мова малоприйнятний, застосовується за відсутності мови, подібного CFC на інших системах. Мова FBD більш популярний серед ПЛК Siemens, зокрема Siemens S7-200 в середовищі Step 7 MicroWin.
На відміну від LD «провідники» у FBD можуть проводити сигнали (передавати змінні) будь-якого типу (логічний, аналоговий, час і т.д.).
Шини живлення на FBD діаграмі не показуються. Виходи блоків можуть бути подані на входи інших блоків або безпосередньо на виходи ПЛК. Самі блоки, показані на схемі як «чорні ящики», можуть виконувати будь-які функції. FBD-схеми дуже чітко відбивають взаємозв'язок входів і виходів діаграми. Якщо алгоритм одвічно добре описується з позиції сигналів, то його FBD-подання завжди виходить наочніше, ніж у текстових мовах.
FBD працює з послідовністю ланцюгів, кожен з яких містить логічний або арифметичний вираз, виклик функціонального блока, перехід або інструкцію повернення. Типовий приклад програми на FBD показаний на рис. 2.1.
Як і у мові LD робоча область складається з розділу оголошень змінних у
верхній частині й розділу програми, яка складається з окремих ланцюгів.
Ланцюг може складатися з одного або декількох компонентів у вигляді
графічних об'єктів, з'єднаних між собою. Кожен компонент може бути
операндом, функцією функціональним блоком, програмою й називається POU
(Program Organization Unit – Програмний організатор об'єктів). Вибір об'єктів
виконується за допомогою мишки шляхом її установки на відповідну кнопку на
панелі інструментів і натискання на праву кнопку. Ланцюги відокремлюються
лініями й мають номер, який відображається у її лівій частині.
Рисунок 2.1 – Вікно програми на FBD у середовищі програмування
CoDeSys. Діаграма FBD із двох ланцюгів
Діаграма FBD будується з компонентів, відображуваних на схемі
прямокутниками. За замовчуванням графічний блок (прямокутник), що
вставляється в ланцюг POU завжди логічний елемент AND, який можна
перейменовувати й змінювати на блоки, наявні в бібліотеках. Входи POU
зображуються ліворуч від прямокутника, виходи – праворуч. Усередині
прямокутника вказується тип POU і найменування входів і виходів. Для
примірника функціонального блока його найменування вказується зверху, над
прямокутником. У графічних системах програмування прямокутник
компонента може містити картинку, що відображає його тип. Розмір
прямокутника залежить від числа входів і виходів і встановлюється графічним
редактором автоматично. Приклад графічного надання примірника Blinker
функціонального блока BLINK показаний на рис. 2.2.
Рисунок 2.2 – Графічне надання примірника
функціонального блока
Програма у FBD не обов'язково повинна представляти більшу єдину схему. Як і в LD, діаграма утвориться із множини ланцюгів, які виконуються один за одним.
В CoDeSys всі ланцюги одного POU відображаються в єдиному графічному вікні, пронумеровані й розділені горизонтальними лініями (рис. 2.1). Значення змінних, обчислені в одному ланцюзі, доступні в наступних ланцюгах відразу у тому самому робочому циклі.
1.5. Мова SFC
Sequential Function Chart - графічна мова, яка використовується для опису алгоритму у вигляді набору пов'язаних пар: крок (step) і перехід (transition). Крок являє собою набір операцій над змінними. Перехід - набір логічних умовних виразів, що визначає передачу управління до наступній парі крок-перехід. За зовнішнім виглядом опис мовою SFC нагадує добре відомі логічні блок-схеми алгоритмів. SFC має можливість розпаралелювання алгоритму. Однак, SFC не має засобів для опису кроків і переходів, які можуть бути виражені тільки засобами інших мов стандарту. Походження цієї мови - Grafcet (Telemechanique-Groupe Schneider).
1.6. IL
Мова IL (Instruction list) дослівно – список інструкцій. Це типовий асемблер з акумулятором і переходами по мітках. Набір інструкцій стандартизований і не залежить від конкретної цільової платформи. Оскільки IL найпростіша у реалізації мова, вона отримала значне поширення до прийняття стандарту МЕК. Точніше, не сама IL, а дуже схожі на неї реалізації. Практично всі виробники ПЛК Європи створювали подібні системи програмування, схожі на сучасну мову IL. Найбільший вплив на формування сучасного IL зробила мова програмування STEP контролерів фірми Siemens. Мова IL дозволяє працювати з будь-якими типами даних, викликати функції й функціональні блоки, реалізовані будь-якою мовою. Таким чином, на IL можна реалізувати алгоритм будь-якої складності, хоча текст буде досить громіздким.
У складі МЕК-мов IL застосовується при створенні компактних
компонентів, що вимагають ретельного пророблення. При роботі з IL набагато
краще, ніж з іншими мовами, можна уявити, як буде виглядати
відтрансльований код. Завдяки чому, IL виграє там, де потрібно досягти
найвищої ефективності. Особливо це відноситься до компіляторів. У системах
виконання з інтерпретатором проміжного коду виграш не настільки значний.
Текст на IL – це текстовий список послідовних інструкцій. Кожна інструкція записується на окремому рядку й містить оператори, в залежності від типу операції, один і більше операндів, розділених комами. Інструкція може включати 4 поля, розділені пробілами або знаками табуляції:
Мітка: Оператор Операнд Коментар
Перед операндом може знаходитися мітка, що закінчується двокрапкою ( : ). Мітка інструкції не є обов'язковою, вона ставиться тільки там, де потрібно. Оператор присутній обов'язково. Операнд необхідний майже завжди. Коментар – необов'язкове поле, записується наприкінці рядка. Коментар записується між двома круглими дужками та символами (* *). Коментар повинен бути останнім елементом у рядку. Між інструкціями можуть бути порожні рядки. Давати коментарі між полями інструкції не можна.
Для кращого сприйняття рядка IL вирівнюють звичайно у стовпчики відносно поля.
Редактор CoDeSys вирівнює текст автоматично. Крім цього, редактор «нальоту» виконує синтаксичний контроль і виділення кольором. Так, коректно введені оператори виділяються блакитним кольором.
Акумулятор:
Абсолютна більшість інструкцій IL виконують деяку операцію зі змістом акумулятора (див. його визначення трохи нижче). Операнд, звичайно, теж бере участь в інструкції, але результат знову поміщається в акумулятор. Наприклад, інструкція SUB 10 віднімає число 10 від значення акумулятора й поміщає результат в акумулятор. Команди порівняння порівнюють значення операнда й акумулятора, результат порівняння ІСТИНА (TRUE) або НЕПРАВДА (FALSE) знову поміщається в акумулятор. Команди переходу на мітку здатні аналізувати акумулятор і приймати рішення – виконувати перехід чи ні.
Акумулятор IL є універсальним контейнером, здатним зберігати значення змінних будь-якого типу.
В акумулятор можна помістити значення типу BOOL, потім INT або
REAL, транслятор не буде вважати це помилкою. Така гнучкість не означає, що
акумулятор здатний одночасно мати кілька значень різних типів. Тільки одне,
причому тип значення також фіксується в акумуляторі. Якщо операція вимагає
значення іншого типу, транслятор видасть помилку.
У стандарті МЕК замість терміна «акумулятор» використовується термін
«результат» (result). Так, інструкція бере «поточний результат» і формує
«новий результат». Проте майже всі посібники із програмування різних фірм
широко використовують термін «акумулятор».
Перехід на мітку:
Програма на IL виконується підряд, зверху вниз. Для зміни порядку
виконання й організації циклів застосовується перехід на мітку. Перехід на
мітку може бути безумовним JMP – виконується завжди, незалежно від будьчого. Умовний перехід JMPC виконується тільки при значенні акумулятора
ІСТИНА. Перехід можна виконувати як уверх, так і вниз. Мітки є локальними,
інакше кажучи, перехід на мітку в іншому POU не допускається.
Переходи потрібно організовувати досить акуратно, щоб не отримати
нескінченний цикл:
У прикладі показана реалізація циклу на 5 повторень із однією очевидною помилкою. Замість безумовного переходу JMP повинен бути JMPС.
У системах з інтерпретатором IL або проміжним кодуванням час виконання переходу є залежним від напрямку й відстані. У СоDeSys команда безумовного переходу транслюється в одну машинну команду й виконується дуже швидко. Обмежень на число переходів у СоDeSys немає.
Але це не означає доцільність створення більших монолітних IL-програм
з множиною переходів. Такі програми дуже складно читати й нелегко
супроводжувати.
Коментування тексту:
Мова IL є мовою низького рівня. Тому тексти IL завжди досить великі за
обсягом. Звичайно при написанні програми алгоритм здається настільки
зрозумілим, що не має потреби в коментарях. Однак текст чужої програми без
коментарів зрозуміти дуже важко. Нерідко буває, що й самому автору програми
через рік-інший після її написання важко в ній розібратися. Можливість
коментувати кожний рядок не означає, що так і потрібно робити. Правильно
складене пояснення повинне пояснювати суть проблеми й ідею рішення, а не
описувати самі команди. Наприклад: (*Ігнорувати коливання до 5 одиниць*) –
поганий коментар. (*Коливання вимірів до 5 одиниць є шумом*) – значно
краще.
Транслятор IL CoDeSys допускає богаторядкові коментарі. Цілісне пояснення завжди сприймається краще, ніж короткі уривкові коментарі в рядках інструкцій.
Коментарі МЕК мають один важливий недолік. Якщо при налагодженні знадобиться тимчасово відключити частину вихідного тексту, то простіше за все його цілком закоментувати. Тут звичайно й виникає проблема вкладених коментарів. Вкладені коментарі не настільки страшні для транслятора CoDeSys, скільки завдають незручності при виправленні тексту. Строкові коментарі (які уводять за допомогою ; – в асемблері й // – в C++), на жаль, стандартом МЕК не передбачені.
2. Комплекс програмування ПЛК Codesys
Комплекс програмування ПЛК Codesys застосовується для програмування контролерів різних виробників, зокрема Moeller. Festo. Wago (Німеччина). Parker Hannifin (США). Mitsubishi Electric (Японія). ABB (Швеція. Швейцарія). ОВЕН (Російська Федерація).
Комплекс Codesys включає власне Codesys як середовище розробки так і систему виконання Codesys SP.
Вона виконує функції операційної системи, здійснюючи обслуговування входів, виходів, комунікаційних інтерфейсів, виклик задач користувацької програми та перемикання між ними, вирішення помилок, що виникають при роботі користувацької програми. За необхідності весь контроль за роботою ПЛК може бути переданий користувацькій програмі (обслуговування переривань, обробка помилок, керування планувальником задач і т.п.).
Для опису можливостей вводу-виводу конкретного ПЛК використовуються target-файл, який необхідно встановити в середовище розробки для програмування даного типу ПЛК. У цьому файлі описаний адресний простір вводу-виводу. вектори переривань та інша інформація, що характеризує апаратні можливості ПЛК.
Також до комплексу Codesys входить Codesys HMI. який дозволяє створювати нескладні графічні інтерфейси користувача. Codesys ЕХІ Server, шо дозволяє взаємодіяти з системами контролю версій, організовувати багатокористувацький доступ до проекту, та Codesys SoftMotion — набір засобів для керування рухом, який дозволяє ПЛК виконувати роль блока ЧПУ. Дистрибутив також містить ОРС-сервер. системи виконання Codesys SP RTE (багатозадачна система виконання жорсткого реального часу під Windows NT. 2000. ХР) та Codesys SP PLCWinNT (м’якого реального часу, запускається як процес у ОС Windows на ядрі NT).
Codesys SP передає користувацькій програмі образ входів, а не поточний їх стан
3. Типи даних
В Codesys підтримуються наступні типи даних:
- BOOL — логічний, може приймати 2 значення: TRUE FALSE (істинно хибно).
- Цілочисельні: BYTE. WORD. DWORD, SINT, USINT, INT, UDCT. DDCT. UDINT. які відрізняються діапазоном чисел, шо зберігаються в них (табл.11.1).
Тип | Нижня межа | Верхня межа | Розмір пам'яті, біт |
BYTE | 0 | 255 | 8 |
WORD | 0 | 65535 | 16 |
DWORD | 0 | 4294967295 | 32 |
SINT | -128 | 127 | 8 |
USINT | 0 | 255 | 8 |
INT | -32768 | 32767 | 16 |
UINT | 0 | 65535 | 16 |
DINT | -2147483648 | 2147483647 | 32 |
UDINT | 0 | 4294967295 | 32 |
Типи BYTE. WORD. DWORD використовуються, як правило, для Іітових полів, а інші типи — власне для цілих чисел.
- Раціональні: REAL і LREAL. які займають відповідно 32 та 64 біти пам'яті та можуть зберігати число в діапазонах від 1.175494351е-38 до 3.402823466е+38 та від 2.2250738585072014е-308 до 1.7976931348623158е+308 ВІДПОВІДНО.
- STRING — рядок символів: потребує вказання довжини рядка в дужках одразу після типу, наприклад
r:STRING(30):="рядок довжиною до 3O символів"
- Якщо довжина не вказана, вона приймається рівною 80 символів. Іовжина рядка не обмежена, проте стандартна бібліотека роботи з іядками може працювати лише з довжинами від 1 до 255 символів.
- TIME — містить інтервал часу в мілісекундах. максимальне значення — T#49dl7h2iu47s295ms.
- TOD (TIME_OF_DAY) — час доби, від TOD=00:00:00 до TOD#23:59:59.999 .
- DATE — календарна дата, починаючи з 1 січня 1970 року. Діапазон значень: від DATE=1970-00-00 до DATE=2106-02-06.
- DT (DATE_AND_TIME) — час в секундах, починаючи з 0 годин 1 січня 1970 року. Діапазон значень: від DT=1970-00-00- 00:00:00 до DT=2106-02-06-06:28:15.
Також в Codesys доступні користувацькі типи даних, що формуються на основі вище перерахованих елементарних типів: масив з можливістю контролю дотримання меж. вказівник з можливістю контролю виходу за допустиму область пам'яті, перелік, структура, псевдонім елементарного типу, елемент з обмеженим діапазоном значень.
У Codesys немає автоматичного перетворення типів. Усі операції перетворення повинні бути явно виконані функціями виду INTYPE_TO_OUTTlTE. де INTYPE - тип аргументу фікції. OUTTYPE — тип значення, яке повертає функція. Наприклад.
String1:=REAL_TO_WORD(3.14)
4. Питання та література:
Література:
- Петров И.В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования ; под ред. проф. В.П. Дьяконова.- М.:СОЛОН-Пресс, 2004. – 256 с.: ил. – (Серия «Библиотека инженера»).
- Христенсен, Дж. X. Знакомство со стандартом на языки программирования
PLC: IEC 1131-3 (МЭК 1131-3) [Электронный ресурс]/ Дж. Х. Христенсен. – [2004]. –
Режим доступа: http://www.asutp.ru
- Деменков Н.П. Языки программирования промышленных контроллеров:
Учебное пособие / Под ред. К.А. Пупкова.– М.: Изд-во МГТУ им. Н.Э. Баумана. – 172 с.
LD
- Які основні елементарні логічні операції?
- Які технічні засоби автоматизації можуть виконувати елементарні логічні операції?
- Яку задачу реалізує "затримка"?
- Яку задачу виконує типова схема передпускової сигналізації?
- Як реалізується схема "Пам'ять"?
- Яким пристроєм забезпечується необхідна тривалість дії звукового сигналу?
FBD
- Який порядок виконання FBD ланцюгів?
- Як оператор AND можна перетворити в будь-який інший об'єкт?
- Де ставиться мітка у FBD ланцюга?
IL
- Пояснити різницю між глобальною й локальною змінною.
- Як можна змінювати значення змінних у режимі Онлайн?
- Як програмуються розгалуження й цикли мовою IL?
- З яких полів складається інструкція мовою IL?
- Синтаксис коментарів мовою IL?
- Які відомі рекомендації при виборі імен змінних у програмі?
- Які змінні важливо розміщувати в розділі оголошень?
- Які відомі модифікатори в мові IL і що вони виконують?
ST
- Поясніть різницю між циклом WHILE і REPEAT.
- Як працює інструкція IF і її призначення?
- Який формат даних має лічильник циклів?
- Для чого призначений цикл FOR?
Шрифти
Розмір шрифта
Колір тексту
Колір тла