From 78b99e5348592a29ca1393a5e13db619cc4eba56 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期四, 26 十二月 2024 23:40:56 +0800
Subject: [PATCH] 入壳设备增加

---
 wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWork_JLM.cs |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWork_JLM.cs b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWork_JLM.cs
index c87d749..d6554dc 100644
--- a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWork_JLM.cs
+++ b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWork_JLM.cs
@@ -2,10 +2,12 @@
 using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
+using WIDESEA_Common;
 using WIDESEA_Common.Tools;
 using WIDESEA_Core.Utilities;
 using WIDESEA_Services.Services;
 using WIDESEA_WCS.WCSClient;
+using static FreeSql.Internal.GlobalFilter;
 
 namespace WIDESEA_WCS.SchedulerExecute.AGV
 {
@@ -17,12 +19,18 @@
         public static void AgvAndEquiWork_JLM()
         {
             PLCClient agvjrplc = WCSService.Clients.Find(v => v.PLCName == "缁勮AGV璋冨害");
+            PLCClient oiplc1F = WCSService.Clients.Find(v => v.PLCName == PLCConst.PLCName1FLKHCJ);
 
             #region 鏃犵嚎io妯″潡 104鍗风粫涓帶 寮�闂ㄤ俊鍙蜂紶閫�
             int comErr = 0;//鑷姩闂ㄦ帀绾�  "鎷嗗寘闂村嵎甯橀棬139", "娑傚竷姝h礋鏋佸嵎甯橀棬142",
             double doorCode = 2.0; //鑷姩闂↖D
             double doorState = 24.0;//鑷姩闂ㄧ姸鎬侊紝1闂ㄥ叧鍒颁綅锛�2 闂ㄥ紑鍒颁綅锛�3闂ㄦ湭鍒颁綅
             double doorOpen = 26.0; //鑷姩闂ㄦ帶鍒跺紑
+
+            int RKErr = 450;//鑷姩闂ㄦ帀绾�
+            double RKCode = 452.0; //鑷姩闂↖D
+            double RKState = 474.0;//鑷姩闂ㄧ姸鎬侊紝1闂ㄥ叧鍒颁綅锛�2 闂ㄥ紑鍒颁綅锛�3闂ㄦ湭鍒颁綅
+            double RKOpen = 476.0; //鑷姩闂ㄦ帶鍒跺紑
             try
             {
                 if (agvjrplc == null)
@@ -113,6 +121,54 @@
                     doorState += 30;
                     doorOpen += 30;
                 }
+                //鍏ュ3鍗峰笜闂� 24/12/12鏂板
+                OperateResult<bool> R_RKOpen = agvjrplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1004." + RKOpen);
+                if (!R_RKOpen.IsSuccess)
+                {
+                    return;
+                }
+                //AGV璇锋眰寮�闂�
+                if (R_RKOpen.Content)
+                {
+                    OperateResult RKOpenJLM = oiplc1F.ModbusPLCClient.ModbusTcpNetClient.Write("s=2;12",true);
+                    if (RKOpenJLM.IsSuccess)
+                    {
+                        OperateResult<bool> JLMOpen = oiplc1F.ModbusPLCClient.ModbusTcpNetClient.ReadBool("x=2;8612");
+                        if (JLMOpen.Content)//寮�闂ㄥ埌浣�
+                        {
+                            OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 2);
+                        }
+                        else//闂ㄦ湭鍒颁綅
+                        {
+                            OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 3);
+                        }
+                    }
+                    else
+                    {
+                        OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKErr), true);
+                    }
+                }
+                else
+                {
+                    //AGV涓嶇粰寮�闂ㄤ俊鍙风殑鏃跺�� 鏂紑寮�闂ㄤ俊鍙�
+                    OperateResult RKOpenJLM = oiplc1F.ModbusPLCClient.ModbusTcpNetClient.Write("s=2;12", false);
+                    if (RKOpenJLM.IsSuccess)
+                    {
+                        OperateResult<bool> JLMOpen = oiplc1F.ModbusPLCClient.ModbusTcpNetClient.ReadBool("x=2;8613");
+                        if (JLMOpen.Content)//鍏抽棬鍒颁綅
+                        {
+                            OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 1);
+                        }
+                        else//闂ㄦ湭鍒颁綅
+                        {
+                            OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 3);
+                        }
+                    }
+                    else
+                    {
+                        OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKErr), true);
+                    }
+                }
             }
             catch (Exception ex)
             {

--
Gitblit v1.9.3