示例#1
0
        public TestCondition(TestValue value)
        {
            Control = null;

            Schedules = new List <ConditionSchedule>();
            Method    = new ConditionMethod();
            Note      = new ConditionNote();

            Rateds = new Dictionary <EConditionRated, List <ConditionRated> >();

            Rateds.Add(EConditionRated.Total, new List <ConditionRated>()
            {
                new ConditionRated(), new ConditionRated()
            });
            Rateds.Add(EConditionRated.ID11, new List <ConditionRated>()
            {
                new ConditionRated(), new ConditionRated()
            });
            Rateds.Add(EConditionRated.ID12, new List <ConditionRated>()
            {
                new ConditionRated(), new ConditionRated()
            });
            Rateds.Add(EConditionRated.ID21, new List <ConditionRated>()
            {
                new ConditionRated(), new ConditionRated()
            });
            Rateds.Add(EConditionRated.ID22, new List <ConditionRated>()
            {
                new ConditionRated(), new ConditionRated()
            });

            ThermocoupleDic = new Dictionary <string, string>();
            PressureDic     = new Dictionary <string, string>();

            Pressures = new List <MeasureRow>();
            for (int i = 0; i < Resource.Client.Devices.Recorder.PressureLength; i++)
            {
                Pressures.Add(new MeasureRow(null, "none", $"Pressure.{i + 1}", i + 1));
            }

            TC1 = new List <MeasureRow>();
            TC2 = new List <MeasureRow>();
            TC3 = new List <MeasureRow>();

            for (int i = 0; i < Resource.Client.Devices.Recorder.ThermocoupleLength / 3; i++)
            {
                TC1.Add(new MeasureRow(null, "none", $"ID1.TC.{i + 1:d3}", i + 1));
                TC2.Add(new MeasureRow(null, "none", $"ID2.TC.{i + 1:d3}", i + 1));
                TC3.Add(new MeasureRow(null, "none", $"OD.TC.{i + 1:d3}", i + 1));
            }
        }
示例#2
0
        private void Integrate()
        {
            TestValue value = context.Value;

            value.Lock();
            try
            {
                value.Integral.Integrate("Judge");
            }
            finally
            {
                value.Unlock();
            }
        }
示例#3
0
        private void DecideJudgement()
        {
            TestValue value = context.Value;

            value.Lock();
            try
            {
                value.Integral.IntegrateSheet("Judge");
            }
            finally
            {
                value.Unlock();
            }
        }
示例#4
0
        private void InsertDataValue(int index)
        {
            TestValue value = context.Value;

            context.DB.Lock();

            try
            {
                value.Lock();
                sheetArgs.Report.Lock();

                FbTransaction trans = context.DB.BeginTrans();

                try
                {
                    foreach (KeyValuePair <string, ReportSheet> sheet in sheetArgs.Report.ValueSheets)
                    {
                        if (sheet.Value.Use == false)
                        {
                            continue;
                        }

                        foreach (KeyValuePair <string, ReportRow> row in sheet.Value.Rows)
                        {
                            SetDataValue(index, row.Value);
                            context.DB.DataValueSet.Insert(trans);
                        }
                    }

                    context.DB.CommitTrans();
                }
                catch (Exception e)
                {
                    Resource.TLog.Log((int)ELogItem.Exception, e.ToString());
                    context.DB.RollbackTrans();
                }
                finally
                {
                    sheetArgs.Report.Unlock();
                    value.Unlock();
                }
            }
            finally
            {
                context.DB.Unlock();
            }
        }
示例#5
0
        private void SetIntegralValuesToReport(int index)
        {
            TestValue value = context.Value;
            Dictionary <string, ReportSheet> reportSheet = sheetArgs.Report.ValueSheets;

            value.Lock();
            sheetArgs.Report.Lock();

            try
            {
                foreach (KeyValuePair <string, IntegralValues> integSheet in value.Integral.Sheets)
                {
                    if (integSheet.Key == "Judge")
                    {
                        continue;
                    }
                    if (reportSheet[integSheet.Key].Use == false)
                    {
                        continue;
                    }

                    foreach (KeyValuePair <string, IntegralValue> integValue in integSheet.Value.Values)
                    {
                        if (reportSheet[integSheet.Key].Rows[integValue.Key].Row == null)
                        {
                            reportSheet[integSheet.Key].Rows[integValue.Key].Cells[index].Raw = float.NaN;
                        }
                        else
                        {
                            reportSheet[integSheet.Key].Rows[integValue.Key].Cells[index].Raw =
                                integValue.Value.AverageSum;
                        }
                    }
                }
            }
            finally
            {
                sheetArgs.Report.Unlock();
                value.Unlock();
            }
        }
示例#6
0
        protected override void Initialize(TestValue value, string head1, string head2)
        {
            if (IsTcTagsEmpty() == true)
            {
                Use = false;
                return;
            }

            if (head1.Substring(0, 2) == "ID")
            {
                if (IndoorUse == EIndoorUse.NotUsed)
                {
                    return;
                }
            }
            else
            {
                if (OutdoorUse == EOutdoorUse.NotUsed)
                {
                    return;
                }
            }

            Use = true;
            for (int i = 0; i < 60; i++)
            {
                if (string.IsNullOrWhiteSpace(TcTags[i].Name) == true)
                {
                    Rows.Add($"TC {i + 1:d2}", new ReportRow($"{525 + i}", null));
                }
                else
                {
                    Rows.Add($"TC {i + 1:d2}", new ReportRow($"{525 + i}", value.Measured[head1 + $".TC.{i + 1:d3}"], TcTags[i].Name));
                }
            }
        }
示例#7
0
        public void RefreshContext()
        {
            TestValue value = context.Value;
            TestCondition cond = context.Condition;

            cond.Method.IntegralCount = (int)methodIntegralCountEdit.Value;
            cond.Method.IntegralTime = (int)methodIntegralTimeEdit.Value;
            cond.Method.ScanTime = int.Parse(methodScanTimeCombo.Text);
            cond.Method.CoolingCapacity = (EUnitCapacity)methodCapaCoolingUnitCombo.SelectedValue;
            cond.Method.HeatingCapacity = (EUnitCapacity)methodCapaHeatingUnitCombo.SelectedValue;
            cond.Method.AirFlow = (EUnitAirFlow)methodAirFlowUnitCombo.SelectedValue;
            cond.Method.Enthalpy = (EUnitEnthalpy)methodEnthalpyUnitCombo.SelectedValue;
            cond.Method.Pressure = (EUnitPressure)methodPressureUnitCombo.SelectedValue;
            cond.Method.Temperature = (EUnitTemperature)methodTempUnitCombo.SelectedValue;
            cond.Method.DiffPressure = (EUnitDiffPressure)methodDiffPressureUnitCombo.SelectedValue;
            cond.Method.AtmPressure = (EUnitAtmPressure)methodAtmPressureUnitCombo.SelectedValue;
            cond.Method.AutoControllerSetting = methodAutoCtrlSetCheck.Checked;
            cond.Method.UsePowerMeterIntegral = methodUsePmIntegCheck.Checked;

            // Rated Condition
            foreach (TabPage page in ratedTab.TabPages)
            {
                CtrlTestRated ctrl = (CtrlTestRated)page.Controls[0];
                List<ConditionRated> rateds = cond.Rateds[ctrl.Index];

                rateds[(int)ETestMode.Cooling].Capacity = float.Parse(ctrl.coolingCapacityEdit.Text);
                rateds[(int)ETestMode.Cooling].PowerInput = float.Parse(ctrl.coolingPowerInEdit.Text);
                rateds[(int)ETestMode.Cooling].EER_COP = float.Parse(ctrl.coolingEepEdit.Text);
                rateds[(int)ETestMode.Cooling].Voltage = float.Parse(ctrl.coolingVoltEdit.Text);
                rateds[(int)ETestMode.Cooling].Current = float.Parse(ctrl.coolingCurrentEdit.Text);
                rateds[(int)ETestMode.Cooling].Frequency = ctrl.coolingFreqCombo.Text;
                 
                rateds[(int)ETestMode.Cooling].PM_IDU = ctrl.coolingPowerMeter1Combo.SelectedIndex;
                rateds[(int)ETestMode.Cooling].PM_ODU = ctrl.coolingPowerMeter2Combo.SelectedIndex;
                rateds[(int)ETestMode.Cooling].Wiring = (EWT330Wiring)ctrl.coolingPhaseCombo.SelectedValue;

                rateds[(int)ETestMode.Heating].Capacity = float.Parse(ctrl.heatingCapacityEdit.Text);
                rateds[(int)ETestMode.Heating].PowerInput = float.Parse(ctrl.heatingPowerInEdit.Text);
                rateds[(int)ETestMode.Heating].EER_COP = float.Parse(ctrl.heatingEepEdit.Text);
                rateds[(int)ETestMode.Heating].Voltage = float.Parse(ctrl.heatingVoltEdit.Text);
                rateds[(int)ETestMode.Heating].Current = float.Parse(ctrl.heatingCurrentEdit.Text);
                rateds[(int)ETestMode.Heating].Frequency = ctrl.heatingFreqCombo.Text;

                rateds[(int)ETestMode.Heating].PM_IDU = ctrl.heatingPowerMeter1Combo.SelectedIndex;
                rateds[(int)ETestMode.Heating].PM_ODU = ctrl.heatingPowerMeter2Combo.SelectedIndex;
                rateds[(int)ETestMode.Heating].Wiring = (EWT330Wiring)ctrl.heatingPhaseCombo.SelectedValue;
            }

            value.Const["Total.Rated.Capacity"].Value = cond.Rateds[EConditionRated.Total][(int)ETestMode.Cooling].Capacity;
            value.Const["Total.Rated.Power"].Value = cond.Rateds[EConditionRated.Total][(int)ETestMode.Cooling].PowerInput;
            value.Const["Total.Rated.EER_COP"].Value = cond.Rateds[EConditionRated.Total][(int)ETestMode.Cooling].EER_COP;
            value.Const["Total.Rated.Voltage"].Value = cond.Rateds[EConditionRated.Total][(int)ETestMode.Cooling].Voltage;
            value.Const["Total.Rated.Current"].Value = cond.Rateds[EConditionRated.Total][(int)ETestMode.Cooling].Current;
            try
            {
                value.Const["Total.Rated.Frequency"].Value = float.Parse(cond.Rateds[EConditionRated.Total][(int)ETestMode.Cooling].Frequency);
            }
            catch
            {
                value.Const["Total.Rated.Frequency"].Value = 0;
            }

            // Note
            cond.Note.Company = noteCompanyEdit.Text;
            cond.Note.Name = noteTestNameEdit.Text;
            cond.Note.No = noteTestNoEdit.Text;
            cond.Note.Observer = noteObserverEdit.Text;
            cond.Note.Maker = noteMakerCombo.Text;
            cond.Note.Model1 = noteModel1Combo.Text;
            cond.Note.Serial1 = noteSerial1Combo.Text;
            cond.Note.Model2 = noteModel2Edit.Text;
            cond.Note.Serial2 = noteSerial2Edit.Text;
            cond.Note.Model3 = noteModel3Edit.Text;
            cond.Note.Serial3 = noteSerial3Edit.Text;
            cond.Note.ExpDevice = noteExpDeviceEdit.Text;
            cond.Note.Refrigerant = noteRefrigerantCombo.Text;
            cond.Note.RefCharge = noteRefChargeEdit.Text;
            cond.Note.Memo = noteMemoEdit.Text;

            // Thermocouple
            cond.ThermocoupleDic.Clear();
            foreach (MeasureRow row in cond.TC1)
            {
                if (row.Name.Trim() != "")
                {
                    try
                    {
                        cond.ThermocoupleDic.Add(row.Name.Trim(), row.Value);
                    }
                    catch
                    {}
                }
            }

            foreach (MeasureRow row in cond.TC2)
            {
                if (row.Name.Trim() != "")
                {
                    try
                    {
                        cond.ThermocoupleDic.Add(row.Name.Trim(), row.Value);
                    }
                    catch
                    {}
                }
            }

            foreach (MeasureRow row in cond.TC3)
            {
                if (row.Name.Trim() != "")
                {
                    try
                    {
                        cond.ThermocoupleDic.Add(row.Name.Trim(), row.Value);
                    }
                    catch
                    {}
                }
            }

            // Pressure
            cond.PressureDic.Clear();
            foreach (MeasureRow row in cond.Pressures)
            {
                if (row.Name.Trim() != "")
                {
                    try
                    {
                        cond.PressureDic.Add(row.Name.Trim(), row.Value);
                    }
                    catch
                    {}
                }
            }
        }
示例#8
0
        protected override void Initialize(TestValue value, string head1, string head2)
        {
            if (IndoorUse == EIndoorUse.NotUsed)
            {
                return;
            }

            if (IndoorMode == EIndoorMode.NotUsed)
            {
                Rows.Add("Total.Capacity", new ReportRow("324", null));
                Rows.Add("Total.Power", new ReportRow("325", value.Calcurated["Total.Power"]));
                Rows.Add("Total.EER_COP", new ReportRow("326", null));
                Rows.Add("Total.Capacity.Ratio", new ReportRow("327", null));
                Rows.Add("Total.Power.Ratio", new ReportRow("328", value.Calcurated["Total.Power.Ratio"]));
                Rows.Add("Total.EER_COP.Ratio", new ReportRow("329", null));

                Rows.Add("IDU.Power", new ReportRow("330", value.Calcurated[head1 + ".IDU.Power"]));
                Rows.Add("IDU.Voltage", new ReportRow("331", value.Calcurated[head1 + ".IDU.Voltage"]));
                Rows.Add("IDU.Current", new ReportRow("332", value.Calcurated[head1 + ".IDU.Current"]));
                Rows.Add("IDU.Frequency", new ReportRow("333", value.Calcurated[head1 + ".IDU.Frequency"]));
                Rows.Add("IDU.Power.Factor", new ReportRow("334", value.Calcurated[head1 + ".IDU.Power.Factor"]));

                Rows.Add("ODU.Power", new ReportRow("335", value.Calcurated[head1 + ".ODU.Power"]));
                Rows.Add("ODU.Voltage", new ReportRow("336", value.Calcurated[head1 + ".ODU.Voltage"]));
                Rows.Add("ODU.Current", new ReportRow("337", value.Calcurated[head1 + ".ODU.Current"]));
                Rows.Add("ODU.Frequency", new ReportRow("338", value.Calcurated[head1 + ".ODU.Frequency"]));
                Rows.Add("ODU.Power.Factor", new ReportRow("339", value.Calcurated[head1 + ".ODU.Power.Factor"]));

                Rows.Add("Capacity", new ReportRow("341", null));
                Rows.Add("Capacity.Ratio", new ReportRow("394", null));
                Rows.Add("Sensible.Heat", new ReportRow("342", null));
                Rows.Add("Latent.Heat", new ReportRow("343", null));
                Rows.Add("Sensible.Heat.Ratio", new ReportRow("344", null));
                Rows.Add("Heat.Leakage", new ReportRow("345", null));
                Rows.Add("Drain.Weight", new ReportRow("346", null));

                Rows.Add("Entering.DB", new ReportRow("347", value.Measured[head2 + ".Entering.DB"]));
                Rows.Add("Entering.WB", new ReportRow("348", value.Measured[head2 + ".Entering.WB"]));
                Rows.Add("Entering.RH", new ReportRow("349", value.Calcurated[head2 + ".Entering.RH"]));
                Rows.Add("Leaving.DB", new ReportRow("350", value.Measured[head2 + ".Leaving.DB"]));
                Rows.Add("Leaving.WB", new ReportRow("351", value.Measured[head2 + ".Leaving.WB"]));
                Rows.Add("Leaving.RH", new ReportRow("352", value.Calcurated[head2 + ".Leaving.RH"]));

                Rows.Add("Entering.Enthalpy", new ReportRow("353", null));
                Rows.Add("Leaving.Enthalpy", new ReportRow("354", null));
                Rows.Add("Entering.Humidity.Ratio", new ReportRow("355", null));
                Rows.Add("Leaving.Humidity.Ratio", new ReportRow("356", null));
                Rows.Add("Leaving.Specific.Heat", new ReportRow("357", null));
                Rows.Add("Leaving.Specific.Volume", new ReportRow("358", null));

                Rows.Add("Air.Flow.Lev", new ReportRow("359", null));
                Rows.Add("Static.Pressure", new ReportRow("360", null));
                Rows.Add("Nozzle.Diff.Pressure", new ReportRow("361", null));
                Rows.Add("Atm.Pressure", new ReportRow("362", null));
                Rows.Add("Nozzle.Inlet.Temp", new ReportRow("363", null));
                Rows.Add("Nozzle", new ReportRow("365", null));
            }
            else
            {
                Rows.Add("Total.Capacity", new ReportRow("324", value.Calcurated["Total.Capacity"]));
                Rows.Add("Total.Power", new ReportRow("325", value.Calcurated["Total.Power"]));
                Rows.Add("Total.EER_COP", new ReportRow("326", value.Calcurated["Total.EER_COP"]));
                Rows.Add("Total.Capacity.Ratio", new ReportRow("327", value.Calcurated["Total.Capacity.Ratio"]));
                Rows.Add("Total.Power.Ratio", new ReportRow("328", value.Calcurated["Total.Power.Ratio"]));
                Rows.Add("Total.EER_COP.Ratio", new ReportRow("329", value.Calcurated["Total.EER_COP.Ratio"]));

                Rows.Add("IDU.Power", new ReportRow("330", value.Calcurated[head1 + ".IDU.Power"]));
                Rows.Add("IDU.Voltage", new ReportRow("331", value.Calcurated[head1 + ".IDU.Voltage"]));
                Rows.Add("IDU.Current", new ReportRow("332", value.Calcurated[head1 + ".IDU.Current"]));
                Rows.Add("IDU.Frequency", new ReportRow("333", value.Calcurated[head1 + ".IDU.Frequency"]));
                Rows.Add("IDU.Power.Factor", new ReportRow("334", value.Calcurated[head1 + ".IDU.Power.Factor"]));

                Rows.Add("ODU.Power", new ReportRow("335", value.Calcurated[head1 + ".ODU.Power"]));
                Rows.Add("ODU.Voltage", new ReportRow("336", value.Calcurated[head1 + ".ODU.Voltage"]));
                Rows.Add("ODU.Current", new ReportRow("337", value.Calcurated[head1 + ".ODU.Current"]));
                Rows.Add("ODU.Frequency", new ReportRow("338", value.Calcurated[head1 + ".ODU.Frequency"]));
                Rows.Add("ODU.Power.Factor", new ReportRow("339", value.Calcurated[head1 + ".ODU.Power.Factor"]));

                Rows.Add("Capacity", new ReportRow("341", value.Calcurated[head2 + ".Capacity"]));
                Rows.Add("Capacity.Ratio", new ReportRow("394", value.Calcurated[head2 + ".Capacity.Ratio"]));
                Rows.Add("Sensible.Heat", new ReportRow("342", value.Calcurated[head2 + ".Sensible.Heat"]));
                Rows.Add("Latent.Heat", new ReportRow("343", value.Calcurated[head2 + ".Latent.Heat"]));
                Rows.Add("Sensible.Heat.Ratio", new ReportRow("344", value.Calcurated[head2 + ".Sensible.Heat.Ratio"]));
                Rows.Add("Heat.Leakage", new ReportRow("345", value.Calcurated[head2 + ".Heat.Leakage"]));
                Rows.Add("Drain.Weight", new ReportRow("346", value.Calcurated[head2 + ".Drain.Weight"]));

                Rows.Add("Entering.DB", new ReportRow("347", value.Measured[head2 + ".Entering.DB"]));
                Rows.Add("Entering.WB", new ReportRow("348", value.Measured[head2 + ".Entering.WB"]));
                Rows.Add("Entering.RH", new ReportRow("349", value.Calcurated[head2 + ".Entering.RH"]));
                Rows.Add("Leaving.DB", new ReportRow("350", value.Measured[head2 + ".Leaving.DB"]));
                Rows.Add("Leaving.WB", new ReportRow("351", value.Measured[head2 + ".Leaving.WB"]));
                Rows.Add("Leaving.RH", new ReportRow("352", value.Calcurated[head2 + ".Leaving.RH"]));

                Rows.Add("Entering.Enthalpy", new ReportRow("353", value.Calcurated[head2 + ".Entering.Enthalpy"]));
                Rows.Add("Leaving.Enthalpy", new ReportRow("354", value.Calcurated[head2 + ".Leaving.Enthalpy"]));
                Rows.Add("Entering.Humidity.Ratio", new ReportRow("355", value.Calcurated[head2 + ".Entering.Humidity.Ratio"]));
                Rows.Add("Leaving.Humidity.Ratio", new ReportRow("356", value.Calcurated[head2 + ".Leaving.Humidity.Ratio"]));
                Rows.Add("Leaving.Specific.Heat", new ReportRow("357", value.Calcurated[head2 + ".Leaving.Specific.Heat"]));
                Rows.Add("Leaving.Specific.Volume", new ReportRow("358", value.Calcurated[head2 + ".Leaving.Specific.Volume"]));

                Rows.Add("Air.Flow.Lev", new ReportRow("359", value.Calcurated[head2 + ".Air.Flow.Lev"]));
                Rows.Add("Static.Pressure", new ReportRow("360", value.Measured[head2 + ".Static.Pressure"]));
                Rows.Add("Nozzle.Diff.Pressure", new ReportRow("361", value.Measured[head2 + ".Nozzle.Diff.Pressure"]));
                Rows.Add("Atm.Pressure", new ReportRow("362", value.Measured[head1 + ".Atm.Pressure"]));
                Rows.Add("Nozzle.Inlet.Temp", new ReportRow("363", value.Measured[head2 + ".Nozzle.Inlet.Temp"]));
                Rows.Add("Nozzle", new ReportRow("365", value.Calcurated[head2 + ".Nozzle"]));
            }

            if (OutdoorUse == EOutdoorUse.Outdoor)
            {
                Rows.Add("OD.Entering.DB", new ReportRow("366", value.Measured["OD.Entering.DB"]));
                Rows.Add("OD.Entering.WB", new ReportRow("367", value.Measured["OD.Entering.WB"]));
                Rows.Add("OD.Entering.RH", new ReportRow("368", value.Calcurated["OD.Entering.RH"]));
                Rows.Add("OD.Entering.DP", new ReportRow("369", value.Measured["OD.Entering.DP"]));
            }
        }
示例#9
0
 protected abstract void Initialize(TestValue value, string head1, string head2);
示例#10
0
        protected override void Execute()
        {
            Watch.Stop();
            totalWatch.Stop();

            DateTime                 endTime;
            TimeSpan                 elapsedTime;
            ConditionSchedule        sch;
            TestValue                value     = context.Value;
            ConditionMethod          method    = context.Condition.Method;
            List <ConditionSchedule> schedules = context.Condition.Schedules;

            try
            {
                descArgs.ScheduleCount    = 0;
                descArgs.ScheduleMax      = schedules.Count;
                descArgs.TotalElapsedTime = 0;

                for (int i = 0; i < schedules.Count; i++)
                {
                    sch = schedules[i];
                    if (sch.Use == false)
                    {
                        continue;
                    }

                    context.Index = i;
                    context.Initialize();
                    context.Report.Initialize();

                    sheetArgs.Report = context.Report;

                    value.Integral.Initialize(method.ScanTime, method.IntegralTime, sch);

                    descArgs.Name          = sch.Name;
                    descArgs.Step          = ETestStep.None;
                    descArgs.RepeatMax     = sch.Repeat;
                    descArgs.ScheduleCount = i + 1;

                    for (int j = 0; j < sch.Repeat; j++)
                    {
                        value.Integral.Clear();
                        context.Report.Clear();

                        OnClearSpreadSheet();

                        sheetArgs.Index = EWorkSheet.Title;
                        OnSetSpreadSheet();

                        descArgs.RepeatCount  = j + 1;
                        descArgs.JudgeMax     = sch.NoOfSteady;
                        descArgs.JudgeCount   = 0;
                        descArgs.JudgeMaxTime = sch.Judge * csOneMiniteMsec;
                        descArgs.JudgeCurTime = 0;
                        descArgs.IntegMaxTime = method.IntegralTime * method.IntegralCount * csOneMiniteMsec;
                        descArgs.IntegCurTime = 0;
                        OnDispState();

                        InsertDataHead();
                        prevRawTicks         = 0;
                        context.Value.Saving = true;
                        OnInvalidGraph(0);
                        Watch.Restart();
                        totalWatch.Start();

                        try
                        {
                            DoPreparation(sch);
                            DoJudgement(sch);
                            DoIntegration(method);
                        }
                        finally
                        {
                            endTime     = DateTime.Now;
                            elapsedTime = endTime.Subtract(context.Report.RegTime);

                            totalWatch.Stop();
                            Watch.Stop();
                            context.Value.Saving = false;

                            InsertAllDataRaw();

                            string capacity = GetSheetAverageValue("Total.Capacity");
                            string power    = GetSheetAverageValue("Total.Power");
                            string eer_cop  = GetSheetAverageValue("Total.EER_COP");

                            UpdateDataBook(endTime, elapsedTime, capacity, power, eer_cop, ETestState.Done);
                            SaveSpreadSheet();

                            OnClearGraph();

                            descArgs.Step = ETestStep.None;
                            OnDispState();
                        }
                    }
                }

                PostMessage(Resource.WM_TEST_NORMAL_TERMINATED);
            }
            catch (UlThreadTerminatedException)
            {
                UpdateDataBook(ETestState.Stopped);
                PostMessage(Resource.WM_TEST_ABNORMAL_TERMINATED);
            }
        }
示例#11
0
        public void Initialize(TestValue value)
        {
            lock (this)
            {
                // Set judgement values
                Sheets.Add("Judge", new IntegralValues());
                Sheets["Judge"].Values.Add("Total.IDU.Voltage", new IntegralValue(value.Calcurated["Total.IDU.Voltage"]));
                Sheets["Judge"].Values.Add("Total.ODU.Voltage", new IntegralValue(value.Calcurated["Total.ODU.Voltage"]));

                Sheets["Judge"].Values.Add("ID11.Entering.DB", new IntegralValue(value.Measured["ID11.Entering.DB"]));
                Sheets["Judge"].Values.Add("ID11.Entering.WB", new IntegralValue(value.Measured["ID11.Entering.WB"]));
                Sheets["Judge"].Values.Add("ID11.Leaving.DB", new IntegralValue(value.Measured["ID11.Leaving.DB"]));
                Sheets["Judge"].Values.Add("ID11.Leaving.WB", new IntegralValue(value.Measured["ID11.Leaving.WB"]));
                Sheets["Judge"].Values.Add("ID11.Air.Flow.Lev", new IntegralValue(value.Calcurated["ID11.Air.Flow.Lev"]));
                Sheets["Judge"].Values.Add("ID11.Static.Pressure", new IntegralValue(value.Measured["ID11.Static.Pressure"]));

                Sheets["Judge"].Values.Add("ID12.Entering.DB", new IntegralValue(value.Measured["ID12.Entering.DB"]));
                Sheets["Judge"].Values.Add("ID12.Entering.WB", new IntegralValue(value.Measured["ID12.Entering.WB"]));
                Sheets["Judge"].Values.Add("ID12.Leaving.DB", new IntegralValue(value.Measured["ID12.Leaving.DB"]));
                Sheets["Judge"].Values.Add("ID12.Leaving.WB", new IntegralValue(value.Measured["ID12.Leaving.WB"]));
                Sheets["Judge"].Values.Add("ID12.Air.Flow.Lev", new IntegralValue(value.Calcurated["ID12.Air.Flow.Lev"]));
                Sheets["Judge"].Values.Add("ID12.Static.Pressure", new IntegralValue(value.Measured["ID12.Static.Pressure"]));

                Sheets["Judge"].Values.Add("ID21.Entering.DB", new IntegralValue(value.Measured["ID21.Entering.DB"]));
                Sheets["Judge"].Values.Add("ID21.Entering.WB", new IntegralValue(value.Measured["ID21.Entering.WB"]));
                Sheets["Judge"].Values.Add("ID21.Leaving.DB", new IntegralValue(value.Measured["ID21.Leaving.DB"]));
                Sheets["Judge"].Values.Add("ID21.Leaving.WB", new IntegralValue(value.Measured["ID21.Leaving.WB"]));
                Sheets["Judge"].Values.Add("ID21.Air.Flow.Lev", new IntegralValue(value.Calcurated["ID21.Air.Flow.Lev"]));
                Sheets["Judge"].Values.Add("ID21.Static.Pressure", new IntegralValue(value.Measured["ID21.Static.Pressure"]));

                Sheets["Judge"].Values.Add("ID22.Entering.DB", new IntegralValue(value.Measured["ID22.Entering.DB"]));
                Sheets["Judge"].Values.Add("ID22.Entering.WB", new IntegralValue(value.Measured["ID22.Entering.WB"]));
                Sheets["Judge"].Values.Add("ID22.Leaving.DB", new IntegralValue(value.Measured["ID22.Leaving.DB"]));
                Sheets["Judge"].Values.Add("ID22.Leaving.WB", new IntegralValue(value.Measured["ID22.Leaving.WB"]));
                Sheets["Judge"].Values.Add("ID22.Air.Flow.Lev", new IntegralValue(value.Calcurated["ID22.Air.Flow.Lev"]));
                Sheets["Judge"].Values.Add("ID22.Static.Pressure", new IntegralValue(value.Measured["ID22.Static.Pressure"]));

                Sheets["Judge"].Values.Add("OD.Entering.DB", new IntegralValue(value.Measured["OD.Entering.DB"]));
                Sheets["Judge"].Values.Add("OD.Entering.WB", new IntegralValue(value.Measured["OD.Entering.WB"]));
                Sheets["Judge"].Values.Add("OD.Entering.DP", new IntegralValue(value.Measured["OD.Entering.DP"]));

                IgnoreJudgement = true;

                string[] head1 = { "ID1", "ID1", "ID2", "ID2" };
                string[] head2 = { "ID11", "ID12", "ID21", "ID22" };
                string[] keys  = { "ID A #1", "ID A #2", "ID B #1", "ID B #2" };

                for (int i = 0; i < 4; i++)
                {
                    Sheets.Add(keys[i], new IntegralValues());
                    Sheets[keys[i]].Values.Add("Total.Capacity", new IntegralValue(value.Calcurated["Total.Capacity"]));
                    Sheets[keys[i]].Values.Add("Total.Power", new IntegralValue(value.Calcurated["Total.Power"]));
                    Sheets[keys[i]].Values.Add("Total.EER_COP", new IntegralValue(value.Calcurated["Total.EER_COP"]));
                    Sheets[keys[i]].Values.Add("Total.Capacity.Ratio", new IntegralValue(value.Calcurated["Total.Capacity.Ratio"]));
                    Sheets[keys[i]].Values.Add("Total.Power.Ratio", new IntegralValue(value.Calcurated["Total.Power.Ratio"]));
                    Sheets[keys[i]].Values.Add("Total.EER_COP.Ratio", new IntegralValue(value.Calcurated["Total.EER_COP.Ratio"]));

                    Sheets[keys[i]].Values.Add("IDU.Power", new IntegralValue(value.Calcurated[head1[i] + ".IDU.Power"]));
                    Sheets[keys[i]].Values.Add("IDU.Voltage", new IntegralValue(value.Calcurated[head1[i] + ".IDU.Voltage"]));
                    Sheets[keys[i]].Values.Add("IDU.Current", new IntegralValue(value.Calcurated[head1[i] + ".IDU.Current"]));
                    Sheets[keys[i]].Values.Add("IDU.Frequency", new IntegralValue(value.Calcurated[head1[i] + ".IDU.Frequency"]));
                    Sheets[keys[i]].Values.Add("IDU.Power.Factor", new IntegralValue(value.Calcurated[head1[i] + ".IDU.Power.Factor"]));

                    Sheets[keys[i]].Values.Add("ODU.Power", new IntegralValue(value.Calcurated[head1[i] + ".ODU.Power"]));
                    Sheets[keys[i]].Values.Add("ODU.Voltage", new IntegralValue(value.Calcurated[head1[i] + ".ODU.Voltage"]));
                    Sheets[keys[i]].Values.Add("ODU.Current", new IntegralValue(value.Calcurated[head1[i] + ".ODU.Current"]));
                    Sheets[keys[i]].Values.Add("ODU.Frequency", new IntegralValue(value.Calcurated[head1[i] + ".ODU.Frequency"]));
                    Sheets[keys[i]].Values.Add("ODU.Power.Factor", new IntegralValue(value.Calcurated[head1[i] + ".ODU.Power.Factor"]));

                    Sheets[keys[i]].Values.Add("Capacity", new IntegralValue(value.Calcurated[head2[i] + ".Capacity"]));
                    Sheets[keys[i]].Values.Add("Capacity.Ratio", new IntegralValue(value.Calcurated[head2[i] + ".Capacity.Ratio"]));
                    Sheets[keys[i]].Values.Add("Sensible.Heat", new IntegralValue(value.Calcurated[head2[i] + ".Sensible.Heat"]));
                    Sheets[keys[i]].Values.Add("Latent.Heat", new IntegralValue(value.Calcurated[head2[i] + ".Latent.Heat"]));
                    Sheets[keys[i]].Values.Add("Sensible.Heat.Ratio", new IntegralValue(value.Calcurated[head2[i] + ".Sensible.Heat.Ratio"]));
                    Sheets[keys[i]].Values.Add("Heat.Leakage", new IntegralValue(value.Calcurated[head2[i] + ".Heat.Leakage"]));
                    Sheets[keys[i]].Values.Add("Drain.Weight", new IntegralValue(value.Calcurated[head2[i] + ".Drain.Weight"]));

                    Sheets[keys[i]].Values.Add("Entering.DB", new IntegralValue(value.Measured[head2[i] + ".Entering.DB"]));
                    Sheets[keys[i]].Values.Add("Entering.WB", new IntegralValue(value.Measured[head2[i] + ".Entering.WB"]));
                    Sheets[keys[i]].Values.Add("Entering.RH", new IntegralValue(value.Calcurated[head2[i] + ".Entering.RH"]));
                    Sheets[keys[i]].Values.Add("Leaving.DB", new IntegralValue(value.Measured[head2[i] + ".Leaving.DB"]));
                    Sheets[keys[i]].Values.Add("Leaving.WB", new IntegralValue(value.Measured[head2[i] + ".Leaving.WB"]));
                    Sheets[keys[i]].Values.Add("Leaving.RH", new IntegralValue(value.Calcurated[head2[i] + ".Leaving.RH"]));

                    Sheets[keys[i]].Values.Add("Entering.Enthalpy", new IntegralValue(value.Calcurated[head2[i] + ".Entering.Enthalpy"]));
                    Sheets[keys[i]].Values.Add("Leaving.Enthalpy", new IntegralValue(value.Calcurated[head2[i] + ".Leaving.Enthalpy"]));
                    Sheets[keys[i]].Values.Add("Entering.Humidity.Ratio", new IntegralValue(value.Calcurated[head2[i] + ".Entering.Humidity.Ratio"]));
                    Sheets[keys[i]].Values.Add("Leaving.Humidity.Ratio", new IntegralValue(value.Calcurated[head2[i] + ".Leaving.Humidity.Ratio"]));
                    Sheets[keys[i]].Values.Add("Leaving.Specific.Heat", new IntegralValue(value.Calcurated[head2[i] + ".Leaving.Specific.Heat"]));
                    Sheets[keys[i]].Values.Add("Leaving.Specific.Volume", new IntegralValue(value.Calcurated[head2[i] + ".Leaving.Specific.Volume"]));

                    Sheets[keys[i]].Values.Add("Air.Flow.Lev", new IntegralValue(value.Calcurated[head2[i] + ".Air.Flow.Lev"]));
                    Sheets[keys[i]].Values.Add("Static.Pressure", new IntegralValue(value.Measured[head2[i] + ".Static.Pressure"]));
                    Sheets[keys[i]].Values.Add("Nozzle.Diff.Pressure", new IntegralValue(value.Measured[head2[i] + ".Nozzle.Diff.Pressure"]));
                    Sheets[keys[i]].Values.Add("Atm.Pressure", new IntegralValue(value.Measured[head1[i] + ".Atm.Pressure"]));
                    Sheets[keys[i]].Values.Add("Nozzle.Inlet.Temp", new IntegralValue(value.Measured[head2[i] + ".Nozzle.Inlet.Temp"]));

                    Sheets[keys[i]].Values.Add("OD.Entering.DB", new IntegralValue(value.Measured["OD.Entering.DB"]));
                    Sheets[keys[i]].Values.Add("OD.Entering.WB", new IntegralValue(value.Measured["OD.Entering.WB"]));
                    Sheets[keys[i]].Values.Add("OD.Entering.RH", new IntegralValue(value.Calcurated["OD.Entering.RH"]));
                    Sheets[keys[i]].Values.Add("OD.Entering.DP", new IntegralValue(value.Measured["OD.Entering.DP"]));
                }

                string tag1, tag2;

                Sheets.Add("ID A TC", new IntegralValues());
                for (int i = 0; i < 60; i++)
                {
                    tag1 = $"TC {i + 1:d2}";
                    tag2 = $"ID1.TC.{i + 1:d3}";
                    Sheets["ID A TC"].Values.Add(tag1, new IntegralValue(value.Measured[tag2]));
                }

                Sheets.Add("ID B TC", new IntegralValues());
                for (int i = 0; i < 60; i++)
                {
                    tag1 = $"TC {i + 1:d2}";
                    tag2 = $"ID2.TC.{i + 1:d3}";
                    Sheets["ID B TC"].Values.Add(tag1, new IntegralValue(value.Measured[tag2]));
                }

                Sheets.Add("OD TC", new IntegralValues());
                for (int i = 0; i < 60; i++)
                {
                    tag1 = $"TC {i + 1:d2}";
                    tag2 = $"OD.TC.{i + 1:d3}";
                    Sheets["OD TC"].Values.Add(tag1, new IntegralValue(value.Measured[tag2]));
                }
            }
        }
示例#12
0
        public TestMeasure(TestValue value)
        {
            Control = null;

            TotalRateds = new List <MeasureRow>();
            TotalRateds.Add(new MeasureRow(value.Calcurated["Total.Capacity"], "Total Capacity"));
            TotalRateds.Add(new MeasureRow(value.Calcurated["Total.Power"], "Total Power Input"));
            TotalRateds.Add(new MeasureRow(value.Calcurated["Total.EER_COP"], "EER/COP"));
            TotalRateds.Add(new MeasureRow(null));
            TotalRateds.Add(new MeasureRow(null, "Rated Capacity"));
            TotalRateds.Add(new MeasureRow(null, "Capacity Ratio"));
            TotalRateds.Add(new MeasureRow(null, "Rated Power Input"));
            TotalRateds.Add(new MeasureRow(null, "Power Input Ratio"));
            TotalRateds.Add(new MeasureRow(null, "Rated EER/COP"));
            TotalRateds.Add(new MeasureRow(null, "EER/COP Ratio"));
            TotalRateds.Add(new MeasureRow(null, "Rated Current"));
            TotalRateds.Add(new MeasureRow(null, "Current Ratio"));
            TotalRateds.Add(new MeasureRow(null));
            TotalRateds.Add(new MeasureRow(null, "Power Input(IDU)"));
            TotalRateds.Add(new MeasureRow(null, "Voltage(IDU)"));
            TotalRateds.Add(new MeasureRow(null, "Current(IDU)"));
            TotalRateds.Add(new MeasureRow(null, "Frequency(IDU)"));
            TotalRateds.Add(new MeasureRow(null, "Power Factor(IDU)"));
            TotalRateds.Add(new MeasureRow(null, "Integ Power(IDU)"));
            TotalRateds.Add(new MeasureRow(null, "Integ Time(IDU)"));
            TotalRateds.Add(new MeasureRow(null));
            TotalRateds.Add(new MeasureRow(null, "Power Input(ODU)"));
            TotalRateds.Add(new MeasureRow(null, "Voltage(ODU)"));
            TotalRateds.Add(new MeasureRow(null, "Current(ODU)"));
            TotalRateds.Add(new MeasureRow(null, "Frequency(ODU)"));
            TotalRateds.Add(new MeasureRow(null, "Power Factor(ODU)"));
            TotalRateds.Add(new MeasureRow(null, "Integ Power(ODU)"));
            TotalRateds.Add(new MeasureRow(null, "Integ Time(ODU)"));

            RunStates = new List <MeasureRow>();
            RunStates.Add(new MeasureRow(null, "Condition"));
            RunStates.Add(new MeasureRow(null, "Running Step"));
            RunStates.Add(new MeasureRow(null, "Elapsed Time"));
            RunStates.Add(new MeasureRow(null, "Total Elapsed"));
            RunStates.Add(new MeasureRow(null));
            RunStates.Add(new MeasureRow(null, "Preparation", "00:00:00:00 / 00:00:00:00"));
            RunStates.Add(new MeasureRow(null, "Judgement", "00:00:00:00 / 00:00:00:00"));
            RunStates.Add(new MeasureRow(null, "Integration", "00:00:00:00 / 00:00:00:00"));
            RunStates.Add(new MeasureRow(null));
            RunStates.Add(new MeasureRow(null, "No of Steady"));
            RunStates.Add(new MeasureRow(null, "Repeat"));
            RunStates.Add(new MeasureRow(null, "Schedule"));

            AirSides = new List <MeasureAirSideRow>();
            AirSides.Add(new MeasureAirSideRow("Capacity", value.Calcurated["ID11.Capacity"], value.Calcurated["ID12.Capacity"], value.Calcurated["ID21.Capacity"], value.Calcurated["ID22.Capacity"]));
            AirSides.Add(new MeasureAirSideRow("Capacity Ratio", value.Calcurated["ID11.Capacity.Ratio"], value.Calcurated["ID12.Capacity.Ratio"], value.Calcurated["ID21.Capacity.Ratio"], value.Calcurated["ID22.Capacity.Ratio"]));
            AirSides.Add(new MeasureAirSideRow("Sensible Heat", value.Calcurated["ID11.Sensible.Heat"], value.Calcurated["ID12.Sensible.Heat"], value.Calcurated["ID21.Sensible.Heat"], value.Calcurated["ID22.Sensible.Heat"]));
            AirSides.Add(new MeasureAirSideRow("Latent Heat", value.Calcurated["ID11.Latent.Heat"], value.Calcurated["ID12.Latent.Heat"], value.Calcurated["ID21.Latent.Heat"], value.Calcurated["ID22.Latent.Heat"]));
            AirSides.Add(new MeasureAirSideRow("Sensible Heat Ratio", value.Calcurated["ID11.Sensible.Heat.Ratio"], value.Calcurated["ID12.Sensible.Heat.Ratio"], value.Calcurated["ID21.Sensible.Heat.Ratio"], value.Calcurated["ID22.Sensible.Heat.Ratio"]));
            AirSides.Add(new MeasureAirSideRow("Heat Leakage", value.Calcurated["ID11.Heat.Leakage"], value.Calcurated["ID12.Heat.Leakage"], value.Calcurated["ID21.Heat.Leakage"], value.Calcurated["ID22.Heat.Leakage"]));
            AirSides.Add(new MeasureAirSideRow("Drain Weight", value.Calcurated["ID11.Drain.Weight"], value.Calcurated["ID12.Drain.Weight"], value.Calcurated["ID21.Drain.Weight"], value.Calcurated["ID22.Drain.Weight"]));
            AirSides.Add(new MeasureAirSideRow("", null, null, null, null, true));
            AirSides.Add(new MeasureAirSideRow("Entering DB", value.Measured["ID11.Entering.DB"], value.Measured["ID12.Entering.DB"], value.Measured["ID21.Entering.DB"], value.Measured["ID22.Entering.DB"]));
            AirSides.Add(new MeasureAirSideRow("Entering WB", value.Measured["ID11.Entering.WB"], value.Measured["ID12.Entering.WB"], value.Measured["ID21.Entering.WB"], value.Measured["ID22.Entering.WB"]));
            AirSides.Add(new MeasureAirSideRow("Entering RH", value.Calcurated["ID11.Entering.RH"], value.Calcurated["ID12.Entering.RH"], value.Calcurated["ID21.Entering.RH"], value.Calcurated["ID22.Entering.RH"]));
            AirSides.Add(new MeasureAirSideRow("Leaving DB", value.Measured["ID11.Leaving.DB"], value.Measured["ID12.Leaving.DB"], value.Measured["ID21.Leaving.DB"], value.Measured["ID22.Leaving.DB"]));
            AirSides.Add(new MeasureAirSideRow("Leaving WB", value.Measured["ID11.Leaving.WB"], value.Measured["ID12.Leaving.WB"], value.Measured["ID21.Leaving.WB"], value.Measured["ID22.Leaving.WB"]));
            AirSides.Add(new MeasureAirSideRow("Leaving RH", value.Calcurated["ID11.Leaving.RH"], value.Calcurated["ID12.Leaving.RH"], value.Calcurated["ID21.Leaving.RH"], value.Calcurated["ID22.Leaving.RH"]));
            AirSides.Add(new MeasureAirSideRow("", null, null, null, null, true));
            AirSides.Add(new MeasureAirSideRow("Entering Enthalpy", value.Calcurated["ID11.Entering.Enthalpy"], value.Calcurated["ID12.Entering.Enthalpy"], value.Calcurated["ID21.Entering.Enthalpy"], value.Calcurated["ID22.Entering.Enthalpy"]));
            AirSides.Add(new MeasureAirSideRow("Leaving Enthalpy", value.Calcurated["ID11.Leaving.Enthalpy"], value.Calcurated["ID12.Leaving.Enthalpy"], value.Calcurated["ID21.Leaving.Enthalpy"], value.Calcurated["ID22.Leaving.Enthalpy"]));
            AirSides.Add(new MeasureAirSideRow("Entering Humidity Ratio", value.Calcurated["ID11.Entering.Humidity.Ratio"], value.Calcurated["ID12.Entering.Humidity.Ratio"], value.Calcurated["ID21.Entering.Humidity.Ratio"], value.Calcurated["ID22.Entering.Humidity.Ratio"]));
            AirSides.Add(new MeasureAirSideRow("Leaving Humidity Ratio", value.Calcurated["ID11.Leaving.Humidity.Ratio"], value.Calcurated["ID12.Leaving.Humidity.Ratio"], value.Calcurated["ID21.Leaving.Humidity.Ratio"], value.Calcurated["ID22.Leaving.Humidity.Ratio"]));
            AirSides.Add(new MeasureAirSideRow("Leaving Specific Heat", value.Calcurated["ID11.Leaving.Specific.Heat"], value.Calcurated["ID12.Leaving.Specific.Heat"], value.Calcurated["ID21.Leaving.Specific.Heat"], value.Calcurated["ID22.Leaving.Specific.Heat"]));
            AirSides.Add(new MeasureAirSideRow("Leaving Specific Volume", value.Calcurated["ID11.Leaving.Specific.Volume"], value.Calcurated["ID12.Leaving.Specific.Volume"], value.Calcurated["ID21.Leaving.Specific.Volume"], value.Calcurated["ID22.Leaving.Specific.Volume"]));
            AirSides.Add(new MeasureAirSideRow("", null, null, null, null, true));
            AirSides.Add(new MeasureAirSideRow("Air Flow [Lev]", value.Calcurated["ID11.Air.Flow.Lev"], value.Calcurated["ID12.Air.Flow.Lev"], value.Calcurated["ID21.Air.Flow.Lev"], value.Calcurated["ID22.Air.Flow.Lev"]));
            AirSides.Add(new MeasureAirSideRow("Air Velocity [Lev]", value.Calcurated["ID11.Air.Velocity.Lev"], value.Calcurated["ID12.Air.Velocity.Lev"], value.Calcurated["ID21.Air.Velocity.Lev"], value.Calcurated["ID22.Air.Velocity.Lev"]));
            AirSides.Add(new MeasureAirSideRow("Static Pressure", value.Measured["ID11.Static.Pressure"], value.Measured["ID12.Static.Pressure"], value.Measured["ID21.Static.Pressure"], value.Measured["ID22.Static.Pressure"]));
            AirSides.Add(new MeasureAirSideRow("Nozzle Diff. Pressure", value.Measured["ID11.Nozzle.Diff.Pressure"], value.Measured["ID12.Nozzle.Diff.Pressure"], value.Measured["ID21.Nozzle.Diff.Pressure"], value.Measured["ID22.Nozzle.Diff.Pressure"]));
            AirSides.Add(new MeasureAirSideRow("Atmospheric Pressure", value.Measured["ID1.Atm.Pressure"], value.Measured["ID1.Atm.Pressure"], value.Measured["ID2.Atm.Pressure"], value.Measured["ID2.Atm.Pressure"]));
            AirSides.Add(new MeasureAirSideRow("Nozzle Inlet Temp.", value.Measured["ID11.Nozzle.Inlet.Temp"], value.Measured["ID12.Nozzle.Inlet.Temp"], value.Measured["ID21.Nozzle.Inlet.Temp"], value.Measured["ID22.Nozzle.Inlet.Temp"]));

            List <CoefficientDataRow> coeffs = Resource.Settings.Coefficients;

            Nozzles = new List <MeasureNozzleRow>();
            Nozzles.Add(new MeasureNozzleRow("Nozzle 1", coeffs[0].Nozzle1, value.Calcurated["ID11.Nozzle.1"], coeffs[0].Nozzle2, value.Calcurated["ID12.Nozzle.1"], coeffs[0].Nozzle3, value.Calcurated["ID21.Nozzle.1"], coeffs[0].Nozzle4, value.Calcurated["ID22.Nozzle.1"]));
            Nozzles.Add(new MeasureNozzleRow("Nozzle 2", coeffs[1].Nozzle1, value.Calcurated["ID11.Nozzle.2"], coeffs[1].Nozzle2, value.Calcurated["ID12.Nozzle.2"], coeffs[1].Nozzle3, value.Calcurated["ID21.Nozzle.2"], coeffs[1].Nozzle4, value.Calcurated["ID22.Nozzle.2"]));
            Nozzles.Add(new MeasureNozzleRow("Nozzle 3", coeffs[2].Nozzle1, value.Calcurated["ID11.Nozzle.3"], coeffs[2].Nozzle2, value.Calcurated["ID12.Nozzle.3"], coeffs[2].Nozzle3, value.Calcurated["ID21.Nozzle.3"], coeffs[2].Nozzle4, value.Calcurated["ID22.Nozzle.3"]));
            Nozzles.Add(new MeasureNozzleRow("Nozzle 4", coeffs[3].Nozzle1, value.Calcurated["ID11.Nozzle.4"], coeffs[3].Nozzle2, value.Calcurated["ID12.Nozzle.4"], coeffs[3].Nozzle3, value.Calcurated["ID21.Nozzle.4"], coeffs[3].Nozzle4, value.Calcurated["ID22.Nozzle.4"]));

            Outsides = new List <MeasureRow>();
            Outsides.Add(new MeasureRow(value.Measured["OD.Entering.DB"], "Entering DB"));
            Outsides.Add(new MeasureRow(value.Measured["OD.Entering.WB"], "Entering WB"));
            Outsides.Add(new MeasureRow(value.Calcurated["OD.Entering.RH"], "Entering RH"));
            Outsides.Add(new MeasureRow(value.Measured["OD.Entering.DP"], "Entering DP"));
            Outsides.Add(new MeasureRow(null));
            Outsides.Add(new MeasureRow(value.Calcurated["OD.Sat.Dis.Temp1"], "Sat. Dis. Temp(1)"));
            Outsides.Add(new MeasureRow(value.Calcurated["OD.Sat.Suc.Temp1"], "Sat. Suc. Temp(1)"));
            Outsides.Add(new MeasureRow(value.Calcurated["OD.Sub.Cooling1"], "Sub-Cooling(1)"));
            Outsides.Add(new MeasureRow(value.Calcurated["OD.Super.Heat1"], "Superheat(1)"));
            Outsides.Add(new MeasureRow(value.Calcurated["OD.Sat.Dis.Temp2"], "Sat. Dis. Temp(2)"));
            Outsides.Add(new MeasureRow(value.Calcurated["OD.Sat.Suc.Temp2"], "Sat. Suc. Temp(2)"));
            Outsides.Add(new MeasureRow(value.Calcurated["OD.Sub.Cooling2"], "Sub-Cooling(2)"));
            Outsides.Add(new MeasureRow(value.Calcurated["OD.Super.Heat2"], "Superheat(2)"));

            Methods = new List <MeasureRow>();
            Methods.Add(new MeasureRow(null, "Method", "3min * 3times"));
            Methods.Add(new MeasureRow(null, "Scan Time", "3 sec"));

            Notes = new List <MeasureRow>();
            Notes.Add(new MeasureRow(null, "Company"));
            Notes.Add(new MeasureRow(null, "Test Name"));
            Notes.Add(new MeasureRow(null, "Test No"));
            Notes.Add(new MeasureRow(null, "Observer"));
            Notes.Add(new MeasureRow(null));
            Notes.Add(new MeasureRow(null, "Maker"));
            Notes.Add(new MeasureRow(null, "Model(1)"));
            Notes.Add(new MeasureRow(null, "Serial No(1)"));
            Notes.Add(new MeasureRow(null, "Model(2)"));
            Notes.Add(new MeasureRow(null, "Serial No(2)"));
            Notes.Add(new MeasureRow(null, "Model(3)"));
            Notes.Add(new MeasureRow(null, "Serial No(3)"));
            Notes.Add(new MeasureRow(null, "Exp. Device"));
            Notes.Add(new MeasureRow(null, "Refrigerant"));
            Notes.Add(new MeasureRow(null, "Ref. Charge"));
            Notes.Add(new MeasureRow(null, "Memo"));

            Rateds = new List <MeasureRow>();
            Rateds.Add(new MeasureRow(null, "Rated Capacity"));
            Rateds.Add(new MeasureRow(null, "Rated Power Input"));
            Rateds.Add(new MeasureRow(null, "Rated EER/COP"));
            Rateds.Add(new MeasureRow(null));
            Rateds.Add(new MeasureRow(null, "Voltage"));
            Rateds.Add(new MeasureRow(null, "Current"));
            Rateds.Add(new MeasureRow(null, "Frequency"));
            Rateds.Add(new MeasureRow(null, "Selected PM(IDU)"));
            Rateds.Add(new MeasureRow(null, "Selected PM(ODU)"));
            Rateds.Add(new MeasureRow(null, "Phase(ODU)"));

            Indoors11 = new List <MeasureRow>();
            Indoors11.Add(new MeasureRow(null, "Use", "Indoor"));
            Indoors11.Add(new MeasureRow(null, "Mode", "Use"));
            Indoors11.Add(new MeasureRow(null, "Duct", "Use"));
            Indoors11.Add(new MeasureRow(null, "DB", "0.0"));
            Indoors11.Add(new MeasureRow(null, "WB", "0.0"));

            Indoors12 = new List <MeasureRow>();
            Indoors12.Add(new MeasureRow(null, "Use", "Indoor"));
            Indoors12.Add(new MeasureRow(null, "Mode", "Use"));
            Indoors12.Add(new MeasureRow(null, "Duct", "Use"));
            Indoors12.Add(new MeasureRow(null, "DB", "0.0"));
            Indoors12.Add(new MeasureRow(null, "WB", "0.0"));

            Indoors21 = new List <MeasureRow>();
            Indoors21.Add(new MeasureRow(null, "Use", "Indoor"));
            Indoors21.Add(new MeasureRow(null, "Mode", "Use"));
            Indoors21.Add(new MeasureRow(null, "Duct", "Use"));
            Indoors21.Add(new MeasureRow(null, "DB", "0.0"));
            Indoors21.Add(new MeasureRow(null, "WB", "0.0"));

            Indoors22 = new List <MeasureRow>();
            Indoors22.Add(new MeasureRow(null, "Use", "Indoor"));
            Indoors22.Add(new MeasureRow(null, "Mode", "Use"));
            Indoors22.Add(new MeasureRow(null, "Duct", "Use"));
            Indoors22.Add(new MeasureRow(null, "DB", "0.0"));
            Indoors22.Add(new MeasureRow(null, "WB", "0.0"));

            Outdoors = new List <MeasureRow>();
            Outdoors.Add(new MeasureRow(null, "Use", "Outdoor"));
            Outdoors.Add(new MeasureRow(null, "DP Sensor", "Use"));
            Outdoors.Add(new MeasureRow(null, "Auto Voltage", "Use"));
            Outdoors.Add(new MeasureRow(null, "DB", "0.0"));
            Outdoors.Add(new MeasureRow(null, "WB", "0.0"));

            Pressures = new List <MeasureRow>();
            for (int i = 0; i < Resource.Client.Devices.Recorder.PressureLength; i++)
            {
                Pressures.Add(new MeasureRow(value.Measured[$"Pressure.{i + 1}"], "", "", i + 1));
            }

            int count = Resource.Client.Devices.Recorder.ThermocoupleLength / 3;

            IndoorTC1 = new List <MeasureRow>();
            for (int i = 0; i < count; i++)
            {
                IndoorTC1.Add(new MeasureRow(value.Measured[$"ID1.TC.{i + 1:d3}"], "", "", i + 1));
            }

            IndoorTC2 = new List <MeasureRow>();
            for (int i = 0; i < count; i++)
            {
                IndoorTC2.Add(new MeasureRow(value.Measured[$"ID2.TC.{i + 1:d3}"], "", "", i + 1));
            }

            OutdoorTC = new List <MeasureRow>();
            for (int i = 0; i < count; i++)
            {
                OutdoorTC.Add(new MeasureRow(value.Measured[$"OD.TC.{i + 1:d3}"], "", "", i + 1));
            }
        }