📄 commujk1f.c
字号:
UNSIGNED timebuf[6];
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Sets_Parameter^0xffffffff;
LSDU_MsgJK1();
*(ptr+1) = 14;
*(ptr+2) = 14;
*(ptr+6) = 1;
*(ptr+7) = 0x81;
*(ptr+8) = 11;
*(ptr+9) = 1;
*(ptr+10)= 178;
*(ptr+11)= 22;
*(ptr+12)= 2; //?
READ_DEC_TIME(timebuf);
*(ptr+13) =timebuf[5]%256 ;
*(ptr+14) =timebuf[5]/256;
*(ptr+15) =timebuf[4];
*(ptr+16) =timebuf[3];
*(ptr+17)= 0;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of double-point-status-change data frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Trans_DIN_Status_ChangeJK1(void)
{
UNSIGNED timebuf[6];
unsigned char *ptr;
SOE *pSOE;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= DIN_Status_Change^0xffffffff;
pReportOUT_COM++;
LSDU_MsgJK1();
pReportOUT_COM--;
pSOE = & pReportOUT_COM->pro_report_soe;
if((pReportOUT_COM->pro_report_flag == 1)||(pReportOUT_COM->pro_report_flag == 41)
||(pReportOUT_COM->pro_report_flag == 43))
{
*(ptr+1) = 14;
*(ptr+2) = 14;
*(ptr+6) = pReportOUT_COM->pro_report_flag;
*(ptr+7) = 0x81;
*(ptr+8) = 1;
if((pReportOUT_COM->pro_report_flag == 41)||(pReportOUT_COM->pro_report_flag == 43))
{
*(ptr+9) = 2;
*(ptr+10)= 1;
}
else
{
*(ptr+9) = 1;
*(ptr+10)= 178;
}
*(ptr+11)= pSOE->SOE_Inf;
*(ptr+12)= pSOE->DPI; //SPI
*(ptr+13) =pSOE->Millionsecond%256 ;
*(ptr+14) =pSOE->Millionsecond/256;
*(ptr+15) =pSOE->Minute;
*(ptr+16) =pSOE->Hour;
*(ptr+17)= Identity_NumberJK1;
}
else
{
*(ptr+1) = 18;
*(ptr+2) = 18;
*(ptr+6) = pReportOUT_COM->pro_report_flag;
*(ptr+7) = 0x81;
*(ptr+8) = 1;
*(ptr+9) = 1;
*(ptr+10) = 178;
*(ptr+11) = pSOE->SOE_Inf;
*(ptr+12) = pSOE->DPI; //SPI
*(ptr+13) = pSOE->Relative_Time % 256;
*(ptr+14) = pSOE->Relative_Time / 256;
*(ptr+15) = pSOE->Fault_Number;
*(ptr+16) = 0x00;
*(ptr+17) = pSOE->Millionsecond%256 ;
*(ptr+18) = pSOE->Millionsecond/256;
*(ptr+19) = pSOE->Minute;
*(ptr+20) = pSOE->Hour;
*(ptr+21)= Identity_NumberJK1;
}
pReportOUT_COM++;
if(pReportOUT_COM > &ReportRAM[REPORTRAM - 1])
{
pReportOUT_COM = ReportRAM;
}
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of double-point-status data frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Trans_DIN_StatusJK1(void)
{
unsigned char *ptr;
int num,i,j;
int status;
//=----------------------------
ptr = TransUpBuffRemJK1;
num = 7;
MsgTransUpFlagJK1 &= DIN_Status^0xffffffff;
LSDU_MsgJK1();
*(ptr+1) = num + 9;
*(ptr+2) = num + 9;
*(ptr+6) = 42;
*(ptr+7) = num;
*(ptr+8) = 9;
*(ptr+9) = Common_Addr_JK1;
*(ptr+10) = 178;
*(ptr+11) = 149;
*(ptr+12) = DIChn[SDTZ].state+1;
*(ptr+13) = DIChn[HW].state+1;
*(ptr+14) = DIChn[YX1].state+1;
*(ptr+15) = DIChn[YX2].state+1;
*(ptr+16) = DIChn[YX3].state+1;
*(ptr+17) = DIChn[YX4].state+1;
*(ptr+18) = DIChn[YX5].state+1;
*(ptr+19) = Inspect_NumberJK1;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of general inspection endness frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Trans_Gen_Inspect_End(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Gen_Inspect_End^0xffffffff;
LSDU_MsgJK1();
*(ptr+1) = 9;
*(ptr+2) = 9;
*(ptr+6) = 8;
*(ptr+7) = 0x81;
*(ptr+8) = 10;
*(ptr+9) = Common_Addr_JK1;
*(ptr+10) = 178;
*(ptr+11) = 0;
*(ptr+12) = Inspect_NumberJK1;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of general inspection frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Trans_Gen_Inspect_Events(void)
{
if((MsgTransUpFlagJK1&Self_Inspection)!=0)
{
Trans_Self_Inspection();
}
else if((MsgTransUpFlagJK1&DIN_Status)!=0)
{
Trans_DIN_StatusJK1();
}
else if((MsgTransUpFlagJK1&Tap_Chger_Status)!=0)
{
Trans_Tap_Chger_Status();
}
else
{
MsgTransUpFlagJK1 &= Gen_Inspect_Start^0xffffffff;
MsgTransUpFlagJK1 |= Gen_Inspect_End;
Trans_Gen_Inspect_End();
}
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of self-inspection-data frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Trans_Self_Inspection(void)
{
unsigned char *ptr;
UNSIGNED timebuf[6];
int k;
JUMPER *pJumper;
//=----------------------------
ptr = TransUpBuffRemJK1;
*(ptr+1) = 14;
*(ptr+2) = 14;
*(ptr+6) = 1;
*(ptr+7) = 0x81;
*(ptr+8) = 9;
*(ptr+9) = Common_Addr_JK1;
*(ptr+10) = 178;
Gen_Insp_IndexJK1--;
k=Gen_Insp_IndexJK1;
switch(1<< k)
{ //:=1,OK;
//:=2,Error
case Error_EPROM:
*(ptr+11) = 195;
*(ptr+12) = 1<<( (Self_Insp_ErrorJK1 & Error_EPROM) >> k);
break;
case Error_RAM:
*(ptr+11) = 193;
*(ptr+12) = 1<<( (Self_Insp_ErrorJK1 & Error_RAM) >> k);
break;
case Error_Setting:
*(ptr+11) = 222;
*(ptr+12) = 1<<( (Self_Insp_ErrorJK1 & Error_Setting) >> k);
break;
case OC_ACC_Direction:
*(ptr+11) = 176;
pJumper = OC_ACC_jumper;
*(ptr+12) = pJumper->jum_status+1;
break;
case Zero1_Direction:
*(ptr+11) = 184;
pJumper = Zero1_jumper;
*(ptr+12) = pJumper->jum_status+1;
break;
case Over_Load_Direction:
*(ptr+11) = 177;
pJumper = Over_Load_jumper;
*(ptr+12) = pJumper->jum_status+1;
break;
case Error_AD:
*(ptr+11) = 197;
*(ptr+12) = 1<<( (Self_Insp_ErrorJK1 & Error_AD) >> k);
break;
case OC_I_Direction:
*(ptr+11) = 186;
pJumper =OC_I_jumper;
*(ptr+12) = pJumper->jum_status+1;
break;
case OC_II_Direction:
*(ptr+11) = 187;
pJumper =OC_II_jumper;
*(ptr+12) = pJumper->jum_status+1;
break;
// case OC_III_Direction:
// *(ptr+11) = 188;
// pJumper =OC_III_jumper;
// *(ptr+12) = pJumper->jum_status+1;
// break;
case LF_Direction:
*(ptr+11) = 189;
pJumper =LF_jumper;
*(ptr+12) = pJumper->jum_status+1;
break;
case Reclose_Direction:
*(ptr+11) = 238;
pJumper =Reclose_jumper;
*(ptr+12) = pJumper->jum_status+1;
break;
default:
break;
}
READ_DEC_TIME(timebuf);
*(ptr+13) =timebuf[5]%256 ;
*(ptr+14) =timebuf[5]/256;
*(ptr+15) =timebuf[4];
*(ptr+16) =timebuf[3];
*(ptr+17)= Inspect_NumberJK1;
if(Gen_Insp_IndexJK1 == 0)
{
MsgTransUpFlagJK1 &= Self_Inspection^0xffffffff;
}
LSDU_MsgJK1();
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of self-inspection-change frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Trans_Self_Insp_ErrorJK1(void)
{
UNSIGNED timebuf[6];
unsigned char *ptr;
//=----------------------------
LSDU_MsgJK1();
*(ptr+1) = 14;
*(ptr+2) = 14;
*(ptr+6) = 41;
*(ptr+7) = 0x81;
*(ptr+8) = 1;
*(ptr+9) = 1;
*(ptr+10) = 178;
if((Self_Insp_ErrorJK1&Error_EPROM)!=0)
{
*(ptr+11)=195;
*(ptr+12) = (Warning_Signal_Flag&Error_EPROM) >> Error_EPROM_;
Self_Insp_ErrorJK1 &= Error_EPROM^0xffffffff;
}
else if((Self_Insp_ErrorJK1&Error_RAM)!=0)
{
*(ptr+11)=193;
*(ptr+12) = (Warning_Signal_Flag&Error_RAM) >> Error_RAM_;
Self_Insp_ErrorJK1 &=Error_RAM^0xffffffff;
}
else if((Self_Insp_ErrorJK1&Error_Setting)!=0)
{
*(ptr+11)=222;
*(ptr+12) = (Warning_Signal_Flag&Error_Setting) >> Error_Setting_;
Self_Insp_ErrorJK1 &= Error_Setting^0xffffffff;
}
// else if((Self_Insp_ErrorJK1&Error_Relay)!=0)
// {
// *(ptr+11)=201;
// *(ptr+12) = (Warning_Signal_Flag&Error_Relay) >> Error_Relay_;
// Self_Insp_ErrorJK1 &= Error_Relay^0xffffffff;
// }
// else if((Self_Insp_ErrorJK1&Error_5VPower)!=0)
// {
// *(ptr+11)=191;
// *(ptr+12) = (Warning_Signal_Flag&Error_5VPower) >> Error_5VPower_;
// Self_Insp_ErrorJK1 &= Error_5VPower^0xffffffff;
// }
// else if((Self_Insp_ErrorJK1&Error_CPU_Number)!=0)
// {
// *(ptr+11)=211;
// *(ptr+12) = (Warning_Signal_Flag&Error_CPU_Number) >> Error_CPU_Number_;
// Self_Insp_ErrorJK1 &= Error_CPU_Number^0xffffffff;
// }
else if((Self_Insp_ErrorJK1&Error_AD)!=0)
{
*(ptr+11)=197;
*(ptr+12) = (Warning_Signal_Flag&Error_AD) >> Error_AD_;
Self_Insp_ErrorJK1 &= Error_AD^0xffffffff;
}
*(ptr+12) |= 0x10; //取代
READ_DEC_TIME(timebuf);
*(ptr+13) =timebuf[5]%256 ;
*(ptr+14) =timebuf[5]/256;
*(ptr+15) =timebuf[4];
*(ptr+16) =timebuf[3];
*(ptr+17) = 18;
if(Self_Insp_ErrorJK1 == 0 )
{
MsgTransUpFlagJK1 &= WarningSignals^0xffffffff;
}
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of coulometer-freeze data frame.
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Trans_Coulometer_Freeze(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Coulometer_Freeze^0xffffffff;
LSDU_MsgJK1();
*(ptr+1) = 10;
*(ptr+2) = 10;
*(ptr+6) = 88;
*(ptr+7) = 0x81;
*(ptr+8) = 2;
*(ptr+9) = 2;
*(ptr+10)= 178;
*(ptr+11)= ASDU88_Message_JK1;
*(ptr+12)= ASDU88_DCO_CPU_JK1;
*(ptr+13)= Identity_NumberJK1;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of coulometer-count data frame.
输入参数: no;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -