📄 commujk1f.c
字号:
{
Measure_Value();
break;
}
else if(ASDU_9_FlagJK1 & _Data_RDY9)
{
Measure_Value9();
break;
}
else
{
NoMessag_ReplyJK1();
break;
}
default:
NoMessag_ReplyJK1(); /*无相应报文*/
break;
}
return(1);
}
//----------------------receive infix frame------------------------*/
if(ReceFrameFlagJK1==FrameunFix)
{
ControlCode = (ReceUpBuffRemJK1[4]) & 0xff;
if(!(ControlCode&_PRM))
{
ReceFrameFlagJK1 = NotPrimaryFrame ;
TransmitflagJK1 = NoTransmit;
return(0); /*Not primary*/
}
if((ControlCode&_FCV))
{
if(!((ControlCode&_FCB)^(ImageCtrCodeJK1&_FCB)))
{
if(!(MsgTransUpFlagJK1&Reset_CU))
{
TransmitflagJK1 = ReTransmit;
ImageCtrCodeJK1 = ControlCode;
return(1);
}
}
}
ImageCtrCodeJK1=ControlCode;
switch(ReceUpBuffRemJK1[6] & 0xff)
{
case 0x06: /*ReModify the time*/
// ReceUpBuffRemJK1[9] = 0xff; //broadcast CPUs
if((ReceUpBuffRemJK1[5]&0xff) == 0xff)
{
Modify_TimeJK1();
TransmitflagJK1 = NoTransmit;
}
else
{
Modify_TimeJK1();
MsgTransUpFlagJK1 |= ReModify_Time;
Common_Addr_JK1= ReceUpBuffRemJK1[9];
Sure_MsgJK1();
}
break;
case 0x07: /*General inspect start*/
Inspect_NumberJK1 = ReceUpBuffRemJK1[12];
Common_Addr_JK1 = ReceUpBuffRemJK1[9];
switch(0xff & ReceUpBuffRemJK1[9])
{
case 1: //protection
MsgTransUpFlagJK1 |= Gen_Inspect_Start;
MsgTransUpFlagJK1 |= Self_Inspection;
Gen_Insp_IndexJK1 = 0x0b; // Inspection msg number;
break;
case 2: //monitor & control
MsgTransUpFlagJK1 |= Gen_Inspect_Start;
MsgTransUpFlagJK1 |= DIN_Status;
MsgTransUpFlagJK1 |= Tap_Chger_Status;
break;
default:
MsgTransUpFlagJK1 |= Gen_Inspect_Start;
MsgTransUpFlagJK1 |= Gen_Inspect_End;
break;
}
Sure_MsgJK1();
break;
case 60:
MsgTransUpFlagJK1 |= Return_Version;
Common_Addr_JK1= ReceUpBuffRemJK1[9];
Sure_MsgJK1();
break;
case 65:
Receive_ASDU_ERROR();
Sure_MsgJK1();
break;
case 64:
if(DIChn[YKYX].state)
{ /*about control CB operation*/
Receive_ASDU_64();
Common_Addr_JK1= ReceUpBuffRemJK1[9];
Sure_MsgJK1();
}
else
{
Receive_ASDU_ERROR();
Sure_MsgJK1();
}
break;
case 88:
if((ReceUpBuffRemJK1[9]&0xff) == 2)
{
Receive_ASDU_88();
Common_Addr_JK1= ReceUpBuffRemJK1[9];
Sure_MsgJK1();
}
else
{
MsgTransUpFlagJK1 |= Coulometer_No;
Common_Addr_JK1= ReceUpBuffRemJK1[9];
Sure_MsgJK1();
}
break;
case 20:
Receive_ASDU_20();
Common_Addr_JK1= ReceUpBuffRemJK1[9];
break;
case 61:
Receive_ASDU_61();
Common_Addr_JK1= ReceUpBuffRemJK1[9];
Sure_MsgJK1();
break;
case 62:
NoMessag_ReplyJK1();
break;
default:
NoMessag_ReplyJK1(); /*无相应报文*/
break;
}
return(1);
}
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of sure.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Sure_MsgJK1(void)
{
unsigned char *ptr;
//----------------------
ptr = TransUpBuffRemJK1;
*(ptr+0) = 0x10;
if((!MsgTransUpFlagJK1) && (pReportOUT_COM == pReportIN))
{
*(ptr+1) = 0x00;
}
else
{
*(ptr+1) = 0x20;
}
*(ptr+2) = subAddress_backup;
*(ptr+3) = *(ptr+1) + *(ptr+2);
*(ptr+4) = 0x16;
TransmitflagJK1 = FrameFix;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of no-required-data frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int NoMessag_ReplyJK1(void)
{
unsigned char *ptr;
//----------------------
ptr = TransUpBuffRemJK1;
*(ptr+0) = 0x10;
if((!MsgTransUpFlagJK1) && (pReportOUT_COM == pReportIN))
{
*(ptr+1) = 0x09;
}
else
{
*(ptr+1) = 0x29;
}
*(ptr+2) = subAddress_backup;
*(ptr+3) = *(ptr+1) + *(ptr+2);
*(ptr+4) = 0x16;
TransmitflagJK1 = FrameFix;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of LSDU-status frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int LSDU_Status_ReplyJK1(void)
{
unsigned char *ptr;
//----------------------
ptr = TransUpBuffRemJK1;
*(ptr+0) = 0x10;
if((!MsgTransUpFlagJK1) && (pReportOUT_COM == pReportIN))
{
*(ptr+1) = 0x0b; /*11-Normal;14-NotWorking;15-NotComplete需要修改*/
}
else
{
*(ptr+1) = 0x2b;
}
*(ptr+2) = subAddress_backup;
*(ptr+3) = *(ptr+1) + *(ptr+2);
*(ptr+4) = 0x16;
TransmitflagJK1 = FrameFix;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of reset-device frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Rest_Device_MsgJK1(void)
{
MsgTransUpFlagJK1 &= Reset_Device^0xffffffff;
Rest_Version_MsgJK1();
TransUpBuffRemJK1[8] = 5;
TransUpBuffRemJK1[11] = 4;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of reset-CU frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Rest_CU_MsgJK1(void)
{
MsgTransUpFlagJK1 &= Reset_CU^0xffffffff;
Rest_Version_MsgJK1();
TransUpBuffRemJK1[8] = 4;
TransUpBuffRemJK1[11] = 3;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of reset-FCB frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Rest_FCB_MsgJK1(void)
{
MsgTransUpFlagJK1 &= Reset_FCB^0xffffffff;
Rest_Version_MsgJK1();
TransUpBuffRemJK1[8] = 3;
TransUpBuffRemJK1[11] = 2;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of version frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Rest_Version_MsgJK1(void)
{
unsigned char *ptr;
//------------------------------
ptr = TransUpBuffRemJK1;
LSDU_MsgJK1();
*(ptr+1) = 21;
*(ptr+2) = 21;
*(ptr+6) = 5;
*(ptr+7) = 0x81;
*(ptr+8) = 3;
*(ptr+9) = 1;
*(ptr+10)= 178;
*(ptr+11)= 2;
*(ptr+12)= 2;
*(ptr+13)= 'W';
*(ptr+14)= 'X';
*(ptr+15)= 'H';
*(ptr+16)= '-';
*(ptr+17)= '8';
*(ptr+18)= '2';
*(ptr+19)= '1';
*(ptr+20)= '';
*(ptr+21)= 0x10;
*(ptr+22)= 0; /**/
*(ptr+23)= CRC_Code & 0xff; /*This byte means the low byte of version*/
*(ptr+24)= (CRC_Code & 0xff00)>>8; /*This byte means the High byte of version*/
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying frame head.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int LSDU_MsgJK1(void)
{
unsigned char *ptr;
//------------------------------
ptr = TransUpBuffRemJK1;
*(ptr+0) = 0x68;
*(ptr+3) = 0x68;
if((!MsgTransUpFlagJK1) && (pReportOUT_COM == pReportIN))
{
*(ptr+4) = 0x08;
}
else
{
*(ptr+4) = 0x28;
}
*(ptr+5) = subAddress_backup;
TransmitflagJK1 = FrameunFix;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of modify-time frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Modify_Time_MsgJK1(void)
{
UNSIGNED timebuf[6];
unsigned char *ptr;
unsigned char *ptr1;
//=----------------------------
ptr1 = ReceUpBuffRemJK1;
MsgTransUpFlagJK1 &= ReModify_Time^0xffffffff;
LSDU_MsgJK1();
ptr = TransUpBuffRemJK1;
*(ptr+1) = 15;
*(ptr+2) = 15;
*(ptr+6) = 6;
*(ptr+7) = 0x81;
*(ptr+8) = 8;
*(ptr+9) = Common_Addr_JK1;
*(ptr+10) = 178;
*(ptr+11) = 0;
/* *(ptr+12) =(pCLOCK_RUN -> millionsecond_ + pCLOCK_RUN -> second_ * 1000)&0xff;
*(ptr+13) =((pCLOCK_RUN -> millionsecond_ + pCLOCK_RUN -> second_ * 1000)&0xff00)>>8;
*(ptr+14) =pCLOCK_RUN -> minute_& 0xff;
*(ptr+15) =pCLOCK_RUN ->hour_& 0xff;
*(ptr+16) =(pCLOCK_RUN ->day_ + 1)& 0xff;
*(ptr+17) =(pCLOCK_RUN ->month_ + 1)& 0xff;
*(ptr+18) =(pCLOCK_RUN ->year_ - 4)& 0xff;
*/
// READ_DEC_TIME(timebuf);
*(ptr+12) =*(ptr1+12);
*(ptr+13) =*(ptr1+13);
*(ptr+14) =*(ptr1+14);
*(ptr+15) =*(ptr1+15);
*(ptr+16) =*(ptr1+16);
*(ptr+17) =*(ptr1+17) ;
*(ptr+18) =*(ptr1+18);
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of set-parameter frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Sets_Parameter_MsgJK1(void)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -