Процедура-функция реализует все правила организации
Локального Супервизора СУ, т.е. ПП, следящей
за состоянием технологической подсистемы
СУ (состояние Контроллера Оборудования,
базы данных, сети, аппаратуры). Процедуру-функцию
следует использовать как ядро при создании
Локальных Супервизоров СУ, которые могут
обладать и дополнительными свойствами -
измерение физических параметров
подсистемы, создание графических файлов,
ведение статистики измерений и пр.
Эта процедура-функция используется как
ядро при построении Главных
Супервизоров установок ускорительного
комплекса, каждый их которых следит за
работой всех Локальных Супервизоров "своей"
установки и готовит информацию об их
состоянии пользователю.
Эта процедура-функция организует выполнение
только алгоритма слежения и диагностики. Остальные
алгоритмы - инициализации и завершения работы,
обработки измеренных
данных и прочие - реализуются в специально
создаваемых процедурах-функциях,
которые передаются ядру в качестве параметров
и вызываются ядром по мере необходимости:
|
narg, sarg - параметры функции main ;
|
|
App_Ini - процедура-функция будет вызвана для
инициализации работы ПП;
|
|
App_End - процедура-функция, завершающая
работу ПП;
|
|
App_Setup - процедура-функция чтения каких-либо
параметров из других задач СУ,
вызывается перед каждой проверкой
готовности данных в Контроллере Оборудования;
|
|
App_Data - процедура-функция, реализующая
собственный алгоритм Супервизора (обработка
измерений и пр.);
данная процедура-функция будет
вызвана при условии готовности данных
в Контроллере Оборудования и при
отсутствии каких-либо ошибок:
|
|
|
для записи измеренных данных в БД
необходимо соблюдать правила СУ и для этого
следует использовать
процедуры PrgDBa_PDsave ,
PrgDBa_TDsave , PrgIni_StatPlane;
|
|
|
для создания графических файлов рекомендуется использовать
процедуры библиотеки bmplib.a ;
|
|
fl_alarm
- установка семафора записи в файл-протокол:
|
|
|
fl_alarm=0 - открыть файл, если указан параметр
"cmt" при вызове программы,
|
|
|
fl_alarm=1 - открыть файл без условий.
|
Ядро Супервизора содержит в качестве первых операторов вызовы
процедур PrgIni_SigIgnSet
и PrgIni_Start . Если
процедура-функция App_Ini обнаружит ошибку
со значением, не равным RC_ECOFF ,
то Ядро и, следовательно, Супервизор прекращает
работу. Алгоритм работы Ядра
циклический - чтение команды
пользователя через каждые SV_WAIT_SEC
секунд и выполнение команды, если
команда обнаружена. Если команда не
обнаружена, то проверяется готовность
данных в Контроллере Оборудования. Если
данные готовы и какие-либо ошибки не
обнаружены, то выполняется собственный
алгоритм данного Супервизора. В случае
фиксирования какой-либо ошибки Ядро
записывает код этой ошибки в семафор
результата измерения MAIN-таблицы.
Супервизоры не поддерживают интерфейс с
Диалоговой Программой, поэтому
пользователь может управлять работой
Супервизоров только посредством
специальной ПП, называемой Менеджером
Локальных Супервизоров СУ. Менеджер
преобразует команды пользователя в коды,
которые имеют для Супервизоров следующий смысл:
Автор © Клименков Е.В.
|