Пример #1
0
        protected ReaderWriterLock locker = null; // синхронизатор

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public Multiplication()
        {
            locker = new ReaderWriterLock();

            arguments = new Argument[2];
            for (int index = 0; index < arguments.Length; index++)
            {
                arguments[index] = new Argument();
            }
        }
Пример #2
0
        protected ReaderWriterLock locker = null; // синхронизатор

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public PowerOf10()
        {
            locker = new ReaderWriterLock();

            arguments = new Argument[2];
            for (int index = 0; index < 2; index++)
            {
                arguments[index] = new Argument();
            }
        }
Пример #3
0
        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public Assignment()
        {
            locker = new ReaderWriterLock();
            argument = new Argument[2];

            for (int i = 0; i < 2; i++)
            {
                argument[i] = new Argument();
            }
        }
Пример #4
0
        protected ReaderWriterLock locker = null; // синхронизатор

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public Accumulation()
        {
            locker = new ReaderWriterLock();

            arguments = new Argument[2];
            for (int index = 0; index < 2; index++)
            {
                arguments[index] = new Argument();
            }
        }
Пример #5
0
        protected ReaderWriterLock locker = null; // синхронизатор

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public Difference()
        {
            locker = new ReaderWriterLock();

            arguments = new Argument[2];
            for (int index = 0; index < arguments.Length; index++)
            {
                arguments[index] = new Argument();
            }
        }
Пример #6
0
        protected float maximum = float.NaN; // минимальное значение

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public Maximum()
        {
            locker = new ReaderWriterLock();

            arguments = new Argument[2];
            for (int i = 0; i < 2; i++)
            {
                arguments[i] = new Argument();
            }
        }
Пример #7
0
        protected TCondition template; // для поска калибровочной точки

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public Transformation()
        {
            mutex = new Mutex();
            table = new List<TCondition>();

            arguments = new Argument[1];
            for (int index = 0; index < arguments.Length; index++)
            {
                arguments[index] = new Argument();
            }
        }
Пример #8
0
        private float Summ = float.NaN; // сумма, использутся в процессе вычислений

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public Media()
        {
            locker = new ReaderWriterLock();

            CountOfMediaPoint = 0;
            CurrentCount = 0;
            Summ = float.NaN;

            arguments = new Argument[2];
            for (int index = 0; index < 2; index++)
            {
                arguments[index] = new Argument();
            }
        }
Пример #9
0
        private Parameter _parameter; // калибруемый параметр

        #endregion Fields

        #region Constructors

        public AddTransformationForm(SKC.Application _app)
        {
            app = _app;
            app.Commutator.onParameterUpdated += new EventHandler(Converter_OnComplete);

            InitializeComponent();

            transformation = new Transformation();

            transformation.OnInsert += new Transformation.TConditionEventHandle(transformation_OnInsert);
            transformation.OnEdit += new Transformation.TConditionEventHandle(transformation_OnEdit);
            transformation.OnRemove += new Transformation.TConditionEventHandle(transformation_OnRemove);

            transformation.OnClear += new EventHandler(transformation_OnClear);
            transformation.OnError += new Transformation.ErrorEventHandle(transformation_OnError);

            transformation.OnExist += new Transformation.TConditionEventHandle(transformation_OnExist);

            Transformation.TCondition t1 = new Transformation.TCondition();
            Transformation.TCondition t2 = new Transformation.TCondition();

            t1.Result = 0;
            t1.Signal = 0;

            t2.Result = 65535;
            t2.Signal = 65535;

            transformation.Insert(t1);
            transformation.Insert(t2);

            first = new Argument();
            second = new Argument();

            calibrationGraphic.CalculateScale();
            t_inserter = new InsertToText(InserterText);

            /*
            media = new Media();

            media.Args[0].Index = 0;
            media.Args[1].Index = 1;

            med = new Float[2];
            for (int i = 0; i < med.Length; i++)
            {
                med[i] = new Float();
            }
             */
        }
Пример #10
0
        protected float P, P1, P2; // аргументы функции

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public Increment()
        {
            locker = new ReaderWriterLock();

            P = float.NaN;

            P1 = float.NaN;
            P2 = float.NaN;

            arguments = new Argument[2];
            for (int index = 0; index < 2; index++)
            {
                arguments[index] = new Argument();
            }
        }
Пример #11
0
        /// <summary>
        /// добавить второй аргумент
        /// </summary>
        /// <param name="argument"></param>
        private void InsertSecond(Argument argument)
        {
            switch (argument.Source)
            {
            case DataSource.Signals:

                if (argument.IsActual)
                {
                    listView1.Items[1].SubItems[0].Text = second.Index.ToString();
                    listView1.Items[1].SubItems[1].Text = "Канал устройства";

                    Formula f1 = GetArgument(second);
                    if (f1 != null)
                    {
                        listView1.Items[1].SubItems[2].Text = f1.Macros.Description;
                    }
                }

                break;

            case DataSource.Results:

                if (argument.IsActual)
                {
                    listView1.Items[1].SubItems[0].Text = second.Index.ToString();
                    listView1.Items[1].SubItems[1].Text = "Значение конвертера";

                    Formula f2 = GetArgument(second);
                    if (f2 != null)
                    {
                        listView1.Items[1].SubItems[2].Text = f2.Macros.Description;
                    }
                }

                break;
            }
        }
Пример #12
0
        /// <summary>
        /// добавить первый аргумент
        /// </summary>
        /// <param name="argument"></param>
        private void InsertFirst(Argument argument)
        {
            switch (argument.Source)
            {
                case DataSource.Signals:

                    if (argument.IsActual)
                    {
                        listView1.Items[0].SubItems[0].Text = first.Index.ToString();
                        listView1.Items[0].SubItems[1].Text = "Канал устройства";

                        Formula firstFormula = GetArgument(first);
                        if (firstFormula != null)
                        {
                            listView1.Items[0].SubItems[2].Text = firstFormula.Macros.Description;
                        }
                    }

                    break;

                case DataSource.Results:

                    if (argument.IsActual)
                    {
                        listView1.Items[0].SubItems[0].Text = first.Index.ToString();
                        listView1.Items[0].SubItems[1].Text = "Значение конвертера";

                        Formula secondFormula = GetArgument(first);
                        if (secondFormula != null)
                        {
                            listView1.Items[0].SubItems[2].Text = secondFormula.Macros.Description;
                        }
                    }

                    break;
            }
        }
Пример #13
0
        /// <summary>
        /// определить аргумент
        /// </summary>
        private void InsertChannel(int index)
        {
            if (radioButton1.Checked)
            {
                SignalsForm signs = new SignalsForm(app);
                if (signs.ShowDialog(this) == DialogResult.OK)
                {
                    Parameter par = signs.SelectedParameter;
                    if (par != null)
                    {
                        if (index == 0)
                        {
                            first = new Argument();

                            first.Index  = par.Position;
                            first.Source = DataSource.Signals;
                        }
                        else
                        {
                            second = new Argument();

                            second.Index  = par.Position;
                            second.Source = DataSource.Signals;
                        }

                        listView1.Items[index].SubItems[0].Text = par.Position.ToString();

                        listView1.Items[index].SubItems[1].Text = "Канал устройства";
                        listView1.Items[index].SubItems[2].Text = par.Description;
                    }
                }
            }
            else
            if (radioButton2.Checked)
            {
                ResultsForm res = new ResultsForm(app);
                if (res.ShowDialog(this) == DialogResult.OK)
                {
                    Formula form = res.SelectedParameter;
                    if (form != null)
                    {
                        if (index == 0)
                        {
                            first = new Argument();

                            first.Index  = form.Position;
                            first.Source = DataSource.Results;

                            listView1.Items[index].SubItems[0].Text = first.Index.ToString();
                        }
                        else
                        {
                            second = new Argument();

                            second.Index  = form.Position;
                            second.Source = DataSource.Results;

                            listView1.Items[index].SubItems[0].Text = second.Index.ToString();
                        }

                        listView1.Items[index].SubItems[1].Text = "Значение конвертера";
                        listView1.Items[index].SubItems[2].Text = form.Macros.Description;
                    }
                }
            }
        }
Пример #14
0
        /// <summary>
        /// добавить второй аргумент
        /// </summary>
        /// <param name="argument"></param>
        private void InsertSecond(Argument argument)
        {
            switch (argument.Source)
            {
                case DataSource.Signals:

                    listView1.Items[1].SubItems[0].Text = second.Index.ToString();
                    listView1.Items[1].SubItems[1].Text = "Канал устройства";

                    Formula f1 = GetArgument(second);
                    if (f1 != null)
                    {
                        listView1.Items[1].SubItems[2].Text = f1.Macros.Description;
                    }

                    break;

                case DataSource.Results:

                    listView1.Items[1].SubItems[0].Text = second.Index.ToString();
                    listView1.Items[1].SubItems[1].Text = "Значение конвертера";

                    Formula f2 = GetArgument(second);
                    if (f2 != null)
                    {
                        listView1.Items[1].SubItems[2].Text = f2.Macros.Description;
                    }

                    break;
            }
        }
Пример #15
0
        /// <summary>
        /// определить аргумент
        /// </summary>
        private void InsertChannel(int index)
        {
            if (radioButton1.Checked)
            {
                SignalsForm signs = new SignalsForm(app);
                if (signs.ShowDialog(this) == DialogResult.OK)
                {
                    Parameter par = signs.SelectedParameter;
                    if (par != null)
                    {
                        if (index == 0)
                        {
                            first = new Argument();

                            first.Index = par.Position;
                            first.Source = DataSource.Signals;
                        }
                        else
                        {
                            second = new Argument();

                            second.Index = par.Position;
                            second.Source = DataSource.Signals;
                        }

                        listView1.Items[index].SubItems[0].Text = par.Position.ToString();

                        listView1.Items[index].SubItems[1].Text = "Канал устройства";
                        listView1.Items[index].SubItems[2].Text = par.Description;
                    }
                }
            }
            else
                if (radioButton2.Checked)
                {
                    ResultsForm res = new ResultsForm(app);
                    if (res.ShowDialog(this) == DialogResult.OK)
                    {
                        Formula form = res.SelectedParameter;
                        if (form != null)
                        {
                            if (index == 0)
                            {
                                first = new Argument();

                                first.Index = form.Position;
                                first.Source = DataSource.Results;
                            }
                            else
                            {
                                second = new Argument();

                                second.Index = form.Position;
                                second.Source = DataSource.Results;
                            }

                            listView1.Items[index].SubItems[0].Text = form.Position.ToString();

                            listView1.Items[index].SubItems[1].Text = "Значение конвейера";
                            listView1.Items[index].SubItems[2].Text = form.Macros.Description;
                        }
                    }
                }
        }
Пример #16
0
        /// <summary>
        /// Получеть формулу с указанным аргументом
        /// </summary>
        /// <param name="argument"></param>
        /// <returns></returns>
        private Formula GetArgument(Argument argument)
        {
            foreach (Formula formula in app.Converter.Formuls)
            {
                if (formula.Position == argument.Index)
                {
                    return formula;
                }
            }

            return null;
        }
Пример #17
0
        protected ReaderWriterLockSlim slim = null; // синхронизатор

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public Gases()
        {
            slim = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

            arguments = new Argument[2];
            for (int index = 0; index < 2; index++)
            {
                arguments[index] = new Argument();
            }

            args = new List<ArgumentPair>();
        }
Пример #18
0
        protected Argument second; // второй аргумент

        #endregion Fields

        #region Constructors

        /// <summary>
        /// инициализирует новый экземпляр класса
        /// </summary>
        public ArgumentPair()
        {
            first = new Argument();
            second = new Argument();
        }
Пример #19
0
        /// <summary>
        /// добавить второй аргумент
        /// </summary>
        /// <param name="argument"></param>
        private void InsertSecond(Argument argument)
        {
            switch (argument.Source)
            {
                case DataSource.Results:

                    listView1.Items[1].SubItems[0].Text = second.Index.ToString();

                    Formula f2 = GetArgument(second);
                    if (f2 != null)
                    {
                        listView1.Items[1].SubItems[1].Text = f2.Macros.Description;
                    }

                    break;
            }
        }
Пример #20
0
        /// <summary>
        /// определить аргумент
        /// </summary>
        private void InsertChannel(int index)
        {
            ResultsForm res = new ResultsForm(app);
            if (index == 0)
            {
                if (first != null)
                {
                    res.Position = first.Index;
                }
            }
            else
            {
                if (second != null)
                {
                    res.Position = second.Index;
                }
            }

            if (res.ShowDialog(this) == DialogResult.OK)
            {
                Formula form = res.SelectedParameter;
                if (form != null)
                {
                    if (index == 0)
                    {
                        first = new Argument();

                        first.Index = form.Position;
                        first.Source = DataSource.Results;
                    }
                    else
                    {
                        second = new Argument();

                        second.Index = form.Position;
                        second.Source = DataSource.Results;
                    }

                    listView1.Items[index].SubItems[0].Text = form.Position.ToString();
                    listView1.Items[index].SubItems[1].Text = form.Macros.Description;
                }
            }
        }
Пример #21
0
        /// <summary>
        /// добавить первый аргумент
        /// </summary>
        /// <param name="argument"></param>
        private void InsertFirst(Argument argument)
        {
            switch (argument.Source)
            {
                case DataSource.Results:

                    if (argument.IsActual)
                    {
                        listView1.Items[0].SubItems[0].Text = first.Index.ToString();

                        Formula secondFormula = GetArgument(first);
                        if (secondFormula != null)
                        {
                            listView1.Items[0].SubItems[1].Text = secondFormula.Macros.Description;
                        }
                    }

                    break;
            }
        }