ISaGRAF. Version 3.4

         

Основной синтаксис IL


IL программа - это список инструкций . Каждая инструкция должна начинаться с новой строки и должна содержать оператор, с дополнительным модификаторами, если нужно, для специфических операций, один или несколько операндов, разделенных запятой (‘,’). Инструкции может предшествовать метка с двоеточием (‘:’).  Если к инструкции присоединен комментарий, то он должен находиться в конце строки. Комментарий всегда начинается с ‘(*’ и заканчивается ‘*)’. Между инструкциями может быть введена пустая строка. Комментарии могут быть помещены в пустые строки.

Метка               Оператор  Операнд    Комментарий

Start:                 LD                                 IX1                          (* нажать кнопку *)

                         ANDN                            MX5                        (* команда разрешена*)

                         ST                                 QX2                        (* запустить мотор *)

        Метки

Инструкции может предшествовать метка с двоеточием (‘:’). Метка может быть помещена на пустую строку. Метки используются в качестве операндов для некоторых операций, таких как прыжки. Имена меток должны удовлетворять следующим правилам:

- имя не может быть длиннее 16 символов

- первым символом должна быть буква

- последующими символами могут быть буквы, цифры или символ подчеркивания

В одной программе одно и то же имя не может быть использовано для обозначения более чем одной метки. Имя метки может совпадать с именем переменной.

        Модификаторы оператора

Ниже представлены возможные модификаторы оператора. Символ модификатора должен завершать имя оператора, без пробелов между ними.



N          булевское отрицание операнда

(           задержанная операция

С          условная операция

Модификатор ‘N’ определяет булевское отрицание операнда Например, инструкция ORN IX12 интерпретируется как: result := result OR NOT (IX12).

Модификатор скобка ‘(‘ указывает на то, что выполнение инструкции должно быть задержано до тех пор пока не встретится закрытая скобка ‘)’.


Модификатор “C” указывает на то, что соответствующая инструкция должна быть выполнена только если текущий результат имеет значение TRUE (отличное от нуля). 

Модификатор ‘C’, может комбинироваться с модификатором ‘N’, который указывает на то, что инструкция должна быть выполнена только если текущий результат имеет значение FALSE (0).

        Задержанные операции


Из-за того, что существует только один IL регистр, некоторые операции могут быть задержаны , так что порядок исполнения инструкций может быть изменен. Скобки используются для того, чтобы выделить задержанные операции:

'('

модификатор

указывает операцию, которая должна быть задержана

')'

оператор

выполняет задержанную операцию

Открывающаяся скобка ‘(‘ указывает на то, что выполнение инструкции должно быть задержано до тех пор пока не встретится закрытая скобка ‘)’.  Например, следующая последовательность:

                         AND(          IX12

                         OR              IX35

                         )

интерпретируется как:

             result := result AND ( IX12 OR IX35 )


Содержание раздела