
- •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.5. Логические операторы Техно il
В таблице 2 представлены логические операторы.
Таблица 2
Синтаксис |
Допустимый модификатор |
Действие |
S operand |
|
operand := TRUE (см. примечание) |
R operand |
|
operand := FALSE (см. примечание) |
AND operand1 operand2 |
N |
result := operand1 := operand1 AND operand2 |
OR operand1 operand2 |
N |
result := operand1 := operand1 OR operand2 |
XOR operand1 operand2 |
N |
result := operand1 := operand1 XOR operand2 |
Примечание. Оператор выполняется только тогда, когда result = TRUE.
В качестве операндов могут использоваться булевы переменные. Вторым операндом может быть число (но не численная переменная), которое интерпретируется следующим образом: не равно 0 – TRUE; равно 0 – FALSE.
Выполнение операторов R и S не изменяет значения аккумулятора.
Пример
VAR VAR_001 : BOOL := TRUE; END_VAR
VAR VAR_002 : BOOL; END_VAR
VAR VAR_004 : INT := 0; END_VAR
LD 1 //result:=1
S VAR_002 //VAR_002:=TRUE
R VAR_002 //VAR_002:=FALSE
AND VAR_001 VAR_002 //result:=VAR_001:=FALSE
LD 1 //result:=1
S VAR_001 //VAR_001:=TRUE
OR VAR_002 VAR_001 //result:=VAR_002:=TRUE
XOR VAR_002 VAR_001 //result:=VAR_002:=FALSE
OR VAR_002 10 //result:=VAR_002:=TRUE
5.6. Арифметические операторы Техно il
В таблице 3 представлены арифметические операторы.
Таблица 3
Синтаксис |
Действие |
ADD operand1 operand2 |
result := operand1 := operand1 + operand2 |
SUB operand1 operand2 |
result := operand1 := operand1 – operand2 |
MUL operand1 operand2 |
result := operand1 := operand1 * operand2 |
DIV operand1 operand2 |
result := operand1 := operand1 : operand2 |
В качестве операндов используются численные переменные, в качестве второго операнда может использоваться число.
Арифметические операторы не допускают использования модификаторов.
Пример
VAR VAR_000 : REAL := 20; END_VAR
VAR VAR_001 : LREAL := 30; END_VAR
ADD VAR_000 10 //result := VAR_000 := 30
MUL VAR_001 9 //result := VAR_001 := 270
SUB VAR_001 VAR_000 //result := VAR_001 := 240
DIV VAR_001 VAR_000 //result := VAR_001 := 8
5.7. Операторы сравнения Техно il
В таблице 4 представлены операторы сравнения.
Таблица 4
Синтаксис |
Действие |
GT operand1 operand2 |
result := TRUE, если operand1 > operand2 |
GE operand1 operand2 |
result := TRUE, если operand1 >= operand2 |
EQ operand1 operand2 |
result := TRUE, если operand1 == operand2 |
NE operand1 operand2 |
result := TRUE, если operand1 <> operand2 |
LE operand1 operand2 |
result := TRUE, если operand1 <= operand2 |
LT operand1 operand2 |
result := TRUE, если operand1 < operand2 |
В качестве операндов используются численные переменные, в качестве второго операнда может использоваться число.
Операторы сравнения не допускают использования модификаторов.
Операторы сравнения, как правило, предшествуют операторам JMPC, CALC и RETC. Если результат сравнения ложен, инструкции сравнения не изменяют значения аккумулятора, а последующий оператор JMPC, CALC или RETC игнорируется (даже если result = TRUE).
Пример
VAR VAR_000 : INT := 20; END_VAR
VAR VAR_001 : INT := 30; END_VAR
VAR VAR_002 : BOOL; END_VAR
LD 1 //result := TRUE
GT VAR_000 VAR_001 //результат сравнения ложен,
//т.к. (20<30), аккумулятор сохраняет свое
//значение (TRUE)
RETC //RETC игнорируется
LD VAR_002 //result := FALSE
LT VAR_000 VAR_001 //результат сравнения истинен
//result := TRUE
CALC fff(VAR_000) //вызов функции произойдет