ЖУРНАЛ СТА 3/1997

значена для определенных типов дан- ных, составляющих проект. Названия секций приведены на нижних заклад- ках, названия разделов в секции — на верхних закладках. В менеджер проек- тов входят следующие секции: Program — программы проекта как на языке FBD, так и на других языках; Variables — списки и атрибуты всех переменных и констант проекта; Config — описание конфигурации системной части контроллера, модулей контроллера, таблицы привязки пере- менных проекта к выходам и входам модулей, калибровочные таблицы из- мерительных каналов; Options — текстовая неформальная информация о проекте. Секция программирования Секция программирования (Program) содержит титульный лист и листы про- грамм (рис. 5). На титульном листе при- веден список программ, входящих в проект, с указанием языка программи- рования и комментария. Каждая про- грамма имеет свой лист, над которым располагается закладка с именем про- граммы. Автоматизируемый технологический процесс разбивается на отдельные фор- мальные задачи, выполняемые после- довательно. Порядок выполнения задач может быть изменен произвольным образом. Программа может состоять из множества программ, находящихся друг с другом в определенных отноше- ниях, образующих иерархическое де- рево. Программы, состояние которых объявлено как Start (Auto Run), акти- визируются при запуске системы и вы- полняются в каждом цикле работы кон- троллера. Программы, состояние кото- рых объявлено как Stop , активизиру- ются при выполнении тех или иных условий. Собственно программирование осу- ществляется с помощью специального графического редактора (рис. 6). При этом пользователь с помощью мыши устанавливает функциональные блоки в поле программы, соединяет их связями, присваивает связям имена пе- ременных. Имена могут непосредст- венно назначаться в поле программы или вызываться из списков в секции Variables . Все шаги по составлению программы записываются в файлсце- нарий, благодаря чему можно произво- дить откат к предыдущему состоянию (Undo) и возврат к правкам (Redo). Чис- ло шагов Undo/Redo задается пользова- телем в пределах от 0 до 16000. Редактор позволяет выполнять групповые опера- ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНСТРУМЕНТАЛЬНЫЕ СИСТЕМЫ 99 3/97 Пример 1. Обнаружение перепада сигнала IN Двоичная переменная OUT примет значение TRUE только тогда, когда переменная IN изменит свое состояние. Пример 2. Пропорциональный регулятор Val — регулируемый параметр; Ref — уставка, заданное значение параметра; Кm — коэффициент пропор- циональности; Out — сигнал регулирова- ния. Разность (величина рассо- гласования) между измеренным значением регулируемого параметра Val и его заданным значением Ref умножается на Km и используется в качестве регулирующего воздействия. Пример 3. Ограничение нижнего предела делителя Программа обеспечивает деление значения переменной Sampl на значение переменной Val . Переменная делителя Val ограничена снизу значением Vmin . Переменная Error принимает значение TRUE , если Val < Vmin . Пример 4. Оператор преобразования типов Приводит тип переменной var_in к типу переменной var_out . Функция преобразования выбирается автоматически, исходя из назначенных на входе и выходе блока типов переменных. Пример преобразования var_in в двоичный тип Тип var_in Тип и значение var_out Двоичный ( B ) var_in Целый ( I ) FALSE для var_in = 0 , TRUE в других случаях Плавающий ( F ) FALSE для var_in = 0.0 , TRUE в других случаях Таймерный ( T ) FALSE для var_in = 0S , TRUE в других случаях

RkJQdWJsaXNoZXIy MTQ4NjUy