РУБРИКИ

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

   РЕКЛАМА

Главная

Зоология

Инвестиции

Информатика

Искусство и культура

Исторические личности

История

Кибернетика

Коммуникации и связь

Косметология

Криптология

Кулинария

Культурология

Логика

Логистика

Банковское дело

Безопасность жизнедеятельности

Бизнес-план

Биология

Бухучет управленчучет

Водоснабжение водоотведение

Военная кафедра

География экономическая география

Геодезия

Геология

Животные

Жилищное право

Законодательство и право

Здоровье

Земельное право

Иностранные языки лингвистика

ПОДПИСКА

Рассылка на E-mail

ПОИСК

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

else if(s[1]>s[0]) max=s[1];

else max=s[0];

}

}



// bs3_inq.prj

// BS3_INQ\bs3_inq.c

// main()

// программа обработки запросов для третьей формы байтов состояния

// вызывается из:

// 1) main.prj, mloop2.c, bszapros()

// 2) makeinq.prj, makeinq.c, makeinq()


#include <stdio.h>

#include <fcntl.h>

#include <sys/stat.h>

#include <io.h>

#include "pxengine.h"

#include <string.h>


void form3(char *,char *,int);

// расшифровка байтов состояния для третьей формы представления и их запись в файл результатов


/* аргументы функции main :

argv[1] - тип устройства */


void main(int argc,char *argv[])

{

int a;

int i;

int handle; // дескриптор файла результатов поиска

static char bytes[45]; // буфер для нерасшифрованных байтов состояния


RECORDHANDLE rec; // дескриптор записи

TABLEHANDLE tblh; // дескриптор таблицы


// открытие файла результатов изапись в него типа устройства

handle=open("inquiry.res",

O_CREAT | O_TRUNC | O_WRONLY,S_IREAD | S_IWRITE );

write(handle,argv[1],strlen(argv[1]));

//if(strlen(argv[1])==1) write(handle," ",2);

//if(strlen(argv[1])==2) write(handle," ",1);

write(handle,"\r\n",2);


// поиск и обработка результатов поиска

/* находится последняя по времени запись байтов

состояния для данного устройства */

if(a=PXInit()) printf("\n%s",PXErrMsg(a));

if(a=PXTblOpen("fk",&tblh,0,0)) printf("\n%s",PXErrMsg(a));

PXRecBufOpen(tblh,&rec);

PXPutAlpha(rec,5,"БС");

PXPutAlpha(rec,3,argv[1]);

if((a=PXSrchFld(tblh,rec,3,SEARCHFIRST))!=PXSUCCESS)

{ if(a==PXERR_RECNOTFOUND)

PXRecBufClose(rec);

if(a=PXTblClose(tblh)) printf("\n%s",PXErrMsg(a));

PXExit();

close(handle);

return;

}

else while(!(a=PXSrchFld(tblh,rec,3,SEARCHNEXT)));

PXRecGet(tblh,rec);

PXGetAlpha(rec,6,45,bytes);


form3(argv[1],bytes+16,handle);


PXRecBufClose(rec);

if(a=PXTblClose(tblh)) printf("\n%s",PXErrMsg(a));

PXExit();

close(handle);

}



// bs3_inq.prj

// BS3_INQ\form3.c

// form3()

// расшифровка байтов состояния


#include <io.h>

#include <string.h>

#include "devices.h"


#include <dos.h>


void form3(char *Type,char *bytes,int handle)

{


/* Type - тип устройства

bytes - нерасшифрованные байты состояния

handle - дескриптор файла результатов */


int i;

/*

struct date d;

struct time t;

getdate(&d);

gettime(&t);

z.bd1.date[0]=d.da_mon;

z.bd1.date[1]=d.da_day;

z.bd1.date[2]=d.da_year;


PXRecBufOpen(tblh,&rech);

PXRecGet(tblh,rech);

PXGetDate(rech,1,&date);

PXDateDecode(date,&month,&day,&year);

sprintf(string,"%.02d\\%.02d\\%.04d ",month,day,year);

*/

for(i=0;strcmp(devices[i].type,Type) && i<CHDEV;++i);

switch(i)

{

case 0: // ШЭ-00


if(bytes[5]&0x04)

write(handle," Шкаф НЕИСПРАВЕН \r\n",76);

else

write(handle," Шкаф ИСПРАВЕН \r\n",76);

if(bytes[4]&0x02)

write(handle,"НЕИСПРАВНОСТЬ первичной сети электропитания СЕТЬ 1 \r\n",76);

break;


case 8: // ШЭ-08


if(bytes[5]&0x04)

write(handle," Шкаф НЕИСПРАВЕН \r\n",76);

else

write(handle," Шкаф ИСПРАВЕН \r\n",76);

if(bytes[4]&0x02)

write(handle,"НЕИСПРАВНОСТЬ первичной сети электропитания СЕТЬ 2 \r\n",76);

break;


case 1: // ШП-01

case 9: // ШП-09


if(bytes[5]&0x04)

write(handle," Шкаф НЕИСПРАВЕН \r\n",76);

else

write(handle," Шкаф ИСПРАВЕН \r\n",76);

break;


case 4: // ШК-04

case 12: // ШК-12

if(bytes[0]&0x01)

write(handle,"ОСНОВНОЙ - шкаф ШК-12 \r\n",76);

else

write(handle,"ОСНОВНОЙ - шкаф ШК-04 \r\n",76);

write(handle," \r\n",76);

write(handle," ТЕХНИЧЕСКОЕ СОСТОЯНИЕ ШКАФА \r\n",76);

write(handle," \r\n",76);

if(bytes[5]&0x01)

write(handle," Шкаф РАБОТОСПОСОБЕН \r\n",76);

if(bytes[5]&0x02)

write(handle," Шкаф НЕИСПРАВЕН \r\n",76);

if(bytes[5]&0x04)

write(handle," Шкаф ЗАБЛОКИРОВАН по НСД \r\n",76);

if((!(bytes[5]&0x01))&&(!(bytes[5]&0x02))&&(!(bytes[5]&0x04)))

write(handle," Шкаф ИСПРАВЕН \r\n",76);

write(handle," \r\n",76);

if(bytes[4]&0x01)

write(handle,"НЕИСПРАВЕН 1-й канал АД \r\n",76);

if(bytes[4]&0x02)

write(handle,"НЕИСПРАВЕН 2-й канал АД \r\n",76);

if(bytes[4]&0x04)

write(handle,"НЕИСПРАВЕН 3-й канал АД \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,"НЕИСПРАВЕН 3-й канал УХК \r\n",76);

if(bytes[2]&0x01)

write(handle,"НЕИСПРАВНОСТЬ логической части ШК \r\n",76);

if(bytes[2]&0x02)

{write(handle,"НЕИСПРАВЕН хотя бы один или несколько элементов ИГП \r\n",76);

write(handle,"Для уточнения считай ячейку ВБШК1.ПФЗ для ШК1 или ВБШК2.ПФЗ для ШК2 \r\n",76);

}

if(bytes[2]&0x04)

{write(handle,"НЕИСПРАВНО УХК - установлена единица в 8-ом разряде уточненого слова \r\n",76);

write(handle,"состояния УХК \r\n",76);

}

if(bytes[1]&0x01)

write(handle,"БОЗУ занято более 3-х секунд \r\n",76);

if(bytes[1]&0x02)

{write(handle,"НЕИСПРАВНО УХК (неправильное сочетание 3 и 10 разрядов уточненого слова \r\n",76);

write(handle,"состояния УХК) \r\n",76);

}

if(bytes[1]&0x04)

{write(handle,"УХК ЗАБЛОКИРОВАН по причине работы с носителем 83т015. Получен 9 или 11 \r\n",76);

write(handle,"разряд в ИСС УХК (см. п.4.7.1. протокола инв.30337) \r\n",76);

}

if((!(bytes[12]&0x01))&&(!(bytes[12]&0x02)))

write(handle,"ПУ-1 ИСПРАВЕН \r\n",76);

if(bytes[12]&0x01)

write(handle,"Нажата кнопка ОБНАРУЖЕНА НЕИСПРАВНОСТЬ на ПУ-1 \r\n",76);

if(bytes[12]&0x02)

write(handle,"Неисправно направление связи, соединяющее с ПУ-1 \r\n",76);

if((!(bytes[12]&0x04))&&(!(bytes[11]&0x01)))

write(handle,"ПУ-2 ИСПРАВЕН \r\n",76);

if(bytes[12]&0x04)

write(handle,"Нажата кнопка ОБНАРУЖЕНА НЕИСПРАВНОСТЬ на ПУ-2 \r\n",76);

if(bytes[11]&0x01)

write(handle,"Неисправно направление связи, соединяющее с ПУ-2 \r\n",76);

if((!(bytes[11]&0x04))&&(!(bytes[11]&0x02)))

write(handle,"ПУ-3 ИСПРАВЕН \r\n",76);

if(bytes[11]&0x02)

write(handle,"Нажата кнопка ОБНАРУЖЕНА НЕИСПРАВНОСТЬ на ПУ-3 \r\n",76);

if(bytes[11]&0x04)

write(handle,"Неисправно направление связи, соединяющее с ПУ-3 \r\n",76);

if((!(bytes[10]&0x01))&&(!(bytes[10]&0x02)))

write(handle,"ПУ-4 ИСПРАВЕН \r\n",76);

if(bytes[10]&0x01)

write(handle,"Нажата кнопка ОБНАРУЖЕНА НЕИСПРАВНОСТЬ на ПУ-4 \r\n",76);

if(bytes[10]&0x02)

write(handle,"Неисправно направление связи, соединяющее с ПУ-4 \r\n",76);

if(bytes[10]&0x04)

write(handle,"Неисправен 1-й канал схемных узлов БУ-695 \r\n",76);

if(bytes[9]&0x01)

write(handle,"Неисправен 2-й канал схемных узлов БУ-695 \r\n",76);

if(bytes[9]&0x02)

write(handle,"Неисправен 3-й канал схемных узлов БУ-695 \r\n",76);

if(bytes[9]&0x04)

write(handle,"Неисправен 1-й канал ПРЦ \r\n",76);

if(bytes[8]&0x01)

write(handle,"Неисправен 2-й канал ПРЦ \r\n",76);

if(bytes[8]&0x02)

write(handle,"Неисправен 3-й канал ПРЦ \r\n",76);

if(bytes[8]&0x04)

{write(handle,"Неисправно направление связи С1 по передаче от ВМ к ШК и/или по приему \r\n",76);

write(handle,"от ШК к ВМ и/или по причине не получения от ШК кодограмм по времени. \r\n",76);

write(handle,"Формирует ФК-читай слово памяти ВБШК1(2).ПФЗ \r\n",76);


if(bytes[7]&0x01)

write(handle,"ШК забракован функциональной задачей - читай слово памяти ВБШК1(2).ПФЗ \r\n",76);

write(handle," \r\n",76);

write(handle," ИНФОРМАЦИОННОЕ СОСТОЯНИЕ ШКАФА \r\n",76);

write(handle," \r\n",76);

if(bytes[26]&0x02)

write(handle," Шкаф НЕИСПРАВЕН ПО ИНФОРМАЦИОННОМУ СОСТОЯНИЮ \r\n",76);

else

write(handle," Шкаф ИСПРАВЕН ПО ИНФОРМАЦИОННОМУ СОСТОЯНИЮ \r\n",76);

write(handle," \r\n",76);

write(handle," Состояние БХХХХХ ШХХХХХ и КХХХХ \r\n",76);

write(handle," \r\n",76);

write(handle," БХХХХХ ШХХХХХ 1-го массива СХХ \r\n",76);

if((!(bytes[15]&0x01))&&(!(bytes[15]&0x02)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[15]&0x01)&&(bytes[15]&0x02))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[15]&0x01)&&(!(bytes[15]&0x02)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[15]&0x02)&&(!(bytes[15]&0x01)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," БХХХХХ ШХХХХХ 2-го массива СХХ \r\n",76);

if((!(bytes[17]&0x04))&&(!(bytes[16]&0x01)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[17]&0x04)&&(bytes[16]&0x01))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[17]&0x04)&&(!(bytes[16]&0x01)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[16]&0x01)&&(!(bytes[17]&0x04)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," БХХХХХ КХХХХ ОХХ \r\n",76);

if((!(bytes[18]&0x04))&&(!(bytes[18]&0x02)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[18]&0x04)&&(bytes[18]&0x02))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[18]&0x02)&&(!(bytes[18]&0x04)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[18]&0x04)&&(!(bytes[18]&0x02)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," БХХХХХ КХХХХ УХХ \r\n",76);

if((!(bytes[19]&0x02))&&(!(bytes[19]&0x01)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[19]&0x02)&&(bytes[19]&0x01))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[19]&0x01)&&(!(bytes[19]&0x02)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[19]&0x02)&&(!(bytes[19]&0x01)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," БХХХХХ КХХХХ УХ \r\n",76);

if((!(bytes[22]&0x02))&&(!(bytes[22]&0x01)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[22]&0x02)&&(bytes[22]&0x01))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[22]&0x01)&&(!(bytes[22]&0x02)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[22]&0x02)&&(!(bytes[22]&0x01)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," БХХХХХ КХХХХ РХХ \r\n",76);

if((!(bytes[23]&0x01))&&(!(bytes[24]&0x04)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[23]&0x01)&&(bytes[24]&0x04))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[24]&0x04)&&(!(bytes[23]&0x01)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[23]&0x01)&&(!(bytes[24]&0x04)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," \r\n",76);

write(handle," Состояние УХХХХХ ШХХХХХ и КХХХХ \r\n",76);

write(handle," \r\n",76);

write(handle," УХХХХХ ШХХХХХ 1-го массива СХХ \r\n",76);

if((!(bytes[14]&0x01))&&(!(bytes[15]&0x04)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[14]&0x01)&&(bytes[15]&0x04))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[15]&0x04)&&(!(bytes[14]&0x01)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[14]&0x01)&&(!(bytes[15]&0x04)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," УХХХХХ ШХХХХХ 2-го массива СХХ \r\n",76);

if((!(bytes[16]&0x04))&&(!(bytes[16]&0x02)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[16]&0x04)&&(bytes[16]&0x02))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[16]&0x02)&&(!(bytes[16]&0x04)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[16]&0x04)&&(!(bytes[16]&0x02)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," УХХХХХ КХХХХ ОХХ \r\n",76);

if((!(bytes[17]&0x02))&&(!(bytes[17]&0x01)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[17]&0x02)&&(bytes[17]&0x01))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[17]&0x01)&&(!(bytes[17]&0x02)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[17]&0x02)&&(!(bytes[17]&0x01)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," УХХХХХ КХХХХ УХХ \r\n",76);

if((!(bytes[19]&0x04))&&(!(bytes[18]&0x01)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[19]&0x04)&&(bytes[18]&0x01))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[19]&0x04)&&(!(bytes[18]&0x01)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[18]&0x01)&&(!(bytes[19]&0x04)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," УХХХХХ КХХХХ УХ \r\n",76);

if((!(bytes[21]&0x01))&&(!(bytes[22]&0x04)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[21]&0x01)&&(bytes[22]&0x04))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[22]&0x04)&&(!(bytes[21]&0x01)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[21]&0x01)&&(!(bytes[22]&0x04)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," УХХХХХ КХХХХ РХХ \r\n",76);

if((!(bytes[23]&0x02))&&(!(bytes[23]&0x04)))

write(handle," НЕ ЗАПИСАНЫ \r\n",76);

if((bytes[23]&0x02)&&(bytes[23]&0x04))

write(handle," УНИЧТОЖЕНЫ \r\n",76);

if((bytes[23]&0x02)&&(!(bytes[23]&0x04)))

write(handle," СОХРАНЕНЫ \r\n",76);

if((bytes[23]&0x04)&&(!(bytes[23]&0x02)))

write(handle," РАЗРУШЕНЫ \r\n",76);

write(handle," \r\n",76);

write(handle," НАВЯЗЫВАНИЕ ЛОЖНОЙ ИНФОРМАЦИИ \r\n",76);

write(handle," \r\n",76);

if(bytes[24]&0x02)

write(handle,"Есть НЛИ по массиву N1 шххххх СХХ \r\n",76);

if(bytes[24]&0x01)

write(handle,"Есть НЛИ по массиву N2 шххххх СХХ \r\n",76);

if(bytes[25]&0x04)

write(handle,"Есть НЛИ по массиву кхххх УХХ \r\n",76);

if(bytes[25]&0x01)

write(handle,"Есть НЛИ по массиву кхххх УХ \r\n",76);

if(bytes[26]&0x04)

write(handle,"Есть НЛИ по массиву кхххх РХХ \r\n",76);

if((!(bytes[24]&0x02))&&(!(bytes[24]&0x01))&&(!(bytes[25]&0x04))

&&(!(bytes[25]&0x02))&&(!(bytes[25]&0x01))&&(!(bytes[26]&0x04)))

write(handle,"НЛИ ОТСУТСТВУЕТ по всем массивам \r\n",76);

break;


case 3: // В

case 6: // КС1

case 14: // КС2


if(bytes[5]&0x04)

write(handle," КС НЕИСПРАВЕН \r\n",76);

else

write(handle," КС ИСПРАВЕН \r\n",76);

write(handle," \r\n",76);

if(bytes[19]&0x01)

write(handle,"Прием от АК1 трех кодограмм подряд с признаком К2 \r\n",76);

if(bytes[19]&0x02)

write(handle,"Прием от АК1 трех кодограмм подряд с ВПС=1010 \r\n",76);

if(bytes[19]&0x04)

write(handle,"Отсутствие информации от АК1 на входе ПУ более 12 сек \r\n",76);

if(bytes[18]&0x01)

write(handle,"Прием от АК1 трех кодограмм подряд с признаком получения УС \r\n",76);

if(bytes[18]&0x02)

write(handle,"Отсутствие связи в тракте от ЦКС1 до АК1 \r\n",76);

if(bytes[18]&0x04)

write(handle,"Отсутствие связи в тракте от ЦКС1 до ЦКС2 для АК1 \r\n",76);

if(bytes[17]&0x01)

write(handle,"Отсутствие связи в тракте от АК1 до ЦКС1 \r\n",76);

write(handle," \r\n",76);

if(bytes[23]&0x01)

write(handle,"Прием от АК3 трех кодограмм подряд с признаком К2 \r\n",76);

if(bytes[23]&0x02)

write(handle,"Прием от АК3 трех кодограмм подряд с ВПС=1010 \r\n",76);

if(bytes[23]&0x04)

write(handle,"Отсутствие информации от АК3 на входе ПУ более 12 сек \r\n",76);

if(bytes[22]&0x01)

write(handle,"Прием от АК3 трех кодограмм подряд с признаком получения УС \r\n",76);

if(bytes[22]&0x02)

write(handle,"Отсутствие связи в тракте от ЦКС1 до АК3 \r\n",76);

if(bytes[22]&0x04)

write(handle,"Отсутствие связи в тракте от ЦКС1 до ЦКС2 для АК3 \r\n",76);

if(bytes[21]&0x01)

write(handle,"Отсутствие связи в тракте от АК3 до ЦКС1 \r\n",76);

write(handle," \r\n",76);

if(bytes[26]&0x01)

write(handle,"Прием от АК6 трех кодограмм подряд с признаком К2 \r\n",76);

if(bytes[26]&0x02)

write(handle,"Прием от АК6 трех кодограмм подряд с ВПС=1010 \r\n",76);

if(bytes[26]&0x04)

write(handle,"Отсутствие информации от АК6 на входе ПУ более 12 сек \r\n",76);

if(bytes[25]&0x01)

write(handle,"Прием от АК6 трех кодограмм подряд с признаком получения УС \r\n",76);

if(bytes[25]&0x02)

write(handle,"Отсутствие связи в тракте от ЦКС1 до АК6 \r\n",76);

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

hidecur();

//wshadow(LGREY);


// вывод результатов запроса из файла на экран

for(down=2;down<25 && fgets(string,LEN,f)!=NULL;++down)

{

string[right+80]='\0';

wprints(down-2,1,TXTATTR,string);

}


// цикл просмотра результатов

while((ch=getxch())!=ESC)

switch(ch)

{

case UP: if(down<=25) break;

down--;

fseek(f,(long)(down-23)*length,0);

fgets(string,LEN,f);

string[right+79]='\0';

wscroll(1,D_DOWN);

wprints(0,1,TXTATTR,string+right);

break;


case DOWN: if(fseek(f,(long)down*length,0)) break;

if(fgets(string,LEN,f)==NULL) break;

wscroll(1,D_UP);

string[right+80]='\0';

wprintc(22,0,TXTATTR,' ');

down++;

break;


case PGUP: for(i=0;i<=22;++i)

{

if(down<=25) break;

down--;

fseek(f,(long)(down-23)*length,0);

fgets(string,LEN,f);

wscroll(1,D_DOWN);

string[right+80]='\0';

wprints(0,1,TXTATTR,string+right);

wprintc(1,0,TXTATTR,' ');

}

break;


case PGDOWN: for(i=0;i<=22;++i)

{

if(fseek(f,(long)down*length,0)) break;

if(fgets(string,LEN,f)==NULL) break;

wscroll(1,D_UP);

string[right+80]='\0';

wprints(22,1,TXTATTR,string+right);

down++;

}

break;


case LEFT: if(right) screen_move(--right);break;

case RIGHT: if(right+82<length) screen_move(++right);break;

case END: if(right+82<length) screen_move(right=length-82);break;

case HOME: if(right) screen_move(right=0);break;

}


fclose(f);

wcloseall();

}


// горизонтальная прокрутка

void screen_move(int right)

{

int i;


fseek(f,length,0);

fgets(string,LEN,f);

string[right+80]='\0';

wwprints(w1,0,1,YELLOW|_BLUE,string+right);

if(down-22>2) fseek(f,(long)(down-22)*length,0);

for(i=0;i<=22 && fgets(string,length,f)!=NULL;++i)

{

string[right+80]='\0';

wprints(i,1,TXTATTR,string+right);

}

}




#include <stdio.h>

#include <string.h>

#include "cxlwin.h"

#include "cxlkey.h"

#include "cxlvid.h"


#define LEN 80

#define ESC 0x011b


FILE *f; // дескриптор файла результатов

char string[LEN]; // буфер для чтения из файла


void resScr(void)

{

int i;

int maxlen; // максимальная длина строки в файле результатов запроса

int startpos; // столбец окна с которого печатается текст


// открытие файла результатов запроса и

// определение размера самой длинной строки в этом файле

f=fopen("inquiry.res","r++");

for(maxlen=0,i=0;fgets(string,LEN,f)!=NULL;++i)

if(strlen(string)>maxlen) maxlen=strlen(string);

fseek(f,0,0);


// черный фон

wopen(0,0,24,79,5,0,0);

// открытие окна

wopen((20-i)/2,5,(20-i)/2+i+2,75,1,YELLOW|_BLUE,_CYAN);

hidecur();


// чтение типа устройства и его использование в качестве титула окна

fgets(string+1,LEN,f);

string[0]=' ';

for(i=2;i<=6;++i)

if(string[i]=='\r' || string[i]=='\n') string[i]=' ';

wtitle(string,TCENTER,_LGREY);


// вывод результатов запроса из файла в окно

startpos=(70-maxlen)/2;

for(i=2;fgets(string,LEN,f)!=NULL;++i)

{

wgotoxy(i,startpos);

wprintf("%s",string);

}


// окно находится на экране пока не будет нажато ESC

while(getxch()!=ESC);


fclose(f);

wcloseall();

}




Список литературы

1.            Глушков В. М. “Основы безбумажной информатики”, М. Наука, 1987 г.;

2.            “Человек и вычислительная техника” под ред. Глушкова В. М., М. Наука, 1971 г.;

3.            “Организационные вопросы автоматизации управления” (перевод с английского) Глушкова В. М., М. Экономика, 1972 г.;

4.            Мартин Дж. “Организация баз данных в вычислительных системах”, М. Мир, 1980 г.;

5.            Бойко В. В., Савинков В. М. “Проектирование баз данных информационных систем”, М. Финансы и статистика, 1989 г.;

6.            Шураков В. В. “Надежность программного обеспечения систем обработки данных”, М. Финансы и статистика, 1987 г.;

7.            Уинер Р. “Язык Турбо СИ”, М. Мир, 1991 г.;

8.            Paradox Engine. Документация: описание, список функций для создания и работы с БД.;

9.            “Турбо СИ. Описание редактора, стандартные и графические функции”, изд. Иститута проблем информатики, М. 1989 г.;

10.        Хьюз Дж., Мичтом Дж. “Структурный подход к программированию”. Изд. Мир, М., 1980 г.;

11.        “Выполнение организационно-экономической части дипломных проектов”. Учебное пособие, изд. МИРЭА, 1994 г.;

12.        “Выполнение организационно-экономической части дипломных проектов”. Учебное пособие, изд. МИРЭА, 1987 г.;

13.        “Сетевые графики в планировании”. Разумов И. М., Белова Л. Д., и др., М. Высшая школа, 1981 г.;

14.        “Основы финансового менеджмента. Как управлять капиталом?” Балабанов И. Т., М. “Финансы и статистика”, 1994 г.;

15.        Мотузко Ф. Я. “Охрана труда”, М. Высшая школа, 1969 г.;

16.        Самгин Э. Б. “Освещение рабочих мест”, изд. МИРЭА, 1989 г.;

17.        Сибаров Ю. Б. “Охрана труда в вычислительных центрах” и др., М. Машиностроение, 1990 г.;

18.        Методические указания по дипломному проектированию раздела “Охрана труда и окру­жающей среды” под ред. Мотузко Ф. Я., МИРЭА, 1980 г.;

19.        “Основы инженерной психологии” под ред. Ломова Б. Ф., М. Высшая школа, 1986 г.;

20.        Демиденко и др. “Защита объектов народного хозяйства от оружия массового поражения” Справочник, Киев "Высшая школа" 1989 г.;

21.        Методические указания по безопасности жизнедеятельности. “Особенности ведения аварийно-спасательных работ на промышленном объекте в ЧС мирного времени”, изд. МИРЭА.;

22.        Атаманюк В. Г., Ширшев Л. Г. и др. “Гражданская оборона. Учебник для ВТУЗов”, М. Высшая школа. 1987г.;

23.        “Введение в практическую эргономику. Учебное пособие.” под ред. Зинченко В. П., Моргунова Е. Б., изд. МИРЭА, 1990г.




Страницы: 1, 2, 3, 4, 5, 6, 7


© 2000
При полном или частичном использовании материалов
гиперссылка обязательна.