using CCDCount.DLL; using CCDCount.DLL.Tools; using CCDCount.MODEL.ConfigModel; using LogClass; using MvCameraControl; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Windows; namespace CCDCountWpf { public static class MessageBus { public static MainThreadClass mainThreadClass = null; } /// /// MainWindow.xaml 的交互逻辑 /// public partial class MainWindow : Window { #region 变量与实例 Uri ShowUri = null; public ModbusTcpClient modbusTcpClient = new ModbusTcpClient(); SaveConfigModel Config = null; #endregion #region 窗体事件 /// /// 主窗体构造函数 /// public MainWindow() { InitializeComponent(); //modbusTcpClient.Connect("192.168.1.88"); modbusTcpClient.Connect("127.0.0.1"); if (File.Exists(".\\Config\\CCDCountConfig.xml")) { Config = XmlStorage.DeserializeFromXml(".\\Config\\CCDCountConfig.xml"); } SDKSystem.Initialize(); MainPageBtn_Click(null, null); } /// /// 退出按钮点击事件 /// /// /// private void ExitBtn_Click(object sender, RoutedEventArgs e) { this.Close(); } /// /// 主界面按钮点击事件 /// /// /// private void MainPageBtn_Click(object sender, RoutedEventArgs e) { ShowUri = new Uri("WpfPage\\MainPage.xaml", UriKind.Relative); ShowFrame.Navigate(ShowUri); } /// /// 开始运行按钮点击事件 /// /// /// private void RnIdentifyBtn_Click(object sender, RoutedEventArgs e) { RunCameraIdentify(); } /// /// 窗体关闭事件 /// /// /// private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { SDKSystem.Finalize(); if (MessageBus.mainThreadClass != null) MessageBus.mainThreadClass.StopMianThread(); Environment.Exit(0); } #endregion #region 私有方法 /// /// 启动相机识别 /// private void RunCameraIdentify() { if (Config == null) { MessageBox.Show("尚未添加相机,请前往配置页面配置相机"); return; } MessageBus.mainThreadClass = new MainThreadClass(Config.ShuLiConfigClass, Config.CameraConfig); //判断是否添加线程 if (!MessageBus.mainThreadClass.IsOpenLoadThread) return; MessageBus.mainThreadClass.SetModbusClient(modbusTcpClient); //启动单相机实例的全部线程 if (!MessageBus.mainThreadClass.StartMianThread(Config.CameraConfig)) { LOG.error(MessageBus.mainThreadClass.ThisCameraDevice + "_" + MessageBus.mainThreadClass.ThisCameraSN + "启动失败"); MessageBox.Show(MessageBus.mainThreadClass.ThisCameraDevice + "_" + MessageBus.mainThreadClass.ThisCameraSN + "启动失败"); return; } } #endregion } }