From b5dcb53aa7b452d44b4fc19a0c830f86ab9cb5aa Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期五, 25 七月 2025 15:19:50 +0800
Subject: [PATCH] Merge branch 'master' of http://git.gs-mes.com:8080/r/~tjx/GsMesClient

---
 DevApp/Gs.DevApp/XtraForm1.cs |  262 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 262 insertions(+), 0 deletions(-)

diff --git a/DevApp/Gs.DevApp/XtraForm1.cs b/DevApp/Gs.DevApp/XtraForm1.cs
new file mode 100644
index 0000000..f318ce3
--- /dev/null
+++ b/DevApp/Gs.DevApp/XtraForm1.cs
@@ -0,0 +1,262 @@
+锘縰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();
+        }
+
+        private void simpleButton2_Click(object sender, EventArgs e)
+        {
+            string strCsl1 = "";
+            string strSw1 = "";
+            string strCsl2 = "";
+            string strSw2 = "";
+            string strCsl3 = "";
+            string strSw3 = "";
+            string strCsl4 = "";
+            string strSw4 = "";
+            string strCsl5 = "";
+            string strSw5 = "";
+            string SJJG = "";
+            try//姘存鍙栨暟锛屽悗闈㈣ˉ鍏�
+            {
+                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, 502));
+                master.Transport.ReadTimeout = 10000;
+                master.Transport.Retries = 10000;
+
+                //鍙傛暟(鍒嗗埆涓轰粠绔欏湴鍧�,璧峰鍦板潃,闀垮害)
+                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;
+                /*
+                  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鍑烘按閲�:" + 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姘存俯:" + gets(sw1) + "-->" + strSw1 + hx);
+                //妯″紡2鍑烘按閲�
+                ushort[] csl2 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(34.ToString()), numberOfPoints);
+                strCsl2 = csl2[0].ToString();
+                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姘存俯:" + gets(sw2) + "-->" + strSw2 + hx);
+                //妯″紡3鍑烘按閲�
+                ushort[] csl3 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(36.ToString()), numberOfPoints);
+                strCsl3 = csl3[0].ToString();
+                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姘存俯:" + gets(sw3) + "-->" + strSw3 + hx);
+                //妯″紡4鍑烘按閲�
+                ushort[] csl4 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(38.ToString()), numberOfPoints);
+                strCsl4 = csl4[0].ToString();
+                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姘存俯:" + gets(sw4) + "-->" + strSw4 + hx);
+                //妯″紡5鍑烘按閲�
+                ushort[] csl5 = master.ReadHoldingRegisters(slaveAddress, ushort.Parse(40.ToString()), numberOfPoints);
+                strCsl5 = csl5[0].ToString();
+                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姘存俯:" + 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)
+            {
+                //VisiblePanel(txtDQBarCode.EditValue.ToString(), ex.Message, "NG", Color.Yellow);
+                //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)
+        {
+            System.Text.StringBuilder sbSql1 = new StringBuilder();
+            sbSql1.Append($"select MIG004,MIG005 from BASMIG(nolock) where MIG001='ShuiJianZhanWei01' and MIG003='{((BaseEdit)this.txtGWM).EditValue.ToString()}'");
+            DataTable dataTable1 = this.GetDataTable(sbSql1.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");
+                System.Text.StringBuilder sbSql2 = new StringBuilder();
+                sbSql2.Append(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"));
+                DataTable dataTable2 = GetDataTable(sbSql2.ToString(), "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