/*------------------------------------------------------------------------*/ /* KADR.H - описание структур и данных для видеограмм */ /*------------------------------------------------------------------------*/ typedef struct /* описатель списка параметров */ { char shifr[9]; /* шифр параметра */ byte n_con; /* номер контроллера */ word_s n_par; /* номер паспорта параметра */ } param; typedef struct /* описатель структуры формата */ { char shifr[9]; /* шифр формата */ byte type; /* тип данных */ word_s kol_rep; /* количество столбцов */ word_s sm_rep; /* смещение столбцов */ word_s kol_gr; /* количество граф */ char chifr[10][12]; /* шифры граф */ word_s delt[10]; /* смещение в структуре */ char name_gr[10][12]; /* наименование графы */ char format[10][11]; /* формат вывода графы */ char b0[10][11]; /* для формата В - текст для '0' */ char b1[10][11]; /* для формата В - текст для '1' */ word_s col[10]; /* номер колонки вывода */ byte pr_vv[10]; /* признак ввода графы */ byte pr_color[10]; /* признак цветовой сигнализации */ } form; typedef struct /* описатель структуры кадра */ { char shifr[9]; /* шифр кадра */ char name[26]; /* наименование кадра */ byte type_k; /* тип кадра */ byte type; /* тип данных */ char form[9]; /* шифр формата */ word_s n_form; /* номер формата */ word_s kol_par; /* количество строк кадра */ param *ptr_a; /* указатель на список параметров */ } kadr; #define t_kd 182L /* период сканирования кадра */ #define C_gr C_kd+2 #define t_kdr (M_kadr+NGR) #define t_form ((M_kadr+NGR)->n_form+M_form) #define C_kd 4 /* строка наименования */ #define R_kd 25 /* столбец наименования */ #define Max_str 16 /* максимальное число строк */ #define N_color 7 /* число типов сигнализации */ #define NORM *color /* цвет текста */ #define NOT_DOST *(color+1) /* цвет недостоверности */ #define NAR_N_REGL *(color+2) /* цвет нарушения нижнего регламента */ #define NAR_V_REGL *(color+3) /* цвет нарушения верхнего регламента */ #define NAR_N_AL *(color+4) /* цвет нарушения нижней аварийной границы */ #define NAR_V_AL *(color+5) /* цвет нарушения верхней аврийной границы */ #define LOG_Z *(color+6) /* цвет логически запрещенного параметра */ kadr *M_kadr; /* массив кадров */ form *M_form; /* массив форм */ word_s *color; /* массив цветов */ param * G_KADR_PTR; //#define G_KADR_PTR *(param **)0x00000188L /* int 62 - обл.связи */ extern word_s Kadr_v(word_s k,word_s nscr);