Смекни!
smekni.com

Автоматизированное рабочее место регистрации и документирования комплекса средств автоматизации (стр. 24 из 25)

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);