using System.Configuration;
|
using System.Threading.Tasks;
|
using System;
|
using System.Windows;
|
using XCore;
|
using DriverLib.Engine;
|
using System.Windows.Media;
|
using XHandler.View.MethodProperty;
|
using XImagingXhandler.XDAL;
|
using System.Collections.Generic;
|
using DataEntity.Share;
|
using XImaging.Automation.Service.Interface;
|
using MySqlX.XDevAPI.Common;
|
using XHandler.Controls;
|
using System.Windows.Input;
|
using XCommon.Log;
|
using XHandler.View.Consumables;
|
using XHandler.Controls.Run.Com;
|
using XHandler.View.Dialog;
|
namespace XHandler.View
|
{
|
/// <summary>
|
/// 控制面板
|
/// </summary>
|
public partial class ControlPanel : Window
|
{
|
//public MainWindow mainWindow;
|
|
#region 变量
|
private UnloadTipsBll unloadTipsBll = new UnloadTipsBll();
|
private HomeBll homeBll = new HomeBll();
|
private UnloadTipsControl unloadTipsCtrl = new UnloadTipsControl(Shared.SoftwareInformation.currentculture);
|
#endregion
|
|
#region 构造函数
|
/// <summary>
|
/// 构造函数
|
/// </summary>
|
public ControlPanel()
|
{
|
InitializeComponent();
|
}
|
#endregion
|
|
#region 初始化
|
/// <summary>
|
/// 初始化
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void ControlPanel_Loaded(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 复位
|
/// <summary>
|
/// 复位
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnReset_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
#region 复位
|
PlsToolTipWin plsToolTipWin = null;
|
Mouse.OverrideCursor = Cursors.Wait;
|
|
// 状态2 初始化 黄蓝绿交替闪
|
HxResult ret = CommonBll.StatusLamp(2, false);
|
string strMsg = "复位成功!";
|
|
ret = new HxResult();
|
|
if (Shared.SoftwareInformation.software_device_number == DeviceCategory.DeviceX3)
|
{
|
// 判断是否有枪头并卸载枪头
|
string strMsgTip = CheckTipAndUnLoadTip();
|
if (!string.IsNullOrEmpty(strMsgTip))
|
{
|
strMsg = strMsgTip;
|
}
|
HomeMParam homeMParam = GetHomeMParam();
|
ret = homeBll.ExecuteHome(homeMParam, false); // 复位
|
// 复位成功
|
if (ret.Result == ResultType.Success)
|
{
|
}
|
// 复位失败
|
else
|
{
|
strMsg = "复位失败! 信息:" + ret.AlarmInfo;
|
}
|
}
|
else
|
{
|
HomeMParam homeMParam = GetHomeMParam();
|
ret = homeBll.ExecuteHome(homeMParam, false); // 复位
|
|
// 复位成功
|
if (ret.Result == ResultType.Success)
|
{
|
// 判断是否有枪头并卸载枪头
|
string strMsgTip = CheckTipAndUnLoadTip();
|
if (!string.IsNullOrEmpty(strMsgTip))
|
{
|
strMsg = strMsgTip;
|
}
|
}
|
// 复位失败
|
else
|
{
|
strMsg = "复位失败! 信息:" + ret.AlarmInfo;
|
}
|
}
|
|
LoggerHelper.InfoLog(strMsg);
|
// 状态3 待机 蓝色
|
ret = CommonBll.StatusLamp(3, false);
|
|
Mouse.OverrideCursor = Cursors.Arrow;
|
System.Windows.Application.Current.Dispatcher.Invoke(new Action(() =>
|
{
|
plsToolTipWin = new PlsToolTipWin(strMsg);
|
plsToolTipWin.btnCancel.Visibility = Visibility.Hidden;
|
plsToolTipWin.ShowDialog();
|
}));
|
#endregion
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("ERROR:", ex);
|
}
|
finally
|
{
|
Mouse.OverrideCursor = Cursors.Arrow;
|
}
|
}
|
#endregion
|
|
#region 卸载枪头
|
/// <summary>
|
/// 卸载枪头
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnUnLoadTip_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
//弹出对话框选择臂和通道
|
PlsArmChannelWin plsArmChannelWin = null;
|
System.Windows.Application.Current.Dispatcher.Invoke(new Action(() =>
|
{
|
plsArmChannelWin = new PlsArmChannelWin();
|
plsArmChannelWin.ShowDialog();
|
}));
|
|
if (plsArmChannelWin.DialogResult == true)
|
{
|
//根据选择的臂和通道退枪头
|
string armValue = plsArmChannelWin.armValue;
|
string armText = plsArmChannelWin.armText;
|
if (armText.Equals("全部"))
|
{
|
int[] channelArray = plsArmChannelWin.channelArray;
|
string strMsg = "卸载Tip成功!";
|
PlsToolTipWin plsToolTipWin = null;
|
|
// 卸载枪头
|
Mouse.OverrideCursor = Cursors.Wait;
|
string strMsgTip = unloadTipsCtrl.UnLoadTipFromAllArm();
|
if (!string.IsNullOrEmpty(strMsgTip))
|
{
|
strMsg = strMsgTip;
|
}
|
|
Mouse.OverrideCursor = null;
|
System.Windows.Application.Current.Dispatcher.Invoke(new Action(() =>
|
{
|
plsToolTipWin = new PlsToolTipWin(strMsg);
|
plsToolTipWin.btnCancel.Visibility = Visibility.Hidden;
|
plsToolTipWin.ShowDialog();
|
}));
|
}
|
else
|
{
|
int[] channelArray = plsArmChannelWin.channelArray;
|
string strMsg = "卸载Tip成功!";
|
PlsToolTipWin plsToolTipWin = null;
|
|
// 卸载枪头
|
Mouse.OverrideCursor = Cursors.Wait;
|
string strMsgTip = unloadTipsCtrl.UnLoadTip(armValue);
|
if (!string.IsNullOrEmpty(strMsgTip))
|
{
|
strMsg = strMsgTip;
|
}
|
|
Mouse.OverrideCursor = null;
|
System.Windows.Application.Current.Dispatcher.Invoke(new Action(() =>
|
{
|
plsToolTipWin = new PlsToolTipWin(strMsg);
|
plsToolTipWin.btnCancel.Visibility = Visibility.Hidden;
|
plsToolTipWin.ShowDialog();
|
}));
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("ERROR:", ex);
|
}
|
finally
|
{
|
Mouse.OverrideCursor = null;
|
}
|
}
|
|
/// <summary>
|
/// 判断是否有枪头并卸载枪头
|
/// </summary>
|
/// <returns></returns>
|
private string CheckTipAndUnLoadTip()
|
{
|
bool isExist = false;
|
string strMsg = string.Empty;
|
PlsToolTipWin plsToolTipWin = null;
|
|
// 判断是否有枪头
|
int retN = ADPBll.ExecuteADPCheckTip(out isExist, false);
|
if (retN != 0) // 检查异常
|
{
|
strMsg = "检查枪头失败";
|
}
|
else if (isExist) // 检查正常 && 有枪头
|
{
|
Mouse.OverrideCursor = null;
|
if (ControlCom.CurrentLengthOfTip > 0)
|
{
|
System.Windows.Application.Current.Dispatcher.Invoke(new Action(() =>
|
{
|
plsToolTipWin = new PlsToolTipWin("机械臂将在垃圾位卸载Tip头?");
|
plsToolTipWin.ShowDialog();
|
}));
|
|
|
// 确认卸载
|
if (plsToolTipWin.DialogResult == true)
|
{
|
// 卸载枪头
|
Mouse.OverrideCursor = Cursors.Wait;
|
if (ControlCom.CurrentLengthOfTip > 0)
|
{
|
strMsg = unloadTipsCtrl.UnLoadTip();
|
if (string.IsNullOrEmpty(strMsg))
|
{
|
// 枪头卸载成功后再复位
|
HomeMParam homeMParam = GetHomeMParam();
|
HxResult ret = homeBll.ExecuteHome(homeMParam, false); // 复位
|
if (ret.Result != ResultType.Success) // 复位失败
|
{
|
strMsg = "复位失败! 信息:" + ret.AlarmInfo;
|
}
|
}
|
}
|
}
|
}
|
}
|
|
return strMsg;
|
}
|
|
/// <summary>
|
/// 获取复位参数
|
/// </summary>
|
/// <returns></returns>
|
private HomeMParam GetHomeMParam()
|
{
|
HomeMParam homeMParam = new HomeMParam();
|
homeMParam.xAxisVal = (float)Convert.ToDouble(ConfigurationManager.AppSettings["xAxisSafeVal"]);
|
homeMParam.yAxisVal = (float)Convert.ToDouble(ConfigurationManager.AppSettings["yAxisSafeVal"]);
|
homeMParam.zAxisVal = (float)Convert.ToDouble(ConfigurationManager.AppSettings["zAxisSafeVal"]);
|
return homeMParam;
|
}
|
|
#endregion
|
|
#region 控制夹爪
|
/// <summary>
|
/// 控制夹爪
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnControlGrip_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
// 表示【控制夹爪】页面
|
ControlGrip controlGrip = new ControlGrip();
|
controlGrip.Owner = (Window)Shared.Main;
|
controlGrip.WindowStartupLocation = WindowStartupLocation.CenterScreen;
|
controlGrip.ShowDialog();
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 控制移液枪
|
/// <summary>
|
/// 控制移液枪
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnControlPipetteGun_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
// 表示【控制移液枪】页面
|
ControlPipetteGun controlPipetteGun = new ControlPipetteGun();
|
controlPipetteGun.WindowStartupLocation= WindowStartupLocation.CenterScreen;
|
controlPipetteGun.ShowDialog();
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 关闭窗口
|
/// <summary>
|
/// 关闭窗口
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnClose_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
this.Close();
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("ERROR:", ex);
|
}
|
}
|
#endregion
|
}
|
}
|