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