using Sunny.UI; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace HRT_Measure { public partial class FrmFirstWindow : Form { public FrmFirstWindow() { InitializeComponent(); } PLCResultHelp resultHelp = new PLCResultHelp(); private void FrmFirstWindow_Load(object sender, EventArgs e) { splitContainerMain.SplitterDistance = 367; uchmiM01M02.thMonitor.Start(); uchmiM03.thMonitor.Start(); uchmiM04M05.thMonitor.Start(); timer1.Enabled = true; } private void btn清料_Click(object sender, EventArgs e) { try { ProgramHelp.Instance.commPLC_M01M02.WriteCoin("DB20.496.0", !PLCResultHelp.isM01_清料, out string str); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } private void btn称重开始_Click(object sender, EventArgs e) { try { ProgramHelp.Instance.commPLC_M01M02.WriteCoin("DB136.502.4", !PLCResultHelp.isM01_称重开始, out string str); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } private void btnClearPressure_Click(object sender, EventArgs e) { try { ProgramHelp.Instance.comm压机.WriteShort(ReadPLCHelp.dictPressure["工件计数"].Address, 0, out string str); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } private void btnAllowLayOff_Click(object sender, EventArgs e) { try { ProgramHelp.Instance.commPLC_M04M05.WriteCoin(ReadPLCHelp.dictM04["允许下料"], !PLCResultHelp.isM04_允许下料, out string str); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } private void timer1_Tick(object sender, EventArgs e) { try { //M01 txt药A暂存当前盒数.Text = resultHelp.M01_药A暂存当前盒数.ToString(); txt药B暂存当前盒数.Text = resultHelp.M01_药B暂存当前盒数.ToString(); txt抛盖暂存槽当前数量.Text = resultHelp.M01_抛盖暂存槽当前数量.ToString(); txt空桶暂存槽当前数量.Text = resultHelp.M01_空桶暂存槽当前数量.ToString(); btn清料.FillColor = PLCResultHelp.isM01_清料 ? Color.Green : Color.Gray; btn称重开始.FillColor = PLCResultHelp.isM01_称重开始 ? Color.Green : Color.Gray; //M02 txt药A称重配比重量.Text = resultHelp.M02_药A称重配比重量.ToString(); txtA料仓1当前重量.Text = (Convert.ToSingle( resultHelp.M02_A料仓1当前重量) / 100).ToString("f3"); txtA料仓2当前重量.Text = (Convert.ToSingle(resultHelp.M02_A料仓2当前重量) / 100).ToString("f3"); txtA料仓3当前重量.Text = (Convert.ToSingle(resultHelp.M02_A料仓3当前重量) / 100).ToString("f3"); txtA料仓4当前重量.Text = (Convert.ToSingle(resultHelp.M02_A料仓4当前重量) / 100).ToString("f3"); txtA料仓5当前重量.Text = (Convert.ToSingle(resultHelp.M02_A料仓5当前重量) / 100).ToString("f3"); txt药B称重配比重量.Text = resultHelp.M02_药B称重配比重量.ToString(); txtB料仓1当前重量.Text = (Convert.ToSingle(resultHelp.M02_B料仓1当前重量) / 100).ToString("f3"); txtB料仓2当前重量.Text = (Convert.ToSingle(resultHelp.M02_B料仓2当前重量) / 100).ToString("f3"); txtB料仓3当前重量.Text = (Convert.ToSingle(resultHelp.M02_B料仓3当前重量) / 100).ToString("f3"); txtB料仓4当前重量.Text = (Convert.ToSingle(resultHelp.M02_B料仓4当前重量) / 100).ToString("f3"); txtB料仓5当前重量.Text = (Convert.ToSingle(resultHelp.M02_B料仓5当前重量) / 100).ToString("f3"); //M04 btnAllowLayOff.FillColor = PLCResultHelp.isM04_允许下料 ? Color.Green : Color.Gray; txtCurrentHeight.Text = PLCResultHelp.fM04_当前检测高度.ToString("f2"); txtCurrentWeight.Text = PLCResultHelp.fM04_当前重量.ToString("f2"); //M05 txt箱数.Text = resultHelp.M05_箱数.ToString(); //压机 foreach (var item in grbPressure.Controls) { if (item is UITextBox) { try { string name = (((UITextBox)item).Name).Remove(0,3); if (name == "当前动作") { switch (Convert.ToInt32(ReadPLCHelp.dictPressure[name].value)) { case 0: ((UITextBox)item).Text = "静止"; break; case 1: ((UITextBox)item).Text = "主缸保压"; break; case 2: ((UITextBox)item).Text = "主缸快速顶出"; break; case 4: ((UITextBox)item).Text = "主缸慢速顶出"; break; case 5: ((UITextBox)item).Text = "主缸泄压"; break; case 6: ((UITextBox)item).Text = "主缸慢速退回"; break; case 7: ((UITextBox)item).Text = "主缸快速退回"; break; case 8: ((UITextBox)item).Text = "主缸减速退回"; break; case 3: case 9: case 10: case 11: ((UITextBox)item).Text = ""; break; } } else if (name == "动作提示") { switch (Convert.ToInt32(ReadPLCHelp.dictPressure[name].value)) { case 0: ((UITextBox)item).Text = "允许动作"; break; case 1: ((UITextBox)item).Text = "主缸上限位"; break; case 2: ((UITextBox)item).Text = "主缸压力达成"; break; case 3: ((UITextBox)item).Text = "前光栅保护"; break; case 4: ((UITextBox)item).Text = "后光栅保护"; break; case 5: ((UITextBox)item).Text = "主缸下限位"; break; case 6: ((UITextBox)item).Text = "顶缸上限位"; break; case 7: ((UITextBox)item).Text = "顶缸下限位"; break; case 8: ((UITextBox)item).Text = "主缸未置下限位"; break; case 9: ((UITextBox)item).Text = "伺服未启动"; break; case 10: ((UITextBox)item).Text = "顶缸未置上限位"; break; case 11: ((UITextBox)item).Text = "顶缸未置下限位"; break; case 12: ((UITextBox)item).Text = "工件计数达成"; break; case 13: ((UITextBox)item).Text = "静止"; break; case 14: ((UITextBox)item).Text = "伺服停止"; break; case 15: ((UITextBox)item).Text = "主伺服报警"; break; case 16: ((UITextBox)item).Text = "副伺服报警"; break; case 17: ((UITextBox)item).Text = "液位低报警"; break; case 18: ((UITextBox)item).Text = "油温需冷却"; break; case 19: ((UITextBox)item).Text = "油温超高停机"; break; case 20: ((UITextBox)item).Text = "润滑油位不足"; break; case 21: ((UITextBox)item).Text = "地坑漏油报警"; break; case 22: ((UITextBox)item).Text = "锁紧完成"; break; case 23: ((UITextBox)item).Text = "松锁完成"; break; case 24: ((UITextBox)item).Text = "锁紧缸未松锁"; break; case 25: ((UITextBox)item).Text = "松锁未置上极限"; break; case 26: ((UITextBox)item).Text = "未置上极限"; break; case 27: ((UITextBox)item).Text = "锁紧缸未锁紧"; break; case 28: ((UITextBox)item).Text = "顶缸未置下极限"; break; case 29: ((UITextBox)item).Text = "移动台未贴合"; break; case 30: ((UITextBox)item).Text = "移动台未夹紧"; break; case 31: ((UITextBox)item).Text = "移动台未进到位"; break; case 32: ((UITextBox)item).Text = "安全撑未移出"; break; } } else { //name = name.Remove(0, 3); ((UITextBox)item).Text = ReadPLCHelp.dictPressure[name].value; } } catch (Exception) { } } } } catch (Exception) { } } private void FrmFirstWindow_FormClosing(object sender, FormClosingEventArgs e) { try { uchmiM01M02.timer1.Enabled = false; uchmiM03.timer1.Enabled = false; uchmiM04M05.timer1.Enabled = false; try { uchmiM01M02.thMonitor.Abort(); } catch { } try { uchmiM03.thMonitor.Abort(); } catch { } try { uchmiM04M05.thMonitor.Abort(); } catch { } } catch (Exception) { } } } }