Описание языка Техно IL

Язык инструкций (Техно IL)

Общие положения

Язык инструкций (Техно IL) - это текстовый язык ТРЕЙС МОУД для разработки программ, реализующих функции обработки данных и управления. Техно IL реализует синтаксис языка инструкций IEC 1131-3 и является его расширением. Разработанные и отлаженные в ТРЕЙС МОУД В отличие от языков от других языков стандарта в Техно IL реализован более простой и интуитивный синтаксис за счет

1 дополнительных функций и операторов,

2.использования двухадресного режима.

IL-программы бывают 2-х типов и могут вызываться двумя способами.

- Первый способ – из FBD-программ (Тип FB). В этом случае Техно IL используется для программирования функциональных блоков, реализующих функции, не входящих в стандартную библиотеку FBD..

- Второй способ вызова – это запуск их параллельно с пересчетом базы каналов – в качестве метапрограмм (Тип PRG). Тексты программ типа PGR должны начинаться с ключевого слова PROGRAM. Для управления выполнением метапрограмм используется канал. СИСТЕМНЫЙ и с дополнением к подтипу программы. Каждый бит этого канала управляет выполнением соответствующей программы. 1 означает разрешение выполнения программы, а 0 - запрет.

Создание IL-программы, трансляция и отладка

Текст IL-программы представляет собой последовательность инструкций. Максимальное количество инструкций одной программы равно 12000.

После добавления в проект нового FBD блока созданного с помощью IL в директории ASM инструментальной системы сохраняются два файла с именем, образованным из дополнительного имени программы. Эти файлы имеют расширения il и icl. Первый из них содержит текст программы, а второй – код, полученный в результате трансляции.

Кроме того, в директорию INI инструментальной системы сохраняется файл с именем icl<n>.def, где <n> – номер добавленного блока: от 0 до 53. В нем описываются имена входов и выходов блока. По умолчанию им присваиваются имена I<n> и Q<n>, где <n> – номер по порядку.

Для IL-программы типа PRG операция добавления подключит ее к текущему узлу. Каждый узел может иметь до 16 таких программ. В списке основных имен подключенных функциональных блоков и метапрограмм перед именами метапрограмм записывается текст Tn:, где n - номер программы. Используемые в проекте программы типа FB помечаются в списке символами (*).

. К основным понятиям языка Техно IL относятся:

· Переменные;

· Константы;

· Операнды;

· Операции;

· Функции;

· Метки;

· Операторы;

· Комментарии.

Переменные Техно IL

Техно IL использует следующие типы переменных.

I - входные переменные;

Q - выходные переменные;

E - статические переменные;

W - статические глобальные переменные;

F - динамические переменные.

Их имена имеют следующую структуру: первый символ определяет тип переменной, далее без пробела следует ее номер

И системные переменные:

result – аккумулятор (для одноадресных операций);

CMP - признак истинности.

Входные переменные (I)

Переменные данного типа являются входными аргументами IL-программы. В зависимости от типа программы назначение переменных этого типа несколько меняется.

В программах типа FB эти переменные являются входами создаваемого блока.

Количество создаваемых для блока входов определяется старшим номером переменной типа I. Например, если в программе используется переменная I5 и таких переменных с большими номерами нет, то блок будет иметь шесть функциональных входов. При этом переменная I5 будет получать значения с последнего функционального входа, а I0 – с первого.

В IL-программе типа FB можно использовать до 13 переменных типа I. При этом их суммарное количество с выходными переменными (Q) не должно превышать 15.

В программе типа PRG входные переменные могут связываться с атрибутами каналов. Не связанные с каналами переменные типа I могут использоваться как свободные для хранения промежуточных результатов. Максимальное количество переменных этого типа равно 256.

Выходные переменные (Q)

Переменные данного типа являются выходными аргументами IL-программы. Их использование зависит от типа программы.

В программах типа FB эти переменные связываются с выходами блока. Количество выходов блока определяется старшим номером переменной данного типа как и для входных переменных. Максимальное количество выходных переменных в IL-программе типа FB равно 8 (максимальный номер – 7).

В IL-программах типа PRG переменные данного типа используются для формирования значений атрибутов каналов текущего узла. Не связанные с каналами выходные переменные могут использоваться как свободные. Максимальное количество этих переменных в программах типа PRG равно 256 (максимальный номер - 255).

Присвоение значений выходных переменных атрибутам каналов или выходам функциональных блоков осуществляется при завершении выполнения программы. Поэтому в процессе выполнения программы использовать в качестве вспомогательных переменных.

В метапрограммах можно связать переменные I и Q с атрибутами каналов. Для этого в тексте программы надо создать раздел описания связей. Он должен располагаться за словом PROGRAM, начинаться строкой VAR_IN_OUT и заканчиваться – END_VAR. Между этими строками размещаются строки описания соответствия. Они имеют следующий формат:

<переменная> <имя канала> <атрибут>

Статические переменные (E)

Эти переменные используются при необходимости сохранять результаты вычислений между двумя вызовами программы.

В IL-программе типа FB максимальное число статических переменных равно 4. Для программ типа PRG это количество составляет 256. Эти переменные являются общими для всех метапрограмм одного узла.

Значения статических переменных можно также контролировать и формировать в FBD-программах с помощью функциональных блоков EREAD и WRTE.

Статические глобальные переменные (W)

В рамках узла операторской станции или глобального регистратора таких переменных можно использовать до 1024, в контроллере их может быть до 256.

Глобальные переменные можно использовать в любых IL- и FBD-программах. Их значения можно считывать в реальном времени из файлов, передавать по сети, запрашивать по OPC, а так же отображать и управлять ими с помощью форм отображения.

Для получения значений глобальных переменных в FBD-программах используются блоки WREAD и AREAD. Для формирования значений глобальных переменных предназначен блок WRTW из того же раздела. Считыванием значений этих переменных из файла управляет блок WFILE, а передачей по сети – NSND. Для настройки форм отображения на глобальную переменную надо в списке объектов указать объект W_Global, а в списке каналов выбрать нужную переменную.

В программе на TechnoIL невозможно обращение к глобальным переменным с индексом больше 255.

Обращение к переменным с индексами от 0 до 1023 возможно только в FBD программах через блоки WTRW, WREAD или AREAD.

Динамические переменные

Эти переменные не сохраняют свои значения между вызовами программы. Используются только как вспомогательные при организации вычислений. Количество динамических переменных не зависит от типа программы и составляет 255.

Системные переменные

В языке Техно IL используются две системные переменные:

· result -;CMP

Первая из них используется при одноадресной записи операций. В этом случае она является вторым операндом и в нее записывается результат. Для явного вызова этой переменной используется идентификатор X.

Переменная CMP формируется операциями сравнения и оператором TEST. Она может принимать значения истинно или ложно и используется операторами условного перехода.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: