private void kar_tb_position_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var dialog = new inputDialog("Позиция перехода", ((TextBox)sender).Text);

            if (dialog.ShowDialog() == true)
            {
                float val;
                if (!float.TryParse(dialog.ResponseText, out val))
                {
                    System.Windows.MessageBox.Show("Неправильное значение");  return;
                }
                m_plc.tags.set_ust_karetka_poziciya(val);
            }
        }
        private void layer_widh_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var dialog = new inputDialog("Толщина слоя", ((dataField)sender).Data);

            if (dialog.ShowDialog() == true)
            {
                float val;
                if (!float.TryParse(dialog.ResponseText, out val))
                {
                    System.Windows.MessageBox.Show("Неправильное значение");
                    return;
                }
                m_plc.tags.set_ust_tolshh_sloya(float.Parse(dialog.ResponseText));
            }
        }
        private void layer_pusk_num_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var dialog = new inputDialog("Количество слоёв", ((dataField)sender).Data);

            if (dialog.ShowDialog() == true)
            {
                short val;
                if (!short.TryParse(dialog.ResponseText, out val))
                {
                    System.Windows.MessageBox.Show("Неправильное значение");
                    return;
                }
                m_plc.tags.set_ust_kol_slojov(short.Parse(dialog.ResponseText));
            }
        }
        private void layer_stop_m3_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var dialog = new inputDialog("Позиция отключения М3", ((dataField)sender).Data);

            if (dialog.ShowDialog() == true)
            {
                float val;
                if (!float.TryParse(dialog.ResponseText, out val))
                {
                    System.Windows.MessageBox.Show("Неправильное значение");
                    return;
                }
                m_plc.tags.set_ust_kar_poz_otkl_sh3(float.Parse(dialog.ResponseText));
            }
        }
        private void layer_time_rot_m3_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var dialog = new inputDialog("Время вращения М3 на месте", ((dataField)sender).Data);

            if (dialog.ShowDialog() == true)
            {
                float val;
                if (!float.TryParse(dialog.ResponseText, out val))
                {
                    System.Windows.MessageBox.Show("Неправильное значение");
                    return;
                }
                m_plc.tags.set_ust_vrem_vrashh_na_meste(float.Parse(dialog.ResponseText));
            }
        }
        private void snek_s3_tb_nagr_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var dialog = new inputDialog("Нагрузка", ((dataField)sender).Data);

            if (dialog.ShowDialog() == true)
            {
                float val;
                if (!float.TryParse(dialog.ResponseText, out val))
                {
                    System.Windows.MessageBox.Show("Неправильное значение");
                    return;
                }
                m_plc.tags.set_tok_sh3(float.Parse(dialog.ResponseText));
            }
        }
        private void snek_s1_tb_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var dialog = new inputDialog("Время работы", ((dataField)sender).Data);

            if (dialog.ShowDialog() == true)
            {
                float val;
                if (!float.TryParse(dialog.ResponseText, out val))
                {
                    System.Windows.MessageBox.Show("Неправильное значение");
                    return;
                }
                m_plc.tags.set_ust_vrem_rab_sh1(float.Parse(dialog.ResponseText));
            }
        }
        private void stol_tb_line_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var dialog = new inputDialog("Линейка", ((TextBox)sender).Text);

            if (dialog.ShowDialog() == true)
            {
                float val;
                if (!float.TryParse(dialog.ResponseText, out val))
                {
                    System.Windows.MessageBox.Show("Неправильное значение");
                    return;
                }
                m_plc.tags.set_linejka(float.Parse(dialog.ResponseText));
            }
        }
        private void kar_tb_right_speed_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var dialog = new inputDialog("Скорость вправо", ((TextBox)sender).Text);

            if (dialog.ShowDialog() == true)
            {
                float val;
                if (!float.TryParse(dialog.ResponseText, out val))
                {
                    System.Windows.MessageBox.Show("Неправильное значение");
                    return;
                }
                m_plc.tags.set_ust_karetka_skor_vpravo(float.Parse(dialog.ResponseText));
            }
        }