You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

632 lines
21 KiB

using ChipGlueDeviceManager.CommonFunctions;
using Module.Common;
using Module.DB.Model;
using Module.Plc.Profinet.Tool;
using System;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;
namespace ChipGlueDeviceManager
{
public partial class FrmT1ReceiveManual : Form
{
private delegate void PrintChartParamCallBack(); //委托事件
private PrintChartParamCallBack DgChartParamRealValue;
private bool IsPrintReadValue = true;
public FrmT1ReceiveManual()
{
InitializeComponent();
DgChartParamRealValue = new PrintChartParamCallBack(PrintRealValueChart); //展示实时值
}
/// <summary>
/// 通道1收片窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmT1ReceiveManual_Load(object sender, EventArgs e)
{
//开始显示实时值线程
Thread printRealValueThread = new Thread(StartPrintRealValue);
printRealValueThread.IsBackground = true;
printRealValueThread.Start();
}
#region 基础字段
string receiveCurrLocation = "";
string receiveJogSpeed = "";
string receiveBackHomeSpeed = "";
string receiveFirstLocation = "";
string receiveFirstSpeed = "";
string receiveDownOne = "";
string receiveDownOneSpeed = "";
string receiveSpecifiedNums = "";
string receiveSpecifiedNumSpeed = "";
string receiveJogSpeedPre = "";
string receiveBackHomeSpeedPre = "";
string receiveFirstLocationPre = "";
string receiveFirstSpeedPre = "";
string receiveDownOnePre = "";
string receiveDownOneSpeedPre = "";
string receiveSpecifiedNumsPre = "";
string receiveSpecifiedNumSpeedPre = "";
#endregion 基础字段
/// <summary>
/// 展示所有实时值
/// </summary>
private void PrintRealValueChart()
{
if (t1RecvModelInfo != null)
{
receiveCurrLocation = t1RecvModelInfo.receiveCurrLocation;
txtReceiveCurrLocation.Text = receiveCurrLocation;
receiveJogSpeed = t1RecvModelInfo.receiveJogSpeed;
receiveBackHomeSpeed = t1RecvModelInfo.receiveBackHomeSpeed;
receiveFirstLocation = t1RecvModelInfo.receiveFirstLocation;
receiveFirstSpeed = t1RecvModelInfo.receiveFirstSpeed;
receiveDownOne = t1RecvModelInfo.receiveDownOne;
receiveDownOneSpeed = t1RecvModelInfo.receiveDownOneSpeed;
receiveSpecifiedNums = t1RecvModelInfo.receiveSpecifiedNums;
receiveSpecifiedNumSpeed = t1RecvModelInfo.receiveSpecifiedNumSpeed;
TextStatus(txtReceiveJogSpeed, receiveJogSpeedPre, receiveJogSpeed);
TextStatus(txtReceiveBackHomeSpeed, receiveBackHomeSpeedPre, receiveBackHomeSpeed);
TextStatus(txtReceiveFirstLocation, receiveFirstLocationPre, receiveFirstLocation);
TextStatus(txtReceivedFirstSpeed, receiveFirstSpeedPre, receiveFirstSpeed);
TextStatus(txtReceiveDownOne, receiveDownOnePre, receiveDownOne);
TextStatus(txtReceiveDownOneSpeed, receiveDownOneSpeedPre, receiveDownOneSpeed);
TextStatus(txtReceiveSpecifiedNums, receiveSpecifiedNumsPre, receiveSpecifiedNums);
TextStatus(txtReceiveSpecifiedNumSpeed, receiveSpecifiedNumSpeedPre, receiveSpecifiedNumSpeed);
receiveJogSpeedPre = receiveJogSpeed;
receiveBackHomeSpeedPre = receiveBackHomeSpeed;
receiveFirstLocationPre = receiveFirstLocation;
receiveFirstSpeedPre = receiveFirstSpeed;
receiveDownOnePre = receiveDownOne;
receiveDownOneSpeedPre = receiveDownOneSpeed;
receiveSpecifiedNumsPre = receiveSpecifiedNums;
receiveSpecifiedNumSpeedPre = receiveSpecifiedNumSpeed;
if (t1DevControlModel)
{
btnModelSwitch.Text = "手动模式";
}
else
{
btnModelSwitch.Text = "自动模式";
}
ButtonStatusColor(btnReceiveBackHome, t1RecvModelInfo.receiveBackHome);
ButtonStatusColor(btnReceiveFirstPosition, t1RecvModelInfo.receiveFirstPosition);
ButtonStatusColor(btnReceiveDown, t1RecvModelInfo.receiveDown);
ButtonStatusColor(btnReceiveSpecifiedNum, t1RecvModelInfo.receiveSpecifiedNum);
LabelStatusColor(lblHigh, t1RecvModelInfo.receiveHigh);
LabelStatusColor(lblFlowerSignal, t1RecvModelInfo.receiveFlowerSignal);
LabelStatusColor(lblWaferSignal, t1RecvModelInfo.receiveWaferSignal);
}
}
/// <summary>
/// 收片模式参数显示值
/// </summary>
private ReceiveModel t1RecvModelInfo = null;
/// <summary>
/// 设备控制模式
/// </summary>
private bool t1DevControlModel = true;
/// <summary>
/// 开始显示实时值
/// </summary>
private void StartPrintRealValue()
{
while (IsPrintReadValue)
{
if (this.IsHandleCreated)
{
this.BeginInvoke(DgChartParamRealValue, null);
}
t1RecvModelInfo = PublicParams.T1RecvModelInfo;
t1DevControlModel = PublicParams.T1DevControlModel;
Thread.Sleep(100);
}
}
private void TextStatus(TextBox txtValue, string preValue, string value)
{
if (preValue == value)
{
return;
}
txtValue.Text = value;
}
private void ButtonStatusColor(Button btnColor, int value)
{
if (value == 1)
{
btnColor.BackColor = PublicParams.buttonDownColor;
}
else
{
btnColor.BackColor = SystemColors.Control;
}
}
private void LabelStatusColor(Label lblColor, bool value)
{
if (value)
{
lblColor.BackColor = PublicParams.buttonDownColor;
}
else
{
lblColor.BackColor = System.Drawing.SystemColors.ControlLight;
}
}
private void btnModelSwitch_Click(object sender, EventArgs e)
{
if (btnModelSwitch.Text == "自动模式")
{
//btnModelSwitch.Text = "手动模式";
//写入
T1ReceiveControlFunc.DevControlModelManual();
}
else
{
//btnModelSwitch.Text = "自动模式";
//写入
T1ReceiveControlFunc.DevControlModelAuto();
}
}
private void btnReceiveJogSpeed_Click(object sender, EventArgs e)
{
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveJogSpeed.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveJogSpeed(value);
}
private void txtReceiveJogSpeed_TextChanged(object sender, EventArgs e)
{
}
private void txtReceiveJogSpeed_Leave(object sender, EventArgs e)
{
if (!checkText(txtReceiveJogSpeed.Text))
{
return;
}
txtReceiveJogSpeed_Update();
}
private void txtReceiveJogSpeed_KeyDown(object sender, KeyEventArgs e)
{
if (!checkIsEnterCode(e))
{
return;
}
if (!checkText(txtReceiveJogSpeed.Text))
{
return;
}
txtReceiveJogSpeed_Update();
}
private void txtReceiveJogSpeed_Update()
{
FormValidate.NumberMinMaxValueReset(txtReceiveJogSpeed, 0.00, 10.00);
txtReceiveJogSpeed.Text = Math.Round(Convert.ToDecimal(txtReceiveJogSpeed.Text.Trim()), 2).ToString("#0.00");
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveJogSpeed.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveJogSpeed(value);
}
private void btnReceiveFirstLocation_Click(object sender, EventArgs e)
{
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveFirstLocation.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveFirstLocation(value);
}
private void txtReceiveFirstLocation_TextChanged(object sender, EventArgs e)
{
}
private void txtReceiveFirstLocation_Leave(object sender, EventArgs e)
{
if (!checkText(txtReceiveFirstLocation.Text))
{
return;
}
txtReceiveFirstLocation.Text = Math.Round(Convert.ToDecimal(txtReceiveFirstLocation.Text.Trim()), 2).ToString("#0.00");
txtReceiveFirstLocation_Update();
}
private void txtReceiveFirstLocation_KeyDown(object sender, KeyEventArgs e)
{
if (!checkIsEnterCode(e))
{
return;
}
if (!checkText(txtReceiveFirstLocation.Text))
{
return;
}
txtReceiveFirstLocation_Update();
}
private void txtReceiveFirstLocation_Update()
{
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveFirstLocation.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveFirstLocation(value);
}
private void btnReceiveDownOne_Click(object sender, EventArgs e)
{
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveDownOne.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveDownOne(value);
}
private void txtReceiveDownOne_TextChanged(object sender, EventArgs e)
{
}
private void txtReceiveDownOne_Leave(object sender, EventArgs e)
{
if (!checkText(txtReceiveDownOne.Text))
{
return;
}
txtReceiveDownOne.Text = Math.Round(Convert.ToDecimal(txtReceiveDownOne.Text.Trim()), 2).ToString("#0.00");
txtReceiveDownOne_Update();
}
private void txtReceiveDownOne_KeyDown(object sender, KeyEventArgs e)
{
if (!checkIsEnterCode(e))
{
return;
}
if (!checkText(txtReceiveDownOne.Text))
{
return;
}
txtReceiveDownOne_Update();
}
private void txtReceiveDownOne_Update()
{
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveDownOne.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveDownOne(value);
}
private void btnReceiveSpecifiedNums_Click(object sender, EventArgs e)
{
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveSpecifiedNums.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveSpecifiedNums(value);
}
private void txtReceiveSpecifiedNums_TextChanged(object sender, EventArgs e)
{
}
private void txtReceiveSpecifiedNums_Leave(object sender, EventArgs e)
{
if (!checkText(txtReceiveSpecifiedNums.Text))
{
return;
}
txtReceiveSpecifiedNums_Update();
}
private void txtReceiveSpecifiedNums_KeyDown(object sender, KeyEventArgs e)
{
if (!checkIsEnterCode(e))
{
return;
}
if (!checkText(txtReceiveSpecifiedNums.Text))
{
return;
}
txtReceiveSpecifiedNums_Update();
}
private void txtReceiveSpecifiedNums_Update()
{
FormValidate.NumberMinMaxValueReset(txtReceiveSpecifiedNums, 1, 25);
int value = Convert.ToInt32(txtReceiveSpecifiedNums.Text.Trim());
T1ReceiveControlFunc.ReceiveSpecifiedNums(value);
}
private void btnReceiveBackHomeSpeed_Click(object sender, EventArgs e)
{
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveBackHomeSpeed.Text.Trim()) * 100 / -0.014);
T1ReceiveControlFunc.ReceiveBackHomeSpeed(value);
}
private void txtReceiveBackHomeSpeed_TextChanged(object sender, EventArgs e)
{
}
private void txtReceiveBackHomeSpeed_Leave(object sender, EventArgs e)
{
if (!checkText(txtReceiveBackHomeSpeed.Text))
{
return;
}
txtReceiveBackHomeSpeed_Update();
}
private void txtReceiveBackHomeSpeed_KeyDown(object sender, KeyEventArgs e)
{
if (!checkIsEnterCode(e))
{
return;
}
if (!checkText(txtReceiveBackHomeSpeed.Text))
{
return;
}
txtReceiveBackHomeSpeed_Update();
}
private void txtReceiveBackHomeSpeed_Update()
{
FormValidate.NumberMinMaxValueReset(txtReceiveBackHomeSpeed, 0.00, 10.00);
txtReceiveBackHomeSpeed.Text = Math.Round(Convert.ToDecimal(txtReceiveBackHomeSpeed.Text.Trim()), 2).ToString("#0.00");
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveBackHomeSpeed.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveBackHomeSpeed(value);
}
private void btnReceivedFirstSpeed_Click(object sender, EventArgs e)
{
int value = Convert.ToInt32(Convert.ToSingle(txtReceivedFirstSpeed.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveFirstSpeed(value);
}
private void txtReceivedFirstSpeed_TextChanged(object sender, EventArgs e)
{
}
private void txtReceivedFirstSpeed_Leave(object sender, EventArgs e)
{
if (!checkText(txtReceivedFirstSpeed.Text))
{
return;
}
txtReceivedFirstSpeed_Update();
}
private void txtReceivedFirstSpeed_KeyDown(object sender, KeyEventArgs e)
{
if (!checkIsEnterCode(e))
{
return;
}
if (!checkText(txtReceivedFirstSpeed.Text))
{
return;
}
txtReceivedFirstSpeed_Update();
}
private void txtReceivedFirstSpeed_Update()
{
FormValidate.NumberMinMaxValueReset(txtReceivedFirstSpeed, 0.00, 20.00);
txtReceivedFirstSpeed.Text = Math.Round(Convert.ToDecimal(txtReceivedFirstSpeed.Text.Trim()), 2).ToString("#0.00");
int value = Convert.ToInt32(Convert.ToSingle(txtReceivedFirstSpeed.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveFirstSpeed(value);
}
private void btnReceiveDownOneSpeed_Click(object sender, EventArgs e)
{
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveDownOneSpeed.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveDownOneSpeed(value);
}
private void txtReceiveDownOneSpeed_TextChanged(object sender, EventArgs e)
{
}
private void txtReceiveDownOneSpeed_Leave(object sender, EventArgs e)
{
if (!checkText(txtReceiveDownOneSpeed.Text))
{
return;
}
txtReceiveDownOneSpeed_Update();
}
private void txtReceiveDownOneSpeed_KeyDown(object sender, KeyEventArgs e)
{
if (!checkIsEnterCode(e))
{
return;
}
if (!checkText(txtReceiveDownOneSpeed.Text))
{
return;
}
txtReceiveDownOneSpeed_Update();
}
private void txtReceiveDownOneSpeed_Update()
{
FormValidate.NumberMinMaxValueReset(txtReceiveDownOneSpeed, 0.00, 20.00);
txtReceiveDownOneSpeed.Text = Math.Round(Convert.ToDecimal(txtReceiveDownOneSpeed.Text.Trim()), 2).ToString("#0.00");
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveDownOneSpeed.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveDownOneSpeed(value);
}
private void btnReceiveSpecifiedNumSpeed_Click(object sender, EventArgs e)
{
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveSpecifiedNumSpeed.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveSpecifiedNumSpeed(value);
}
private void txtReceiveSpecifiedNumSpeed_TextChanged(object sender, EventArgs e)
{
}
private void txtReceiveSpecifiedNumSpeed_Leave(object sender, EventArgs e)
{
if (!checkText(txtReceiveSpecifiedNumSpeed.Text))
{
return;
}
txtReceiveSpecifiedNumSpeed_Update();
}
private void txtReceiveSpecifiedNumSpeed_KeyDown(object sender, KeyEventArgs e)
{
if (!checkIsEnterCode(e))
{
return;
}
if (!checkText(txtReceiveSpecifiedNumSpeed.Text))
{
return;
}
txtReceiveSpecifiedNumSpeed_Update();
}
private void txtReceiveSpecifiedNumSpeed_Update()
{
FormValidate.NumberMinMaxValueReset(txtReceiveSpecifiedNumSpeed, 0.00, 20.00);
txtReceiveSpecifiedNumSpeed.Text = Math.Round(Convert.ToDecimal(txtReceiveSpecifiedNumSpeed.Text.Trim()), 2).ToString("#0.00");
int value = Convert.ToInt32(Convert.ToSingle(txtReceiveSpecifiedNumSpeed.Text.Trim()) * 100 / 0.014);
T1ReceiveControlFunc.ReceiveSpecifiedNumSpeed(value);
}
private void btnReceiveBackHome_Click(object sender, EventArgs e)
{
T1ReceiveControlFunc.ReceiveBackHome();
}
private void btnReceiveFirstPosition_Click(object sender, EventArgs e)
{
T1ReceiveControlFunc.ReceiveFirstPosition();
}
private void btnReceiveDown_Click(object sender, EventArgs e)
{
T1ReceiveControlFunc.ReceiveDown();
}
private void btnReceiveSpecifiedNum_Click(object sender, EventArgs e)
{
T1ReceiveControlFunc.ReceiveSpecifiedNum();
}
private void btnReceiveUp_Click(object sender, EventArgs e)
{
T1ReceiveControlFunc.ReceiveUp();
}
private void btnMoveUp_Click(object sender, EventArgs e)
{
//T1ReceiveControlFunc.MoveUp();
}
private void btnMoveUp_MouseDown(object sender, EventArgs e)
{
T1ReceiveControlFunc.MoveUp();
}
private void btnMoveUp_MouseUp(object sender, EventArgs e)
{
T1ReceiveControlFunc.MoveUpClose();
}
private void btnMoveDown_Click(object sender, EventArgs e)
{
//T1ReceiveControlFunc.MoveDown();
}
private void btnMoveDown_MouseDown(object sender, EventArgs e)
{
T1ReceiveControlFunc.MoveDown();
}
private void btnMoveDown_MouseUp(object sender, EventArgs e)
{
T1ReceiveControlFunc.MoveDownClose();
}
private bool checkIsEnterCode(KeyEventArgs e)
{
return Keys.Enter == e.KeyCode;
}
private bool checkText(String text)
{
text = text.Trim();
if (String.IsNullOrEmpty(text))
{
return false;
}
return ValidateUtils.IsNumberOrDecimalSign(text);
}
private void txtReceiveJogSpeed_KeyPress(object sender, KeyPressEventArgs e)
{
FormValidate.OnlyNumbers(sender, e);
}
private void txtReceiveBackHomeSpeed_KeyPress(object sender, KeyPressEventArgs e)
{
FormValidate.OnlyNumbers(sender, e);
}
private void txtReceiveFirstLocation_KeyPress(object sender, KeyPressEventArgs e)
{
FormValidate.OnlyNumbers(sender, e);
}
private void txtReceivedFirstSpeed_KeyPress(object sender, KeyPressEventArgs e)
{
FormValidate.OnlyNumbers(sender, e);
}
private void txtReceiveDownOne_KeyPress(object sender, KeyPressEventArgs e)
{
FormValidate.OnlyNumbers(sender, e);
}
private void txtReceiveDownOneSpeed_KeyPress(object sender, KeyPressEventArgs e)
{
FormValidate.OnlyNumbers(sender, e);
}
private void txtReceiveSpecifiedNums_KeyPress(object sender, KeyPressEventArgs e)
{
FormValidate.OnlyPositiveInteger(sender, e);
}
private void txtReceiveSpecifiedNumSpeed_KeyPress(object sender, KeyPressEventArgs e)
{
FormValidate.OnlyNumbers(sender, e);
}
}
}