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

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

Библиотеки алгоритмов СУ

Описание диалогового меню - таблица "U70_MENUS"


Устройство таблицы
Размер:
 
Количество плоскостей: расширяется по мере необходимости
 
Количество строк: 18
 
Количество атрибутов: 10
Особенность:
 
Каждая плоскость содержит список одного меню.
 
Каждая строка содержит описание одного пункта меню.
 
Номер установки ускорительного комплекса есть номер строки в первой плоскости таблицы.
Типы пунктов диалогового меню
#define MENU_TYPE_NO 0x0000 // обычный
#define MENU_TYPE_DANGER 0x0001 // опасный
#define MENU_TYPE_CONNECT 0x0002 // связанный
#define MENU_TYPE_COLD_ADR 0x0008 // специальный: адреса архивов физических параметров для технологической подсистемы
#define MENU_TYPE_SYSTEM 0x0010 // головной рункт для технологической подсистемы
#define MENU_TYPE_ARCHIEVE 0x0020 // работа с архивом физических параметров
#define MENU_TYPE_COPY_TO_EC 0x0040 // команда "execute"
#define MENU_TYPE_COPY_REGIME 0x0080 // копирование параметров между режимами
#define MENU_TYPE_NUM_REGIME 0x0f00 // полубайт содержит номер режима
#define MENU_TYPE_SHIFT_REGIME 8 // величина сдвига для получения номера режима
Элементы строки таблицы - один пункт диалогового меню
struct menus_tup
{
  unsigned char      right;     // номер приоритета доступа
                                // к следующему элементу меню
  char               what_next; // вид следующего элемента меню:
                                // 1 - пункт меню, 2 - описание задачи
  short int          reference; // ссылка на следующий элемент меню
  char               legend[TBL_LEN_MENU_LEGEND]; // название пункта меню
                                                  // на английском языке
  short int          graph;     // резерв
  short int          rus;       // номер строки в словаре названий
                                // пунктов меню на русском языке
  short int          danger;    // номер строки в таблице "U70_DANGEROUS"
  unsigned short int type;      // тип пункта меню
  short int          user2;     // резерв
  short int          user3;     // резерв
};
Местоположение пункта в диалоговом меню
struct menus_tup_path
{
  short int nplane;       // номер плоскости в таблице "U70_MENUS"
  short int ntuple;       // номер строки в таблице "U70_MENUS"
  struct menus_tup tup_m; // описание пункта меню в таблице "U70_MENUS"
};

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