Ejemplo n.º 1
0
    public static bool Tempreture(ref int Meas_Temp, ref int Meas_Temp_100, ref TPAD tp, uint TpMv, float adj_s, float adj_k, int Corrt, int TestModeFlag)
    {
        int num  = Th_adconv(ref tp, TpMv, adj_s, adj_k);
        int num2 = (Math.Abs(Corrt) <= 50 && num == 0) ? Corrt : 0;

        Meas_Temp     = tp.mv + num2;
        Meas_Temp_100 = tp.mv_100 + num2 * 10;
        if (Meas_Temp > 1100)
        {
            Meas_Temp     = 1100;
            Meas_Temp_100 = Meas_Temp * 10;
        }
        else if (Meas_Temp < -50)
        {
            Meas_Temp     = -50;
            Meas_Temp_100 = Meas_Temp * 10;
        }
        bool flag = true;

        if (!flag && TestModeFlag == 0)
        {
            Meas_Temp     = 2000;
            Meas_Temp_100 = Meas_Temp * 10;
        }
        return(flag);
    }
Ejemplo n.º 2
0
    public static int TempCal(TPAD TpAd, int var)
    {
        int result = 0;

        if (TpAd.mv >= 0 && TpAd.mv <= 1000)
        {
            int num = var - TpAd.mv;
            if (Math.Abs(num) <= 50)
            {
                result = num;
            }
        }
        return(result);
    }
Ejemplo n.º 3
0
    private static int Th_adconv(ref TPAD tp, uint ad, float adj_s, float adj_k)
    {
        double num  = 0.0;
        int    num2 = 0;
        double num3 = 20000.0;
        double num4 = ad;

        num4 *= 1E-05;
        double num5 = num4 * 20000.0 / (3.3 - num4);

        num5 = (double)adj_s * num5 + (double)adj_k;
        num4 = (3.3 - num4) / 20000.0 * num5;
        double num6 = num3 * num5 / (num3 - num5);

        num6 *= 0.001;
        tp.th = TH_KIND.TH_ELE_THERMISTOR;
        if (num4 >= 1.0)
        {
            tp.th     = TH_KIND.TH_ELE_NONE;
            tp.mv     = -99;
            tp.mv_100 = tp.mv * 10;
            num2      = -1;
        }
        else if (num6 > 11.1)
        {
            num = 53.416 - 126.95 * num4 + 93.247 * fpow(num4, 2) - 35.91 * fpow(num4, 3);
        }
        else if (num6 >= 4.3)
        {
            num = 53.416 - 126.95 * num4 + 93.247 * fpow(num4, 2) - 35.91 * fpow(num4, 3);
        }
        else if (num6 >= 2.1)
        {
            num = 69.133 - 225.07 * num4 + 300.18 * fpow(num4, 2) - 183.22 * fpow(num4, 3);
        }
        else if (num6 >= 1.053)
        {
            num = 87.085 - 420.53 * num4 + 1019.8 * fpow(num4, 2) - 1078.0 * fpow(num4, 3);
        }
        else if (num6 >= 0.5838)
        {
            num = 106.9 - 802.14 * num4 + 3505.2 * fpow(num4, 2) - 6544.4 * fpow(num4, 3);
        }
        else if (num6 >= 0.3405)
        {
            num = 128.17 - 1520.1 * num4 + 11697.0 * fpow(num4, 2) - 38115.0 * fpow(num4, 3);
        }
        else if (num6 >= 0.2078)
        {
            num = 148.94 - 2693.5 * num4 + 34040.0 * fpow(num4, 2) - 181459.0 * fpow(num4, 3);
        }
        else
        {
            num = 168.94 - 4484.1 * num4 + 88096.0 * fpow(num4, 2) - 731484.0 * fpow(num4, 3);
            if (num * 10.0 > 1100.0)
            {
                tp.th     = TH_KIND.TH_ELE_NONE;
                tp.mv     = 1101;
                tp.mv_100 = tp.mv * 10;
                num2      = -2;
            }
        }
        if (num2 == 0)
        {
            if (num < 0.0)
            {
                tp.mv     = (int)((num - 0.05) * 10.0);
                tp.mv_100 = (int)((num - 0.005) * 100.0);
            }
            else
            {
                tp.mv     = (int)((num + 0.05) * 10.0);
                tp.mv_100 = (int)((num + 0.005) * 100.0);
            }
        }
        return(num2);
    }