Блок «Малахит – Функционально-групповое управление»

Блок является «информационным», не связан с какой-либо категорией базы данных, и предназначен для создания листа алгоритмов, относящихся к одной отдельной функциональной группе оборудования. Блок имеет три «информационных» свойства (см. Рисунок 1), два из которых («Имя алгоритма» и «Описание алгоритма») задаются пользователем-разработчиком алгоритмов, а третье («Номер страницы») вычисляется автоматически на этапе инициализации проекта.

Значение свойства «Имя алгоритма» должно быть уникально в пределах проекта, и оно используется в качестве имени данного блока (см. вкладку «Общие»), а также при автоматическом заполнении штампа данного листа (см. листинг ниже). Значение свойства «Описание алгоритма» используется только при автозаполнении штампа листа (см. листинг ниже).

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

Рисунок 1. Свойства блока «Малахит – ФГУ»

Автоматическое заполнение штампа данного листа реализовано следующим скриптом, аналогичным скрипту для шаблона «Схема автоматики Малахит»:
initialization
 submodel.Name = submodel._Name;
 
 if not iseditprops then begin
 submodel._Page = curPageCount; 
 curPageCount = floattostr(curPageCount + 1); 
 end;
 
 shtamp.pribor = pribor; // имя прибора
 shtamp.ob_capt = description; // описание прибора
 shtamp.ob_submodel_name = "ФГУ " + submodel._Name; // имя субмодели
 shtamp.ob_submodel_descr = submodel._Capt; // описание субмодели
 
 shtamp.prj_capt = project_cap;
 shtamp.Page = submodel._Page;
 
 InitObject(shtamp); 
end;

Подобным образом реализовано автозаполнение штампа и нумерация страниц во всех остальных блоках и далее в описании блоков приводиться не будет.

В итоге на самом верхнем уровне алгоритмов прибора должно быть создано требуемое количество блоков «ФГУ», наполненных алгоритмами автоматического управления, относящихся к соответствующей ФГ.