Автоматизированное рабочее место регистрации и документирования комплекса средств автоматизации
#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);
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
|