private Parameter edited = null; // редактируемый параметр #endregion Fields #region Constructors public EditParameterForm(Parameter parameter) { InitializeComponent(); if (parameter != null) { edited = parameter; channel = edited.Channel; } else { MessageBox.Show("jnjnjnj"); this.Close(); } }
/// <summary> /// добавить параметр в список /// </summary> /// <param name="parameter"></param> private void InsertToList(Parameter parameter) { int count = listViewParameters.Items.Count + 1; ListViewItem item = new ListViewItem(count.ToString()); ListViewItem.ListViewSubItem des = new ListViewItem.ListViewSubItem(item, parameter.Name); ListViewItem.ListViewSubItem status = new ListViewItem.ListViewSubItem(item, "-----"); item.Tag = parameter; item.SubItems.Add(des); item.SubItems.Add(status); listViewParameters.Items.Add(item); }
protected SaverTechnologyData tech_saver; // реализует сохранение технологических данных #endregion Fields #region Constructors /// <summary> /// Инициализирует новый экземпляр класса /// </summary> public Commutator() { buffer = new RSliceBuffer(); parameters = new Parameter[256]; t_slim = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); p_slim = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); wcf_slim = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); for (int i = 0; i < parameters.Length; i++) { parameters[i] = new Parameter(); } InitializeWcf(); }
/// <summary> /// добавить параметр в список /// </summary> /// <param name="parameter">Добавляемый параметр</param> private void InsertParameterToList(Parameter parameter) { int number = listViewParameters.Items.Count + 1; ListViewItem item = new ListViewItem(number.ToString()); ListViewItem.ListViewSubItem des = new ListViewItem.ListViewSubItem(item, parameter.Name); item.Tag = parameter; item.SubItems.Add(des); listViewParameters.Items.Add(item); }
public static void setCurrent(Parameter parameter, Single value) { Parameter.SetCurrentValue(parameter, value); }
/// <summary> /// Присвоить значение параметру /// </summary> /// <param name="parameter">Параметр, которому присвоить значение</param> /// <param name="value">Присваиваемое значение параметру</param> protected static void SetCurrentValue(Parameter parameter, float value) { try { if (parameter != null) { if (parameter.p_slim.TryEnterWriteLock(500)) { try { parameter.lastValue = parameter.calculatedValue; parameter.currentValue = value; if (parameter.transformation != null) { parameter.transformation.Arg = value; parameter.calculatedValue = parameter.transformation.Calculate(); } else parameter.calculatedValue = value; } finally { parameter.p_slim.ExitWriteLock(); } } } } catch (Exception ex) { ErrorHandler.WriteToLog(null, new ErrorArgs(ex.Message, ErrorType.NotFatal)); } }
/// <summary> /// Разбор команд, поступивших из АСУ и пультов управления буровой /// </summary> protected void ParseCommands(float[] slice) { // Разбор команд, поступивших с пульта управления try { SgtApplication _app = SgtApplication.CreateInstance(); if (_app != null) { Parameter drillerParam = _app.GetParameter(id_driller_console); Parameter drweParam = _app.GetParameter(id_driller_console_weight_column); if (drillerParam != null && drillerParam.Channel != null) { driller_console = drillerParam.Channel.Number; } else { driller_console = -1; } if (drweParam != null && drweParam.Channel != null) { driller_console_weight_column = drweParam.Channel.Number; } else { driller_console_weight_column = -1; } } if (driller_console_weight_column > -1 && driller_console_weight_column < slice.Length) { // Разбор команд, поступивших с Пульта бурильщика Ореол float _v = slice[driller_console_weight_column]; if (!float.IsNaN(_v)) { int _cmd = ((int)Math.Round(_v) & 7); // Вырезаем первых 3 бита! if (_cmd == Маска_ПультаБурильщика_Нагрузка) // Реализация команды Нагрузка { P0200.ResetStartingPoint(); } else if (_cmd == Маска_ПультаБурильщика_Поток) // Реализация команды Поток { P0105.StartingPoint = float.NaN; } else if (_cmd == Маска_ПультаБурильщика_Тальблок) // Реализация команды Тальблок { _app.DoTalblock(0); } else if (_cmd == Маска_ПультаБурильщика_Подача) // Реализация команды Подача { P0207.ResetStartingPoint(); } else if (_cmd == Маска_АСУ_Объем) // Реализация команды Обьем { P0106.StartingPoint = float.NaN; } } } if (driller_console > -1 && driller_console < slice.Length) { // Разбор команд, поступивших с Пульта Бурильщика АСУ float _v = slice[driller_console]; if (!float.IsNaN(_v)) { int _cmd = (int)Math.Round(_v); if ((_cmd & Маска_АСУ_Нагрузка) != 0) // Реализация команды Нагрузка { P0200.ResetStartingPoint(); } else if ((_cmd & Маска_АСУ_Поток) != 0) // Реализация команды Поток { P0105.StartingPoint = float.NaN; } else if ((_cmd & Маска_АСУ_Тальблок) != 0) // Реализация команды Тальблок { _app.DoTalblock(0); } else if ((_cmd & Маска_АСУ_Подача) != 0) // Реализация команды Подача { P0207.ResetStartingPoint(); } else if ((_cmd & Маска_АСУ_Объем) != 0) // Реализация команды Обьем { P0106.StartingPoint = float.NaN; } } } } catch (Exception ex) { ErrorHandler.WriteToLog(this, new ErrorArgs(ex.Message, ErrorType.NotFatal)); } }