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); //展示实时值 } /// /// 通道1收片窗体加载 /// /// /// 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 基础字段 /// /// 展示所有实时值 /// 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); } } /// /// 收片模式参数显示值 /// private ReceiveModel t1RecvModelInfo = null; /// /// 设备控制模式 /// private bool t1DevControlModel = true; /// /// 开始显示实时值 /// 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); } } }