From 2a8101df33b73bb41192f0a9ec60d2e4df3c65ff Mon Sep 17 00:00:00 2001 From: lu <123456> Date: 星期四, 24 七月 2025 14:21:13 +0800 Subject: [PATCH] 水检调试正常 --- DevApp/Gs.DevApp/XtraForm1.cs | 209 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 171 insertions(+), 38 deletions(-) diff --git a/DevApp/Gs.DevApp/XtraForm1.cs b/DevApp/Gs.DevApp/XtraForm1.cs index bc9910d..b7fc7a0 100644 --- a/DevApp/Gs.DevApp/XtraForm1.cs +++ b/DevApp/Gs.DevApp/XtraForm1.cs @@ -1,15 +1,25 @@ -锘縰sing Newtonsoft.Json.Linq; +锘縰sing DevExpress.XtraEditors; +using Newtonsoft.Json.Linq; using NModbus; using System; using System.Data; +using System.Data.SqlClient; +using System.Data.SqlTypes; using System.IO; using System.Net.Sockets; using System.Text; +using System.Windows.Forms; namespace Gs.DevApp { public partial class XtraForm1 : DevExpress.XtraEditors.XtraForm { + string hostname = "192.168.60.51"; + private string strCsl1 = ""; + private string strSw1 = ""; + private string SJJG = ""; + private string GWZT = ""; + private string SJJGZ = ""; public XtraForm1() { InitializeComponent(); @@ -34,7 +44,7 @@ System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); System.Text.StringBuilder sbFj = new System.Text.StringBuilder(); string hx = "\r\n"; - string hostname = "192.168.60.51"; + ModbusFactory modbusFactory = new ModbusFactory(); IModbusMaster master = modbusFactory.CreateMaster(new TcpClient(hostname, 502)); master.Transport.ReadTimeout = 10000; @@ -42,79 +52,92 @@ //鍙傛暟(鍒嗗埆涓轰粠绔欏湴鍧�,璧峰鍦板潃,闀垮害) byte slaveAddress = byte.Parse(txt_slaveAddress.SelectedText.Trim()); - ushort numberOfPoints = ushort.Parse("1"); - float fsw = 0; + ushort numberOfPoints = ushort.Parse(txtGs.Text.Trim()); + // 璁剧疆璇诲彇鐨勮捣濮嬪湴鍧�鍜屾暟閲� + //ushort startAddress = 300; + //ushort numberOfPoints = 20; // 璇诲彇300-320鍏辫21涓瘎瀛樺櫒鐨勫�� + + float fsw = 0; + /* + slaveAddress: 浠庣珯璁惧鐨� Modbus 鍦板潃锛堥�氬父涓� 1~247锛� + 璧峰瀵勫瓨鍣ㄥ湴鍧� + numberOfPoints瑕佽鍙栫殑瀵勫瓨鍣ㄦ暟閲忥紙杩炵画璇诲彇锛� + 杩斿洖绫诲瀷涓� ushort[] 鏁扮粍锛宻laveAddress 浠庢満鍦板潃锛屼篃灏辨槸plc鐨勮澶噄d锛宻tartAddress 璇诲彇璧峰鍦板潃锛宯umberOfPoints 杩欎釜鏄噸鐐癸紝杩欎釜鍙傛暟鍐冲畾姣忔璇诲彇鐨勭偣鍙锋暟閲忋�傚啓1鐨勮瘽琛ㄧず姣忔璇诲彇涓�涓偣鍙枫�� + */ //妯″紡1鍑烘按閲� ushort[] csl1 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(32.ToString()), numberOfPoints); strCsl1 = csl1[0].ToString(); - sbFj.Append("妯″紡1鍑烘按閲�:" + strCsl1 + hx); + sbFj.Append("妯″紡1鍑烘按閲�:" + gets(csl1) + "-->" + strCsl1 + hx); //妯″紡1姘存俯 ushort[] sw1 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(31.ToString()), numberOfPoints); strSw1 = (float.Parse(sw1[0].ToString()) / 10).ToString(); - sbFj.Append("妯″紡1姘存俯:" + strSw1 + hx); + sbFj.Append("妯″紡1姘存俯:" + gets(sw1) + "-->" + strSw1 + hx); //妯″紡2鍑烘按閲� ushort[] csl2 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(34.ToString()), numberOfPoints); strCsl2 = csl2[0].ToString(); - sbFj.Append("妯″紡2鍑烘按閲�:" + strCsl2 + hx); + sbFj.Append("妯″紡2鍑烘按閲�:" + gets(csl2) + "-->" + strCsl2 + hx); //妯″紡2姘存俯 ushort[] sw2 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(33.ToString()), numberOfPoints); strSw2 = (float.Parse(sw2[0].ToString()) / 10).ToString(); - sbFj.Append("妯″紡2姘存俯:" + strSw2 + hx); + sbFj.Append("妯″紡2姘存俯:" + gets(sw2) + "-->" + strSw2 + hx); //妯″紡3鍑烘按閲� ushort[] csl3 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(36.ToString()), numberOfPoints); strCsl3 = csl3[0].ToString(); - sbFj.Append("妯″紡3鍑烘按閲�:" + strCsl3 + hx); + sbFj.Append("妯″紡2姘存俯:" + gets(csl3) + "-->" + strCsl3 + hx); //妯″紡3姘存俯 ushort[] sw3 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(35.ToString()), numberOfPoints); strSw3 = (float.Parse(sw3[0].ToString()) / 10).ToString(); - sbFj.Append("妯″紡3姘存俯:" + strSw3 + hx); + sbFj.Append("妯″紡3姘存俯:" + gets(sw3) + "-->" + strSw3 + hx); //妯″紡4鍑烘按閲� ushort[] csl4 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(38.ToString()), numberOfPoints); strCsl4 = csl4[0].ToString(); - sbFj.Append("妯″紡4鍑烘按閲�:" + strCsl4 + hx); + sbFj.Append("妯″紡4鍑烘按閲�:" + gets(csl4) + "-->" + strCsl4 + hx); //妯″紡4姘存俯 ushort[] sw4 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(37.ToString()), numberOfPoints); strSw4 = (float.Parse(sw4[0].ToString()) / 10).ToString(); - sbFj.Append("妯″紡4姘存俯:" + strSw4 + hx); + sbFj.Append("妯″紡4姘存俯:" + gets(sw4) + "-->" + strSw4 + hx); //妯″紡5鍑烘按閲� ushort[] csl5 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(40.ToString()), numberOfPoints); strCsl5 = csl5[0].ToString(); - sbFj.Append("妯″紡5鍑烘按閲�:" + strCsl5 + hx); + sbFj.Append("妯″紡5鍑烘按閲�:" + gets(csl5) + "-->" + strCsl5 + hx); //妯″紡5姘存俯 ushort[] sw5 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(39.ToString()), numberOfPoints); strSw5 = (float.Parse(sw5[0].ToString()) / 10).ToString(); - sbFj.Append("妯″紡5姘存俯:" + strSw5 + hx); + sbFj.Append("妯″紡5姘存俯:" + gets(sw5) + "-->" + strSw5 + hx); //缁撴灉 bool[] sjjg = master.ReadCoils(slaveAddress, ushort.Parse(77.ToString()), numberOfPoints); SJJG = sjjg[0].ToString(); - sbFj.Append("缁撴灉:" + SJJG + hx); + sbFj.Append("缁撴灉:" + gets(sjjg) + "-->" + SJJG + hx); /////////////////// + stringBuilder.Append(hx + "瑙f瀽缁撴灉锛�" + hx); + stringBuilder.Append(sbFj); + richTextBox1.Text = stringBuilder.ToString(); // 3. 璇诲彇浠庣珯璁惧鐨勫瘎瀛樺櫒short锛堟棤绗﹀彿鐭暣鍨嬶級鏄竴绉嶆暟鎹被鍨嬶紝鐢ㄤ簬琛ㄧず16浣嶆棤绗﹀彿鏁存暟锛屽叾鍙栧�艰寖鍥翠粠0鍒�65,535 - ushort startAddress = 0; // 瀵勫瓨鍣ㄨ捣濮嬪湴鍧� - ushort numRegisters = ushort.Parse(txtGs.Text.Trim()); // 璇诲彇 10 涓瘎瀛樺櫒 - try - { - // 璇诲彇淇濇寔瀵勫瓨鍣紙浠庣珯鍦板潃涓� 1锛� - // 鍙傛暟(鍒嗗埆涓轰粠绔欏湴鍧�,璧峰鍦板潃,闀垮害) - ushort[] registers = master.ReadHoldingRegisters(1, startAddress, numRegisters); - // 杈撳嚭缁撴灉 - Console.WriteLine("璇诲彇鍒扮殑瀵勫瓨鍣ㄥ�硷細"); - stringBuilder.Append("鎬诲瓧鑺備覆锛�"); - foreach (var register in registers) - { - Console.WriteLine(register); - stringBuilder.Append(register); - } - stringBuilder.Append(hx + "瑙f瀽缁撴灉锛�" + hx); - stringBuilder.Append(sbFj); - richTextBox1.Text = stringBuilder.ToString(); - } - catch (Exception ex) - { - Console.WriteLine($"璇诲彇閿欒: {ex.Message}"); - } + //ushort startAddress = 0; // 瀵勫瓨鍣ㄨ捣濮嬪湴鍧� + //ushort numRegisters = ushort.Parse(txtGs.Text.Trim()); // 璇诲彇 10 涓瘎瀛樺櫒 + //try + //{ + // // 璇诲彇淇濇寔瀵勫瓨鍣紙浠庣珯鍦板潃涓� 1锛� + // // 鍙傛暟(鍒嗗埆涓轰粠绔欏湴鍧�,璧峰鍦板潃,闀垮害) + // ushort[] registers = master.ReadHoldingRegisters(1, startAddress, numRegisters); + // // 杈撳嚭缁撴灉 + // Console.WriteLine("璇诲彇鍒扮殑瀵勫瓨鍣ㄥ�硷細"); + // stringBuilder.Append("鎬诲瓧鑺備覆锛�"); + // foreach (var register in registers) + // { + // Console.WriteLine(register); + // stringBuilder.Append(register); + // } + // stringBuilder.Append(hx + "瑙f瀽缁撴灉锛�" + hx); + // stringBuilder.Append(sbFj); + // richTextBox1.Text = stringBuilder.ToString(); + //} + //catch (Exception ex) + //{ + // Console.WriteLine($"璇诲彇閿欒: {ex.Message}"); + //} } catch (Exception ex) { @@ -123,5 +146,115 @@ return; } } + + private string gets(ushort[] registers) + { + System.Text.StringBuilder stringBuilder = new StringBuilder(); + foreach (var register in registers) + { + Console.WriteLine(register); + stringBuilder.Append(register); + } + return stringBuilder.ToString(); + } + + private string gets(bool[] registers) + { + System.Text.StringBuilder stringBuilder = new StringBuilder(); + foreach (var register in registers) + { + Console.WriteLine(register); + stringBuilder.Append(register); + } + return stringBuilder.ToString(); + } + + + private void simpleButton1_Click(object sender, EventArgs e) + { + DataTable dataTable1 = this.GetDataTable($"select MIG004,MIG005 from BASMIG(nolock) where MIG001='ShuiJianZhanWei01' and MIG003='{((BaseEdit)this.txtGWM).EditValue.ToString()}'", "tmpBASMIG2"); + if (dataTable1 == null || dataTable1.Rows.Count <= 0) + { + MessageBox.Show("璇ユ按妫�绔欎綅鐮佷笉瀛樺湪锛岃纭锛�"); + ((BaseEdit)this.txtGWM).EditValue = (object)""; + } + else + { + ModbusFactory modbusFactory = new ModbusFactory(); + byte num1 = byte.Parse("1"); + ushort num2 = ushort.Parse("1"); + DataTable dataTable2 = GetDataTable(string.Format($"select case when MIG006='D' then MIG003+{dataTable1.Rows[0][0]} else MIG003+{dataTable1.Rows[0][1]} end MIG003,MIG004 from BASMIG(nolock) where MIG001 = 'ShuiJianAddress01' order by MIG005"), "tmpBASMIG3"); + if (dataTable2 == null || dataTable2.Rows.Count <= 0) + { + MessageBox.Show("姘存鍦板潃涓嶅瓨鍦紝璇风‘璁わ紒"); + ((BaseEdit)this.txtGWM).EditValue = (object)""; + } + else + { + try + { + IModbusMaster master = modbusFactory.CreateMaster(new TcpClient(this.hostname, 502)); + master.Transport.ReadTimeout = 10000; + master.Transport.Retries = 10000; + this.strCsl1 = master.ReadHoldingRegisters(num1, ushort.Parse(dataTable2.Rows[0]["MIG003"].ToString()), num2)[0].ToString(); + this.strSw1 = (float.Parse(master.ReadHoldingRegisters(num1, ushort.Parse(dataTable2.Rows[1]["MIG003"].ToString()), num2)[0].ToString()) / 10f).ToString(); + ushort[] numArray = master.ReadHoldingRegisters(num1, ushort.Parse(dataTable2.Rows[2]["MIG003"].ToString()), num2); + this.SJJGZ = ""; + this.SJJGZ = numArray[0].ToString(); + this.SJJG = numArray[0].ToString(); + this.SJJG = this.SJJG == "1" ? "OK" : (this.SJJG == "2" ? "NG" : this.SJJG); + this.GWZT = master.ReadCoils(num1, ushort.Parse(dataTable2.Rows[3]["MIG003"].ToString()), num2)[0].ToString(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + ((BaseEdit)this.txtGWM).EditValue = (object)""; + return; + } + try + { + // this.manager.ExecuteSQLReturnInt(string.Format($"insert into WOMSJA\r\n (SJA001,SJA002,SJA003,SJA004,SJA005,SJA006,SJA007,SJA008,SJA009,SJA010,SJA011) \r\n values(NewID(),'{((BaseEdit)this.txtQAB002).EditValue.ToString()}','{((BaseEdit)this.txtGWM).EditValue.ToString()}',\r\n'{this.strCsl1}','{this.strSw1}','{this.SJJG}','{VSLoginInfo.LoginID}',convert(varchar(20),getdate(),120),'{((BaseEdit)this.txtDAA001).EditValue.ToString()}','{this.GWZT}','{this.SJJGZ}')")); + } + catch (Exception ex) + { + // this.VisiblePanel(((BaseEdit)this.txtDQBarCode).EditValue.ToString(), ex.Message, "NG", Color.Yellow); + ((BaseEdit)this.txtGWM).EditValue = (object)""; + return; + } + System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); + string hx = "\r\n"; + stringBuilder.Append("妯″紡1鍑烘按閲�:" + strCsl1 + hx); + stringBuilder.Append("妯″紡1姘存俯搴�:" + strSw1 + hx); + stringBuilder.Append("姘存缁撴灉:" + SJJGZ + hx); + stringBuilder.Append("姘存缁撴灉:" + SJJG + hx); + stringBuilder.Append("宸ヤ綅鐘舵��:" + GWZT + hx); + richTextBox1.Text = stringBuilder.ToString(); + // this.AddBarCode("宸查噰闆�"); + } + } + } + + + private DataTable GetDataTable(string SQLString, string tmpBASMIG2) + { + string strConn = "Data Source=192.168.1.146;Initial Catalog=GS_MES;User ID=mesUser;Password =qixi1qaz@WSXmes"; + using (var connection = new SqlConnection(strConn)) + { + var ds = new DataSet(); + try + { + connection.Open(); + var command = new SqlDataAdapter(SQLString, connection); + command.Fill(ds, tmpBASMIG2); + } + catch (SqlException ex) + { + throw new Exception(ex.Message); + } + + return ds.Tables[0]; + } + } + } } \ No newline at end of file -- Gitblit v1.9.3