Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Описание_применения.docx
Скачиваний:
321
Добавлен:
26.03.2015
Размер:
36.59 Mб
Скачать

РеализацияSfCвIsaGraf6

Шаги

Начальный шаг

Шаг

Активный и неактивный шаг

Переходы

Длинные переходы

Альтернативное расхождение

Альтернативное схождение

Параллельное расхождение

Параллельное схождение

Программирование действий для шагов

Булевские действия

Импульсные действия

Не сохраняемые действия

Программирование условий переходов

Программирование условий на ST

Программирование условий на LD

Вызов функций из переходов

Программа Gerakl To sfc Converter Принцип работы программы

Язык последовательных функциональных схем SFC позволяет представить алгоритмы управления в наглядной графической форме и исполняемом виде.

В среде разработки ISaGRAF алгоритм управления на языке SFC сохраняется в файле с расширением .isaxml.

Принцип работы программы Gerakl To SFC Converter заключается в преобразовании алгоритма, записанного в текстовом виде на языке Геракл (см. раздел Ввод модели), в файл .isaxml, который среда ISaGRAF отображает в графической форме.

Шаблонный файл Prog1.isaxml хранится в папке проекта среды ISaGRAF и содержит в себе:

  • координаты связей между шагами и переходами, OR и AND -дивергенций и конвергенций, а также координаты прыжков (длинных переходов);

  • конструкции описания шагов;

  • описания действий;

  • описания переходов;

  • словарь переменных проекта;

  • некоторые другие элементы файла.

Рассмотрим подробнее структуру файла и вышеприведенные элементы файла Prog1.isaxml. Файл имеет структуру XML документа и начинается тегом объявления версии языка, на которой написан документ, и кодировки документа:

<?xml version="1.0" encoding="utf-8"?>

В следующем теге Pou определены атрибуты версии файла (FileVersion), имени проекта (Name), комментария (Comment), языка программы проекта (Language), генерации отладочной информации (GenDebugInfo) и различные другие атрибуты. Данный тег содержит в себе все остальные теги, включая структуру блок-схемы алгоритма:

<Pou FileVersion = "200.00.000" Name = "ProgOR" ElementGuid = "88b1fb05-09ce-41ff-a77e-c63ccd5fae2c" Comment = "" SingleTextLine = "" Language = "SFC" CustomFbd = "0" Localization = "Prj" GroupName = "(Определяемый пользователем)" GenDebugInfo = "false" UseResPassword = "true" GenerateSymbMon = "true" Is1499 = "false">

Следующий Тег <LocalVars> представляет собой словарь переменных проекта.

Далее идет тег <PouBody> и в нем секция CDATA, содержащая в себе уже только символьные данные, которые не смогут быть обработаны средой ISaGRAF как разметка XML-документа:

<PouBody><![CDATA[

В этой секции и размещается структура блок-схемы на языке SFC со всеми ее элементами, которая отображается при открытии проекта в ISaGRAF.

Рассмотрим теперь основные конструкции элементов файла Prog1.isaxml.

Конструкция LINK описывает связь между шагами, переходами, дивергенциями и конвергенциями:

#info= LINK

COORD= 56 35

COORD= 56 37

FROM= 3 T1

TO= 2 S2

#end_info

#info= LINK

COORD= 56 107

COORD= 56 109

FROM= 8

TO= 2 S5

#end_info

Конструкция STEP описывает шаг. В ней помимо координат может записываться также вызов действия, принадлежащего данному шагу:

STEP S2 :

Action2 (N);

#info= COORD

[ 48 , 36 ]

#end_info

END_STEP

Конструкция ACTION описывает действия шага (программные инструкции) на языке ST:

ACTION Action2 :

#info= ST

bb := 56*34;

func(a, bb);

#end_info

END_ACTION

Конструкция TRANSITION описывает переход. Если переход условный, т.е. осуществляется переход к той или иной ветви OR - дивергенции, то в конструкции также записывается условие перехода на языке ST:

TRANSITION T3

FROM S2

TO S4 :

#info= ST

not(a);

#end_info

#info= COORD

[ 80 , 60 ]

#end_info

END_TRANSITION

Локальные переменные алгоритма хранятся в файле .isaxml в тегах <LocalVars></LocalVars>.

Каждая переменная описывается рядом параметров через атрибуты в теге <Variable />:

  • имя переменной (Name),

  • тип данных (DataType),

  • начальное значение (InitialValue),

  • комментарий (Comment),

  • адрес (Address),

  • направление (Kind),

  • алиас (Alias),

  • права доступа (AccessRights),

  • размер строки (StringSize)

  • другие атрибуты, которые можно задать в редакторе переменных среды ISaGRAF.