Котлоагрегаты

Другие объекты

Разное

Вопросы по АТП (автоматизации технологических процессов)

Designed by:
Joomla Templates

Создание и отладка функций управления в ТМ5

Общая часть

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

Основные определения языка Техно FBD

Методология создания содержания FBD программ определяется набором правил, которые объединены понятием Язык Техно FBD. Язык Техно FBD является графическим  и его синтаксис отвечает требованиям международного стандарта ISO 1131-3. Синтаксисом языка Техно FBD предусматривается использование функций для обработки данных в виде констант и переменных. Переменные FBD - программы могут быть внутренние или внешние. Внешние переменные называются аргументами. Суммарное количество переменных в одной программе не может превышать 254. При вызове одной программы разными каналами для каждого из них создается свой набор ее переменных. При этом сохраняют значения не только константы и аргументы, но и внутренние переменные. Функциональный блок (далее блок) является элементарным звеном FBD-програмы (диаграммы), которым графически реализуется вызов функции.

Обозначение вызываемой функции выводится в верхней части блока.

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

-     Свободен (>);

-     Блок (X);

-     Константа(u);

-     Аргумент (n).

Состояние Свободен устанавливается автоматически для всех незадействованных входов. Состояние Блок устанавливается для всех входов и выходов, имеющих межблочные связи. Вход или выход, имеющий данное состояние (назначение), связан с внутренней переменной программы. Назначение типа Константа задается для входа, который должен иметь фиксированное значение в процессе выполнения программы. Величина константы задается при подключении программы к каналу. Назначение типа Аргумент задается как входам, так и выходам для связывания их с внешними переменными, которыми являются атрибуты каналов. Связывание с атрибутами каналов выполняется при подключении программы. Для входов и выходов можно включать инверсию. На одном ФБ может быть инвертирован только один вход. Для включения инверсии надо нажать ПКМ на изображении входа или выхода. При этом в его основании появится круг – признак инвертирования. В нижней части ФБ выводится порядковый номер его пересчета в программе. Он устанавливается автоматически после первого пересчета в режиме отладки или при сохранения проекта,  показывает очередность выполнения блоков и не корректируется. Он содержит порядковый номер пересчета текущего и следующего ФБ, разделенные  символом «:». Для первого ФБ дополнительно приводится символ В, а для последнего - Е.

Она имеет следующий формат:

nn<имя объекта>:<имя канала>_<атрибут>,

где nn – характеристика аргумента:

=> - значение аргумента формируется программой;

<= - значение аргумента передается программе.

Аргументы программы перепривязываются. Их можно связать с атрибутами любого канала базы. При двойном нажатии ЛКМ на строке аргумента в списке выводится окно диалога Выбор канала с текущими связями выбранного аргумента. При редактировании связи выбирается требуемый канал и его атрибут, значение которого ставится в соответствие аргументу программы при ее вызове. Через список задаются значения констант программы при вызове ее в этом канале. Для этого  надо дважды нажать ЛКМ в строке константы и в окне диалога Значение переменной и задать ее значение в десятичном или шестнадцатеричном формате. На закладке настройки процедур канала имеется кнопка Установить везде. При нажатии на ней ЛКМ настройка выделенного аргумента или константы устанавливается для всех каналов текущего узла, вызывающих данную FBD-программу. Частота вызова FBD-программы процедурами канала определяется его периодом.

Создание пользовательских функций

В ТМ5 пользовательские функции создаются в виде IL программ. Кроме этого функцией пользователя можно представить отдельную FBD программу. Для создания IL программ используется язык инструкций Техно IL. Он является расширением  IL-языка международного стандарта IEC 1131-3, использует двухадресный режим, имеет более простой синтаксис, а также дополнительные функции и операторы. На языке Техно IL создаются программы-функции и метапрограммы. Программы-функции: тип FB, используются как дополнительные функциональные блоки в FBD программах. Мета программы: тип PRG, запускаемые параллельно с пересчетом базы каналов и может иметь до 128 программных циклов. Переход к созданию IL-программы выполняется по команде Создать из пункта Техно IL меню РБК. При этом вызывается окно диалога Техно IL, в котором и выполняются все операции по созданию и редактированию программы.

При создании и редактировании программы ей назначается тип и задается два имени: основное и дополнительное. Тип программы: FB или PRG, выбирается из списка. Основное имя (до 7-ми знаков без пробела)  используется для идентификации программы. Оно выводится во всех списках РБК при ссылках на IL программы. Дополнительное имя у программы типа FB используется для обозначения функционального блока, а у программ типа PRG дополнительное имя является номером программы от 0 до 15.

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

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

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

Для программ типа FB после операции добавления в проект в один из функциональных разделов Техно IL_1, Техно IL_2 или Техно IL_3 будет добавлен новый функциональный блок. Раздел выбирается по наличию в нем свободных мест. Новому блоку присваивается дополнительное имя программы. Максимальное число добавляемых в проект блоков равно 54.

Каждая IL программа представлена двумя файлами в каталоге ASM инструментальной системы. Это одноименные файлы типа il и icl, имена которых образованы от дополнительного имени программы. Соответственно первый содержит текст программы, а второй – код для МРВ, полученный в результате трансляции. Кроме этого для каждой IL программы типа FB в каталоге INI инструментальной системы сохраняется файл icl<n>.def, где <n> – номер добавленного блока: от 0 до 53. Этот файл имеет текстовый формат. В нем описываются имена входов и выходов блока. По умолчанию им присваиваются соответственно имена I<n> и Q<n>, где  <n> – номер по порядку. Эти имена можно изменить, используя не более 3-х символов.

При выходе из РБК или выгрузке текущего проекта (загрузке нового) файлы используемых в проекте IL программ копируются в соответствующие подкаталоги проекта. При следующей его загрузке они снова копируются в инструментальную систему. Если в ее каталогах присутствуют файлы от предыдущего редактируемого проекта, то при совпадении имен и номеров они затираются. Если в редактируемом проекте не использовались функциональные блоки с функциями пользователей, то для него будут доступны все блоки последнего редактируемого проекта.

Для удаления IL-программы из проекта надо выполнить команду Удалить из пункта Техно IL меню РБК. При этом на экран выводится список основных имен подключенных функциональных блоков и метапрограмм. Перед именами метапрограмм записывается текст Tn:, где n - номер программы. Используемые в проекте программы типа FB помечены в списке символом «звездочка» (*). Если удаляется функциональный блок, то производится контроль его использования в проекте. Если результат проверки положительный, то выдается предупреждение и блок не удаляется.

IL-программа может быть сохранена в текстовый файл вне проекта. Для этого надо выполнить команду Сохранить как из пункта Файл меню окна диалога Техно IL. Имя файла для сохранения и путь к нему можно указать любые. По умолчанию предлагается использовать файл с именем, образованным из основного имени программы, и поддиректорию ASM инструментальной системы. Тексты программ на языке Техно IL сохраняются в файлы с расширением il. Сохраненная ранее программа может быть загружена в РБК. Для этого надо выполнить команду Открыть из пункта Файл меню окна диалога Техно IL.

 

  • встроенные средства контроля за внесением изменений в программный код ISaGRAF-приложения и печати отчетов по разработанному проекту с большой степенью детализации, включая печать таблиц перекрестных ссылок для программ и отдельных переменных;
  • · полное документирование этапов разработки.

ISaGRAF Runtime Target

создается (модифицируется) средствами Developer Kit на основе ядра под конкретную конфигурацию «железа» и ОС. Он и нтерпретирует TIC (Target Independent Code) – файл прикладной задачи с функциями управления,  созданный ISaGRAF Workbench. Прикладная задача ISaGRAF работает в синхронном режиме по временным циклам, длительность которых определяется разработчиком. Минимальная продолжительность циклов исполнения прикладной задачи определяется характеристиками аппаратно-программной платформы, на которой происходит исполнение задачи. Программный цикл предваряется опросом всех сконфигурированных входных каналов (напр. каналы АЦП) и завершается обновлением всех выходных каналов (напр. каналы ЦАП). Такая схема работы ISaGRAF-приложения гарантирует работу только с одной копией объектных данных типа INPUT/OUTPUT в рамках одного временного цикла.