/* ======================================================================================== */ #endregion /// <summary> /// /// </summary> /// <param name="device"></param> public TreeNode_EthernetDevice(LogixDevice device) : base() { // Проверка входных параметров. if (device == null) { //throw new ArgumentNullException("TreeNode_EthernetDevice constructor contains a null argument!"); return; } // Присваиваем устройство ассоциированное с данным узлом и создаем под него задачу. this.Device = device; this.Task = new LogixTask(device); // Вызываем прорисовку анимации узла. this.Refresh(); // Подписываемся на события. this.Device.PropertyWasChanged += device_PropertyWasChanged; this.Device.Message += message; this.Task.StateWasChanged += task_StateWasChanged; this.Task.TagsValueWasChanged += task_TagsValueWasChanged; this.Task.TagsValueWasReaded += task_TagsValueWasReaded; this.Task.TagsValueWasWrited += task_TagsValueWasWrited; this.Task.Message += message; }
/// <summary> /// Вызывает "Событие при изменении коллекции тэгов". /// </summary> /// <param name="task"></param> private void Event_TagCollectionOfTaskWasChanged(LogixTask task) { if (this.TagCollectionOfTaskWasChanged != null) { this.TagCollectionOfTaskWasChanged(this, new TaskEventArgs(task)); } }
/// <summary> /// Вызывает "Событие при изменении состояния задачи устройства". /// </summary> /// <param name="task"></param> private void Event_TaskStateWasChanged(LogixTask task) { if (this.TaskStateWasChanged != null) { this.TaskStateWasChanged(this, new TaskEventArgs(task)); } }
/// <summary> /// Создает новый аргумент события. /// </summary> /// <param name="tag">Текущий тэг.</param> /// <param name="oldDevice">Старое (текущая) задача устройства которое привязано к тэгу.</param> /// <param name="newDevice">Новое задача устройства к которому стоит привязать тэг.</param> public TagTaskBeginEditEventArgs(LogixTag tag, LogixTask oldDevice, LogixTask newDevice) { this.Tag = tag; this.OldDevice = oldDevice; this.NewDevice = newDevice; this.Cancel = false; }
/* ================================================================================================== */ #endregion /// <summary> /// Создает новый тэг контроллера Allen Breadley. /// </summary> /// <param name="name"></param> public LogixTagHandler(string name) : base() { if (name == null) { throw new ArgumentNullException("name", "Constructor 'LogixTagHandler()': Argument 'name' is NULL"); } this.ReadEnable = true; this.WriteEnable = false; this.Name = name; this.ReadUpdateRate = 1000; this.WriteUpdateRate = 0; this.ReadMethod = TagReadMethod.Table; this.WriteMethod = TagWriteMethod.Simple; this.OwnerTask = null; }
/// <summary> /// Подписка на событие : SaveFileDialog : Нажат кнопка меню "OK". /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void saveFileDialog_FileOk(object sender, CancelEventArgs e) { if (e.Cancel) { return; } List <string[]> items = new List <string[]>(); foreach (KeyValuePair <LogixTask, List <LogixTagHandler> > pair in tagBrowserControl.TasksByTags) { LogixTask key = pair.Key; foreach (LogixTagHandler tag in tagBrowserControl.TasksByTags[key]) { items.Add(new string[] { key.Device.Name, tag.Name }); } } if (!CsvFile.Save(saveFileDialog.FileName, '\t', items)) { MessageBox.Show("Error! Can't save file!", "Registrator", MessageBoxButtons.OK, MessageBoxIcon.Stop); } }
/// <summary> /// Создает новый аргумент события. /// </summary> /// <param name="task"></param> public TaskEventArgs(LogixTask task) { this.Task = task; }
/// <summary> /// Создает новый аргумент события. /// </summary> /// <param name="tag">Текущий тэг.</param> /// <param name="oldDevice">Старое (текущая) задача устройства которое привязано к тэгу.</param> /// <param name="newDevice">Новое задача устройства к которому стоит привязать тэг.</param> public TagTaskEndEditEventArgs(LogixTag tag, LogixTask oldDevice, LogixTask newDevice) { this.Tag = tag; this.OldDevice = oldDevice; this.NewDevice = newDevice; }