Мова інструкцій Techno IL

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт
Предмет:
Інші
Група:
КН- 411

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет “Львівська політехніка”  Звіт до лабораторної роботи №4 з дисципліни: “Розподілені системи збору інформації та управління” на тему: «Мова інструкцій Techno IL. » Тема: Мова інструкцій Techno IL. Мета: Ознайомитися із синтаксисом мови Techno IL та навчитися створювати, тестувати та застосовувати програми мовою Techno IL в редакторі бази каналів системи Trace Mode. Теоретичні відомості Мова інструкцій (Техно IL) – це текстова мова Трейс Моуд для розробки програм, що реалізують функції обробки даних та управління. Мова Техно IL є розширенням мови IL міжнародного стандарту IEC 1131-3. IL-програми можуть викликатися двома способами: з FBD-програм; запуском паралельно з перерахунком бази каналів. IL-програма характеризується типом. Тип визначає спосіб виклику програми та обмеження, які накладаються на кількість і типи допустимих змінних та операторів. Тип може мати одне з двох значень: FB- програмування блока для Техно FBD; PRG – метапрограма. IL-програма має два імені – основне та додаткове. Кожне з імен може містити 7 довільних символів, крім пробілу. Основне ім’я застосовується для ідентифікації IL-програми. Додаткове ім’я є назвою FBD-блоку, якщо IL-програма має тип FB, і номером (від 0 до 15), якщо IL-програма має тип PRG. Щоб IL-програму можна було застосувати, вона має успішно пройти трансляцію. При виявленні помилок в ході трансляції буде виводитися відповідна інформація. IL-програма є послідовністю інструкцій. Кожна інструкція включає в себе опис дії та операнди. Максимальна кількість інструкцій однієї програми рівна 12000. Мова Техно IL оперує такими поняттями: змінні; константи; операнди; операції; функції; мітки; оператори; коментарі. Імена змінних мають таку структуру: перший символ визначає тип змінної, далі без пробілу записується її номер. Для різних типів визначені ідентифікатори: I – вхідні змінні; Q – вихідні змінні; E – статичні змінні; W – статичні глобальні змінні; F – динамічні змінні. Крім того, є ще дві системні змінні: result – акумулятор (X), у нього записується результат дії. CMP – ознака істинності. Вхідні змінні є вхідними аргументами IL-програми. У програмах типу FB вхідні змінні породжують входи блока, що створюється. Наприклад, якщо у програмі застосовується змінна I5 і вхідних змінних з більшими номерами у програмі немає, то блок матиме 6 функціональних входів. При цьому змінна I5 буде одержувати значення з останнього функціонального блока, а I0 – з першого. Кількість створюваних входів блока визначається найбільшим номером вхідної змінної. Навіть якщо у програмі не застосовувалися змінні з меншими номерами, то входи під них все одно створюються. У програмах типу PRG вхідні змінні можуть пов’язуватися з атрибутами каналів. Не пов’язані з каналами вхідні змінні можуть використовуватися як вільні для зберігання проміжних результатів. Максимальна кількість вхідних змінних у IL-програмі типу PRG – 256 (максимальний номер – 255). Вихідні змінні IL-програми є її вихідними аргументами. У програмах типу FB вихідні змінні породжують виходи блока. Механізм утворення виходів блока той самий, що й для входів блока у випадку вхідних змінних. В IL-програмах типу PRG вихідні змінні застосовуються для формування значень атрибутів каналів поточного вузла. Не пов’язані з каналами вихідні змінні можуть використовуватися як вільні. Максимальна кількість вихідних змінних у програмах типу PRG є 256. Присвоєння значень вхідних змінних атрибутам каналів чи виходам функціональних блоків здійснюється при завершенні виконання програми. Тому в процесі виконання програми їх можна змінювати необмежене число разів, використовуючи в якості допоміжних змінних. Статичні змінні використовуються при необхідності зберігати результати обчислень між двома викликами програми. В IL-програмі типу FB максимальна кількість статичних змінних рівна 4 (максимальний номер – 3), для програм типу PRG – 256. Статичні змінні є спільними для всіх метапрограм одного вузла. Тому їх можна використовувати для обміну даними між програмами. Значення статичних змінних можна також контролювати та формувати у FBD-програмах. Статичні глобальні змінні можна використовувати у будь-яких IL- і FBD-програмах. Їхні значення можна зчитувати в реальному часі з файлів, передавати по мережі, запитувати по OPC, а також відображати та керувати ними за допомогою форм відображення. У файлах глобальних змінних можна використовувати коментарі. Динамічні змінні не зберігають свої значення між викликами програми. Тому їх можна застосовувати лише як допоміжні при організації обчислень. Кількість динамічних змінних не залежить від типу програми та є рівною 255. Системна змінна result (акумулятор) використовується при одноадресному записі операцій. У цьому випадку вона є другим операндом і в неї записується результат. Для явного виклику цієї змінної використовується ідентифікатор Х. Використання акумулятора визначене стандартом МЕК 1131-3, згідно якого всі операції є одноадресними і виконуються з використанням акумулятора. Змінна CMP формується операціями порівняння та оператором TEST. Вона може набувати значень або “істинно”, або “хибно” і використовується операторами умовного переходу. У метапрограмах для зв’язування вхідних та вихідних змінних з атрибутами каналів у тексті програми потрібно створити розділ опису зв’язків. Цей розділ повинен розміщуватися за словом PROGRAM, починатися рядком VAR_IN_OUT та завершуватися END_VAR. Між цими рядками розміщуються рядки опису відповідності, що мають такий формат: <змінна> <ім’я каналу> <атрибут> Змінні різних типів з однаковим номером завжди пов’язані з одним і тим самим атрибутом одного і того самого каналу. Вхідна змінна формується значенням цього каналу, а вихідна управляє ним. Вихідна змінна повинна бути обов’язково визначена в розділі опису зв’язків змінних з атрибутами каналів. У цьому випадку вхідні змінні можна не визначати. Константи у Техно IL можуть бути двох типів: цілі числа в діапазоні –127..127; будь-які інші числа. Ці константи можуть записуватися у десятковому чи у шістнадцятковому вигляді. Шістнадцяткова константа починається з 0х. Кількість констант першого типу не обмежується. Максимальна кількість констант другого типу у програмах типу FB рівна 10, а для програм типу PRG – 40. Константи, значення яких співпадають, вважаються однією константою. Операндами IL-програми можуть бути константи та всі змінні, окрім CMP. Над операндами можна виконувати операції арифметичні, логічні та операції порівняння. Майже всі операції мають два позначення: символьне та мнемонічне. Всі операції мови інструкцій міжнародного стандарту МЕК 1131-3 є одноадресними. В них використовується лише один операнд. Другим є акумулятор (змінна result), куди записується результат виконання операції. Техно IL підтримує і одноадресний, і двохадресний режими. У двохадресному режимі програма є більш наочною та компактною. При цьому в операції беруть участь два операнди, а результат виконання операції записується у перший з операндів. Згідно стандарту МЕК 1131-3 в рядку записується спочатку мнемонічне позначення операції, а через пробіл – операнд. Техно IL дозволяє використовувати два операнди та мнемонічне чи символьне позначення операції. При записі символу операції між операндами він має бути відокремлений пробілами з двох боків. Згідно стандарту операція додавання змінних Q1 та I2 із записом результату у змінну Q1 виглядає так: LD Q1 ADD I2 ST Q1 У Техно IL ця операція може бути записана у такий спосіб, а також наступний чином: ADD Q1 I2, або + Q1 I2, або Q1 + I2 В одному рядку можна записувати кілька операцій. У цьому випадку вони відокремлюються символом “;”. До арифметичних операцій, які підтримуються у Техно IL, відносяться: додавання (ADD, або +); віднімання (SUB, або – ); множення (MUL, або *); ділення (DIV, або /); одержання залишку від ділення (MOD, або %); піднесення до степеня (POW, або **); присвоєння (першому операнду значення другого) (MOVE, або =). До логічних операцій відносяться: логічне множення (AND, або &); логічне додавання (OR, або |); виключаюче логічне додавання (XOR, або ^); логічне множення першого операнда на інвертоване значення другого (ANDN); логічне додавання першого операнда з інвертованим значенням другого (ORN); виключаюче логічне додавання першого операнда з інвертованим значенням другого (XORN). Операції порівняння включають: порівняння на рівність (EQ або = =); порівняння на “більше” (GT, або >); порівняння на “більше або рівне” (GE, або >=); порівняння на “менше” (LT, або <); порівняння на “менше або рівне” (LE, або <=); порівняння на нерівність (NE, або !=); порівняння на рівність 0 логічного множення операндів (мнемонічне позначення TEST). За результатами операцій порівняння формується значення змінної CMP. Воно є істинним при виконанні умови, інакше – хибним. У Техно IL існує два типи функцій. Перші виконують обчислення над значенням вказаного операнда та присвоюють результат цьому операнду. Якщо зазначені два операнди, то дії виконуються над першим, а результат записується у другий. Ці функції мають наступний синтаксис: <функція> <операнд1> [<операнд2>] До функцій першого типу відносяться: абсолютне значення (ABS); арккосинус (ACOS); арксинус (ASIN); арктангенс (ATAN); зміна знаку (CHGSIGN); косинус (COS); експонента (EXP); ціла частина числа (FLOOR); побітова інверсія (INV (~)); натуральний логарифм (LN); десятковий логарифм (LOG); синус (SIN); тангенс (TAN); квадратний корінь (SQRT), заперечення (NOT (!)), визначення знаку (SIGN). Другий тип функцій – це функції часу. Вони формують значення операнда та мають наступний синтаксис: <операнд1> = <функція> Результат виконаної роботи: Висновок: На даній лабораторній роботі я ознайомився із синтаксисом мови Techno IL та навчитися створювати, тестувати та застосовувати програми мовою Techno IL в редакторі бази каналів системи Trace Mode.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!