📄 rcs900.c
字号:
case 0xe2:
for( i=0;i<sizeof(RCS_E2_Event)/sizeof(EVTALM);i++ )
if( RCS_E2_Event[i].index == infno ) break;
strcpy(pStr,RCS_E2_Event[i].text);
audio = RCS_E2_Event[i].audio;
dpi = RCS_E2_Event[i].dpi;
break;
case 0xe3:
for( i=0;i<sizeof(RCS_E3_Event)/sizeof(EVTALM);i++ )
if( RCS_E3_Event[i].index == infno ) break;
strcpy(pStr,RCS_E3_Event[i].text);
audio = RCS_E3_Event[i].audio;
dpi = RCS_E3_Event[i].dpi;
break;
case 0xe6:
for( i=0;i<sizeof(RCS_E6_Event)/sizeof(EVTALM);i++ )
if( RCS_E6_Event[i].index == infno ) break;
strcpy(pStr,RCS_E6_Event[i].text);
audio = RCS_E6_Event[i].audio;
dpi = RCS_E6_Event[i].dpi;
break;
case 0xf2:
for( i=0;i<sizeof(RCS_F2_Event)/sizeof(EVTALM);i++ )
if( RCS_F2_Event[i].index == infno ) break;
strcpy(pStr,RCS_F2_Event[i].text);
audio = RCS_F2_Event[i].audio;
dpi = RCS_F2_Event[i].dpi;
break;
case 0xf8:
for( i=0;i<sizeof(RCS_F8_Event)/sizeof(EVTALM);i++ )
if( RCS_F8_Event[i].index == infno ) break;
strcpy(pStr,RCS_F8_Event[i].text);
audio = RCS_F8_Event[i].audio;
dpi = RCS_F8_Event[i].dpi;
break;
default:
printf("functione no define!\n");
break;
}
if( RcvDef.Buf[12]==2 ) strcpy(str,"动作");
else
if( RcvDef.Buf[12]==1 ) strcpy(str,"复归");
else strcpy(str,"无效");
ms = (RcvDef.Buf[14]*256+RcvDef.Buf[13])/1000;
sprintf(Alarm_Msg.msg,"%s%s%s(相对时间%dms)(%s)",
((char *)pSysDef+(int)pIECDEF[addr]->FB.pDescript),pStr,str,ms,hostname);
build_alarm(&Alarm_Msg,0);
if( audio !=0 ){
Audio.audio_no =audio;
audio_alarm(&Audio);
}
break;
case M_GD_NTA: /* 通用分类标识 */
sprintf(file1,"%s",((char *)pSysDef+(int)pIECDEF[addr]->FB.pTag));
fp1 = fopen(file1,"a");
if(RcvDef.Buf[8] == COT_GRD){ /* 对通用分类数据读命令的有效数据响应 */
set_num = RcvDef.Buf[13]&0x3f; /* 本cpu定值个数 NGD */
p=(unsigned char*)&RcvDef.Buf[14]; /* p指向每一项定值的序号 */
for(i=0;i<set_num;i++){
/*
len = len + 6 + width*num;
if( RcvDef.Buf[2] < len ) {
printf("set_num=%d len=%d -- error!\n",set_num,RcvDef.Buf[2]);
return;
}
*/
cpu = *p;
p = p+1;
dot = *p;
kod = *(p+1);
p += 3;
width=*p;
p = p+1;
num=*p;
p += 1;
if( (RcvDef.Buf[11] == 0xf0) && (cpu <= 12) && (cpu!=0) ) pIECDEF[addr]->GROUP[cpu] = 1;
if( (RcvDef.Buf[13]&0x80) == 0 ) pIECDEF[addr]->PAD1 = 1;
if( (RcvDef.Buf[11] == 0xf1) ){
if( kod == 0x0a ){
strncpy( str, (char*)(p) , width);
*(str + width) = '\0';
fprintf(fp1,"%d %d %s\n",cpu,dot,str);
}
else if(width == 4) { /* 实际定值的长度(字节数) */
if(num != 1) printf("width=%d----num=%d\n",width,num);
switch(cpu){
case 1:
pIECDEF[addr]->SET1[dot] = *((float *)p);
break;
case 2:
pIECDEF[addr]->SET2[dot] = *((float *)p);
break;
case 3:
pIECDEF[addr]->SET3[dot] = *((float *)p);
break;
case 4:
pIECDEF[addr]->SET4[dot] = *((float *)p);
break;
case 5:
pIECDEF[addr]->SET5[dot] = *((float *)p);
break;
case 6:
pIECDEF[addr]->SET6[dot] = *((float *)p);
break;
case 7:
pIECDEF[addr]->SET7[dot] = *((float *)p);
break;
case 8:
pIECDEF[addr]->SET8[dot] = *((float *)p);
break;
case 9:
pIECDEF[addr]->SET9[dot] = *((float *)p);
break;
case 10:
pIECDEF[addr]->SET10[dot] = *((float *)p);
break;
case 11:
pIECDEF[addr]->SET11[dot] = *((float *)p);
break;
case 12:
pIECDEF[addr]->SET12[dot] = *((float *)p);
break;
default:
printf(" The cpu num is Err ! cpu = %d \n",cpu);
break;
}
}
else if(width == 2){
if(num != 1) printf("width=%d----num=%d\n",width,num);
tmpdata = (*p);
tmpdata = (*(p+1))*256 + tmpdata;
switch(cpu){
case 1:
pIECDEF[addr]->SET1[dot] = (float)tmpdata;
break;
case 2:
pIECDEF[addr]->SET2[dot] = (float)tmpdata;
break;
case 3:
pIECDEF[addr]->SET3[dot] = (float)tmpdata;
break;
case 4:
pIECDEF[addr]->SET4[dot] = (float)tmpdata;
break;
case 5:
pIECDEF[addr]->SET5[dot] = (float)tmpdata;
break;
case 6:
pIECDEF[addr]->SET6[dot] = (float)tmpdata;
break;
case 7:
pIECDEF[addr]->SET7[dot] = (float)tmpdata;
break;
case 8:
pIECDEF[addr]->SET8[dot] = (float)tmpdata;
break;
case 9:
pIECDEF[addr]->SET9[dot] = (float)tmpdata;
break;
case 10:
pIECDEF[addr]->SET10[dot] = (float)tmpdata;
break;
case 11:
pIECDEF[addr]->SET11[dot] = (float)tmpdata;
break;
case 12:
pIECDEF[addr]->SET12[dot] = (float)tmpdata;
break;
default:
printf(" The cpu num is Err ! cpu = %d \n",cpu);
break;
}
}
else if(width == 1){
if(num != 1) printf("width=%d----num=%d\n",width,num);
tmpdata = *p;
if( num == 2 ) tmpdata = (*(p+1))*256 + tmpdata;
switch(cpu){
case 1:
pIECDEF[addr]->SET1[dot] = (float)tmpdata;
break;
case 2:
pIECDEF[addr]->SET2[dot] = (float)tmpdata;
break;
case 3:
pIECDEF[addr]->SET3[dot] = (float)tmpdata;
break;
case 4:
pIECDEF[addr]->SET4[dot] = (float)tmpdata;
break;
case 5:
pIECDEF[addr]->SET5[dot] = (float)tmpdata;
break;
case 6:
pIECDEF[addr]->SET6[dot] = (float)tmpdata;
break;
case 7:
pIECDEF[addr]->SET7[dot] = (float)tmpdata;
break;
case 8:
pIECDEF[addr]->SET8[dot] = (float)tmpdata;
break;
case 9:
pIECDEF[addr]->SET9[dot] = (float)tmpdata;
break;
case 10:
pIECDEF[addr]->SET10[dot] = (float)tmpdata;
break;
case 11:
pIECDEF[addr]->SET11[dot] = (float)tmpdata;
break;
case 12:
pIECDEF[addr]->SET12[dot] = (float)tmpdata;
break;
default:
printf(" The cpu num is Err ! cpu = %d \n",cpu);
break;
}
}
else printf("SET[%d] datasize = %d is not define ! \n",dot+1,width);
}
p = p + width*num ;
}
}
fclose(fp1);
break;
default:
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -