void _worker_DoWork(object sender, DoWorkEventArgs e) { while (!_scanWorker.CancellationPending) { try { if (RunMode == RunModeType.Normal) { lock (StaticActionList) { if (StaticActionList != null) { TaskQueueObject queueObj = null; TaskQueues.TryDequeue(out queueObj); if (queueObj != null) { foreach (Robot_Actions action in StaticActionList) { //检查是否符合条件 if (IsAcceptRun(queueObj, action)) { //发送指令序列 RunAction(action, DBInstance.GetSteps(action.Id)); } } } } } } } catch (Exception ex) { System.Console.WriteLine(ex.ToString()); } try { Thread.Sleep(15); } catch (Exception ex) { } } }