
- •1. Общая структура системы trace mode 6
- •2. Инструментальная система
- •3. Языки программирования Trace Mode 6
- •4. Промышленная база данных реального времени
- •4.1. Модификации ис Trace Mode 6
- •4.2. Принцип работы монитора. Канал Trace Mode 6
- •4.3. Исполнительные модули Trace Mode 6
- •4.4. Создание структуры проекта в навигаторе
- •4.5. Узел. Создание и настройка узла
- •4.6. Обеспечение работы распределенных асу
- •4.7. Резервирование
- •4.8. Автопостроение
- •4.9. Архивирование каналов узла
- •4.10. Архивирование каналов проекта
- •4.11. Отчет тревог и генерация сообщений
- •4.12. Файл восстановления
- •4.13. Графический интерфейс оператора
- •4.14. Принципы разработки проекта в ис
- •4.15. Технология разработки проекта в ис
- •4.16. Классификация компонентов
- •4.17. Каналы
- •4.18. Шаблоны
- •4.19. Источники/Приемники
- •4.20. Наборы ресурсов и графические объекты
- •4.21. Последовательные порты
- •4.22. Словари сообщений
- •4.23. Клеммы
- •4.24. Классификация слоев
- •4.25. Классификация узлов
- •4.26. Программирование алгоритмов в Trace Mode 6
- •4.27. Редактирование fbd-программ
- •4.28. Размещение fbd-блоков в рабочем поле редактора
- •4.29. Редактирование диаграммы fbd-блоков
- •4.30. Привязка входов и выходов fbd-диаграммы
- •4.31. Описание fbd блоков
- •5. Описание языка Tehno il
- •5.1. Синтаксис Техно il
- •5.2. Операторы и модификаторы Техно il
- •5.3. Модификаторы Техно il
- •5.4. Операторы обмена с аккумулятором
- •5.5. Логические операторы Техно il
- •5.6. Арифметические операторы Техно il
- •5.7. Операторы сравнения Техно il
- •5.8. Операторы перехода и вызова функции Техно il
- •5.9. Определение переменных и констант
- •5.10. Особенности присвоения значений переменным
- •5.11. Операторы
- •If {выражение} then {последовательность предложений} end_if
- •If {выражение} then {последовательность предложений1}
- •If {выражение1} then {последовательность предложений1}
- •5.12. Операторы определения переменных
- •5.13. Числовые константы
- •5.14. Строковые константы
- •5.15. Особенности вычислений
- •6. Разработка графического интерфейса
- •6.1. Редактор представления данных
- •6.2. Главное меню и панели инструментов рпд
- •6.3. Задание типовых свойств графических элементов
- •6.4. Статические атрибуты графических элементов
- •6.5. Временные атрибуты
- •6.6. Динамизация атрибута графических элементов
- •6.7. Индикация значения
- •6.8. Основная привязка
- •6.9. Динамические свойства
- •6.10. Функции управления графическими элементами
- •6.11. Встроенные графические элементы
5. Описание языка Tehno il
5.1. Синтаксис Техно il
Программа на языке Техно IL представляет собой последовательность инструкций. Каждая инструкция должна начинаться с новой строки и должна содержать оператор с опциональным модификатором и, для некоторых операций, один или более операндов, разделенных пробелами. Между инструкциями могут располагаться пустые строки. Компилятор не чувствителен к регистру, т.е. инструкции add var_002 и ADD VAR_002 равнозначны.
Примеры IL-инструкций
ADD VAR_000 2.6
LT VAR_000 VAR_001
JMPC label1
GT VAR_001 20
JMPC label2
LD 278
label1: CAL FUNCTION_000(VAR_000, VAR_001)
label2: ST VAR_001
Под аккумулятором в Техно IL понимается хранилище текущего результата вычислений (в этом качестве выступает один из регистров процессора). Далее в описании языка Техно IL значение аккумулятора обозначается словом result. Функция на языке Техно IL возвращает result.
Техно IL поддерживает одноадресный и двухадресный режимы записи инструкций, которые оперируют с двумя операндами. В первом случае первым операндом является аккумулятор, который опускается при записи, во втором случае указываются два операнда.
Пример
В данном примере представлена запись процедуры a = a + b в одноадресном и двухадресном режиме. Одноадресный режим:
LD a //result = a
ADD b //result = result + b
ST a //a = result
Двухадресный режим позволяет записать ту же операцию компактнее:
ADD a b // a = a + b
В IL-программе могут использоваться метки и комментарии. Правила их задания аналогичны правилам Техно ST.
5.2. Операторы и модификаторы Техно il
К ним относятся:
– модификаторы Техно IL;
– операторы обмена с аккумулятором;
– логические операторы Техно IL;
– арифметические операторы Техно IL;
– операторы сравнения Техно IL;
– операторы перехода и вызова функции Техно IL.
5.3. Модификаторы Техно il
Модификаторы Техно IL – это литеры N, C и X, которые могут быть приписаны справа к имени ряда операторов.
Модификатор N обозначает логическое отрицание операнда. Например, инструкция
AND a
интерпретируется как result = result AND a, а инструкция
ANDN a
интерпретируется как result = result AND NOT a.
Для операторов JMP, CAL и RET:
– модификатор C обозначает, что инструкция выполняется в том случае, если результат предыдущей операции сравнения истинен;
– модификатор X обозначает, что инструкция выполняется в том случае, если result = TRUE.
5.4. Операторы обмена с аккумулятором
В таблице 1 представлены операторы обмена с аккумулятором.
Таблица 1
Синтаксис |
Допустимый модификатор |
Действие |
LD operand |
N |
result := operand |
ST operand |
N |
operand := result |
Знак ":=" в таблице 1 обозначает операцию присваивания.
В качестве операнда может использоваться численная или булева переменная. В качестве операнда оператора LD может использоваться число.
Отличное от нуля значение аккумулятора интерпретируется как TRUE, нулевое – как FALSE, поэтому значение аккумулятора может быть присвоено как численной, так и булевой переменной.
Пример
VAR VAR_000 : INT := 10; END_VAR
VAR VAR_001 : BOOL := TRUE; END_VAR
VAR VAR_002 : BOOL; END_VAR
LD 8 //result := 8
ST VAR_000 //VAR_000 := 8
ST VAR_002 //VAR_002 := TRUE
LD 0 //result := 0
ST VAR_001 //VAR_001 := FALSE
LD VAR_001 //result := FALSE
ST VAR_002 //VAR_002 := FALSE
ST VAR_000 //VAR_000 := 0