 Управление программами

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

Компоненты проекта

Работа с программами

Использование средств генерации кода

Другие средства ISaGRAF

Добавление команд в меню Инструменты

Симуляция и отладка работы приложения


Компоненты проекта

Компоненты проекта называются программами. Программа - это логический объект, который описывает часть выполнения управления. Глобальные переменные ( такие как переменные ввода-вывода ), могут использоваться в любой программе приложения. Локальные переменные могут использоваться только в одной программе. Программы перечислены в иерархическом дереве, разделённом на логические разделы. Окно показывает программы и связи между ними. Программы Верхнего уровня появляются слева в иерархическом дереве.

Программы верхнего уровня

Функции и функциональные блоки

Подпрограммы

Дочерние SFC-программы

Связь между программами и подпрограммами

Языки программирования


Программы верхнего уровня

Программы верхнего уровня появляются в левой части иерархического дерева. Программы верхнего уровня из первых трёх разделов всегда активны и в течение цикла выполняются в следующем порядке :

•	( Чтение ввода )

•	Выполнение программ верхнего уровня раздела BEGIN

•	Выполнение программ верхнего уровня раздела SEQUENTIAL

•	Выполнение программ верхнего уровня раздела END

•	( Обновление вывода )

Программы разделов Begin и End описывают циклические операции. Они не зависят от времени. Программы раздела Sequential описывают последовательные операции. При этом временные переменные явно фигурируют для разделения основных операций. Главные программы раздела Begin систематически выполняются в начале каждого рабочего цикла. Главные программы раздела Sequential в соответствии с главными правилами языка SFC и должны быть написаны на SFC. Программы циклического раздела не могут быть написаны на SFC. Любая программа в любом разделе может иметь одну или более подпрограмм.


Функции и функциональные блоки

Программы раздела  Функции могут быть вызваны любой программой из любого раздела проекта. Функция - это алгоритм, который выдаёт одно выходное значение по нескольким входным значениям. Функциональный алгоритм работает только с промежуточными переменными, значение которых стираются между вызовами функции. Это делает невозможным вызов из функции функционального блока. Программы раздела Функции не могут быть написаны на SFC.

В отличие от функций, Функциональные блоки ( функциональные блоки ) связаны с алгоритмом, который работает с входными значениями со скрытыми статическими данными, которые копируются системой при каждом вызове функционального блока. Программы из раздела  Функциональные блоки могут быть вызваны любой программой любого раздела проекта. Они не могут быть написаны на SFC.


Подпрограммы

Подпрограммы - это функции, связанные с одной ( SFC или какой-л. другой ) родительской программой. Подпрограммы могут быть вызваны ( выполнены ) только своей родительской программой. Каждая программа из любого раздела может иметь одну или более подпрограмм. Для написания подпрограмм может использоваться любой язык, кроме SFC.


Дочерние SFC и FC программы

Дочерняя SFC-программа - это параллельная программа, которая может быть запущена или закрыта своей родительской программой. Родительская и дочерня программа должны быть написаны на SFC.

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

Любая FC программа секции sequential может управлять другими FC подпрограммами. Родительская FC программа блокируется (ждет) пока исполняется дочерняя FC подпрограмма. Не могут исполняться одновременно операции в родительской FC программе и в одной из ее дочерних FC подпрограмм.


Связь между программами и подпрограммами
Связь между программами и подпрограммами:

Подпрограммы и дочерние программы связаны со своими родительскими программами линиями в иерархическом дереве. Связь между SFC-программой и SFC-подпрограммой заканчивается стрелкой. Следует иметь в виду, что такая связь представляет параллельную операцию.


Языки программирования

Каждая программа пишется только на одном языке. Этот язык, выбираемый при создании программы, не может быть изменён впоследствии. Однако диаграммы FBD могут включать части, написанные на LD, а диаграммы LD могут содержать вызовы функциональных блоков. Доступные графические языки : SFC (последовательные функциональные диаграммы), FBD (диаграммы функциональных блоков) и LD (релейные диаграммы). Доступные текстовые языки : ST (структурированный текст), IL (список инструкций). Язык SFC зарезервирован для главных и дочерних программ последовательного раздела. Язык каждой программы показан в виде иконы возле имени программы в окне Менеджера Программ. Ниже приведены иконы, используемые для представления языков :

 SFC	Sequential Function Chart

(Последовательные Функциональные Схемы)

 FC	Flow Chart (Потоковые Диаграммы)

 FBD	Functional Block Diagram

(Функциональные Блочные Диаграммы)

 LD	Ladder Diagram (вводятся с помощью редактора Quick LD)

(Релейные Схемы)

 ST	Structured Text (Структурный Текст)

 IL	Instruction List (Список Инструкций)


Работа с программами

Меню  Файл содержит все команды, необходимые для создания, обновления или модификации программ. Она также запускает соответствующие редакторы для ввода содержания прикладных программ.

Создание новой программы

Комментарии к программам

Редактирование программы

Редактирование файла-дневника

Словарь переменных

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

Перемещение программ в иерархическом дереве

Копирование программ

Удаление программ

Имеются другие команды в меню "Инструменты":

Импортирование из библиотек

Экспортирование функций или функциональных блоков в библиотеку


Создание новой программы

Функция Новый меню Файл позволяет создать программу верхнего уровня, дочернюю или подпрограмму в каждой программной секции. Первая часть информации для ввода - это имя новой программы, подчиняющееся следующим синтаксическим правилам :

•	максимальная длина - 8 символов

•	Первый символ должен быть буквой

•	Последующие символы должны быть буквами, цифрами, или символами подчёркивания.

•	Имена программ не различают регистры

Далее, выберите язык, на котором будет создана новая программа :

SFC	Последовательные Функциональные Диаграммы

FC	Потоковые Диаграммы

FBD	Диаграммы Функциональных Блоков ( могут содержать части LD )

LD	Релейные схемы, создаваемые при помощи редактора Quick LD

ST	Структурный текст

IL	Список Инструкций

Теперь выберите режим выполнения программы :

Begin	верхний уровень раздела Begin.

Sequential	верхний уровень раздела Sequential.

End	верхний уровень раздела End.

Функции	в разделе Функции.

Функциональный блок	в разделе Функциональные блоки.

Child of...	SFC или FC SFC-дочерняя или подпрограмма существующей программы.

При выборе одного из пяти возможных режимов программа размещается в верхнем уровне разделов Begin, End, Sequential, Функции. Выбор последнего указывает, что новая программа является SFC-дочерней или FC подпрограммой или подпрограммой. Следует помнить, что программы верхнего уровня должны быть написаны на SFC или FC и, что SFC и FC не может использоваться для циклических программ и их подпрограмм.


Комментарии к программам

ISaGRAF позволяет присоединить к каждой программе проекта её описание. Этот комментарий изображён мелким шрифтом под её именем. Используйте команду Файл / Текст комментария программы  для ввода или изменения комментария, присоединённого к выделенной программе.


Редактирование программы

Эта команда позволяет изменить содержание программы. Используемый редактор зависит от языка, выбранного для написания программы. Каждая программа редактируется в индивидуальном окне, т.о. возможно редактировать более одной программы в различных окнах. Нажатие клавиши ENTER позволяет редактировать выделенную программу. Кроме того, пользователь может щёлкнуть мышью на имени программы для её редактирования.


Редактирование файла-дневника

Файл-дневник присоединён к каждой программе. Это текстовый файл, который содержит записи обо всех изменения программы за время её существования. Этот файл может быть отредактирован, изменён и напечатан в любое время. При выходе из редактора после изменения текста программы автоматически открывается окно ввода записей дневника. Эти записи вставляются вместе с датой и временем и создания в дневник.


Словарь переменных

Команда  Файл / Словарь запускает редактор словаря, в котором объявлены переменные проекта. Переменные могут быть глобальными ( т.е. видимыми в любой программе проекта ) или локальными для выделенной программы. Редактор словаря также может быть использован для объявления макросов, которые используются для синонимичной подстановки имён и выражений в текст программы.


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

Команда  позволяет пользователю определить параметры, передаваемые и возвращаемые выделенной функцией, функциональным блоком или подпрограммой. Эта команда не имеет эффекта, если выделена главная программа разделов Begin или End или SFC-программа.

Функции, функциональные блоки или подпрограммы могут иметь до 32 параметров ( входных или выходных ). Функция или подпрограмма всегда имеет ровно один возвращаемый параметр, который должен иметь то же имя, что и функция, для соответствия условиям языка ST.

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

•	максимальная длина - 8 символов

•	Первый символ должен быть буквой

•	Последующие символы должны быть буквами, цифрами, или символами подчёркивания.

•	Имена не различают регистры

Команда Вставить используется для вставки нового параметра перед  выбранным. Команда Удалить используется для удаления выделенного параметра. Команда Упорядочить автоматически сортирует параметры так, что возвращаемый параметр становится последним в списке.


Перемещение программ в иерархическом дереве

Команда Переименовать меню Файл используется для изменения имени программы или для перемещения её в другой раздел иерархического дерева. Однако язык, на котором написана программа, не может быть изменён. При выполнении этой команды открывается такое же окно, как при создании новой программы и все его поля установлены в соответствии с атрибутами выделенной программы. Имя программы может быть изменено. Также может быть выбран другой раздел дерева или другая родительская программа.

Команда Упорядочить программы меню Файл используется для установки корректного порядка программ с одинаковым  уровнем и родительской программой. Если выделенная программа - на верхнем уровне, то команда используется для сортировки программ верхнего уровня выделенной секции Если выделенная программа - на нижнем уровне, то команда используется для сортировки только SFC-программ и подпрограмм, относящихся к той же родительской программе, что и выделенная. После открытия диалогового окна Упорядочить программы выберите программу, которую Вы хотите переместить, и нажмите кнопку Вверх или Вниз для перемещения по списку.


Копирование программ

Для того чтобы скопировать программу, выберите нужную программу из списка и запустите команду Файл / Копировать. После запуска этой команды появится такое же окно, как при создании программы. Все его поля заполнены атрибутами выделенного файла. Введите имя копии и её месторасположение в соответствующих разделах. Если введённая программа не существует, то она будет создана. Если введённая программа уже существует, то она будет перезаписана. Язык новой программы должен совпадать с языком источника. Нажмите кнопку  Принять для копирования.

Команда  Копировать в другой проект меню Файл копирует выделенную программу в другой проект с сохранением имени. SFC дочерние  и подпрограммы могут быть скопированы вместе с вместе с ней. Имена выделенной программы и её дочерних не должны использоваться в проекте, в который производится копирование. Все присоединённые объявления и макросы копируются вместе с программой.


Удаление программ

Для удаления программы выделите её в списке и запустите команду Файл / Удалить. Программа, имеющая дочерние или подпрограммы не может быть удалена. Дочерние и подпрограммы необходимо удалить раньше. Все логические объявления и макросы удаляются вместе с программой.


Импортирование из библиотек

Команда Инструменты / Импорт из библиотеки используется для копирования функции или функционального блока, написанного на языке IEC, из библиотеки в раздел Функции или Функциональные блоки открытого проекта. Локальные переменные и макросы, присоединённые к функции, копируются вместе с ней. Если функция была корректно импортирована из библиотеки, то она может быть помещена в другой раздел иерархического дерева командой Файл / Переименовать. Для избежания конфликтов имён импортируемая функция должна быть переименована при вставке в проект. Не забывайте также переименовать возвращаемый параметр при импортировании функции.


Экспортирование функций или функциональных блоков в библиотеку

Команда Инструменты/Экспортировать в библиотеку используется для того, чтобы перенести программу из раздела Функции или Функциональные блоки в подходящую библиотеку. Локальные переменные и макросы, присоединённые к экспортируемой функции или функциональному блоку, копируются вместе с ней. Экспортированную функцию или блок следует  перекомпилировать в Менеджере Библиотек ISaGRAF, чтобы убедиться в том, что она соответствует параметрам среды библиотеки. Библиотечные функции и функциональные блоки не могут использовать глобальные переменные.


Использование средств генерации кода

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

Создание кода приложения

Проверка выбранных программ

Имитация изменения

Рабочие опции приложения

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

Определение ресурсов


Создание кода приложения

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


Проверка выбранных программ

Команда Проверить позволяет пользователю проверить синтаксис программ, выделенных в списке. Если при проверке ошибок не обнаружено, то она не будет перепроверяться до тех пор, пока её содержание не будет изменено.


Имитация изменения

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


Рабочие опции приложения

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


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

Эта команда используется Генератором Кода ISaGRAF для создания и оптимизации целевого кода. Обратитесь к разделу Использование генератора кода этого документа за более подробной информацией об этой команде.


История изменений

Эта команда открывает окно диалога, в котором изображена история изменений проекта. Обратитесь к разделу Управление Проектами этого документа за более подробным описанием этой команды.


Определение ресурсов

Ресурсы - это данные, определённые пользователем ( например, файл ), которые должны быть объединены с целевым кодом, так что они могут быть загружены вместе с ним. Обратитесь к разделу Использование генератора кода  этого документа за более подробным описанием файла определения ресурсов.


Другие средства ISaGRAF

Меню  содержит команды, которые вызывают средства ISaGRAF для выделенного проекта. Обратитесь к соответствующим разделам этого документа за более подробным описанием этих средств.

Привязка переменных ввода-вывода

Создание таблиц преобразования

Ввод описания проекта

Печать завершённого документа

История изменений


Привязка переменных ввода-вывода

Команда "Соединение В/В" запускает редактор соединения переменных ISaGRAF. Этот инструмент используется для создание связей между объявленными в словаре проекта переменными ввода-вывода и соответствующей аппаратурой.


Редактор перекрестных ссылок

Команда "Перекрестные ссылки " позволяет пользователю определить таблицы преобразования для целого проекта. Таблица преобразования это множество точек, которое определяет множество исправленных значений для аналоговых величин. Преобразование может быть непосредственно присоединено к аналоговым переменным ввода или вывода, позволяя пользователю фильтровать физические величины ввода-вывода или преобразовывать электрические величины составляющих ввода-вывода в логические значения, значительно упрощая программирование уравнений в приложении.


Ввод описания проекта

Команда  Дескриптор проекта используется для редактирования текстового описания проекта. Этот документ полностью характеризует проект. В него можно вносить записи, описывающие изменения в ходе работы с проектом. Он отображается в окне Менеджера Проектов.


Печать завершённого документа

Команда Печать документа проекта позволяет создать и напечатать завершённый документ по выделенному проекту. Этот документ может содержать любые компоненты ( программы, переменные, параметры ) выделенного проекта.  Для создания незавершённого документа нужно только определить его содержание.


Добавление команд в меню Инструменты

ISaGRAF обеспечивает способ ввода других команд в меню "Инструменты". Определенные пользователем команды, которые должны быть добавлены, описаны в текстовом файле "\ISAWIN\COM\ISA.MNU". Вы можете добавить до 10 команд. Комментарии, начинающиеся с символа ;, могут быть вставлены в любой строке. Каждая команда описана в двух текстовых строках в соответствии со следующим синтаксисом :

M=строка_меню

C=командная_строка

Строка меню - это текст, который должен быть изображён в меню. Командная строка - это команда MS-DOS или Windows, которая может завершаться аргументами. В командной строке Вы можете использовать символ %А вместо имени открытого проекта и символ %P вместо имени открытой программы. Следующий пример запускает  для редактирования выбранной программы ( для использования с программами IL и ST ) :

M=Edit with Notepad

C=Notepad.exe \isawin\apl\%A\%P.lsf


Симуляция и отладка работы приложения

Команды меню  используются для запуска графического редактора ISaGRAF как в режиме симуляции, так и в режиме реального соединения.

Симуляция

Реальный отладчик

Подготовка рабочего пространства

Установка связей

Установка последовательной связи

Установка связи Ethernet


Симуляция

Команда Симулировать открывает отладчик в режиме симуляции. В этом режиме появляется другое окно, называемое симулятором. Эта программа очень полезна для проверки любой программы, когда целевая машина не доступна. Запуск симулятора закрывает окно Менеджера Программ. Оно снова открывается в режиме отладки, когда открыты одновременно окна отладчика и симулятора. Симулятор. Симулятор не может быть запущен, если открыты дочерние окна ( редактора, генератора кодов, соединения ввода-вывода...). Каждое из них должно быть закрыто до выполнения этой команды. Кроме того, эта команда доступна из меню редакторов ISaGRAF.


Реальный отладчик

Команда Отладка открывает главное окно отладчика и закрывает окно Менеджера Программ. Оно снова открывается после установления связи между отладчиком и целевым приложением. Отладчик не может быть запущен, если целевой код не сгенерирован. Отладчик не может быть запущен, если открыты дочерние окна ( редактора, генератора кодов, соединения ввода-вывода...). Каждое из них должно быть закрыто до выполнения этой команды. Кроме того, эта команда доступна из меню редакторов ISaGRAF.


Установка связей

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

Номер подчиненного определяет целевую систему или задачу ISaGRAF. Он должен находиться в диапазоне от 1 до 255. Обратитесь к Руководству Пользователя цели для определения используемого номера.

Коммуникационный порт идентифицирует аппаратное сообщение между инструментарием ISaGRAF и целью. Это может быть имя последовательного порта, или Ethernet, зарезервированное средство сообщения, использующее Winsock версии 1.1.

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


Установка последовательной связи

При выборе последовательного порта ( COM1..4) кнопка Установка используется для доступа к другим параметрам последовательной связи.

Могут быть выбраны скорость передачи данных, вид контроля и формат. При выборе режима аппаратура для Контроль ISaGRAF контролирует линии CTS и DSR для установления подтверждения связи в процессе обмена данными.


Установка связи Ethernet

При выборе в качестве последовательного порта Ethernet, кнопка Установка для ввода Адрес интернет и номера Номер порта для связи по протоколу TCP-IP.

Инструментарий использует библиотеку WINSOCK.DLL версии 1.1 для  коммуникации по TCP-IP. Этот файл должен быть корректно установлен на жёсткий диск. 1100 это номер порта, используемый ISaGRAF по умолчанию.


Подготовка рабочего пространства отладки

Команда "Отладка / Рабочее пространство" позволяет Вам определить список документов для начального рабочего пространства. Такими документами могут быть программы, графика Прожектора, списки переменных. Графики и списки временных диаграмм из предыдущих версий  ISaGRAF также записываются документами проекта. Документы, определенные в начальном рабочем пространстве автоматически открываются при запуске симуляции или отладки.

Диалог показывает существующие документы проекта слева и документы, выбранные для начального рабочего пространства. Используйте ">>" и "<<" клавиши для продвижения документов из одного списка в другой. Каждый проект имеет свой собственный список документов для начального рабочего пространства.