📄 commujk1f.c
字号:
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回值: no need mention;
*/
int Trans_Coulometer_End(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Coulometer_End^0xffffffff;
LSDU_MsgJK1();
*(ptr+1) = 10;
*(ptr+2) = 10;
*(ptr+6) = 88;
*(ptr+7) = 0x81;
*(ptr+8) = 10;
*(ptr+9) = Common_Addr_JK1;
*(ptr+10)= 1;
*(ptr+11)= ASDU88_Message_JK1;
*(ptr+12)= ASDU88_DCO_CPU_JK1;
*(ptr+13)= Identity_NumberJK1;
return(1);
}
int Trans_Coulometer_No(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Coulometer_No^0xffffffff;
LSDU_MsgJK1();
*(ptr+1) = 10;
*(ptr+2) = 10;
*(ptr+6) = 88;
*(ptr+7) = 0x81;
*(ptr+8) = 0x42;
*(ptr+9) = Common_Addr_JK1;
*(ptr+10)= 1;
*(ptr+11)= ASDU88_Message_JK1;
*(ptr+12)= ASDU88_DCO_CPU_JK1;
*(ptr+13)= Identity_NumberJK1;
return(1);
}
int Trans_Coulometer_Count(void)
{
unsigned char *ptr;
UNSIGNED *pWord;
OPTION old_preempt;
int i;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Coulometer_Count^0xffffffff;
MsgTransUpFlagJK1 |= Coulometer_End;
LSDU_MsgJK1();
*(ptr+1) = 9 + 5*4;
*(ptr+2) = 9 + 5*4;
*(ptr+6) = 36;
*(ptr+7) = 4;
*(ptr+8) = 2;
*(ptr+9) = 2;
*(ptr+10) = 1;
*(ptr+11) = 6;
ptr += 12;
old_preempt = NU_Change_Preemption(NU_NO_PREEMPT);
pWord = PulseCounter;
for (i = 0; i < 4; i++, pWord++)
{
*ptr++ = *pWord;
*ptr++ = *pWord >> 8;
*ptr++ = *pWord >> 16;
*ptr++ = *pWord >> 24;
*ptr++ = 0;
}
NU_Change_Preemption(old_preempt);
*ptr = Identity_NumberJK1;
return(1);
}
int Trans_Object(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
LSDU_MsgJK1();
*(ptr+1) = 10;
*(ptr+2) = 10;
*(ptr+7) = 0x1;
*(ptr+8) = 12;
*(ptr+9) = 2;
*(ptr+10) = 1;
*(ptr+13) = Identity_NumberJK1;
return(1);
}
int Trans_Exec_Tap_Obj(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Exec_Tap_Obj^0xffffffff;
Trans_Object();
*(ptr+6) = 65;
*(ptr+11)= ASDU65_Message_JK1;
*(ptr+12)= ASDU65_DCO_CPU_JK1;
return(1);
}
int Trans_Select_Tap_Obj(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Select_Tap_Obj^0xffffffff;
Trans_Object();
*(ptr+6) = 65;
*(ptr+11)= ASDU65_Message_JK1;
*(ptr+12)= ASDU65_DCO_CPU_JK1;
return(1);
}
int Trans_Esc_Tap_Obj(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Esc_Tap_Obj^0xffffffff;
Trans_Object();
*(ptr+6) =65;
*(ptr+11)= ASDU65_Message_JK1;
*(ptr+12)= ASDU65_DCO_CPU_JK1;
return(1);
}
int Trans_Exec_CB_Obj(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Exec_CB_Obj^0xffffffff;
Trans_Object();
*(ptr+6) = 64;
*(ptr+11)= ASDU64_Message_JK1;
*(ptr+12)= ASDU64_DCO_CPU_JK1;
return(1);
}
int Trans_Select_CB_Obj(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Select_CB_Obj^0xffffffff;
Trans_Object();
*(ptr+6) = 64;
*(ptr+11)= ASDU64_Message_JK1;
*(ptr+12)= ASDU64_DCO_CPU_JK1;
return(1);
}
int Trans_Esc_CB_Obj(void)
{
unsigned char *ptr;
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Esc_CB_Obj^0xffffffff;
Trans_Object();
*(ptr+6) = 64;
*(ptr+11)= ASDU64_Message_JK1;
*(ptr+12)= ASDU64_DCO_CPU_JK1;
return(1);
}
//#define MEASURE_NUMBER 9
int Measure_Value(void)
{
unsigned char *ptr;
MEASTRU *pmeastru = measure;
int i,value1,value2,value,flag;
//=----------------------------
ptr = TransUpBuffRemJK1;
LSDU_MsgJK1();
*(ptr+1) = (MEASURE_NUMBER-4)*2 + 8;
*(ptr+2) = (MEASURE_NUMBER-4)*2 + 8;
*(ptr+6) = 0x09;
*(ptr+7) = MEASURE_NUMBER-4;
*(ptr+8) = 2;
*(ptr+9) = 1;
*(ptr+10) = 178;
*(ptr+11) = 148;
ptr = TransUpBuffRemJK1 + 12;
for(i=0; i<MEASURE_NUMBER-4; i++)
{
value =(int) ((pmeastru->value * 4096)/(1.2 * pmeastru->rating));
pmeastru++;
value *= 8;
*ptr++ = value & 0xff;
*ptr++ = value >> 8;
}
ASDU_50_FlagJK1 &= ~_Data_RDY ;
return(1);
}
int Measure_Value9(void)
{
unsigned char *ptr;
MEASTRU *pmeastru = &measure[9];
int i,value1,value2,value,flag;
//=----------------------------
ptr = TransUpBuffRemJK1;
LSDU_MsgJK1();
*(ptr+1) = 4*2 + 8;
*(ptr+2) = 4*2 + 8;
*(ptr+6) = 50;
*(ptr+7) = 4;
*(ptr+8) = 2;
*(ptr+9) = 2;
*(ptr+10) = 1;
*(ptr+11) = 101;
ptr = TransUpBuffRemJK1 + 12;
for(i=0; i<4; i++)
{
value =(int) ((pmeastru->value * 4096)/(1.2 * pmeastru->rating));
pmeastru++;
value *= 8;
*ptr++ = value & 0xff;
*ptr++ = value >> 8;
}
ASDU_9_FlagJK1 &= ~_Data_RDY9;
return(1);
}
int Trans_Tap_Chger_Status(void)
{
unsigned char *ptr;
int num,i,j;
int status;
//=----------------------------
ptr = TransUpBuffRemJK1;
num = 6;
MsgTransUpFlagJK1 &= Tap_Chger_Status^0xffffffff;
LSDU_MsgJK1();
*(ptr+1) = num + 9;
*(ptr+2) = num + 9;
*(ptr+6) = 40;
*(ptr+7) = num;
*(ptr+8) = 9;
*(ptr+9) = Common_Addr_JK1;
*(ptr+10) = 178;
*(ptr+11) = 163;
*(ptr+12) = DIChn[YKYX].state;
*(ptr+13) = DIChn[YX6].state;
*(ptr+14) = DIChn[YX7].state;
*(ptr+15) = DIChn[YX8].state;
*(ptr+16) = DIChn[YX9].state;
*(ptr+17) = DIChn[THWXN].state;
*(ptr+18) = Inspect_NumberJK1;
return(1);
}
int Trans_Tap_Chger_Change(void)
{
unsigned char *ptr;
UNSIGNED timebuf[6];
//=----------------------------
ptr = TransUpBuffRemJK1;
MsgTransUpFlagJK1 &= Tap_Status_Change^0xffffffff;
LSDU_MsgJK1();
*(ptr+1) = 14;
*(ptr+2) = 14;
*(ptr+6) = 39;
*(ptr+7) = 0x01;
*(ptr+8) = 11;
*(ptr+9) = 2;
*(ptr+10) = 178;
*(ptr+11) = 48;
*(ptr+12) = 9;
*(ptr+13) = 1;
READ_DEC_TIME(timebuf);
*(ptr+13) =timebuf[5]%256 ;
*(ptr+14) =timebuf[5]/256;
*(ptr+15) =timebuf[4];
*(ptr+16) =timebuf[3];
// *(ptr+1)[18]= Identity_NumberJK1;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying message of measured value;
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回数值: no need mention;
修改记录:
*/
int Modify_TimeJK1(void)
{
unsigned int byte0,byte1,account;
unsigned char *ptr1;
CLOCK *pointer, clocktem;
//-----------------------------------------
ptr1 = ReceUpBuffRemJK1;
pointer = (CLOCK *)&clocktem;
pointer -> clock_disable_flag_ = 0x55aa;
pointer -> year_ = (*(ptr1+18)) & 0x7f;
pointer -> month_ = (*(ptr1+17)) & 0x0f;
pointer -> day_ = (*(ptr1+16)) & 0x1f;
pointer -> hour_ = *(ptr1+15) & 0x1f;
pointer -> minute_ = *(ptr1+14) & 0x3f;
byte1 = *(ptr1+13) & 0xff;
byte1 = byte1 * 256;
byte0 = *(ptr1+12) & 0xff;
account = byte0 + byte1;
pointer -> second_ = account / 1000;
pointer -> millionsecond_ = account % 1000;
pointer -> clock_disable_flag_ = 0;
Set_Rtc_Time(pointer);
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: raplying message of general command operation;
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回数值: no need mention;
修改记录:
*/
int ASDU_20_Sure(void)
{
unsigned char *ptr;
UNSIGNED timebuf[6];
//---------------------------------
MsgTransUpFlagJK1 &= ASDU20_Sure^0xffffffff;
LSDU_MsgJK1();
ptr = TransUpBuffRemJK1;
*(ptr+1) = 14;
*(ptr+2) = 14;
*(ptr+6) = 1;
*(ptr+7) = 0x81;
*(ptr+8) = 20;
*(ptr+9) = Common_Addr_JK1;
*(ptr+10)= 178;
*(ptr+11)= ASDU20_Message_JK1;
*(ptr+12)= ASDU20_DCO_CPU_JK1;
//:2,reset
READ_DEC_TIME(timebuf);
*(ptr+13) =timebuf[5]%256 ;
*(ptr+14) =timebuf[5]/256;
*(ptr+15) =timebuf[4];
*(ptr+16) =timebuf[3];
*(ptr+17)= Identity_NumberJK1;
// MsgTransUpFlagJK1 |= ASDU20_Return;
return(1);
}
/* This function has been inspected.GauTsunFar 2001-12-22
函数功能: replying status message of general command operate over;
输入参数: no;
输出参数: buffer address of transmit frame-------- TransUpBuffRemJK1;
返回数值: no need mention;
修改记录:
*/
int ASDU_20_Return(void)
{
int i,j;
unsigned char *ptr;
UNSIGNED timebuf[6];
//---------------------------------
MsgTransUpFlagJK1 &= ASDU20_Return^0xffffffff;
LSDU_MsgJK1();
ptr = TransUpBuffRemJK1;
*(ptr+1) = 14;
*(ptr+2) = 14;
*(ptr+6) = 1;
*(ptr+7) = 0x81;
*(ptr+8) = 12;
*(ptr+9) = Common_Addr_JK1;
*(ptr+10)= 178;
*(ptr+11)= ASDU20_Message_JK1;
*(ptr+12)= ASDU20_DCO_CPU_JK1;
READ_DEC_TIME(timebuf);
*(ptr+13) =timebuf[5]%256 ;
*(ptr+14) =timebuf[5]/256;
*(ptr+15) =timebuf[4];
*(ptr+16) =timebuf[3];
*(pt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -