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

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

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


int  PrgCntr_Make
		(int narg, char *sarg[]
		,int (*App_Ini)(int narg, char *sarg[])
		,int (*App_Command)(unsigned short int*)
		,int (*App_Result)(unsigned short int)
		,int (*App_Edit)(void)
		,int (*App_EditPut)(void)
		,int (*App_Arc)(short int)
		,int (*App_ArcPut)(short int)
		,int (*App_Put)(void)
		,int (*App_GetRegime)(short int)
		,int (*App_Checkup)(void)
		,void (*App_End)(void)
		,int fl_alarm);

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

При этом алгоритм задачи управления реализуется в нескольких процедурах-функциях, передаваемых ядру в качестве параметров:

narg, sarg - параметры  функции main;
App_Ini - процедура-функция будет вызвана для инициализации работы ПП;
если ПП реализует управление в разных режимах работы ускорителя, то следует использовать процедуру PrgConnectRegime_Get;
App_Command - процедура-функция вызывается для чтения команды пользователя;
App_Result - процедура-функция вызывается для записи результата выполнения команды пользователя в семафоры управляющих физических параметров;
рекомендуется использовать процедуру PrgIni_SetResult;
App_Edit - процедура-функция будет вызвана при редактировании пользователем физических параметров (команда пользователя CMD_NEWDATA);
App_EditPut - процедура-функция, выполняющая действия процедур-функций App_Edit и App_Put;
App_Arc - процедура-функция будет вызвана для проверки физических параметров, полученных из архива (команда пользователя CMD_NEWDATA);
App_ArcPut - процедура-функция, выполняющая действия процедур-функций App_Arc и App_Put;
App_Put - процедура-функция, выполняющая алгоритм задачи управления (команда пользователя CMD_PUTDATA); обычно, эта процедура-функция выполняет преобразование физических управляющих параметров в технологические и записывает последние в таблицу Базы Данных, расположенную одновременно на диске Рабочей Станции и в памяти Контроллера Оборудования;
App_GetRegime - процедура-функция будет вызвана для чтения управляющих физических параметров, относящихся к указанному (short int) режиму работы (команда пользователя CMD_GETREGIME);
App_Checkup - процедура-функция чтения каких-либо параметров из других задач СУ;
App_End - процедура, завершающая работу ПП;
fl_alarm - установка семафора записи в файл-комментарий:
 
fl_alarm=0 - открыть файл, если указан параметр "cmt" при вызове программы,
 
fl_alarm=1 - открыть файл без условий.

Ядро управляющей ПП содержит в качестве первых операторов вызовы процедур PrgIni_SigIgnSet и PrgIni_Start

Если процедура-функция App_Ini обнаружит ошибку со значением, не равным RC_ECOFF, то Ядро и, следовательно, ПП прекращает работу.

Алгоритм работы Ядра циклический - чтение команды пользователя и выполнение команды, если команда обнаружена. Команда пользователя проверяется через каждые CMD_WAIT_SEC секунд.

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