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

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

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

class class class class class class class PASSPORT-table classes

class classPASS
Открытые (public) методы
 
classPASS (void)
 
~classPASS (void)
 
void SetTrace (int fl)
 
int GetTrace (void)
 
int Ini (char *name, int plane, int tup1, int tup2)
 
short int *GetTblID (void)
 
unsigned short int *GetAdr1 (void)
 
unsigned short int *GetAdr2 (void)
 
int GetSize (void)
 
int GetPlane (void)
 
int GetTup1 (void)
 
int GetTup2 (void)
 
int GetNtup (void)
 
char *GetName (void)
 
void SetCoord (int nplane)
 
int GetValues (int ntup)
 
int UserClear (void)
 
int DataChange (void)
 
int SetResult (unsigned short int rc)
Защищенные (private) методы
 
void GetSemaphore (void)
Закрытые (protected) методы
 
void SetSemaphore (void)
 
int DataReadWrite (int fl, int nplane=0)
 
unsigned short int *GetAdr (void)
Защищенные (private) Данные
 
int fl_trace - семафор трассировки;
 
char tbl_name[TBL_LEN_TABLE] - имя таблицы;
 
short int tbl_id - номер структуры таблицы;
 
int tbl_plane - номер плоскости таблицы;
 
int tbl_tup1 - номер начальной строки таблицы;
 
int tbl_tup2 - номер начальной строки таблицы;
 
int tbl_ntup - число строк таблицы;
 
unsigned short int *tbl_data[3]
0
- адрес рабочего буфера;
1
- адрес списка семафоров обновления параметров;
2
- адрес списка семафоров управления параметрами (команды пользователя);
 
int tbl_size - размер в байтах рабочего буфера;
 
#define NclassPASS_mtup 100 - половина максимально возможного числа параметров
 
unsigned short int buf_data[4*NclassPASS_mtup] - зарезервированный буфер для 200 параметров.

public classPASS ()
Конструктор позволяет инициализировать объект до определения его параметров, т.е. позволяет объявлять объект как глобальную переменную. Определение (вычисление) параметров производится вызовом функции Ini, которая анализирует информацию в командной строке.
public ~classPASS ()
Деструктор закрывает таблицу Базы Данных.
public void SetTtace (int fl)

Функция устанавливает семафор fl_trace трассировки - вывод в файл-протокол работы класса:

  • fl=0 - выключить трассировку;
  • fl=1 - включить трассировку.
public int GetTtace (void)
Получить значение семафора fl_trace трассировки.
public int Ini (char *name, int plane, int tup1, int tup2)

Функция открывает указанную таблицу Базы Данных, размещает и обнуляет в зарезервированном буфере рабочий буфер, семафоры обновления параметров и семафоры управления параметрами (см. данные).

public short int *GetTblID (void)
Получить адрес идентификатора таблицы, с которой работает класс.
public unsigned short int *GetAdr1 (void)
Получить адрес списка семафоров обновления параметров.
public unsigned short int *GetAdr2 (void)
Получить адрес списка семафоров управления параметрами (команды пользователя).
public int GetSize (void)
Получить размер в байтах двух списков семафоров - семафоров обновления параметров и семафоров управления параметрами.
public int GetPlane (void)
Получить номер плоскости таблицы, с которой работает объект.
public int GetTup1 (void)
Получить номер начальной строки таблицы, с которой работает объект.
public int GetTup2 (void)
Получить номер конечной строки таблицы, с которой работает объект.
public int GetNtup (void)
Получить число строк таблицы, с которой работает объект.
public char *GetName (void)
Получить имя таблицы, с которой работает объект.
public void SetCoord (int nplane)
Установить координаты для записи в таблицу или чтения из таблицы:
  • nplane - номер плоскости таблицы.
public int GetValues (int ntup)
Получить число значений параметра из его описания:
public int UserClear (void)
Функция обнуляет семафоры управления параметрами.
public int DataChange (void)

Функция определяет изменение семафоров обновления параметров.

Результат:

  • 0 - нет изменения;
  • -1 - есть изменение;
  • 1 - ошибка при чтении таблицы.
public int SetResult (unsigned short int rc)
Функция вызывает:
  1. PrgSem_SetResult для формирования всех семафоров согласно значению rc;
  2. DataReadWrite(1) для записи всех семафоров в таблицу.
private void GetSemaphore (void)
Переписать данные из рабочего буфера в семафоры.
protected void SetSemaphore (void)
Переписать значения семафоров в рабочий буфер.
protected int DataReadWrite (int fl, int nplane=0)

Читать/писать значения семафоров:

  • fl=0 - читать значения семафоров из таблицы;
  • fl=1 - писать значения семафоров в таблицу;
  • nplane>0 - номер плоскости таблицы;
  • nplane=0 - в качестве номера плоскости таблицы принимается значение GetPlane().
protected unsigned short int *GetAdr (void)
Получить адрес рабочего буфера, содержащего семафоры обновления параметров и семафоры управления параметрами.

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