Пример #1
0
        private void btnChangeValue_Click(object sender, EventArgs e)
        {
            Button btn    = (Button)sender;
            string ptname = lbPtName.Text;

            if (!ent.Empty)
            {
                ent.Reals = import(ptname);
                using (frmChangeValue form = new frmChangeValue())
                {
                    form.Text  = "Изменить значение";
                    form.Value = ent.Reals["PV"];
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        decimal hi  = (decimal)ent.Values["OPEUHi"];
                        decimal lo  = (decimal)ent.Values["OPEULo"];
                        decimal kf  = (decimal)ent.Values["Koeff"];
                        decimal ofs = (decimal)ent.Values["Offset"];
                        decimal value;
                        if (Math.Abs(hi - lo) > decimal.MinValue &&
                            Math.Abs(kf) > decimal.MinValue)
                        {
                            if (decimal.TryParse(form.Value, out value))
                            {
                                if (value >= lo && value <= hi)
                                {
                                    value = (value - lo) / (hi - lo) * 100m;
                                    value = value / kf - ofs;
                                    ent.SetRealProp("Command", value.ToString("0.000"));
                                    export("Command", ptname, ent.Reals);
                                }
                                else
                                {
                                    MessageBox.Show(this, "Значение вне диапазона", "Изменение значения",
                                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                            else
                            {
                                MessageBox.Show(this, "Ошибка при вводе числа", "Изменение значения",
                                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                    }
                }
            }
        }
Пример #2
0
        private void btnChangeValue_Click(object sender, EventArgs e)
        {
            Button btn    = (Button)sender;
            string ptname = lbPtName.Text;

            if (!ent.Empty)
            {
                ent.Reals = import(ptname);
                if (ent.Reals.ContainsKey("HVRaw") &&
                    ent.Reals.ContainsKey("OPRaw"))
                {
                    using (frmChangeValue form = new frmChangeValue())
                    {
                        form.Text  = "Изменить " + ((KonturMode > 0) ? "задание" : "выход");
                        form.Value = (KonturMode > 0) ?
                                     PercentToScale(ent, ent.Reals["HVRaw"]) : ent.Reals["OPRaw"];
                        if (form.ShowDialog() == DialogResult.OK)
                        {
                            if (KonturMode > 0)
                            {
                                decimal value;
                                if (decimal.TryParse(form.Value, out value))
                                {
                                    decimal hi = (decimal)ent.Values["SPEUHi"];
                                    decimal lo = (decimal)ent.Values["SPEULo"];
                                    if (value >= lo && value <= hi)
                                    {
                                        ent.SetRealProp("Command", "SP=" +
                                                        ScaleToPercent(ent, value.ToString("0.000")));
                                        export("Command", ptname, ent.Reals);
                                    }
                                    else
                                    {
                                        MessageBox.Show(this, "Значение вне диапазона", "Изменение задания",
                                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show(this, "Ошибка при вводе числа", "Изменение задания",
                                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                            else
                            {
                                decimal value;
                                if (decimal.TryParse(form.Value, out value))
                                {
                                    decimal hi = (decimal)ent.Values["OPEUHi"];
                                    decimal lo = (decimal)ent.Values["OPEULo"];
                                    if (value >= lo && value <= hi)
                                    {
                                        ent.SetRealProp("Command", "OP=" + value.ToString("0.000"));
                                        export("Command", ptname, ent.Reals);
                                    }
                                    else
                                    {
                                        MessageBox.Show(this, "Значение вне диапазона", "Изменение выхода",
                                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show(this, "Ошибка при вводе числа", "Изменение выхода",
                                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                        }
                    }
                }
            }
        }