📄 prlimplgethisdata.c
字号:
Data->ZrSqncUnEffctv_C=0;
//零序极值
Data->MxZrSqncUnEffctv_A = 0;
memset(&Data->MxZrSqncUnEffctv_A_T, 0, sizeof(Time_s));
//正序平均值
Data->PstvSqncUnEffctv_A=0;
Data->PstvSqncUnEffctv_B=0;
Data->PstvSqncUnEffctv_C=0;
//负序极值
Data->MxPstvSqncUnEffctv_A = 0;
memset(&Data->MxPstvSqncUnEffctv_A_T, 0, sizeof(Time_s));
}
PrlFrame->UserData.DataLen = sizeof(struct TrUnUnblnc_LCD);
return PRL_EXECUTE_OK;
}
//三相电流不平衡度
int PrlGetTrInUnblnc(TPrlFrame *PrlFrame, void *Param1, void *Param2)
{
unsigned int LineID = PrlFrame->UserData.DeviceAddress.ThreadID+1;
TLineParam LineParam;
TLineDataStatis *LineDataStatis = (TLineDataStatis *)Param1;
struct TrInUnblnc_LCD *Data = (struct TrInUnblnc_LCD *)PrlFrame->UserData.Data;
TimeYS curtime;
Data->Stat = (unsigned int)Param2;
GetMainLineParam(LineID, &LineParam);
GetTimeYS(&curtime);
strncpy(Data->Name, LineParam.LineDspSet.LineName, STR_LINE_NAME_LEN);
if(LineParam.MonitorType.UConnectionType == CT_V)
{
Data->LineFlag=1;
}
else
{
Data->LineFlag=0;
}
//平均值
Data->InUnblncRt = LineDataStatis->AvgCrrn.CrrnUnbl.Unbl;
//极值
Data->MxInUnblncRt = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.UnblMx;
FILL_TIME(Data->MxInUnblncRt_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.UnblMxTm);
Data->MnInUnblncRt = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.UnblMn;
FILL_TIME(Data->MnInUnblncRt_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.UnblMnTm);
//合格率
Data->InBlncRt = LineDataStatis->QlfcRtCrrn.CrrnUnblQlfcRt.Qt;
//负序平均值
Data->NgtvSqncInEffctv_A=LineDataStatis->AvgCrrn.CrrnUnbl.Ngtv;
Data->NgtvSqncInEffctv_B=LineDataStatis->AvgCrrn.CrrnUnbl.Ngtv;
Data->NgtvSqncInEffctv_C=LineDataStatis->AvgCrrn.CrrnUnbl.Ngtv;
//负序极值
Data->MxNgtvSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.NgtvMx;
FILL_TIME(Data->MxNgtvSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.NgtvMxTm);
Data->MnNgtvSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.NgtvMn;
FILL_TIME(Data->MnNgtvSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.NgtvMnTm);
//零序平均值
Data->ZrSqncInEffctv_A=LineDataStatis->AvgCrrn.CrrnUnbl.Zr;
Data->ZrSqncInEffctv_B=LineDataStatis->AvgCrrn.CrrnUnbl.Zr;
Data->ZrSqncInEffctv_C=LineDataStatis->AvgCrrn.CrrnUnbl.Zr;
//零序极值
Data->MxZrSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.ZrMx;
FILL_TIME(Data->MxZrSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.ZrMxTm);
Data->MnZrSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.ZrMn;
FILL_TIME(Data->MnZrSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.ZrMnTm);
//正序平均值
Data->PstvSqncInEffctv_A=LineDataStatis->AvgCrrn.CrrnUnbl.Pstv;
Data->PstvSqncInEffctv_B=LineDataStatis->AvgCrrn.CrrnUnbl.Pstv;
Data->PstvSqncInEffctv_C=LineDataStatis->AvgCrrn.CrrnUnbl.Pstv;
//正序极值
Data->MxPstvSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.PstvMx;
FILL_TIME(Data->MxPstvSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.PstvMxTm);
Data->MnPstvSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.PstvMn;
FILL_TIME(Data->MnPstvSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.PstvMnTm);
if(CheckTimeMatch(Data->Stat, LineDataStatis->TimeStatis, curtime) == 0)
{
//平均值
Data->InUnblncRt = 0;
//极值
Data->MxInUnblncRt = 0;
memset(&Data->MxInUnblncRt_T, 0, sizeof(Time_s));
Data->MnInUnblncRt = 0;
memset(&Data->MnInUnblncRt_T, 0, sizeof(Time_s));
//合格率
Data->InBlncRt = 0;
//负序平均值
Data->NgtvSqncInEffctv_A=0;
Data->NgtvSqncInEffctv_B=0;
Data->NgtvSqncInEffctv_C=0;
//负序平均值
Data->MxNgtvSqncInEffctv_A = 0;
memset(&Data->MxNgtvSqncInEffctv_A_T, 0, sizeof(Time_s));
//零序平均值
Data->ZrSqncInEffctv_A=0;
Data->ZrSqncInEffctv_B=0;
Data->ZrSqncInEffctv_C=0;
//零序极值
Data->MxZrSqncInEffctv_A = 0;
memset(&Data->MxZrSqncInEffctv_A_T, 0, sizeof(Time_s));
//正序平均值
Data->PstvSqncInEffctv_A=0;
Data->PstvSqncInEffctv_B=0;
Data->PstvSqncInEffctv_C=0;
//正序极值
Data->MxPstvSqncInEffctv_A = 0;
memset(&Data->MxPstvSqncInEffctv_A_T, 0, sizeof(Time_s));
}
PrlFrame->UserData.DataLen = sizeof(struct TrInUnblnc_LCD);
return PRL_EXECUTE_OK;
}
int PrlGetTrUnUnblnc95(TPrlFrame *PrlFrame, void *Param1, void *Param2)
{
unsigned int LineID = PrlFrame->UserData.DeviceAddress.ThreadID+1;
TLineParam LineParam;
TLineDataStatis *LineDataStatis = (TLineDataStatis *)Param1;
struct TrUnUnblnc_LCD_95 *Data = (struct TrUnUnblnc_LCD_95 *)PrlFrame->UserData.Data;
TLineData95 *LineData95 = (TLineData95 *)smGetLineData95(LineID);
TimeYS curtime;
Data->Stat = (unsigned int)Param2;
GetMainLineParam(LineID, &LineParam);
GetTimeYS(&curtime);
strncpy(Data->Name, LineParam.LineDspSet.LineName, STR_LINE_NAME_LEN);
if(LineParam.MonitorType.UConnectionType == CT_V)
{
Data->LineFlag=1;
}
else
{
Data->LineFlag=0;
}
//平均电压不平衡度
Data->UnUnblncRt = LineDataStatis->AvgVlt.VltUnbl.Unbl;
//极值
Data->MxUnUnblncRt = LineDataStatis->ExtrVltRes.VltUnblExtr.UnblMx;
FILL_TIME(Data->MxUnUnblncRt_T, LineDataStatis->ExtrVltRes.VltUnblExtr.UnblMxTm);
Data->MnUnUnblncRt=LineDataStatis->ExtrVltRes.VltUnblExtr.UnblMn;
FILL_TIME(Data->MnUnUnblncRt_T,LineDataStatis->ExtrVltRes.VltUnblExtr.UnblMnTm);
//合格率
Data->UnBlncRt=LineDataStatis->QlfcRtVlt.VltUnblRt.Qt;
//95%概率值
Data->Value95 = LineData95->Vlt95.VltUnbl95.All;
//负序平均值
Data->NgtvSqncUnEffctv_A=LineDataStatis->AvgVlt.VltUnbl.Ngtv;
Data->NgtvSqncUnEffctv_B=LineDataStatis->AvgVlt.VltUnbl.Ngtv;
Data->NgtvSqncUnEffctv_C=LineDataStatis->AvgVlt.VltUnbl.Ngtv;
//负序极值
Data->MxNgtvSqncUnEffctv_A = LineDataStatis->ExtrVltRes.VltUnblExtr.NgtvMx;
FILL_TIME(Data->MxNgtvSqncUnEffctv_A_T, LineDataStatis->ExtrVltRes.VltUnblExtr.NgtvMxTm);
Data->MnNgtvSqncUnEffctv_A = LineDataStatis->ExtrVltRes.VltUnblExtr.NgtvMn;
FILL_TIME(Data->MnNgtvSqncUnEffctv_A_T, LineDataStatis->ExtrVltRes.VltUnblExtr.NgtvMnTm);
//零序平均值
Data->ZrSqncUnEffctv_A=LineDataStatis->AvgVlt.VltUnbl.Zr;
Data->ZrSqncUnEffctv_B=LineDataStatis->AvgVlt.VltUnbl.Zr;
Data->ZrSqncUnEffctv_C=LineDataStatis->AvgVlt.VltUnbl.Zr;
//零序极值
Data->MxZrSqncUnEffctv_A = LineDataStatis->ExtrVltRes.VltUnblExtr.ZrMx;
FILL_TIME(Data->MxZrSqncUnEffctv_A_T, LineDataStatis->ExtrVltRes.VltUnblExtr.ZrMxTm);
Data->MnZrSqncUnEffctv_A = LineDataStatis->ExtrVltRes.VltUnblExtr.ZrMn;
FILL_TIME(Data->MnZrSqncUnEffctv_A_T, LineDataStatis->ExtrVltRes.VltUnblExtr.ZrMnTm);
//正序平均值
Data->PstvSqncUnEffctv_A=LineDataStatis->AvgVlt.VltUnbl.Pstv;
Data->PstvSqncUnEffctv_B=LineDataStatis->AvgVlt.VltUnbl.Pstv;
Data->PstvSqncUnEffctv_C=LineDataStatis->AvgVlt.VltUnbl.Pstv;
//正序极值
Data->MxPstvSqncUnEffctv_A = LineDataStatis->ExtrVltRes.VltUnblExtr.PstvMx;;
FILL_TIME(Data->MxPstvSqncUnEffctv_A_T, LineDataStatis->ExtrVltRes.VltUnblExtr.PstvMxTm);
Data->MnPstvSqncUnEffctv_A = LineDataStatis->ExtrVltRes.VltUnblExtr.PstvMn;
FILL_TIME(Data->MnPstvSqncUnEffctv_A_T, LineDataStatis->ExtrVltRes.VltUnblExtr.PstvMnTm);
if(CheckTimeMatch(Data->Stat, LineDataStatis->TimeStatis, curtime) == 0)
{
//平均电压不平衡度
Data->UnUnblncRt = 0;
//极值
Data->MxUnUnblncRt = 0;
memset(&Data->MxUnUnblncRt_T, 0, sizeof(Time_s));
Data->MnUnUnblncRt=0;
memset(&Data->MnUnUnblncRt_T, 0, sizeof(Time_s));
//合格率
Data->UnBlncRt=0;
//95%概率值
Data->Value95 = 0;
//负序平均值
Data->NgtvSqncUnEffctv_A=0;
Data->NgtvSqncUnEffctv_B=0;
Data->NgtvSqncUnEffctv_C=0;
//负序极值
Data->MxNgtvSqncUnEffctv_A = 0;
memset(&Data->MxNgtvSqncUnEffctv_A_T, 0, sizeof(Time_s));
//零序平均值
Data->ZrSqncUnEffctv_A=0;
Data->ZrSqncUnEffctv_B=0;
Data->ZrSqncUnEffctv_C=0;
//零序极值
Data->MxZrSqncUnEffctv_A = 0;
memset(&Data->MxZrSqncUnEffctv_A_T, 0, sizeof(Time_s));
//正序平均值
Data->PstvSqncUnEffctv_A=0;
Data->PstvSqncUnEffctv_B=0;
Data->PstvSqncUnEffctv_C=0;
//负序极值
Data->MxPstvSqncUnEffctv_A = 0;
memset(&Data->MxPstvSqncUnEffctv_A_T, 0, sizeof(Time_s));
}
PrlFrame->UserData.DataLen = sizeof(struct TrUnUnblnc_LCD_95);
return PRL_EXECUTE_OK;
}
int PrlGetTrInUnblnc95(TPrlFrame *PrlFrame, void *Param1, void *Param2)
{
unsigned int LineID = PrlFrame->UserData.DeviceAddress.ThreadID+1;
TLineParam LineParam;
TLineDataStatis *LineDataStatis = (TLineDataStatis *)Param1;
struct TrInUnblnc_LCD_95 *Data = (struct TrInUnblnc_LCD_95 *)PrlFrame->UserData.Data;
TLineData95 *LineData95 = smGetLineData95(LineID);
TimeYS curtime;
Data->Stat = (unsigned int)Param2;
GetMainLineParam(LineID, &LineParam);
GetTimeYS(&curtime);
strncpy(Data->Name, LineParam.LineDspSet.LineName, STR_LINE_NAME_LEN);
if(LineParam.MonitorType.UConnectionType == CT_V)
{
Data->LineFlag=1;
}
else
{
Data->LineFlag=0;
}
//平均值
Data->InUnblncRt = LineDataStatis->AvgCrrn.CrrnUnbl.Unbl;
//极值
Data->MxInUnblncRt = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.UnblMx;
FILL_TIME(Data->MxInUnblncRt_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.UnblMxTm);
Data->MnInUnblncRt = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.UnblMn;
FILL_TIME(Data->MnInUnblncRt_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.UnblMnTm);
//合格率
Data->InBlncRt = LineDataStatis->QlfcRtCrrn.CrrnUnblQlfcRt.Qt;
//95%概率值
Data->Value95 = LineData95->Crrn95.CrrnUnbl95.All;
//负序平均值
Data->NgtvSqncInEffctv_A=LineDataStatis->AvgCrrn.CrrnUnbl.Ngtv;
Data->NgtvSqncInEffctv_B=LineDataStatis->AvgCrrn.CrrnUnbl.Ngtv;
Data->NgtvSqncInEffctv_C=LineDataStatis->AvgCrrn.CrrnUnbl.Ngtv;
//负序极值
Data->MxNgtvSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.NgtvMx;
FILL_TIME(Data->MxNgtvSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.NgtvMxTm);
Data->MnNgtvSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.NgtvMn;
FILL_TIME(Data->MnNgtvSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.NgtvMnTm);
//零序平均值
Data->ZrSqncInEffctv_A=LineDataStatis->AvgCrrn.CrrnUnbl.Zr;
Data->ZrSqncInEffctv_B=LineDataStatis->AvgCrrn.CrrnUnbl.Zr;
Data->ZrSqncInEffctv_C=LineDataStatis->AvgCrrn.CrrnUnbl.Zr;
//零序极值
Data->MxZrSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.ZrMx;
FILL_TIME(Data->MxZrSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.ZrMxTm);
Data->MnZrSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.ZrMn;
FILL_TIME(Data->MnZrSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.ZrMnTm);
//正序平均值
Data->PstvSqncInEffctv_A=LineDataStatis->AvgCrrn.CrrnUnbl.Pstv;
Data->PstvSqncInEffctv_B=LineDataStatis->AvgCrrn.CrrnUnbl.Pstv;
Data->PstvSqncInEffctv_C=LineDataStatis->AvgCrrn.CrrnUnbl.Pstv;
//正序极值
Data->MxPstvSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.PstvMx;
FILL_TIME(Data->MxPstvSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.PstvMxTm);
Data->MnPstvSqncInEffctv_A = LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.PstvMn;
FILL_TIME(Data->MnPstvSqncInEffctv_A_T, LineDataStatis->ExtrCrrnRes.CrrnUnblExtr.PstvMnTm);
if(CheckTimeMatch(Data->Stat, LineDataStatis->TimeStatis, curtime) == 0)
{
//平均值
Data->InUnblncRt = 0;
//极值
Data->MxInUnblncRt = 0;
memset(&Data->MxInUnblncRt_T, 0, sizeof(Time_s));
Data->MnInUnblncRt = 0;
memset(&Data->MnInUnblncRt_T, 0, sizeof(Time_s));
//合格率
Data->InBlncRt = 0;
//95%概率值
Data->Value95 = 0;
//负序平均值
Data->NgtvSqncInEffctv_A=0;
Data->NgtvSqncInEffctv_B=0;
Data->NgtvSqncInEffctv_C=0;
//负序平均值
Data->MxNgtvSqncInEffctv_A = 0;
memset(&Data->MxNgtvSqncInEffctv_A_T, 0, sizeof(Time_s));
//零序平均值
Data->ZrSqncInEffctv_A=0;
Data->ZrSqncInEffctv_B=0;
Data->ZrSqncInEffctv_C=0;
//零序极值
Data->MxZrSqncInEffctv_A = 0;
memset(&Data->MxZrSqncInEffctv_A_T, 0, sizeof(Time_s));
//正序平均值
Data->PstvSqncInEffctv_A=0;
Data->PstvSqncInEffctv_B=0;
Data->PstvSqncInEffctv_C=0;
//正序极值
Data->MxPstvSqncInEffctv_A = 0;
memset(&Data->MxPstvSqncInEffctv_A_T, 0, sizeof(Time_s));
}
PrlFrame->UserData.DataLen = sizeof(struct TrInUnblnc_LCD_95);
return PRL_EXECUTE_OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -