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

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

Библиотеки программных объектов СУ

class ApplicationControl
Открытые (public) методы
 
ApplicationControl ()
 
~ApplicationControl ()
 
classPPtable* NewPPtable (void)
 
classPDtable* NewPDtable (void)
 
classPPcontrol* NewPPcontrol (void)
 
classPDcontrol* NewPDcontrol (void)
 
classTPtable* NewTPtable (void)
 
classTDtable* NewTDtable (void)
 
classTPcontrol* NewTPcontrol (void)
 
classTDcontrol* NewTDcontrol (void)
 
int MakeRun (int narg, char *sarg[])
 
virtual int FunIni (int narg, char *sarg[])
 
virtual int FunCheckup (void)
 
virtual int FunEditOnly (short int narchive)
 
virtual int FunDataConvert (void)
 
virtual void FunEnd (void)
Закрытые (protected) методы
 
int MakeEdit (short int nplane, short int narchive)
 
int MakePutOnly (void)
 
int CmdEdit (void)
 
int CmdPut (void)
 
int CmdEditPut (void)
 
int CmdGetArchive (short int narchive)
 
int CmdGetArchivePut (short int narchive)
 
int CmdGetRegime (short int nregime)
Закрытые (protected) Данные
 
class classAdrParWork AdrPar - объект для работы с параметром СУ;
 
class classPPtable*PPtable - переменная для определения объектов, работающих с таблицами типа PASSPORT для физических параметров;
 
class classPDtable *PDtable - переменная для определения объектов, работающих с таблицами типа DATA для физических параметров;
 
class classPPcontrol *PPcontrol - переменная для определения объектов, работающих с таблицами типа PASSPORT для физических управляющих параметров;
 
class classPDcontrol *PDcontrol - переменная для определения объектов, работающих с таблицами типа DATA для физических управляющих параметров;
 
class classTPtable *TPtable - переменная для определения объектов, работающих с таблицами типа PASSPORT для технологических параметров;
 
class classTDtable *TDtable - переменная для определения объектов, работающих с таблицами типа DATA для технологических параметров;
 
class classTPcontrol *TPcontrol - переменная для определения объектов, работающих с таблицами типа PASSPORT для технологических измеряемых параметров;
 
class classTDcontrol *TDcontrol - переменная для определения объектов, работающих с таблицами типа DATA для технологических измеряемых параметров;

public ApplicationControl ()
  1. Создание объекта AdrPar для работы с параметрами СУ.
  2. Инициализация процедуры PrgIni_SigIgnSet(NULL,NULL) аварийного завершения работы программы
public ~ApplicationControl ()
  1. Закрытие таблиц БД процедурой PrgDBa_closeAll().
  2. Вызов процедуры PrgIni_End().
public classPPtable* NewPPtable (void)

Инициализация объекта, работающего с таблицей типа PASSPORT для физических параметров.

Вызов процедуры

      AdrPar.Ini( (void*)(new classPPtable), N_PPtable )

Результат: NULL - обнаружена ошибка, код которой записан в переменную prg_err, иначе - адрес объекта в динамической памяти.

public classPDtable* NewPDtable (void)

Инициализация объекта, работающего с таблицей типа DATA для физических параметров.

Вызов процедуры

    AdrPar.Ini( (void*)(new classPDtable), N_PDtable )

Результат: NULL - обнаружена ошибка, код которой записан в переменную prg_err, иначе - адрес объекта в динамической памяти.

public classPPcontrol* NewPPcontrol (void)

Инициализация объекта, работающего с таблицей типа PASSPORT ля физических управляющих параметров.

Вызов процедуры

    AdrPar.Ini( (void*)(new classPPcontrol), N_PPcontrol )

Результат: NULL - обнаружена ошибка, код которой записан в переменную prg_err, иначе - адрес объекта в динамической памяти.

public classPPcontrol* NewPDcontrol (void)

Инициализация объекта, работающего с таблицей типа DATA для физических управляющих параметров.

Вызов процедуры

    AdrPar.Ini( (void*)(new classPDcontrol), N_PDcontrol )

Результат: NULL - обнаружена ошибка, код которой записан в переменную prg_err, иначе - адрес объекта в динамической памяти.

public classTPtable* NewTPtable (void)

Инициализация объекта, работающего с таблицей типа PASSPORT для технологических параметров.

Вызов процедуры

       AdrPar.Ini( (void*)(new classTPtable), N_TPtable )

Результат: NULL - обнаружена ошибка, код которой записан в переменную prg_err, иначе - адрес объекта в динамической памяти.

public classTDtable* NewTDtable (void)

Инициализация объекта, работающего с таблицей типа DATA для технологических параметров.

Вызов процедуры

     AdrPar.Ini( (void*)(new classTDtable), N_TDtable )

Результат: NULL - обнаружена ошибка, код которой записан в переменную prg_err, иначе - адрес объекта в динамической памяти.

public classTPcontrol* NewTPcontrol (void)

Инициализация объекта, работающего с таблицей типа PASSPORT для технологических измеряемых параметров.

Вызов процедуры

     AdrPar.Ini( (void*)(new classTPcontrol), N_TPcontrol )

Результат: NULL - обнаружена ошибка, код которой записан в переменную prg_err, иначе - адрес объекта в динамической памяти.

public classTDcontrol* NewTDcontrol (void)

Инициализация объекта, работающего с таблицей типа DATA для технологических измеряемых параметров.

Вызов процедуры

    AdrPar.Ini( (void*)(new classTDcontrol), N_TDcontrol )

Результат: NULL - обнаружена ошибка, код которой записан в переменную prg_err, иначе - адрес объекта в динамической памяти.

public int MakeRun (int narg, char *sarg[])
Процедура содержит алгоритм работы управляющей ПП СУ. Алгоритм в упрощенном виде с пояснениями приведен ниже:
  1. Инициализация:
  2. Управление:
    unsigned short int cmd;
    short int n;
    while (!(prg_err & ~RC_EXIT))
    {
  3. Завершение работы:
    } // конец while
    AdrPar.SetResult( prg_err );  FunEnd();
public virtual int FunIni (int narg, char *sarg[])
Пустая процедура, которую можно переопределить. Вызывается в начале работы программы для инициализации данных.
public virtual int FunCheckup (void)
Пустая процедура, которую можно переопределить. Вызывается при отсутствии команды пользователя для чтения значений параметров из других задач СУ.
public virtual int FunEditOnly (short int narchive)
Пустая процедура, которую можно переопределить. Вызывается для выполнения алгоритма редактирования и проверки на корректность значений параметров.
public virtual int FunDataConvert (void)
Пустая процедура, которую можно переопределить. Вызывается для выполнения алгоритма преобразования значений физических параметров в технологические.
public virtual void FunEnd (void)
Пустая процедура, которую можно переопределить. Вызывается перед завершением работы программы, например, для освобождения динамической памяти, занятой в процессе работы.
protected int MakeEdit (short int nplane, short int narchive) virtual void FunEnd (void)
Процедура вызывается для чтения, возможно, анализа и спасения новых значений параметров:
  • если nplane=1, то читаются значения всех параметров;
    иначе из таблиц читаются только новые значения параметров процедурой
    AdrPar.DataReadNew();
  • для выполнения алгоритма редактирования (проверки) значений параметров вызывается процедура
    FunEditOnly(narchive);
  • если были прочитаны новые значения параметров, то проверенные значения параметров записываются в таблицы процедурой
    AdrPar.DataWriteNew();
protected int MakePutOnly (void)
Процедура вызывается при выполнении команды "execute". Для вычисления значений технологических параметров вызывается процедура
    FunDataConvert();
Для записи значений физических и технологических параметров для своего и связанных режимов вызывается процедура
    AdrPar.DataWriteRegime();
protected int CmdEdit (void)
Процедура непосредственно выполняет команду пользователя "есть новые данные". Для чтения новых значений параметров, их редактирования и проверки на корректность, а также для их записи в таблицы она делает вызов процедуры
    MakeEdit(2,0);
protected int CmdPut (void)
Процедура непосредственно выполняет команду пользователя "execute". Для чтения значений параметров, их проверки на корректность, вычисления значений технологических параметров и записи их в таблицы для своего и связанных режимов она делает вызовы процедур
    CmdEdit();
    MakePutOnly();
protected int CmdEditPut (void)
Процедура непосредственно выполняет сдвоенную команду пользователя "есть новые данные и execute". Для этого она делает вызовы
    CmdEdit(); 
    MakePutOnly();
protected int CmdGetArchive (short int narchive)
Процедура непосредственно выполняет команду пользователя "есть новые данные из архива". Для этого она делает вызов
    MakeEdit(2,narchive);
protected int CmdGetArchivePut (short int narchive) int CmdGetArchive (short int narchive)
Процедура непосредственно выполняет сдвоенную команду пользователя "есть новые данные из архива и execute". Для этого она делает вызовы
    MakeEdit(2,narchive); 
    MakePutOnly();
protected int CmdGetRegime (short int nregime) int CmdGetArchive (short int narchive)
Процедура непосредственно выполняет команду пользователя "взять данные из другого режима". Для этого она делает вызов
    AdrPar.DataGetRegime(nregime);

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