
- •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.12. Операторы определения переменных
Операторы определения переменных могут быть заданы вручную (кроме операторов определения глобальных переменных) или с помощью табличного редактора.
В языке ST определены следующие операторы данного типа:
var
{определение переменной}
...
{определение переменной}
end_var
var_global
{определение переменной}
...
{определение переменной}
end_var
var_arg
{определение переменной}
...
{определение переменной}
end_var
var_input
{определение переменной}
...
{определение переменной}
end_var
var_output
{определение переменной}
...
{определение переменной}
end_var
var_inout
{определение переменной}
...
{определение переменной}
end_var
После ключевого слова end_var точка с запятой не ставится.
Действие: определяет новую переменную. При использовании совместно с constant задает константу.
Оператор var ... end_var используется для создания локальных переменных и структур; может использоваться в основной программе или ее компоненте (функции).
Оператор var_global ... end_var используется для создания глобальных переменных; может использоваться вне основной программы и ее компонентов (функций).
Оператор var_arg(var_input) ... end_var используется для определения аргументов (основной программы или ее функций), передаваемых по значению. Определение аргумента с помощью этого оператора равнозначно заданию аргумента типа вход в табличном редакторе.
Оператор var_output(var_inout) ... end_var используется для определения аргументов (основной программы или ее функций), передаваемых по ссылке. Определение аргумента с помощью оператора var_output...end_var равнозначно заданию в табличном редакторе аргумента типа выход, а определение аргумента с помощью оператора var_inout...end_var равнозначно заданию аргумента типа вход/выход.
Создание аргументов вручную с помощью указанных операторов может использоваться только в отладочных программах – для таких аргументов нельзя задать привязку. Аргументы рабочей программы следует создавать с помощью табличного редактора.
Выражение {определение переменной} имеет вид:
{имя переменной}: {тип переменной};
{имя переменной}: {тип переменной}:={выражение};
{имя переменной}: array [] of {тип переменной};
{имя переменной}: array [{размерности массива}] of {тип переменной};
{имя переменной}: array [{размерности массива}] of {тип переменной}:={начальные значения};
Выражения {размерности массива} задаются в виде диапазонов изменения индексов массива, разделенных запятой.
Диапазон изменения индексов массива имеет вид
{нижняя граница} .. {верхняя граница}
или
{размер массива}
обозначающий диапазон от 0 до {размер массива}-1. В случае, если размерность массива не указана, он считается пустым и ожидается его инициализация в ходе выполнения программы.
Выражения {начальные значения} имеют вид списка начальных значений элементов массива, разделенных запятой. Каждое начальное значение имеет вид выражения, вычисление которого дает реальное начальное значение, или конструкции
{целочисленная константа} ({выражение})
где {целочисленная константа} задает количество элементов, которым присваивается это значение. При присвоении начальных значений элементам массива первым изменяется последний индекс массива.
Область действия имени переменной определяется по следующим правилам:
глобальные переменные действуют в рамках программы и сохраняют свое значение между вызовами программы. В частности, глобальными являются переменные FBD- и LD-блоков;
локальные переменные и аргументы действуют в рамках объекта (программы, функции, структуры), в котором определены.
При привязке переменной по имени она ищется в следующем порядке: локальные, аргументы функции, переменные-члены структуры, глобальные.
Оператор индексирования элементов массива
Синтаксис:
{имя} [ {индекс 1}, ... {индекс N}]
где {имя} – имя переменной или функции, возвращающей массив, а {индекс k} – целое неотрицательное число или целочисленная переменная (кроме UINT и USINT). Количество индексов зависит от размерности массива.
Действие: возвращает ссылку на элемент массива, которая может быть использована в левой и правой части оператора присваивания.
Оператор goto
Синтаксис:
goto {метка строки}
Действие: безусловный переход к строке кода с указанной меткой. Оператор goto и метка, на которую этот оператор ссылается, должны находиться в одном и том же программном компоненте (программе, функции и т.п.). Метка должна начинаться с буквы и отделяться от кода программы двоеточием:
…
goto myLabel2;
…
myLabel2:
END_PROGRAM