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