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

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

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

Константы определяют
работу с диалоговыми функциями СУ,
работу с БД ССУДА,
работу с интерфейсной электроникой.
Константы определены в файлах-заголовках prg.h, prglib.h

Размер текстовых строк (в байтах), используемых в глобальных структурах
#define TBL_LEN_USER_NAME 20 // длина имени пользователя
#define TBL_LEN_USER_PASSWORD 10 // длина паспортного слова
#define TBL_LEN_MENU_LEGEND 26 // длина строки меню
#define TBL_LEN_PROG_NAME 20 // длина имени программы
#define TBL_LEN_BMP_NAME 20 // длина имени файла графического формата
#define TBL_LEN_HOST_NAME 16 // длина сетевого имени компьютера
#define TBL_LEN_PROG_PARAM 60 // длина строки параметров, передаваемых программе
#define TBL_LEN_TABLE 20 // длина имени таблицы БД
#define TBL_LEN_PAR_NAME 16 // длина названия параметра
#define TBL_LEN_PAR_FMT 10 // длина строки формата вывода параметра (язык С)
#define TBL_LEN_STATUS_TEXT 14 // длина названия переменной типа "статус"
#define TBL_LEN_COMMENT_TEXT 14 // длина названия переменной типа "комментарий"
#define TBL_LEN_REGIME_NAME 20 // длина строки с названием данных для записи в каталог архива физических параметров
#define TBL_LEN_REGIME_DATE 26 // длина строки с датой и временем для записи в каталог архива физических параметров

Команды пользователя
#define CMD_NOTHING 0x0000 // нет команды
#define CMD_ENDWORK 0x8000 // завершить работу
#define CMD_NEWDATA 0x0001 // есть новые данные
#define CMD_PUTDATA 0x0002 // выполнить команду "execute"
#define CMD_NEWPUTDATA 0x0003 // есть новые данные и выполнить команду "execute"
#define CMD_GETREGIME 0x0004 // взять данные из режима с номером в старшем байте
#define CMD_GETREGIMENEWDATA 0x0005 // есть новые данные и взять данные из режима с номером в старшем байте
#define CMD_PRGLOAD 0x0008 // к программе подключился еще один пользователь
#define CMD_MASTER 0x0080 // бит устанавливается для головной программы пакета ПП

Коды ошибок, фиксируемых ПП, выполняющейся на Рабочей Станции
#define RC_ERNO 0x0000 // нет ошибки
#define RC_EXIT 0x1000 // бит, означающий, что ПП завершила работу
#define RC_ER_APPLIC 0x4000 // бит, означающий ошибку ПП
#define RC_ER_CCYDA 0x8000 // бит, означающий ошибку БД ССУДА
#define RC_ER_CCYDA1 0xC000 // бит, означающий ошибку БД ССУДА
#define RC_ERLOAD 0x4001 // ошибка входных данных
#define RC_ERDATA 0x4002 // неправильные данные
#define RC_ERTBLTYPE 0x4003 // неправильный тип таблицы
#define RC_ERMEMORY 0x4004 // ошибка при работе с динамической памятью
#define RC_ERCOMMAND 0x4005 // недопустимая команда
#define RC_EREC 0x4006 // ПП в КО не работает
#define RC_ERBMP 0x4008 // ошибка при создании bitmap-файла
#define RC_FAILEDDATA 0x4009 // данные недействительны
#define RC_BUSY 0x400a // ПП занята выполнением предыдущей команды
#define RC_ERHARDWARE 0x4010 // ошибка аппаратуры
#define RC_ERNET 0x4011 // сетевая ошибка
#define RC_BADSTATE 0x4012 // плохой статус технологической подсистемы
#define RC_ERFILE 0x4013 // ошибка при работе с файловой системой
#define RC_EREC_C 0x4014 // КО не управляет
#define RC_EREC_M 0x4015 // КО не измеряет
#define RC_NOEDIT 0x4016 // данные не могут быть редактированы
#define RC_ECOFF 0x4017 // КО выключен
#define RC_ECNOTDB 0x4018 // нет БД в КО
#define RC_TBLCLOSE 0x4019 // таблица БД не открыта
#define RC_ERSLOPE 0x401a // неправильный наклон вектора
#define RC_ERLENGTH 0x401b // неправильная длительность времени
#define RC_ERAMPLITUDE 0x401c // неправильная высота вектора (амплитуда)
#define RC_ERPROCESSOR 0x401d // неправильное вещественное число для Alpha-процессора

Коды ошибок, фиксируемых ПП, выполняющейся в Контроллере Оборудования
#define RC_EC_ERNO 0x00 // нет ошибки
#define RC_EC_HARD_W 0x01 // ошибка при записи данных в аппаратуру
#define RC_EC_HARD_R 0x02 // ошибка при чтении данных из аппаратуры
#define RC_EC_CMP_ER 0x03 // ошибка при сравнении данных
#define RC_EC_INTR_NO 0x04 // нет прерывания
#define RC_EC_INTR_ER 0x05 // неправильное прерывание
#define RC_EC_MTG_FAIL 0x06 // сбой Общей Таймерной Системы
#define RC_EC_ERR_DATA 0x07 // ошибка в данных

Разное
#define CMD_WAIT_SEC 1 // Интервал времени (секунды) ожидания управляющей ПП команды пользователя
#define SV_WAIT_SEC 3 // Интервал времени (секунды) ожидания диагностической (измерительной) ПП момента чтения данных из КО и команды пользователя
#define SV_WAIT_MAX 10 // Максимальное число опросов КО диагностической (измерительной) ПП при ожидании готовности данных
#define PRG_NUM_REGIME1 8 // Число режимов работы ускорительного комплекса
#define PRG_NUM_REGIME2 16 // Число рабочих и наладочных режимов работы ЛУ-30 и У-1.5 (в новых ПП не используется)
#define PRG_COLOR_VAR 0x80 // Бит для выделения цветом переменную типа "статус" и "комментарий"

Автор © Клименков Е.В., Балакин С.И.