public static bool SetRelay(VOL_CH ch)
        {
            var cmd = "";

            switch (ch)
            {
            case VOL_CH.P12V:
                cmd = "VCK01";
                break;

            case VOL_CH.P5V:
                cmd = "VCK02";
                break;

            case VOL_CH.P3_3V:
                cmd = "VCK03";
                break;

            case VOL_CH.M5V:
                cmd = "VCK04";
                break;
            }
            Sleep(100);
            return(Target.SendData(cmd));
        }
        public static void SetRelay(VOL_CH ch)
        {
            //7016のMeas端子に接続する処理
            switch (ch)
            {
            case VOL_CH._12V:
                General.Set7012Meas(General.MEAS_CH._12V);
                break;

            case VOL_CH._5V:
                General.Set7012Meas(General.MEAS_CH._5V);
                break;

            case VOL_CH._3_3V:
                General.Set7012Meas(General.MEAS_CH._3_3V);
                break;

            case VOL_CH.AVDD:
                General.Set7012Meas(General.MEAS_CH.AVDD);
                break;

            case VOL_CH.AVCC:
                General.Set7012Meas(General.MEAS_CH.AVCC);
                break;

            case VOL_CH.VREF:
                General.Set7012Meas(General.MEAS_CH.VREF);
                break;

            case VOL_CH.AVCCD:
                General.Set7012Meas(General.MEAS_CH.AVCCD);
                break;

            case VOL_CH.S5V:
                General.Set7012Meas(General.MEAS_CH.S5V);
                break;
            }
        }
        public static async Task <bool> CheckVolt(VOL_CH ch)
        {
            bool   result   = false;
            Double measData = 0;
            double Max      = 0;
            double Min      = 0;

            try
            {
                return(await Task <bool> .Run(() =>
                {
                    try
                    {
                        SetRelay(ch);
                        Thread.Sleep(400);

                        switch (ch)
                        {
                        case VOL_CH.P12V:
                            Max = State.TestSpec.V12_HI;
                            Min = State.TestSpec.V12_LO;
                            break;

                        case VOL_CH.P5V:
                            Max = State.TestSpec.Vp5_HI;
                            Min = State.TestSpec.Vp5_LO;
                            break;

                        case VOL_CH.P3_3V:
                            Max = State.TestSpec.V3_3_HI;
                            Min = State.TestSpec.V3_3_LO;
                            break;

                        case VOL_CH.M5V:
                            Max = State.TestSpec.Vm5_HI;
                            Min = State.TestSpec.Vm5_LO;
                            break;
                        }

                        var tm = new GeneralTimer(5000);
                        tm.start();
                        while (true)
                        {
                            if (tm.FlagTimeout)
                            {
                                return false;
                            }
                            if (!General._34401.GetDcVoltage())
                            {
                                continue;
                            }

                            measData = General._34401.VoltData;
                            if (Min < measData && measData < Max)
                            {
                                break;
                            }
                            Thread.Sleep(200);
                        }

                        if (!General._34401.GetDcVoltage())
                        {
                            return false;
                        }
                        measData = General._34401.VoltData;

                        return result = (Min < measData && measData < Max);
                    }
                    catch
                    {
                        return result = false;
                    }
                }));
            }
            finally
            {
                //ビューモデルの更新
                switch (ch)
                {
                case VOL_CH.P12V:
                    State.VmTestResults.Vol12v    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVol12v = result ? General.OffBrush : General.NgBrush;
                    break;

                case VOL_CH.P5V:
                    State.VmTestResults.VolP5v    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVolP5v = result ? General.OffBrush : General.NgBrush;
                    break;

                case VOL_CH.P3_3V:
                    State.VmTestResults.VolP33v    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVolP33v = result ? General.OffBrush : General.NgBrush;
                    break;

                case VOL_CH.M5V:
                    State.VmTestResults.VolM5v    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVolM5v = result ? General.OffBrush : General.NgBrush;
                    break;
                }

                //NGだった場合、エラー詳細情報の規格値を更新する
                if (!result)
                {
                    //switch (ch)
                    //{
                    //    case VOL_CH.P12V:
                    //        State.VmTestStatus.Spec = $"規格値 : {State.TestSpec.V12_LO.ToString("F2")} ~ {State.TestSpec.V12_HI.ToString("F2")}V";
                    //        break;
                    //    case VOL_CH.P5V:
                    //        State.VmTestStatus.Spec = $"規格値 : {State.TestSpec.Vp5_LO.ToString("F2")} ~ {State.TestSpec.Vp5_HI.ToString("F2")}V";
                    //        break;
                    //    case VOL_CH.P3_3V:
                    //        State.VmTestStatus.Spec = $"規格値 : {State.TestSpec.V3_3_LO.ToString("F2")} ~ {State.TestSpec.V3_3_HI.ToString("F2")}V";
                    //        break;
                    //    case VOL_CH.M5V:
                    //        State.VmTestStatus.Spec = $"規格値 : {State.TestSpec.Vm5_LO.ToString("F2")} ~ {State.TestSpec.Vm5_HI.ToString("F2")}V";
                    //        break;
                    //}

                    State.VmTestStatus.Spec      = $"規格値 : {Min.ToString("F2")} ~ {Max.ToString("F2")}V";
                    State.VmTestStatus.MeasValue = "計測値 : " + measData.ToString("F2") + "V";
                }
            }
        }
        public static async Task <bool> CheckVolt(VOL_CH ch)
        {
            bool   result   = false;
            Double measData = 0;
            double Max      = 0;
            double Min      = 0;

            try
            {
                return(await Task <bool> .Run(() =>
                {
                    try
                    {
                        SetRelay(ch);
                        Thread.Sleep(400);

                        switch (ch)
                        {
                        case VOL_CH._12V:
                            Max = State.TestSpec.V12v_Max;
                            Min = State.TestSpec.V12v_Min;
                            break;

                        case VOL_CH._5V:
                            Max = State.TestSpec.V5v_Max;
                            Min = State.TestSpec.V5v_Min;
                            break;

                        case VOL_CH._3_3V:
                            Max = State.TestSpec.V3v_Max;
                            Min = State.TestSpec.V3v_Min;
                            break;

                        case VOL_CH.AVDD:
                            Max = State.TestSpec.Avdd_Max;
                            Min = State.TestSpec.Avdd_Min;
                            break;

                        case VOL_CH.AVCC:
                            Max = State.TestSpec.Avcc_Max;
                            Min = State.TestSpec.Avcc_Min;
                            break;

                        case VOL_CH.VREF:
                            Max = State.TestSpec.Vref_Max;
                            Min = State.TestSpec.Vref_Min;
                            break;

                        case VOL_CH.AVCCD:
                            Max = State.TestSpec.Avccd_Max;
                            Min = State.TestSpec.Avccd_Min;
                            break;

                        case VOL_CH.S5V:
                            Max = State.TestSpec.S5v_Max;
                            Min = State.TestSpec.S5v_Min;
                            break;
                        }

                        if (ch == VOL_CH.VREF)
                        {
                            HIOKI7012.MeasureDcV(HIOKI7012.MEAS_MODE.V_2_5);
                        }
                        else
                        {
                            HIOKI7012.MeasureDcV();
                        }

                        measData = HIOKI7012.VoltData;

                        return result = (Min < measData && measData < Max);
                    }
                    catch
                    {
                        return result = false;
                    }
                }));
            }
            finally
            {
                //ビューモデルの更新
                switch (ch)
                {
                case VOL_CH._12V:
                    State.VmTestResults.Vol12V    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVol12V = result ? General.OffBrush : General.NgBrush;
                    break;

                case VOL_CH._5V:
                    State.VmTestResults.Vol5V    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVol5V = result ? General.OffBrush : General.NgBrush;
                    break;

                case VOL_CH._3_3V:
                    State.VmTestResults.Vol3_3V    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVol3_3V = result ? General.OffBrush : General.NgBrush;
                    break;

                case VOL_CH.AVDD:
                    State.VmTestResults.VolAVDD    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVolAVDD = result ? General.OffBrush : General.NgBrush;
                    break;

                case VOL_CH.AVCC:
                    State.VmTestResults.VolAVCC    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVolAVCC = result ? General.OffBrush : General.NgBrush;
                    break;

                case VOL_CH.VREF:
                    State.VmTestResults.VolVREF    = measData.ToString("F4") + "V";
                    State.VmTestResults.ColVolVREF = result ? General.OffBrush : General.NgBrush;
                    break;

                case VOL_CH.AVCCD:
                    State.VmTestResults.VolAVCCD    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVolAVCCD = result ? General.OffBrush : General.NgBrush;
                    break;

                case VOL_CH.S5V:
                    State.VmTestResults.VolS5V    = measData.ToString("F2") + "V";
                    State.VmTestResults.ColVolS5V = result ? General.OffBrush : General.NgBrush;
                    break;
                }

                //NGだった場合、エラー詳細情報の規格値を更新する
                if (!result)
                {
                    if (ch == VOL_CH.VREF)
                    {
                        State.VmTestStatus.Spec      = $"規格値 : {Min.ToString("F4")} ~ {Max.ToString("F4")}V";
                        State.VmTestStatus.MeasValue = "計測値 : " + measData.ToString("F4") + "V";
                    }
                    else
                    {
                        State.VmTestStatus.Spec      = $"規格値 : {Min.ToString("F2")} ~ {Max.ToString("F2")}V";
                        State.VmTestStatus.MeasValue = "計測値 : " + measData.ToString("F2") + "V";
                    }
                }
            }
        }