Программирование на Верхнем Уровне СУ
Библиотеки программных объектов СУ
Класс предназначен для работы с цепочкой
парных объектов, созданных методами классов
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.
Производится вызов следующих процедур:
Результат: 0 - ошибок нет, 1 - обнаружена ошибка, код которой записан в переменную
prg_err.
|
public
|
int DataWriteNew (void)
|
Записать только новые данные в
плоскость №1 таблицы типа DATA.
Производится вызов следующих процедур:
Результат: 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 в таблицы "своего" режима и связанных режимов.
Производится вызов следующих процедур:
Результат: 0 - ошибок нет, 1 - обнаружена ошибка, код которой записан в переменную
prg_err.
|
public
|
int MeasureRead (void)
|
Читать значения параметров из копии 3 таблицы типа DATA.
Производится вызов процедуры DataRead(3)
для всех таблиц класса classTDmeasure .
Результат: 0 - ошибок нет, 1 - обнаружена ошибка, код которой записан в переменную
prg_err.
|
public
|
int MeasureSave (void)
|
-
Записать значения параметров в плоскость №1 и в плоскость
текущей статистики таблицы типа DATA.
-
Записать значения семафоров в
таблицы типа PASSPORT
Производится вызов следующих процедур:
Результат: 0 - ошибок нет, 1 - обнаружена ошибка, код которой записан в переменную
prg_err.
|
public
|
int MeasureEnd (void)
|
Завершение процедуры измерения:
- записать значения измеренных физических параметров в
плоскость №1 таблицы типа DATA;
- записать новые значения семафоров №№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.
|
Автор © Клименков Е.В.
|