| | |
| | | } |
| | | if (camera is LBCamera phmCamera) |
| | | { |
| | | if (GlobalVar.allLBCameras.ContainsKey(camera.SN)) |
| | | if (GlobalVar.allLBCameras.ContainsKey(camera.SN) && phmCamera._isConnected) |
| | | { |
| | | phmCamera.UpdateSensorConfig(GlobalVar.allLBCameras[camera.SN]); |
| | | } |
| | |
| | | |
| | | private void btn_Run_Click(object sender, EventArgs e) |
| | | { |
| | | var matchedItems = GlobalVar.dicProcessSetting |
| | | .Where(item => |
| | | { |
| | | var value = item.Value; |
| | | var triggerComm = value["触发通讯"]; |
| | | var triggerChar = value["触发字符"]; |
| | | return triggerComm != null && !triggerComm.Equals("无"); |
| | | //return triggerComm != null && triggerComm.Equals(name) && |
| | | // (string.IsNullOrEmpty(triggerChar?.ToString()) || |
| | | // msg.StartsWith(triggerChar.ToString())); |
| | | }) |
| | | .ToList(); // 避免重复字典访问和装箱操作 |
| | | if (matchedItems.Count <= 0) |
| | | //var matchedItems = GlobalVar.dicProcessSetting |
| | | // .Where(item => |
| | | // { |
| | | // var value = item.Value; |
| | | // var triggerComm = value["触发通讯"]; |
| | | // var triggerChar = value["触发字符"]; |
| | | // return triggerComm != null && !triggerComm.Equals("无"); |
| | | // //return triggerComm != null && triggerComm.Equals(name) && |
| | | // // (string.IsNullOrEmpty(triggerChar?.ToString()) || |
| | | // // msg.StartsWith(triggerChar.ToString())); |
| | | // }) |
| | | // .ToList(); // 避免重复字典访问和装箱操作 |
| | | //if (matchedItems.Count <= 0) |
| | | //{ |
| | | // return; |
| | | //} |
| | | //foreach (var item in matchedItems) |
| | | //{ |
| | | // Task.Factory.StartNew(() => |
| | | // { |
| | | // TriggerRunMessageReceived(item.Value["触发通讯"], item.Value["触发字符"]); |
| | | // }); |
| | | //} |
| | | foreach (var item in GlobalVar.dicCameras.Keys) |
| | | { |
| | | return; |
| | | } |
| | | foreach (var item in matchedItems) |
| | | { |
| | | Task.Factory.StartNew(() => |
| | | { |
| | | TriggerRunMessageReceived(item.Value["触发通讯"], item.Value["触发字符"]); |
| | | }); |
| | | GlobalVar.dicCameras[item].StartSingleGrab(); |
| | | } |
| | | } |
| | | |
| | | private void btn_RunContinuously_Click(object sender, EventArgs e) |
| | | { |
| | | if (btn_RunContinuously.Text.Equals("连续运行")) |
| | | if (this.ckbAllowRun.Checked) |
| | | { |
| | | _isTabSwitchAllowed = false; |
| | | btn_RunContinuously.Text = "暂停运行"; |
| | | // 关闭使能 |
| | | SelectMainPage(); |
| | | btn_GlobalVar.Enabled = false; |
| | | btn_Login.Enabled = false; |
| | | btn_SingleRun.Enabled = false; |
| | | ckbAllowRun.Enabled = false; |
| | | Task.Factory.StartNew(() => |
| | | if (btn_RunContinuously.Text.Equals("连续运行")) |
| | | { |
| | | var matchedItems = GlobalVar.dicProcessSetting |
| | | .Where(item => |
| | | { |
| | | var value = item.Value; |
| | | var triggerComm = value["触发通讯"]; |
| | | var triggerChar = value["触发字符"]; |
| | | return triggerComm != null && !triggerComm.Equals("无"); |
| | | //return triggerComm != null && triggerComm.Equals(name) && |
| | | // (string.IsNullOrEmpty(triggerChar?.ToString()) || |
| | | // msg.StartsWith(triggerChar.ToString())); |
| | | }) |
| | | .ToList(); // 避免重复字典访问和装箱操作 |
| | | while (btn_RunContinuously.Text.Equals("暂停运行")) |
| | | _isTabSwitchAllowed = false; |
| | | btn_RunContinuously.Text = "暂停运行"; |
| | | // 关闭使能 |
| | | SelectMainPage(); |
| | | btn_GlobalVar.Enabled = false; |
| | | btn_Login.Enabled = false; |
| | | btn_SingleRun.Enabled = false; |
| | | ckbAllowRun.Enabled = false; |
| | | foreach (var item in GlobalVar.dicCameras.Keys) |
| | | { |
| | | foreach (var item in matchedItems) |
| | | { |
| | | Task.Factory.StartNew(() => |
| | | { |
| | | TriggerRunMessageReceived(item.Value["触发通讯"], item.Value["触发字符"]); |
| | | }); |
| | | } |
| | | //TriggerRunMessageReceived(matchedItems[0].Value["触发通讯"], matchedItems[0].Value["触发字符"]); |
| | | Thread.Sleep(3500); |
| | | GlobalVar.dicCameras[item].StartContinuousGrab(); |
| | | } |
| | | //this.Invoke(() => |
| | | //Task.Factory.StartNew(() => |
| | | //{ |
| | | // var matchedItems = GlobalVar.dicProcessSetting |
| | | // .Where(item => |
| | | // { |
| | | // var value = item.Value; |
| | | // var triggerComm = value["触发通讯"]; |
| | | // var triggerChar = value["触发字符"]; |
| | | // return triggerComm != null && !triggerComm.Equals("无"); |
| | | // //return triggerComm != null && triggerComm.Equals(name) && |
| | | // // (string.IsNullOrEmpty(triggerChar?.ToString()) || |
| | | // // msg.StartsWith(triggerChar.ToString())); |
| | | // }) |
| | | // .ToList(); // 避免重复字典访问和装箱操作 |
| | | // while (btn_RunContinuously.Text.Equals("暂停运行")) |
| | | // { |
| | | // foreach (var item in matchedItems) |
| | | // { |
| | | // Task.Factory.StartNew(() => |
| | | // { |
| | | // TriggerRunMessageReceived(item.Value["触发通讯"], item.Value["触发字符"]); |
| | | // }); |
| | | // } |
| | | // //TriggerRunMessageReceived(matchedItems[0].Value["触发通讯"], matchedItems[0].Value["触发字符"]); |
| | | // Thread.Sleep(3500); |
| | | // } |
| | | // //this.Invoke(() => |
| | | // //{ |
| | | // //}); |
| | | //}); |
| | | }); |
| | | } |
| | | else if (btn_RunContinuously.Text.Equals("暂停运行")) |
| | | { |
| | | btn_RunContinuously.Text = "连续运行"; |
| | | foreach (var item in GlobalVar.dicCameras.Keys) |
| | | { |
| | | GlobalVar.dicCameras[item].StopGrabbing(); |
| | | } |
| | | // 启动使能 |
| | | UnSelectMainPage(); |
| | | btn_GlobalVar.Enabled = true; |
| | | btn_Login.Enabled = true; |
| | | btn_SingleRun.Enabled = true; |
| | | ckbAllowRun.Enabled = true; |
| | | Thread.Sleep(100); |
| | | _isTabSwitchAllowed = true; |
| | | } |
| | | } |
| | | else if (btn_RunContinuously.Text.Equals("暂停运行")) |
| | | { |
| | | btn_RunContinuously.Text = "连续运行"; |
| | | |
| | | // 启动使能 |
| | | UnSelectMainPage(); |
| | | btn_GlobalVar.Enabled = true; |
| | | btn_Login.Enabled = true; |
| | | btn_SingleRun.Enabled = true; |
| | | ckbAllowRun.Enabled = true; |
| | | Thread.Sleep(100); |
| | | _isTabSwitchAllowed = true; |
| | | } |
| | | |
| | | } |
| | | |
| | | private void cmbProduct_SelectedValueChanged(object sender, EventArgs e) |