⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prlimplgethisdata.c

📁 104规约linux
💻 C
📖 第 1 页 / 共 3 页
字号:
        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 + -