public virtual StatusCode OnStart() { TaskStart?.Invoke(this, new EventArgs()); return(StatusCode.SUCCEED_STATUS); }
private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { try { switch (e.ClickedItem.Name) { case "tlsbtnStart": if (e.ClickedItem.Text.Equals("开始任务")) { DeviceConnect._deviceConnects.Clear(); //获取合适转鼓号码 var Address = client.GetDevViewListAllAddress("test"); // var Address = client.GetDevViewListAllDevName("test"); for (int i = 0; i <= Address.Length - 1; i++) { WorkbenchTaskExecute work = new WorkbenchTaskExecute(Address[i].ToString(), Address[i].ToString()); //根据合适转鼓号码获取其IP var ZG_2 = client.GetDevViewListByAddress("test", Address[i].ToString()); //遍历IP,根据IP进行下面的处理 if (ZG_2 != null) { for (int j = 0; j <= ZG_2.Data.Length - 1; j++) // for (int j = ZG_2.Data.Length - 1; j <= ZG_2.Data.Length - 1; j++) { //根据传入数据跟设备进行握手协议,启用监听事件,将监听到的数据保存在服务器缓存中 work.LstDeveiceTask.Add(new DeveiceTaskInfo() { //CollFrequency =(int) ZG_2.Data[j].采集频率, CollFrequency = (int)ZG_2.Data[j].CollFrequency, IPUrl = ZG_2.Data[j].IPUrl, DevicePort = (ushort)ZG_2.Data[j].Port, CurrDeviceConnect = DeviceConnect.AddDeviceConnect(ZG_2.Data[j].DevCode, ZG_2.Data[j].DevName, ZG_2.Data[j].IPUrl, ZG_2.Data[j].Port.Value), ExecID = ZG_2.Data[j].ExecuteID, DevpAddress = (int)ZG_2.Data[j].DevpAddress, SendFormat = Convert.ToUInt16(Convert.ToInt32(ZG_2.Data[j].SendFormat)), CallID = (byte)ZG_2.Data[j].CallID, DevStd = ZG_2.Data[j].DevStd, DevStatus = ZG_2.Data[j].EquipStatus, DevpName = ZG_2.Data[j].DeviName, LocalAddress = ZG_2.Data[j].LocalAddress, DevName = ZG_2.Data[j].DevName, ConvertType = ZG_2.Data[j].ConvertType, ConAccAddress = ZG_2.Data[j].ConAccAddress }.init()); } lstWorkbenchTask.Add(work); } timer1.Start(); e.ClickedItem.Text = "停止任务"; dataGridView1.DataSource = null; modelSource.DataSource = lstWorkbenchTask; dataGridView1.DataSource = modelSource; TaskStart.PerformClick(); } } else { timer1.Stop(); for (int i = lstWorkbenchTask.Count - 1; i >= 0; i--) { //lstWorkbenchTask[i].Dispose(); var model = lstWorkbenchTask[i]; lstWorkbenchTask.Remove(model); } modelSource.DataSource = null; e.ClickedItem.Text = "开始任务"; } break; case "tsbtnExit": this.Close(); break; case "tsbtntext": break; default: break; } } catch (Exception ex) { Utils.Logger.Error(ex.ToString()); } }