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

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

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

class class class PARAMETER class

Класс предназначен для работы с цепочкой парных объектов, созданных методами классов classAdrTbl и classAdrPar. Класс предполагает в составе парных объектов классы, содержащие свойства и методы работы с таблицами типа PASSPORT и типа DATA Каждый парный объект полностью определяет один или несколько параметров СУ соответствующих таблицам типов. Данный класс содержит все необходимые методы работы с параметрами.

Семафор трассировки наследуется из класса classAdrTbl.

class classAdrParWork : public classAdrPar
Класс не имеет конструктора и деструктора.
Открытые (public) методы
 
void CheckTbl (void)
 
void CheckPar void)
 
int GetCommand (unsigned short int *cmd)
 
int SetResult (unsigned short int rc)
 
int UserClear (void)
 
int DataIni (void)
 
int DataRead (short int nplane)
 
int DataWrite (short int nplane)
 
int DataReadNew (void)
 
int DataWriteNew (void)
 
int DataGetRegime (short int nregime)
 
int DataWriteRegime (void)
 
int MeasureRead (void)
 
int MeasureSave (void)
 
int MeasureEnd (void)
Закрытые (protected) Данные
 
class classPPtable*PPtable - переменная для определения объектов, работающих с таблицами типа PASSPORT для физических параметров;
 
class classPDtable *PDtable - переменная для определения объектов, работающих с таблицами типа DATA для физических параметров;
 
class classPPcontrol *PPcontrol - переменная для определения объектов, работающих с таблицами типа PASSPORT для физических управляющих параметров;
 
class classPDcontrol *PDcontrol - переменная для определения объектов, работающих с таблицами типа DATA для физических управляющих параметров;
 
class classPPmeasure *PPmeasure - переменная для определения объектов, работающих с таблицами типа PASSPORT для физических измеряемых параметров;
 
class classPDmeasure *PDmeasure - переменная для определения объектов, работающих с таблицами типа DATA для физических измеряемых параметров;
 
class classTPtable *TPtable - переменная для определения объектов, работающих с таблицами типа PASSPORT для технологических параметров;
 
class classTDtable *TDtable - переменная для определения объектов, работающих с таблицами типа DATA для технологических параметров;
 
class classTPcontrol *TPcontrol - переменная для определения объектов, работающих с таблицами типа PASSPORT для технологических измеряемых параметров;
 
class classTDcontrol *TDcontrol - переменная для определения объектов, работающих с таблицами типа DATA для технологических измеряемых параметров;
 
class classTPmeasure *TPmeasure - переменная для определения объектов, работающих с таблицами типа PASSPORT для технологических измеряемых параметров;
 
class classTDmeasure *TDmeasure - переменная для определения объектов, работающих с таблицами типа DATA для технологических измеряемых параметров;
 
void *a1, *a2 - переменные для поиска парных объектов.

public void CheckTbl (void)

Вывести в файл-протокол все объекты, созданные процедурой classAdrTbl::Ini.

Процедура выполняется независимо от значения семафора трассировки при условии, что файл-протокол определен.

public void CheckPar void)

Вывести в файл-протокол все парные объекты, созданные процедурой classAdrPar::SetPar.

Процедура выполняется независимо от значения семафора трассировки при условии, что файл-протокол определен.

public int GetCommand (unsigned short int *cmd)

Получить команду пользователя из семафоров №2.

Производится вызов процедуры GetCommand(cmd) для всех таблиц класса classPPtable и класса classPPcontrol.

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

public int SetResult (unsigned short int rc)

Установить результат работы в семафоры №1.

Производится вызов процедуры SetResult(rc) для всех таблиц класса classPPtable и класса classPPcontrol.

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

public int UserClear (void)

Обнулить команду пользователя в семафорах №2.

Производится вызов процедуры UserClear для всех таблиц класса classPPtable и класса classPPcontrol.

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

public int DataIni (void)

Инициализировать данные.

Производится вызов процедуры DataIni для всех таблиц классов classPPtable, classPPcontrol, classPDtable, classPDcontrol.

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

public int DataRead (short int nplane)

Читать значения параметров из плоскости nplane таблицы типа DATA.

Производится вызов процедуры DataRead(nplane) для всех таблиц класса classPDtable и класса classPDcontrol.

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

public int DataWrite (short int nplane)

Записать значения параметров в плоскость nplane таблицы типа DATA.

Производится вызов процедуры DataWrite(nplane) для всех таблиц класса classPDtable и класса classPDcontrol.

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

public int DataReadNew (void)

Читать только новые данные из плоскости №2 таблицы типа DATA.

Производится вызов следующих процедур:

  • PDtable->DataReadNew(PPtable->GetAdr2()) для всех парных объектов, составленных из пар классов classPPtable и classPDtable.
  • PDcontrol->DataReadNew(PPcontrol->GetAdr2()) для всех парных объектов, составленных из пар классов classPPcontrol и classPDcontrol.

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

public int DataWriteNew (void)

Записать только новые данные в плоскость №1 таблицы типа DATA.

Производится вызов следующих процедур:

  • PDtable->DataWriteNew(PPtable->GetAdr2()) для всех парных объектов, составленных из пар классов classPPtable и classPDtable.
  • PDcontrol->DataWriteNew(PPcontrol->GetAdr2()) для всех парных объектов, составленных из пар классов classPPcontrol и classPDcontrol.

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

public int DataGetRegime (short int nregime)

Читать указанные данные из плоскости №1 таблицы типа DATA, соответствующей режиму с номером nregime и записать в плоскость №2 таблицы типа DATA "своего" режима.

Производится вызов процедуры PDcontrol->DataGetRegime(nregime,PPcontrol->GetAdr2()) для всех парных объектов, составленных из пар классов classPPcontrol и classPDcontrol.

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

public int DataWriteRegime (void)

Для физических параметров: записать значения параметров и значения семафоров №№1,2 в таблицы связанных режимов.

Для технологических параметров: записать значения параметров и значения семафоров №№1,2 в таблицы "своего" режима и связанных режимов.

Производится вызов следующих процедур:

  • DataWriteRegime() для всех таблиц класса класса classPDcontrol.
  • SetResultRegime(0) для всех таблиц класса classPPcontrol.
  • DataWriteRegime(1)и DataWriteRegime(3) для всех таблиц класса classTDcontrol
  • SetResultRegime(0) для всех таблиц класса classTPcontrol.
  • DataWrite(1)и DataWrite(3) для всех таблиц класса classTDtable.
  • SetResultRegime(0) для всех таблиц класса classTPtable.

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

public int MeasureRead (void)

Читать значения параметров из копии 3 таблицы типа DATA.

Производится вызов процедуры DataRead(3) для всех таблиц класса classTDmeasure.

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

public int MeasureSave (void)
  1. Записать значения параметров в плоскость №1 и в плоскость текущей статистики таблицы типа DATA.
  2. Записать значения семафоров в таблицы типа PASSPORT

Производится вызов следующих процедур:

  • TDmeasure->SaveStatist() и TPmeasure->SetStatist() для всех парных объектов, составленных из пар классов classTPmeasure и classTDmeasure.
  • PDmeasure->SaveStatist() и PPmeasure->SetStatist() для всех парных объектов, составленных из пар классов classPPmeasure и classPDmeasure.

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

public int MeasureEnd (void)

Завершение процедуры измерения:

  1. записать значения измеренных физических параметров в плоскость №1 таблицы типа DATA;
  2. записать новые значения семафоров №№1,2 и признак конца работы программы в таблицу типа PASSPORT.

Производится вызов следующих процедур для всех парных объектов, составленных из пар классов classPPmeasure и classPDmeasure:

      PDmeasure->DataWrite(1);
      unsigned short int *pp1=PPmeasure->GetAdr1();
      PPmeasure->SetResult(RC_EXIT | (pp1[0] & 0x00ff));

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

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