ГНЦ ИФВЭ
ОУ У-70
Система Управления комплекса У-70  

Программирование на Верхнем Уровне СУ

Библиотеки алгоритмов СУ


int PrgKern_Master
	(int narg, char *sarg[]
	,unsigned short int (*App_Ini)(int narg,char *sarg[],int,unsigned short int*)
	,void (*App_Edit)(int,unsigned short int*)
	,void (*App_Put)(int,unsigned short int*)
	,void (*App_Setup)(void)
	,void (*App_End)(void)
	,int fl_alarm);

Процедура-функция является ядром, на основе которого могут быть реализованы следующие типы ПП СУ:

I. Программа просмотра измеренных физических и технологических параметров;
II. Головная программа пакета ПП:
 
следит за сообщениями Диалоговой Программы и транслирует их всем ПП пакета;
 
анализирует сообщения всех ПП пакета и устанавливает суммарный результат работы пакета для Диалоговой Программы;
III. Управляющая ПП:
 
простейшая управляющая ПП, которая выполняет редактирование управляющих физических параметров, контролируемое лишь Диалоговой Программой.

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

Процедура-функция является также ядром полнофункциональной управляющей ПП, работающей самостоятельно, т.е. без пакета ПП.

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

narg, sarg - параметры функции main;
App_Ini - процедура-функция для инициализации работы ПП;
App_Edit - процедура редактирования физических параметров (команда пользователя "новые данные");
App_Put - процедура, выполняющая определенный задачей алгоритм (команда пользователя "execute"); обычно, эта процедура выполняет преобразование физических управляющих параметров в технологические и записывает последние в таблицу БД, расположенную одновременно на диске Рабочей Станции и в памяти Контроллера Оборудования;
App_Checkup - процедура чтения каких-либо параметров из других задач СУ;
App_End - процедура, завершающая работу ПП;
fl_alarm - установка семафора записи в файл-комментарий:
 
fl_alarm=0 - открыть файл, если указан параметр при вызове программы,
 
fl_alarm=1 - открыть файл без условий.

Процедура-функция PrgKern_Master содержит среди первых операторов вызовы процедур PrgIni_SigIgnSet, PrgIni_Start и PrgConnectRegime_Get. Процедура-функция принимает обязательный параметр "PL=", передаваемый ПП при вызове, который указывает номер плоскости в таблице описания задач "U70_APPLICATIONS". Из таблицы описания задачи определяются MAIN-таблицы и тип задачи, а из MAIN-таблиц определяются списки управляемых и измеряемых физических и технологических параметров. Если среди в командной строке вызова ПП присутствует параметр "+AP", это означает наличие пакета ПП. 

Алгоритм работы ядра циклический - чтение команды пользователя семафора MAIN-таблицы через каждые CMD_WAIT_SEC секунд. Если команда обнаружена, то она записывается в семафоры управления всех управляемых физических параметров задачи и производится вызов процедур App_Edit и App_Put, если они определены. Если команды пользователя не было, то производится проверка семафоров результата всех управляемых и измеряемых параметров данной задачи и генерируется суммарный результат, который записывается в семафоры MAIN-таблицы.

Команда пользователя, передаваемая Диалоговой Программой, маскируется специальным битом CMD_MASTER. Наличие маски обеспечивает корректность контроля Головной программой пакета за выполнением slave-программами пакета именно данной команды.

Автор © Клименков Е.В.