From b2b169fcad7072edd66b1faa28ae390fc44d49be Mon Sep 17 00:00:00 2001
From: lu <123456>
Date: 星期四, 24 七月 2025 16:10:12 +0800
Subject: [PATCH] 水检代码正常

---
 DevApp/Gs.DevApp/XtraForm1.cs |  312 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 202 insertions(+), 110 deletions(-)

diff --git a/DevApp/Gs.DevApp/XtraForm1.cs b/DevApp/Gs.DevApp/XtraForm1.cs
index 8e9c7c2..7e9f177 100644
--- a/DevApp/Gs.DevApp/XtraForm1.cs
+++ b/DevApp/Gs.DevApp/XtraForm1.cs
@@ -1,99 +1,28 @@
-锘縰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();
-
-        }
-        /// <summary>
-        /// 鏄惁绗竴娆℃姇鍏�,0涓虹涓�娆℃姇鍏ワ紝1涓虹淮淇繃鏉ヨ鎶ュ簾鐨�2涓哄凡缁忔姤搴熻繃浜嗙殑锛�3杩斿伐杩囨潵閲嶆姇鐨�4娓呭熬宸ュ崟鐨勬姤搴�
-        /// </summary>
-        private string flagFirst = "0";  //鏄惁绗竴娆℃姇鍏�
-
-
-        private void simpleButton1_Click_1(object sender, EventArgs e)
-        {
-            AddDianJian();
-        }
-
-        //娣诲姞鐢垫鏁版嵁
-        private string AddDianJian()
-        {
-            string TM = "";
-            string JD = "";
-            string JY = "";
-            string JN = "";
-            string XL = "";
-            string GV = "";
-            string JDV = "";
-            string JYV = "";
-            string JNV = "";
-            string XLV = "";
-            string GVV = "";
-            //if (imaQAB009.EditValue.ToString() != VSLoginInfo.SystemParam["DianJianNo"].ToString())
-            //{
-            //    return "";
-            //}
-            //string sql = string.Format(@" select MIG006 from BASMIG(nolock) where MIG001='DianJianQuShu' and MIG003='{0}' and MIG005='Y'", txtDAA042.EditValue.ToString());
-            //DataTable dt = manager.GetDataTable(sql, "tmpBASMIG");
-            //if (dt == null || dt.Rows.Count <= 0)
-            //{
-            //    return "";
-            //}
-            try
-            {
-                //FileStream fs = new FileStream(dt.Rows[0][0].ToString(), FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
-                //int fsLen = (int)fs.Length;
-                //byte[] heByte = new byte[fsLen];
-                //fs.Read(heByte, 0, heByte.Length);
-                //string myStr = System.Text.Encoding.Default.GetString(heByte);
-                //fs.Close();
-                string strPath = @"D:\uploadData.txt";
-                string myStr = File.ReadAllText(strPath, Encoding.Default);
-                if (myStr == "")
-                {
-                    return "NULL";
-                }
-                File.WriteAllText(strPath, "");
-                JArray dsTemp = JArray.Parse(myStr);
-
-                foreach (var ss in dsTemp)  //鏌ユ壘鏌愪釜瀛楁涓庡��
-                {
-                    TM = (((JObject)ss)["TiaoMa"] == null) ? "" : ((JObject)ss)["TiaoMa"].ToString();
-                    JD = (((JObject)ss)["JieDi"] == null) ? "" : ((JObject)ss)["JieDi"]["state"].ToString();
-                    JY = (((JObject)ss)["JueYuan"] == null) ? "" : ((JObject)ss)["JueYuan"]["state"].ToString();
-                    JN = (((JObject)ss)["JiaoNai"] == null) ? "" : ((JObject)ss)["JiaoNai"]["state"].ToString();
-                    XL = (((JObject)ss)["XieLou"] == null) ? "" : ((JObject)ss)["XieLou"]["state"].ToString();
-                    GV = (((JObject)ss)["GongLv"] == null) ? "" : ((JObject)ss)["GongLv"]["state"].ToString();
-                    JDV = (((JObject)ss)["JieDi"] == null) ? "" : ((JObject)ss)["JieDi"]["value"].ToString().Replace(" ", ", ");
-                    JYV = (((JObject)ss)["JueYuan"] == null) ? "" : ((JObject)ss)["JueYuan"]["value"].ToString().Replace(" ", ", ");
-                    JNV = (((JObject)ss)["JiaoNai"] == null) ? "" : ((JObject)ss)["JiaoNai"]["value"].ToString().Replace(" ", ", ");
-                    XLV = (((JObject)ss)["XieLou"] == null) ? "" : ((JObject)ss)["XieLou"]["value"].ToString().Replace(" ", ", ");
-                    GVV = (((JObject)ss)["GongLv"] == null) ? "" : ((JObject)ss)["GongLv"]["value"].ToString().Replace(" ", ", ");
-
-                    Gs.DevApp.ToolBox.LogHelper.Debug("TM", TM);
-                    Gs.DevApp.ToolBox.LogHelper.Debug("JD", JD);
-                    Gs.DevApp.ToolBox.LogHelper.Debug("JY", JY);
-                    Gs.DevApp.ToolBox.LogHelper.Debug("XL", XL);
-                    Gs.DevApp.ToolBox.LogHelper.Debug("XLV", XLV);
-                    Gs.DevApp.ToolBox.LogHelper.Debug("GVV", GVV);
-                }
-                return "宸查噰闆�";
-            }
-            catch (Exception e)
-            {
-                return "鏂囦欢鎵撳紑澶辫触," + e.Message;
-            }
         }
 
         private void simpleButton2_Click(object sender, EventArgs e)
@@ -111,49 +40,103 @@
             string SJJG = "";
             try//姘存鍙栨暟锛屽悗闈㈣ˉ鍏�
             {
-                string hostname = "192.168.1.5";
+                System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
+                System.Text.StringBuilder sbFj = new System.Text.StringBuilder();
+                string hx = "\r\n";
+
                 ModbusFactory modbusFactory = new ModbusFactory();
-                IModbusMaster master = modbusFactory.CreateMaster(new TcpClient(hostname, 26));
+                IModbusMaster master = modbusFactory.CreateMaster(new TcpClient(hostname, 502));
                 master.Transport.ReadTimeout = 10000;
                 master.Transport.Retries = 10000;
-                DataTable dt = new DataTable();
+
                 //鍙傛暟(鍒嗗埆涓轰粠绔欏湴鍧�,璧峰鍦板潃,闀垮害)
-                byte slaveAddress = byte.Parse(dt.Rows[0][0].ToString());
-                ushort numberOfPoints = ushort.Parse("1");
+                byte slaveAddress = byte.Parse(txt_slaveAddress.SelectedText.Trim());
+                ushort numberOfPoints = ushort.Parse(txtGs.Text.Trim());
+
+                // 璁剧疆璇诲彇鐨勮捣濮嬪湴鍧�鍜屾暟閲�
+                //ushort startAddress = 300;
+                //ushort numberOfPoints = 20; // 璇诲彇300-320鍏辫21涓瘎瀛樺櫒鐨勫��
+
                 float fsw = 0;
-                DataTable dt1 = new DataTable();
-                ushort[] csl1 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(dt1.Rows[0]["MIG003"].ToString()), numberOfPoints);
+                /*
+                  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();
-
-                ushort[] sw1 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(dt1.Rows[1]["MIG003"].ToString()), numberOfPoints);
+                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();
-
-                ushort[] csl2 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(dt1.Rows[2]["MIG003"].ToString()), numberOfPoints);
+                sbFj.Append("妯″紡1姘存俯:" + gets(sw1) + "-->" + strSw1 + hx);
+                //妯″紡2鍑烘按閲�
+                ushort[] csl2 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(34.ToString()), numberOfPoints);
                 strCsl2 = csl2[0].ToString();
-
-                ushort[] sw2 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(dt1.Rows[3]["MIG003"].ToString()), numberOfPoints);
+                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();
-
-                ushort[] csl3 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(dt1.Rows[4]["MIG003"].ToString()), numberOfPoints);
+                sbFj.Append("妯″紡2姘存俯:" + gets(sw2) + "-->" + strSw2 + hx);
+                //妯″紡3鍑烘按閲�
+                ushort[] csl3 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(36.ToString()), numberOfPoints);
                 strCsl3 = csl3[0].ToString();
-
-                ushort[] sw3 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(dt1.Rows[5]["MIG003"].ToString()), numberOfPoints);
+                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();
-
-                ushort[] csl4 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(dt1.Rows[6]["MIG003"].ToString()), numberOfPoints);
+                sbFj.Append("妯″紡3姘存俯:" + gets(sw3) + "-->" + strSw3 + hx);
+                //妯″紡4鍑烘按閲�
+                ushort[] csl4 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(38.ToString()), numberOfPoints);
                 strCsl4 = csl4[0].ToString();
-
-                ushort[] sw4 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(dt1.Rows[7]["MIG003"].ToString()), numberOfPoints);
+                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();
-
-                ushort[] csl5 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(dt1.Rows[8]["MIG003"].ToString()), numberOfPoints);
+                sbFj.Append("妯″紡4姘存俯:" + gets(sw4) + "-->" + strSw4 + hx);
+                //妯″紡5鍑烘按閲�
+                ushort[] csl5 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(40.ToString()), numberOfPoints);
                 strCsl5 = csl5[0].ToString();
-
-                ushort[] sw5 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(dt1.Rows[9]["MIG003"].ToString()), numberOfPoints);
+                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();
-
-                bool[] sjjg = master.ReadCoils(slaveAddress, ushort.Parse(dt1.Rows[10]["MIG003"].ToString()), numberOfPoints);
+                sbFj.Append("妯″紡5姘存俯:" + gets(sw5) + "-->" + strSw5 + hx);
+                //缁撴灉
+                bool[] sjjg = master.ReadCoils(slaveAddress, ushort.Parse(77.ToString()), numberOfPoints);
                 SJJG = sjjg[0].ToString();
+                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}");
+                //}
             }
             catch (Exception ex)
             {
@@ -161,7 +144,116 @@
                 //txtGWM.EditValue = "";
                 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