ISaGRAF. Version 3.4
3069e04e

Опции компилятора


Команда “Опции компилятора” применяется для установки основных параметров, используемых генератором кодов ISaGRAF для построения и оптимизации получаемых кодов. Цель этой команды - выбрать тип кода, который должен быть сгенерирован, в соответствии с целевой задачей ISaGRAF, и установить параметры оптимизатора, в соответствии с ожидаемым временем компиляции и рабочими требованиями приложения.

Команда "Выгрузить" открывает второй диалог с другими опциями, которые позволяют загружать упакованный исходный код для того, чтобы разрешить возможность выгрузки. Смотрите документацию по "Выгрузке".

        Выбор целевой задачи

Верхний список показывает перечень возможных кодов назначения, которые могут быть сгенерированы. Знак “>>” используется для обозначения выбора. Генератор кодов ISaGRAF может генерить до 3 различных кодов в одной операции компилирования. Используйте кнопки “Выделить”

и “Отм. выделение” для установки списка желаемых кодов, в соответствии с вашим оборудованием. Ниже даны стандартные коды назначения ISaGRAF:

SIMULATE:........ Этот код предназначен для Симулятора ISaGRAF. Симулятор не может быть запущен, если эта цель не выбрана для генерации кода.

ISA86M:............. Этот TIC код (системно-независимый код) предназначен для ISaGRAF ядер, установленных на Intel процессорах. Тип процессора необходим только для установки последовательности байт в генерируемом коде.

ISA68M:............. Этот TIC код (системно-независимый код) предназначен для ISaGRAF ядер, установленных на Motorola процессорах. Тип процессора необходим только для установки последовательности байт в генерируемом коде.

SCC:................... Этот выбор заставляет компилятор ISaGRAF генерить исходные коды структурного языка “С”, которые будут компилироваться и линковаться с  библиотеками ядра ISaGRAF для получения встроенных выполняемых кодов.

CC86M:.............. Этот выбор заставляет компилятор ISaGRAF генерить исходные коды неструктурного языка “С”, которые будут компилироваться и линковаться с  библиотеками ядра ISaGRAF для получения встроенных выполняемых кодов.
Эта секция сделана для обеспечения совместимости с версиями ISaGRAF до V3.23, когда генерация кодов структурного "C" не поддерживалась.

Обратитесь к своему руководству по оборудованию, чтобы узнать тип ISaGRAF ядра, установленного на вашей PLC. Другие типы (машинные коды, исходные коды С …) могут быть поддержаны в будущих выпусках системы разработки ISaGRAF (Workbench).



        Обработка SFC


Отметьте квадрат “Использовать встроенные средства SFC”, чтобы разрешить работу ISaGRAF SFC машины. Этот режим следует предпочесть, так как он ведет к большей производительности. Однако, целевая машина может быть опущена в некоторых частных реализациях целевого приложения ISaGRAF, наиболее общих заказных целевых приложениях, основанных на кодовой постобработке ISaGRAF. В этом случае вы может быть должны удалить эту опцию и дать компилятору ISaGRAF транслировать SFC схему на нижний уровень инструкций. Обратитесь к свой документации по оборудованию для большей информации на счет этой опции.

        Опции оптимизатора


Ниже даны параметры, используемые Генератором Кодов ISaGRAF для оптимизации получаемых кодов, которые могут быть установлены из окна диалога “Опции компилятора”. Кнопка “Умолчания”

используется для удаления всех опций оптимизации для сокращения времени компиляции.

           Когда установлена опция “Оптимизация в два прохода”, Оптимизатор Кодов запускается дважды. Оптимизация, сделанная во время второго прохода в основном менее значима, чем сделанная во время первого.

           Когда установлена опция “Вычислять константные выражения”, выражения констант вычисляются компилятором. Например, цифровое выражение “2 + 3”

заменяется на “5” в получаемых кодах. Если эта опция не установлена, то выражения констант вычисляются во время работы.

           Когда установлена опция “Удалять неиспользуемые метки”, Оптимизатор упрощает систему переходов и меток программы, удаляя неиспользуемые метки или нулевые переходы.

           Когда установлена опция “Оптимизировать копирование переменных”, оптимизируется использование временных переменных (используемых для хранения промежуточных результатов).  Эта опция в основном используется вместе с опцией “Оптимизировать выражения”.


Когда эта опция установлена, Оптимизатор многократно использует результат выражений и подвыражений, которые используются в программе больше, чем один раз.

           Когда установлена опция “Удалить неиспользуемый код”, Оптимизатор подавляет коды, которые не имеют значения. Например, если запрограммировано следующее выражение: “var := 1; var := X;”, то соответствующий генерируемый код будет только: ”var := X;”.

           Когда установлена опция “Оптимизировать арифметические операции”, Оптимизатор упрощает арифметические операции согласно специальным операндам. Например, выражение “А + 0” заменяется на “А”. Когда установлена опция “Оптимизировать булевские операции”, Оптимизатор упрощает логические операции согласно специальным операндам. Например, логическое выражение “A & A”

заменяется на “A”.

           Когда установлена опция “Строй бинарные диаграммы принятия решения”, Оптимизатор заменяет логические уравнения (смесь операторов AND, OR, XOR и NOT) сокращенным списком операций перехода. Преобразование происходит только в том случае, если ожидаемое время последовательности переходов меньше, чем время ожидаемое для оригинального выражения.

Следующая таблица суммирует ожидаемую оптимизацию и требуемое время компиляции в соответствии с каждым параметром:

                                                                            Выигрыш(произв.).. время

Оптимизация в два прохода                           xxxx....................... (*)

Оптимизировать константные выражения  xxxxxxxx............... xxxx

Удалять неиспользуемые метки                    xxxx....................... xxxxxxxx

Оптимизировать копирование переменных xxxx....................... xxxxxxxx

Оптимизировать выражения                          xxxx....................... xxxxxxxx

Удалять неиспользуемый код                         xxxx....................... xxxxxxxx

Оптимизировать арифметические операции.............................. xxxxxxxx  xxxx

Оптимизировать булевские операции          xxxxxxxx............... xxxx

Строить бинарные диаграммы решений        xxxxxxxxxxx ........ xxxxxxxxxxx

(*)  время компиляции также умножается на 2.


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