if (bytes [25] &0x04)
write (handle,"Отсутствие связи в тракте от ЦКС1 до ЦКС2 для АК6 \r\n",76);
if (bytes [24] &0x01)
write (handle,"Отсутствие связи в тракте от АК6 до ЦКС1 \r\n",76);
write (handle," \r\n",76);
if (bytes [16] &0x01)
write (handle,"Прием от ВПУ трех кодограмм подряд с признаком К2 \r\n",76);
if (bytes [16] &0x02)
write (handle,"Прием от ВПУ трех кодограмм подряд с ВПС=1010 \r\n",76);
if (bytes [16] &0x04)
write (handle,"Отсутствие информации от ВПУ на входе ПУ более 12 сек \r\n",76);
if (bytes [15] &0x01)
write (handle,"Прием от АК6 трех кодограмм подряд с признаком получения УС \r\n",76);
if (bytes [15] &0x02)
write (handle,"Отсутствие связи в тракте от ЦКС1 до ВПУ \r\n",76);
if (bytes [15] &0x04)
write (handle,"Отсутствие связи в тракте от ЦКС1 до ЦКС2 для ВПУ \r\n",76);
if (bytes [14] &0x01)
write (handle,"Отсутствие связи в тракте от ВПУ до ЦКС1 \r\n",76);
write (handle," \r\n",76);
if (bytes [17] &0x04)
write (handle,"Отсутствие связи в тракте от ЦКС1 до ПУ \r\n",76);
write (handle," \r\n",76);
if (bytes [10] &0x02)
write (handle,"Отсутствие приема кодограмм в заданный интервал времени \r\n",76);
write (handle," \r\n",76);
if ( (bytes [12] &0x07) && (! (bytes [11] &0x07)))
write (handle,"Прием кодограмм с признаком отсутствия связи от ПУ до М486 \r\n",76);
if ( (bytes [11] &0x07) && (! (bytes [12] &0x07)))
{
write (handle,"Прием кодограмм с признаком искажения информации от ЦКС до М486 и/или \r\n",76);
write (handle,"прием кодограмм с признаком отсутствия импульса БИ \r\n",76);
}
if ( (bytes [11] &0x07) && (bytes [12] &0x07))
{
write (handle,"Прием кодограмм с признаком отсутствия связи от ПУ до М486 и/или \r\n",76);
write (handle,"прием кодограмм с признаком искажения информации от ЦКС до М486 и/или \r\n",76);
write (handle,"прием кодограмм с признаком отсутствия импульса БИ \r\n",76);
}
break;
case 2: // РМ-02
write (handle," \r\n",76);
if (bytes [5] &0x01)
write (handle,"АРМ ЗАБЛОКИРОВАНО по ФК оператором \r\n",76);
write (handle," \r\n",76);
if (bytes [5] &0x04)
write (handle,"НЕТ СВЯЗИ МЕЖДУ ПЭВМ1 и ВК \r\n",76);
if (bytes [4] &0x02)
write (handle,"Нет связи с ВК по одной из линий связи ЛС1 или ЛС3 \r\n",76);
if (bytes [3] &0x04)
write (handle,"Нет связи с ВК по линии связи ЛС1 \r\n",76);
if (bytes [2] &0x02)
write (handle,"Нет связи с ВК по линии связи ЛС3 \r\n",76);
break;
case 10: // РМ-10
write (handle," \r\n",76);
if (bytes [5] &0x01)
write (handle,"АРМ ЗАБЛОКИРОВАНО по ФК оператором \r\n",76);
write (handle," \r\n",76);
if (bytes [5] &0x04)
write (handle,"НЕТ СВЯЗИ МЕЖДУ ПЭВМ2 и ВК \r\n",76);
if (bytes [4] &0x02)
write (handle,"Нет связи с ВК по одной из линий связи ЛС2 или ЛС4 \r\n",76);
if (bytes [2] &0x01)
write (handle,"Нет связи с ВК по линии связи ЛС2 \r\n",76);
if (bytes [2] &0x04)
write (handle,"Нет связи с ВК по линии связи ЛС4 \r\n",76);
break;
case 5: // РМ05Г
case 13: // РМ13П
if (bytes [19] &0x01)
write (handle,"ОСНОВНОЙ АРМ - РМ-13П \r\n",76);
else
write (handle,"ОСНОВНОЙ АРМ - РМ-05Г \r\n",76);
write (handle," \r\n",76);
if (bytes [5] &0x04)
write (handle," АРМ НЕИСПРАВЕН \r\n",76);
else
write (handle," АРМ ИСПРАВЕН \r\n",76);
write (handle," \r\n",76);
if (bytes [16] &0x02)
write (handle,"Основное АРМ ИСПРАВНО \r\n",76);
if (bytes [16] &0x01)
write (handle,"Основное АРМ НЕИСПРАВНО \r\n",76);
if (bytes [16] &0x04)
write (handle,"Основное АРМ ЗАБЛОКИРОВАНО \r\n",76);
if (bytes [15] &0x01)
write (handle,"Основное АРМ РАЗБЛОКИРОВАНО \r\n",76);
if (bytes [19] &0x04)
write (handle,"Резервное АРМ ИСПРАВНО \r\n",76);
if (bytes [19] &0x02)
write (handle,"Резервное АРМ НЕИСПРАВНО \r\n",76);
if (bytes [18] &0x01)
write (handle,"Резервное АРМ ЗАБЛОКИРОВАНО \r\n",76);
if (bytes [18] &0x02)
write (handle,"Резервное АРМ РАЗБЛОКИРОВАНО \r\n",76);
if (bytes [5] &0x01)
write (handle,"АРМ ЗАБЛОКИРОВАНО по ФК оператором \r\n",76);
write (handle," \r\n",76);
if (bytes [4] &0x02)
write (handle,"Неисправна одна из трех линий магистрали обмена \r\n",76);
else
write (handle,"Все три линии магистрали обмена исправны \r\n",76);
if (bytes [12] &0x04)
write (handle,"Неисправна 1-я линия магистрали приема \r\n",76);
if (bytes [12] &0x02)
write (handle,"Неисправна 2-я линия магистрали приема \r\n",76);
if (bytes [12] &0x01)
write (handle,"Неисправна 3-я линия магистрали приема \r\n",76);
if (bytes [10] &0x02)
write (handle,"Отсутствует прием информации в ВМ от данного АРМ-1 \r\n",76);
break;
case 7: // ВМ
if (bytes [5] &0x02)
write (handle,"Авария электропитания в одном или нескольких каналах ШП-614 \r\n",76);
if (bytes [4] &0x04)
write (handle,"Неисправность 1 канала ШП-614 \r\n",76);
if (bytes [3] &0x01)
write (handle,"Неисправность 2 канала ШП-614 \r\n",76);
if (bytes [3] &0x02)
write (handle,"Неисправность 3 канала ШП-614 \r\n",76);
if (bytes [3] &0x04)
write (handle,"Произошел ПРОГРАММНЫЙ СБОЙ \r\n",76);
if (bytes [2] &0x01)
write (handle,"Авария питания 1 канала \r\n",76);
if (bytes [2] &0x02)
write (handle,"Авария питания 1 канала \r\n",76);
if (bytes [2] &0x04)
write (handle,"Авария питания 1 канала \r\n",76);
if (bytes [0] &0x01)
write (handle,"Нарушена целостность программного изделия-кассеты КП-610 - \r\n",76);
write (handle,"подсчитанная контрольная сумма не совпадает с эталоном \r\n",76);
break;
case 16: // ВУ16
case 17: // ВУ17
case 18: // ВУ18
case 19: // ВУ19
if (bytes [5] &0x01)
write (handle,"ПУ заблокировано оператором по ФК \r\n",76);
if (bytes [5] &0x04)
write (handle,"Нажата КНОПКА ОБНАРУЖЕНИЯ НЕИСПРАВНОСТИ \r\n",76);
break;
case 15: // АС
// Подкорректировать после согласования
// байта состояния
if (bytes [5] &0x04)
write (handle,"АРМ-РД НЕИСПРАВЕН - не работают обе ПЭВМ \r\n",76);
if (bytes [4] &0x01)
write (handle,"АРМ-РД РАБОТОСПОСОБЕН - работает одна из двух ПЭВМ \r\n",76);
if (bytes [4] &0x02)
write (handle,"Нет связи хотя бы по одной из линий связи ЛС1, ЛС2, ЛС3, ЛС4 \r\n",76);
if (bytes [4] &0x04)
write (handle,"Неисправен КСП-0 \r\n",76);
if (bytes [3] &0x01)
write (handle,"Неисправен КСП-1 \r\n",76);
if (bytes [3] &0x02)
write (handle,"Неисправен КСП-2 \r\n",76);
if (bytes [3] &0x04)
write (handle,"Нет связи по линии связи ЛС1 \r\n",76);
if (bytes [2] &0x01)
write (handle,"Нет связи по линии связи ЛС2 \r\n",76);
if (bytes [2] &0x02)
write (handle,"Нет связи по линии связи ЛС3 \r\n",76);
if (bytes [2] &0x04)
write (handle,"Нет связи по линии связи ЛС4 \r\n",76);
break;
}
}
// bs2_out. prj
// bs2_out. c
// main ()
// выдача результатов запроса по 2-й форме байтов состояния на экран
// (из файла) или форматирование и постановка в очередь для выдачи
// на принтер
#include <dos. h>
#include "cxlkey. h"
#include "disp. h"
extern void resScr (void);
// выдача результатов запроса из файла на экран
extern void resPrn (void);
// выдача результатов запроса из файла на принтер
void main (int argc,char *argv [])
{
void z (void);
setkbloop (z);
if (argv [1] [0] =='э') resScr ();
else resPrn ();
}
void z (void)
{
union REGS r;
r. h. ah=0;
int86 (DISP,&r,&r);
}
#include <dos. h>
#include "cxlkey. h"
#include "disp. h"
extern void resScr (void);
// выдача результатов запроса из файла на экран
extern void resPrn (void);
// выдача результатов запроса из файла на принтер
void main (int argc,char *argv [])
{
void z (void);
setkbloop (z);
if (argv [1] [0] =='э') resScr ();
else resPrn ();
}
void z (void)
{
union REGS r;
r. h. ah=0;
int86 (DISP,&r,&r);
}
// inq_out. prj
// INQ_OUT. C
// main ()
// выдача результатов запроса на экран (из файла)
// или форматирование и постановка в очередь для выдачи на принтер
#include <string. h>
#include <process. h>
#include "cxlkey. h"
#include "cxldef. h"
extern void resScr (void);
// выдача результатов запроса из файла на экран
extern void resPrn (void);
// выдача результатов запроса из файла на принтер
void main (int argc,char *argv [])
{
void z (void);
setkbloop (z);
if (argv [1] [0] =='э') resScr ();
else resPrn ();
}
#include <dos. h>
#include "disp. h"
void z (void)
{
union REGS r;
r. h. ah=0;
int86 (DISP,&r,&r);
}
// inq_out. prj
// res_scr. C
// res_scr ()
// выдача результатов запроса на экран (из файла)
#include <stdio. h>
#include <string. h>
#include "cxlwin. h"
#include "cxlkey. h"
#include "cxlvid. h"
#define LEN 81
#define TXTATTR _CYAN
#define UP 0x4800
#define DOWN 0x5000
#define PGUP 0x4900
#define PGDOWN 0x5100
#define ESC 0x011b
void resScr (void)
{
FILE *f; // дескриптор файла результатов
int down; // номер текущей строки в файле
int ch; // код клавиши
int i;
char string [LEN] ;
int mwup; // количество строк над основным окном
// вывод на экран строки запроса и шапки таблицы
f=fopen ("inquiry. res","r++");
fgets (string,LEN,f);
for (mwup=0; strncmp (string+3,"ДАТА",4); ++mwup)
{
wopen (mwup,0,mwup,79,5,BLUE|_LGREY,BLUE|_LGREY);
wprintf ("%.79s",string);
fgets (string,LEN,f);
}
wopen (mwup,0,mwup,79,5,YELLOW|_BLUE,YELLOW|_BLUE);
wprintf ("%.78s",string);
// основное окно
wopen (++mwup,0,25,79,5,LCYAN|_BLUE,TXTATTR);
// wshadow (LGREY);
// вывод результатов запроса из файла на экран
for (down=mwup; down<25 && fgets (string,LEN,f) ! =NULL; ++down)
wprints (down-mwup,1,TXTATTR,string);
hidecur ();
// цикл просмотра результатов
while ( (ch=getxch ()) ! =ESC)
switch (ch)
{
case UP: if (down<=25) break;
down--;
fseek (f, (long) (down-25+mwup) *LEN,0);
fgets (string,LEN,f);
wscroll (1,D_DOWN);
wprints (0,1,TXTATTR,string);
break;
case DOWN: if (fseek (f, (long) down*LEN,0)) break;
if (fgets (string,LEN,f) ==NULL) break;
wscroll (1,D_UP);
wprints (24-mwup,1,TXTATTR,string);
down++;
break;
case PGUP: for (i=0; i<=24-mwup; ++i)
{
if (down<=25) break;
down--;
fseek (f, (long) (down-25+mwup) *LEN,0);
fgets (string,LEN,f);
wscroll (1,D_DOWN);
wprints (0,1,TXTATTR,string);
}
break;
case PGDOWN: for (i=0; i<=24-mwup; ++i)
{
if (fseek (f, (long) down*LEN,0)) break;
if (fgets (string,LEN,f) ==NULL) break;
wscroll (1,D_UP);
wprints (24-mwup,1,TXTATTR,string);
down++;
}
break;
}
fclose (f);
wcloseall ();
}
// bs2_out. prj
// res_scr_. c
// res_scr ()
// выдача результатов запроса по 2-й форме байтов состояния на экран
// (из файла)
#include <stdio. h>
#include <string. h>
#include "cxlwin. h"
#include "cxlkey. h"
#include "cxlvid. h"
#define LEN 100
#define TXTATTR _CYAN
#define UP 0x4800
#define DOWN 0x5000
#define PGUP 0x4900
#define PGDOWN 0x5100
#define RIGHT 0x4d00
#define LEFT 0x4b00
#define HOME 0x4700
#define END 0x4F00
#define ESC 0x011b
FILE *f; // дескриптор файла результатов
int down; // номер текущей строки в файле
char string [LEN] ;
int length; // длина строк в файле
int w1; // дескриптор окна
void screen_move (int right);
void resScr (void)
{
int right=0; // горизонтальное смещение
int ch; // код клавиши
int i;
// вывод на экран строки запроса и шапки таблицы
f=fopen ("inquiry. res","r++");
wopen (0,0,0,79,5,BLUE|_LGREY,BLUE|_LGREY);
fgets (string,LEN,f);
wprints (0,1,BLUE|_LGREY,string);
w1=wopen (1,0,1,79,5,YELLOW|_BLUE,YELLOW|_BLUE);
fgets (string,LEN,f);
wprints (0,1,YELLOW|_BLUE,string);
length=strlen (string) +1;
// основное окно
wopen (2,0,25,79,5,LCYAN|_BLUE,TXTATTR);