|
|
Программирование на Верхнем Уровне СУ
Библиотеки алгоритмов СУ
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
секунд.
|
Автор © Клименков Е.В.
|
|
|
|