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
}
}