using CCDCount.DLL; using LogClass; using MvCameraControl; using System; using System.Diagnostics; using System.Drawing; using System.IO; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Interop; using System.Windows.Media; using System.Windows.Media.Imaging; using static System.Net.Mime.MediaTypeNames; namespace CCDCountWpf.WpfPage { /// /// MainPage.xaml 的交互逻辑 /// public partial class MainPage : Page { #region 变量与实例 #endregion public MainPage() { InitializeComponent(); DataContext = ShowMessageBus.ShowBinding; } private void DataClear_Click(object sender, RoutedEventArgs e) { if(MessageBus.MainThreadS.Count=0) { if (MessageBus.MainThreadS[MessageBus.NowLoadCameraIndex].CameraRunStatic) { StartIdentifyBtn.IsEnabled = false; StartIdentifyBtn.Opacity = 0.5; StopIdentifyBtn.IsEnabled = true; StopIdentifyBtn.Opacity = 1; } else { StartIdentifyBtn.IsEnabled = true; StartIdentifyBtn.Opacity = 1; StopIdentifyBtn.IsEnabled = false; StopIdentifyBtn.Opacity = 0.5; } } } private void MiniShowImageBox2_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { if(MessageBus.MainThreadS.Count < 2) return; MessageBus.NowLoadCameraIndex = 1; } private void MiniShowImageBox1_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { if (MessageBus.MainThreadS.Count < 1) return; MessageBus.NowLoadCameraIndex = 0; } private void MiniShowImageBox3_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { if (MessageBus.MainThreadS.Count < 3) return; MessageBus.NowLoadCameraIndex = 2; } private void MiniShowImageBox4_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { if (MessageBus.MainThreadS.Count < 4) return; MessageBus.NowLoadCameraIndex = 3; } /// /// 启动相机识别 /// private void RunCameraIdentify() { for (int i = 0; i < MessageBus.MainThreadS.Count; i++) { if (MessageBus.MainThreadS[i].CameraConfigIsChange) { MessageBus.MainThreadS[i].ReLoadCameraConfig(); } //启动单相机实例的全部线程 if (!MessageBus.MainThreadS[i].StartMianThread()) { FaultLog.RecordErrorMessage(MessageBus.MainThreadS[i].cameraConfig.DeviceName + "_" + MessageBus.MainThreadS[i].cameraConfig.CameraSNNum + "启动失败"); //LOG.error(MessageBus.MainThreadS[i].cameraConfig.DeviceName + "_" + MessageBus.MainThreadS[i].cameraConfig.CameraSNNum + "启动失败"); MessageBox.Show(MessageBus.MainThreadS[i].cameraConfig.DeviceName + "_" + MessageBus.MainThreadS[i].cameraConfig.CameraSNNum + "启动失败"); continue; } } MessageBus.NowLoadCammeraSN = MessageBus.MainThreadS[0].cameraConfig.CameraSNNum; MessageBus.SeetingNowLoadInMaThreadsIndex = 0; MessageBus.NowLoadCameraIndex = 0; } /// /// 停止相机识别 /// private void StopCameraIdentify() { for (int i = 0; i < MessageBus.MainThreadS.Count; i++) { //启动单相机实例的全部线程 if (!MessageBus.MainThreadS[i].StopMianThread()) { FaultLog.RecordErrorMessage(MessageBus.MainThreadS[i].cameraConfig.DeviceName + "_" + MessageBus.MainThreadS[i].cameraConfig.CameraSNNum + "关闭失败"); MessageBox.Show(MessageBus.MainThreadS[i].cameraConfig.DeviceName + "_" + MessageBus.MainThreadS[i].cameraConfig.CameraSNNum + "关闭失败"); continue; } } } private void StartIdentifyBtn_Click(object sender, RoutedEventArgs e) { RunCameraIdentify(); StartIdentifyBtn.IsEnabled = false; StartIdentifyBtn.Opacity = 0.5; StopIdentifyBtn.IsEnabled = true; StopIdentifyBtn.Opacity = 1; if(PlcSettingMessageBus.pLCManagement.IsConnect) { PlcSettingMessageBus.pLCManagement.InitiateToTrue(); } } private void StopIdentifyBtn_Click(object sender, RoutedEventArgs e) { StopCameraIdentify(); StartIdentifyBtn.IsEnabled = true; StartIdentifyBtn.Opacity = 1; StopIdentifyBtn.IsEnabled = false; StopIdentifyBtn.Opacity = 0.5; if (PlcSettingMessageBus.pLCManagement.IsConnect) { PlcSettingMessageBus.pLCManagement.StopToTrue(); } } private void BottingMaterialCylinderVibrationTableHighSpeedValueUpUpBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue + 10) > PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue += 10; } } private void BottingMaterialCylinderVibrationTableHighSpeedValueUpBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue + 1) > PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue += 1; } } private void BottingMaterialCylinderVibrationTableHighSpeedValueDownBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue - 1) < PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue -= 1; } } private void BottingMaterialCylinderVibrationTableHighSpeedValueDownDownBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue - 10) < PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingMaterialCylinderVibrationTableHighSpeedValue -= 10; } } private void BottingFilterVibrationTableHighSpeedValueUpUpBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue + 10) > PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue += 10; } } private void BottingFilterVibrationTableHighSpeedValueUpBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue + 1) > PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue += 1; } } private void BottingFilterVibrationTableHighSpeedValueDownBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue - 1) < PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue -= 1; } } private void BottingFilterVibrationTableHighSpeedValueDownDownBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue - 10) < PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingFilterVibrationTableHighSpeedValue -= 10; } } private void BottingCountVibrationTableHighSpeedValueUpUpBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue + 10) > PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue += 10; } } private void BottingCountVibrationTableHighSpeedValueUpBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue + 1) > PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue += 1; } } private void BottingCountVibrationTableHighSpeedValueDownBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue - 1) < PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue -= 1; } } private void BottingCountVibrationTableHighSpeedValueDownDownBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue - 10) < PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue) { PlcSettingMessageBus.PlcMessageShowBindage.BottingCountVibrationTableHighSpeedValue -= 10; } } private void BottValueSetUpUpBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet + 5) > PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet) { PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet += 5; } } private void BottValueSetUpBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet + 1) > PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet) { PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet += 1; } } private void BottValueSetDownBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet - 1) < PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet) { PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet -= 1; } } private void BottValueSetDownDownBtn_Click(object sender, RoutedEventArgs e) { if ((ushort)(PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet - 5) < PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet) { PlcSettingMessageBus.PlcMessageShowBindage.BottValueSet -= 5; } } } }