From 839cd7bba832638a5ba1fb2d3e4e0619e33651e3 Mon Sep 17 00:00:00 2001
From: zxx <Zxx@HanInfo>
Date: 星期一, 19 五月 2025 17:33:28 +0800
Subject: [PATCH] 主动绑定接口 rgv安全交互

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs |  359 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 262 insertions(+), 97 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs
index b36f0fd..8777d39 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs
@@ -20,6 +20,9 @@
 using Opc.Ua;
 using System.Collections;
 using System.Xml.Linq;
+using System.Threading;
+using static HH.WCS.JuShi.dispatch.NDC;
+using static HH.WCS.JuShi.util.Settings;
 
 namespace HH.WCS.JuShi.process
 {
@@ -99,17 +102,121 @@
         /// <param name="state"></param>
         internal static void OperateStatus(WCSTask mst, int state)
         {
-            if (state == 4)
+            if (state == 4)//鍙栬揣瀹屾垚
             {
                 CacheBitUpdate(mst, true);
+                //鎷嗘墭鏈哄畨鍏ㄤ氦浜�+                ctjSafe(mst);
+
             }
             if (state == 6)//鍗歌揣瀹屾垚
             {
                 CacheBitUpdate(mst, false);
+                //rgv瀹夊叏浜や簰
+                rgvSafe(mst);
+                //鎷嗘墭鏈哄畨鍏ㄤ氦浜�+                ctjSafe(mst);
+
             }
             if (state == 7)
             {
                 CacheBitCancelUpdate(mst);
+            }
+        }
+        //rgv瀹夊叏浜や簰
+        private static void rgvSafe(WCSTask mst)
+        {
+            //rgv瀹夊叏浜や簰  鏍规嵁缁堢偣璐т綅鎵惧埌鏄摢涓猺gv
+            var reservoir = Settings.ReservoirAreas.Where(a => a.areaName == "RGV搴撳尯").FirstOrDefault();
+            if (mst.S_END_AREA.Equals(reservoir.areaCode))
+            {
+                var safeInteractions = Settings.SafeInteractions.Where(a => a.location == mst.S_END_LOC).FirstOrDefault();
+
+                var safelists = JsonConvert.DeserializeObject<List<SafeInteraction>>(DeviceProcess.rgvSafeInteraction);
+
+                if (safelists.Any())
+                {
+                    var safelist = safelists.Where(s => s.ip == safeInteractions.ip).First();
+                    LogHelper.Info($"RGV瀹夊叏浜や簰鍙傛暟{safelist}");
+                    //涓嶇瓑浜�2鍗歌揣瀹屾垚纭淇″彿 灏辨帴鐫�彂
+                    if (safelist.data != "2")
+                    {
+                        string datastr = "3F00102030400D0A";
+                        // 杩斿洖淇″彿
+                        switch (safeInteractions.pointCode)
+                        {
+                            case "RGV1":
+                                datastr = datastr.Replace("10", "11");
+                                break;
+                            case "RGV2":
+                                datastr = datastr.Replace("20", "21");
+                                break;
+                            case "RGV3":
+                                datastr = datastr.Replace("30", "31");
+                                break;
+                            case "RGV4":
+                                datastr = datastr.Replace("40", "41");
+                                break;
+                        }
+                        LogHelper.Info($"RGV瀹夊叏浜や簰鍙戦�淇″彿{safelist.ip},{datastr}");
+                        PlcHelper.SendHex(safelist.ip, datastr);
+                        //浼戠湢3绉掑啀璋�+                        Thread.Sleep(3000);
+                        rgvSafe(mst);
+                    }
+                    else
+                    {
+                        LogHelper.Info($"RGV瀹夊叏浜や簰鍙戦�淇″彿{safelist.ip},3F00102030400D0A");
+                        //鏃犵姸鎬佷俊鍙�+                        PlcHelper.SendHex(safelist.ip, "3F00102030400D0A");
+
+                    }
+                }
+            }
+        }
+        //鎷嗘墭鏈哄畨鍏ㄤ氦浜�+        private static void ctjSafe(WCSTask mst)
+        {
+            PlcDeviceTable plcDeviceTable = null;
+            //鎵惧埌绾夸綋 鏍规嵁绾夸綋鎵惧唴瀛橀噷鐨勭姸鎬�+            var rkreservoirs = Settings.ConveyorLinesInfos.Where(s => s.location == mst.S_END_LOC).FirstOrDefault();
+            var ckreservoirs = Settings.ConveyorLinesInfos.Where(s => s.location == mst.S_START_LOC).FirstOrDefault();
+            if (rkreservoirs != null)
+            {
+                plcDeviceTable = S7Helper.plcDeviceTables.Find(a => a.DeviceNo == rkreservoirs.code);
+            }
+            else if (ckreservoirs != null)
+            {
+                plcDeviceTable = S7Helper.plcDeviceTables.Find(a => a.DeviceNo == ckreservoirs.code);
+            }
+            LogHelper.Info($"鎷嗘墭鏈哄畨鍏ㄤ氦浜掑啓鍏ュ弬鏁皗plcDeviceTable}");
+            if (plcDeviceTable != null)
+            {
+                //s7鍐欏叆
+                double addr = 0;         //鍋忕Щ閲�+                string deviceNo = null;//鎷嗘墭鏈哄彿
+                if (plcDeviceTable.DeviceNo == 1003)
+                {
+                    addr = 90.1;
+                    deviceNo = "1";
+                }
+                else if (plcDeviceTable.DeviceNo == 1006)
+                {
+                    addr = 180.1;
+                    deviceNo = "2";
+                }
+                else if (plcDeviceTable.DeviceNo == 1001)
+                {
+                    addr = 30.0;
+                    deviceNo = "1";
+                }
+                else if (plcDeviceTable.DeviceNo == 1004)
+                {
+                    addr = 120.0;
+                    deviceNo = "2";
+                }
+                LogHelper.Info($"鎷嗘墭鏈哄畨鍏ㄤ氦浜掑啓鍏deviceNo}锛寋addr}");
+                S7Helper.WriteDouble(deviceNo, 9, addr, 1);
             }
         }
 
@@ -316,70 +423,45 @@
                     string parmeD = "}";
                     string parme = parmeS + src + dst + parmeD;
                     int res = 0;
-                    if (mst.S_TYPE == "鍛煎彨绌烘墭" || mst.S_TYPE == "鎸夐挳鐩掕皟鐢ㄧ┖鎵� || mst.S_TYPE == "鎷嗘墭")
-                    {
-                        PlcDeviceTable plcDeviceTable = null;
-                        //鎵惧埌绾夸綋 鏍规嵁绾夸綋鎵惧唴瀛橀噷鐨勭姸鎬�-                        var reservoirs1 = Settings.ConveyorLinesInfos.Where(s => s.location == startLoc.S_CODE).FirstOrDefault();
-                        plcDeviceTable = S7Helper.plcDeviceTables.Find(a => a.DeviceNo == reservoirs1.code);
-                        if (plcDeviceTable != null)
-                        {
-                            if (mst.S_TYPE == "鍛煎彨绌烘墭" || mst.S_TYPE == "鎸夐挳鐩掕皟鐢ㄧ┖鎵�)
-                            {
-                                LogHelper.Info($"鍛煎彨绌烘墭鐘舵�鍙傛暟{JsonConvert.SerializeObject(plcDeviceTable)}", "浠诲姟");
-                                //0-鑴辨満鐘舵�锛�-寰呮満鐘舵�锛�-杩愯涓�   寰呮満涓旀湁鎵樼洏涓旇姹傚彇妗嗘墠璧�-                                if (plcDeviceTable.workMode == 1 && plcDeviceTable.lightAction == 1 && plcDeviceTable.requestTake)
-                                {
-                                    LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
-                                    res = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, parme);
-                                }
-                            }
-                            else if (mst.S_TYPE == "鎷嗘墭")
-                            {
-                                LogHelper.Info($"鎷嗘墭鐘舵�鍙傛暟{JsonConvert.SerializeObject(plcDeviceTable)}", "浠诲姟");
-                                //0-鑴辨満鐘舵�锛�-寰呮満鐘舵�锛�-杩愯涓�   寰呮満涓旀棤鎵樼洏涓斿厑璁告斁妗嗘墠璧�-                                if (plcDeviceTable.workMode == 1 && plcDeviceTable.lightAction == 0 && plcDeviceTable.requestPut)
-                                {
-                                    LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
-                                    res = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, parme);
-                                }
-                            }
-                            //浠诲姟瀹屾垚鍐欏叆s7
-                            if (res > 0)
-                            {
-                                //s7鍐欏叆 agv鍙栨瀹屾垚
-                                double addr = 0;         //鍋忕Щ閲�-                                string deviceNo = null;//鎷嗘墭鏈哄彿
-                                if (plcDeviceTable.DeviceNo == 1003)
-                                {
-                                    addr = 90.1;
-                                    deviceNo = "1";
-                                }
-                                else if (plcDeviceTable.DeviceNo == 1006)
-                                {
-                                    addr = 180.1;
-                                    deviceNo = "2";
-                                }
-                                else if (plcDeviceTable.DeviceNo == 1001)
-                                {
-                                    addr = 30.0;
-                                    deviceNo = "1";
-                                }
-                                else if (plcDeviceTable.DeviceNo == 1004)
-                                {
-                                    addr = 120.0;
-                                    deviceNo = "2";
-                                }
-                                S7Helper.WriteDouble(deviceNo, 9, addr, 1);
-
-                            }
-                        }
-                    }
-                    else
-                    {
-                        LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
-                        res = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, parme);
-                    }
+                    LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
+                    res = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, parme);
+                    #region
+                    //if (mst.S_TYPE == "鍛煎彨绌烘墭" || mst.S_TYPE == "鎸夐挳鐩掕皟鐢ㄧ┖鎵� || mst.S_TYPE == "鎷嗘墭")
+                    //{
+                    //    PlcDeviceTable plcDeviceTable = null;
+                    //    //鎵惧埌绾夸綋 鏍规嵁绾夸綋鎵惧唴瀛橀噷鐨勭姸鎬�+                    //    var reservoirs1 = Settings.ConveyorLinesInfos.Where(s => s.location == startLoc.S_CODE).FirstOrDefault();
+                    //    plcDeviceTable = S7Helper.plcDeviceTables.Find(a => a.DeviceNo == reservoirs1.code);
+                    //    if (plcDeviceTable != null)
+                    //    {
+                    //        if (mst.S_TYPE == "鍛煎彨绌烘墭" || mst.S_TYPE == "鎸夐挳鐩掕皟鐢ㄧ┖鎵�)
+                    //        {
+                    //            LogHelper.Info($"鍛煎彨绌烘墭鐘舵�鍙傛暟{JsonConvert.SerializeObject(plcDeviceTable)}", "浠诲姟");
+                    //            //0-鑴辨満鐘舵�锛�-寰呮満鐘舵�锛�-杩愯涓�   寰呮満涓旀湁鎵樼洏涓旇姹傚彇妗嗘墠璧�+                    //            if (plcDeviceTable.workMode == 1 && plcDeviceTable.lightAction == 1 && plcDeviceTable.requestTake)
+                    //            {
+                    //                LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
+                    //                res = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, parme);
+                    //            }
+                    //        }
+                    //        else if (mst.S_TYPE == "鎷嗘墭")
+                    //        {
+                    //            LogHelper.Info($"鎷嗘墭鐘舵�鍙傛暟{JsonConvert.SerializeObject(plcDeviceTable)}", "浠诲姟");
+                    //            //0-鑴辨満鐘舵�锛�-寰呮満鐘舵�锛�-杩愯涓�   寰呮満涓旀棤鎵樼洏涓斿厑璁告斁妗嗘墠璧�+                    //            if (plcDeviceTable.workMode == 1 && plcDeviceTable.lightAction == 0 && plcDeviceTable.requestPut)
+                    //            {
+                    //                LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
+                    //                res = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, parme);
+                    //            }
+                    //        }
+                    //    }
+                    //}
+                    //else
+                    //{
+                    //    LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
+                    //    res = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, parme);
+                    //}
+                    #endregion
                     if (res > 0)
                     {
                         //鏇存柊浠诲姟鐘舵�
@@ -713,7 +795,7 @@
             {
                 //鏌ヨ杩欎釜搴撳尯鐨勭┖鎵樼洏涓庢弧鎵樼洏
                 var list = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == area).OrderByDescending(a => a.N_ROW).ToList();
-                LogHelper.Info($"鏌ヨ杩欎釜搴撳尯鐨勭┖鎵樼洏涓庢弧鎵樼洏锛歿JsonConvert.SerializeObject(list)}");
+                //LogHelper.Info($"鏌ヨ杩欎釜搴撳尯鐨勭┖鎵樼洏涓庢弧鎵樼洏锛歿JsonConvert.SerializeObject(list)}");
                 if (list.Count > 0)
                 {
                     List<string> loca = new List<string>();
@@ -1263,12 +1345,11 @@
             try
             {
                 var db = new SqlHelper<object>().GetInstance();
-                //涓夎〃鑱旀煡鏌ュ嚭鏈夎鐗╂枡鐨勮揣浣嶇紪鍙�
+                //涓よ〃鑱旀煡鏌ュ嚭鏈夎鐗╂枡鐨勮揣浣嶇紪鍙� 锛堢幇鍦烘病鏈夌墿鏂欒〃锛�                 var locCntrs = db.Queryable<LocCntrRel>().LeftJoin<CntrItemDetail>((p, m) => p.S_CNTR_CODE == m.S_CNTR_CODE)
-                .LeftJoin<TN_Material>((p, m, s) => m.S_ITEM_CODE == s.S_ITEM_CODE)
-                .Where((p, m, s) => s.S_ITEM_CODE == itemCode)
-                .OrderBy((p, m, s) => p.T_CREATE)  //鎸夊垱寤烘椂闂撮『搴�-                .Select((p, m, s) => p.S_LOC_CODE) // 閫夋嫨鎵樼洏鐗╂枡琛ㄧ殑鏁版嵁
+                .Where((p, m) => m.S_ITEM_CODE == itemCode)
+                .OrderBy((p, m) => p.T_CREATE)  //鎸夊垱寤烘椂闂撮『搴�+                .Select((p, m) => p.S_LOC_CODE) // 閫夋嫨鎵樼洏鐗╂枡琛ㄧ殑鏁版嵁
                 .ToList();
                 LogHelper.Info($"鏈夌墿鏂檣itemCode}鐨勮揣浣嶇紪鍙穥JsonConvert.SerializeObject(locCntrs)}");
                 //鎵惧父瑙勯�妫�尯鍐呭惈鏈夋煡鍑虹墿鏂欒揣浣嶇殑璐т綅
@@ -1438,7 +1519,7 @@
                 //鏍规嵁鐗╂枡鎵炬煇搴撳尯鐨勮揣浣�                 var cgreservoirs = Settings.ReservoirAreas.Where(s => s.areaName == "閫佹缂撳瓨鍖�).FirstOrDefault();
                 var startloc = getLocByMaterial(model.S_ITEM_CODE, cgreservoirs.areaCode);
-                if (startloc==null)
+                if (startloc == null)
                 {
                     return new Results { Code = "1", Message = $"鏈壘鍒板寘鍚墿鏂檣model.S_ITEM_CODE}鐨勮揣浣�, Data = null };
                 }
@@ -1467,7 +1548,38 @@
                 throw;
             }
         }
-
+        /// <summary>
+        /// 涓诲姩鐗╂枡缁戝畾
+        /// </summary>
+        /// <param name="model.S_ITEM_CODE">鐗╂枡缂栫爜</param>
+        /// <param name="model.BIND_LOC">缁戝畾璐т綅</param>
+        /// <returns></returns>
+        internal static Results bindMaterial(GetSubmitCheck model)
+        {
+            var result = new Results() { Code = "0", Message = "鐗╂枡缁戝畾鎴愬姛锛�, Data = null };
+            var db = new SqlHelper<Location>().GetInstance();
+            try
+            {
+                string cntrStr = ContainerHelper.GenerateCntrNo();
+                var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == model.BIND_LOC).First();
+                if (locCntrRel != null)
+                {
+                    cntrStr = locCntrRel.S_CNTR_CODE;
+                }
+                var res = ContainerHelper.BindLocCntrs(model.BIND_LOC, cntrStr, model.S_ITEM_CODE, "甯冨嵎");
+                if (!res)
+                {
+                    return new Results { Code = "1", Message = $"鐗╂枡{model.S_ITEM_CODE}璐т綅{model.BIND_LOC}缁戝畾澶辫触", Data = null };
+                }
+                return result;
+            }
+            catch (Exception ex)
+            {
+                Console.WriteLine("bindMaterial:" + ex.Message + ex.StackTrace);
+                LogHelper.Error("bindMaterial:" + ex.Message, ex);
+                throw;
+            }
+        }
         /// <summary>
         /// 鎸夐挳鐩掕皟鐢ㄤ笅绾�         /// </summary>
@@ -1570,40 +1682,93 @@
         {
             //0鍏佽杩涘叆 1涓嶅厑璁歌繘鍏�             var result = new safeResult() { code = "1", msg = "success" };
-            var db = new SqlHelper<Location>().GetInstance();
             try
             {
-                var reservoirs = Settings.SafeDoors.Where(s => s.pointCode == model.STATION_NAME).FirstOrDefault();//y0-0000 y1-0001  on-FF00  off-0000
-                TcpClient tcpClient = new TcpClient();
-                //璇锋眰杩涘叆
-                if (model.APPLY_CODE.Equals("1") || model.APPLY_CODE.Equals("5"))
+                var reservoirs = Settings.SafeInteractions.Where(s => s.pointCode == model.STATION_NAME).FirstOrDefault();//y0-0000 y1-0001  on-FF00  off-0000
+                var rgvSafeInteraction = DeviceProcess.rgvSafeInteraction;
+                //RGV
+                if (reservoirs.type.Equals("RGV"))
                 {
-                    //鍙戦�淇″彿鍐欒姹傚紑闂�   
-                    var str = tcpClient.WriteSingleRegisterRtu("01050000FF008C3A", reservoirs.ip, int.Parse(reservoirs.port));
-                    //鍙戦�淇″彿璇婚棬鐘舵�
-                    var x0bool = tcpClient.ReadInputRegistersRtu("010200000001B9CA", reservoirs.ip, int.Parse(reservoirs.port));
-                    //濡傛灉寮�棬鍒颁綅
-                    if (x0bool)
+                    LogHelper.Info($"RGV瀹夊叏浜や簰  璇锋眰鐐逛綅锛歿model.STATION_NAME}璇锋眰鐮侊細{model.APPLY_CODE}");
+                    //鍗歌揣璇锋眰杩涘叆
+                    if (model.APPLY_CODE.Equals("5"))
                     {
-                        return new safeResult() { code = "0", msg = "success" };
+                        //鏍规嵁ip璇荤姸鎬�+                        if (rgvSafeInteraction != null)
+                        {
+                            LogHelper.Info($"RGV瀹夊叏浜や簰鍙傛暟{JsonConvert.SerializeObject(rgvSafeInteraction)}");
+                            var safelist = JsonConvert.DeserializeObject<List<SafeInteraction>>(rgvSafeInteraction);
+                            if (safelist.Any())
+                            {
+                                var safedata = safelist.Where(s => s.ip == reservoirs.ip).First();
+                                //1鍏佽鍗歌揣  2鍗歌揣瀹屾垚纭
+                                if (safedata.data == "1")
+                                {
+                                    LogHelper.Info($"RGV瀹夊叏浜や簰 鍏佽鍗歌揣");
+                                    return new safeResult() { code = "0", msg = "success" };
+                                }
+                            }
+                        }
                     }
                 }
-                //璇锋眰绂诲紑
-                else if (model.APPLY_CODE.Equals("4") || model.APPLY_CODE.Equals("8"))
+                //鎷嗘墭鏈�+                else if (reservoirs.type.Equals("CTJ"))
                 {
-                    //鍙戦�淇″彿鍐欒姹傚叧闂�-                    var str = tcpClient.WriteSingleRegisterRtu("010500000000CDCA", reservoirs.ip, int.Parse(reservoirs.port));
-                    var str2 = tcpClient.WriteSingleRegisterRtu("01050001FF00DDFA", reservoirs.ip, int.Parse(reservoirs.port));
-                    //鍙戦�淇″彿璇婚棬鐘舵�
-                    var x0bool = tcpClient.ReadInputRegistersRtu("010200010001E80A", reservoirs.ip, int.Parse(reservoirs.port));
-                    //濡傛灉闂ㄥ凡鍏�-                    if (x0bool)
+                    LogHelper.Info($"鎷嗘墭鏈哄畨鍏ㄤ氦浜� 璇锋眰鐐逛綅锛歿model.STATION_NAME}璇锋眰鐮侊細{model.APPLY_CODE}");
+                    //鎵惧埌绾夸綋 鏍规嵁绾夸綋鎵惧唴瀛橀噷鐨勭姸鎬�+                    var reservoirs1 = Settings.ConveyorLinesInfos.Where(s => s.location == model.STATION_NAME).FirstOrDefault();
+                    var plcDeviceTable = S7Helper.plcDeviceTables.Find(a => a.DeviceNo == reservoirs1.code);
+                    if (plcDeviceTable != null)
                     {
-                        return new safeResult() { code = "0", msg = "success" };
-                    }
+                        LogHelper.Info($"鎷嗘墭鏈哄畨鍏ㄤ氦浜掑弬鏁皗JsonConvert.SerializeObject(plcDeviceTable)}");
+                        if (model.APPLY_CODE.Equals("1"))
+                        {
+                            //0-鑴辨満鐘舵�锛�-寰呮満鐘舵�锛�-杩愯涓�   寰呮満涓旀湁鎵樼洏涓旇姹傚彇妗嗘墠璧�+                            if (plcDeviceTable.workMode == 1 && plcDeviceTable.lightAction == 1 && plcDeviceTable.requestTake)
+                            {
+                                LogHelper.Info($"鎷嗘墭鏈哄畨鍏ㄤ氦浜�鍏佽鍙栨");
+                                return new safeResult() { code = "0", msg = "success" };
+                            }
 
+                        }
+                        else if (model.APPLY_CODE.Equals("5"))
+                        {
+                            //0-鑴辨満鐘舵�锛�-寰呮満鐘舵�锛�-杩愯涓�   寰呮満涓旀棤鎵樼洏涓斿厑璁告斁妗嗘墠璧�+                            if (plcDeviceTable.workMode == 1 && plcDeviceTable.lightAction == 0 && plcDeviceTable.requestPut)
+                            {
+                                LogHelper.Info($"鎷嗘墭鏈哄畨鍏ㄤ氦浜�鍏佽鏀炬");
+                                return new safeResult() { code = "0", msg = "success" };
+                            }
+                        }
+                    }
                 }
-                return null;
+
+                //TcpClient tcpClient = new TcpClient();
+                ////鍙戦�淇″彿鍐欒姹傚紑闂�+                //var str = tcpClient.WriteSingleRegisterRtu("01050000FF008C3A", reservoirs.ip, int.Parse(reservoirs.port));
+                ////鍙戦�淇″彿璇婚棬鐘舵�
+                //var x0bool = tcpClient.ReadInputRegistersRtu("010200000001B9CA", reservoirs.ip, int.Parse(reservoirs.port));
+                ////濡傛灉寮�棬鍒颁綅
+                //if (x0bool)
+                //{
+                //    return new safeResult() { code = "0", msg = "success" };
+                //}
+                ////璇锋眰绂诲紑
+                //else if (model.APPLY_CODE.Equals("8"))
+                //{
+                //    ////鍙戦�淇″彿鍐欒姹傚叧闂�+                //    //var str = tcpClient.WriteSingleRegisterRtu("010500000000CDCA", reservoirs.ip, int.Parse(reservoirs.port));
+                //    //var str2 = tcpClient.WriteSingleRegisterRtu("01050001FF00DDFA", reservoirs.ip, int.Parse(reservoirs.port));
+                //    ////鍙戦�淇″彿璇婚棬鐘舵�
+                //    //var x0bool = tcpClient.ReadInputRegistersRtu("010200010001E80A", reservoirs.ip, int.Parse(reservoirs.port));
+                //    ////濡傛灉闂ㄥ凡鍏�+                //    //if (x0bool)
+                //    //{
+                //    //    return new safeResult() { code = "0", msg = "success" };
+                //    //}
+
+                //}
+                return result;
             }
             catch (Exception ex)
             {

--
Gitblit v1.9.1