Browse Source

1.中间的卷帘门开关门通讯对接
2.卷帘门和杭叉ts通讯对接(叉车进出门会请求我开关门)

k 2 years ago
parent
commit
b49931d5c2

+ 4 - 0
ruoyi-admin/src/main/resources/application-dev.yml

@@ -81,6 +81,10 @@ modbus:
             open: false
             host: 192.168.42.210
             port: 9000
+        seventh: # 卷帘门
+            open: false
+            host: 192.168.42.211
+            port: 9000
         third: # 按钮盒
             open: false
             host: 192.168.42.205

+ 4 - 0
ruoyi-admin/src/main/resources/application-prod.yml

@@ -81,6 +81,10 @@ modbus:
             open: false
             host: 192.168.42.210
             port: 9000
+        seventh: # 卷帘门
+            open: false
+            host: 192.168.42.211
+            port: 9000
         third: # 按钮盒
             open: true
             host: 192.168.42.205

+ 18 - 0
warewms-ams/src/main/java/com/ruoyi/ams/agv/ndc/service/StatusUpdateService.java

@@ -16,6 +16,24 @@ public interface StatusUpdateService {
     void updateStatus(Long id, Integer carNo);
 
 
+    /**
+     * 回告TS门已经关闭
+     *
+     * @param doorNo
+     */
     void feedbackTS(Integer doorNo);
 
+    /**
+     * 开门
+     *
+     * @param doorNo
+     */
+    void openDoor(Integer doorNo);
+
+    /**
+     * 关门
+     */
+    void closeDoor(Integer doorNo);
+
+
 }

+ 4 - 2
warewms-ams/src/main/java/com/ruoyi/ams/agv/ndc/service/impl/SocketBufferServiceImpl.java

@@ -246,11 +246,13 @@ public class SocketBufferServiceImpl implements SocketBufferService {
                         // agvUnloadingConfirmService.confirmEmptyPlate(task130.getTaskNo());
                     }
                     break;
-                case 126: //600
+                case 126: //600 中间卷帘门请求开启 定时请求 todo 默认先1
                     log.info("快速门-请求开启!");
+                    statusUpdateService.openDoor(1);
                     break;
-                case 127: //601
+                case 127: //601 中间卷帘门请求关闭 只请求一次
                     log.info("快速门-请求关闭!");
+                    statusUpdateService.closeDoor(1);
                     break;
                 case 134:
                     break;

+ 19 - 1
warewms-ams/src/main/java/com/ruoyi/ams/agv/ndc/service/impl/StatusUpdateServiceImpl.java

@@ -6,10 +6,10 @@ import com.ruoyi.ams.agv.ndc.service.IAmsTaskService;
 import com.ruoyi.ams.agv.ndc.service.StatusUpdateService;
 import com.ruoyi.ams.business.BusinessServiceImpl;
 import com.ruoyi.ams.business.IBusinessService;
-import com.ruoyi.ams.task.form.AddTaskForm;
 import com.ruoyi.ams.task.service.IWcsTaskService;
 import com.ruoyi.base.constant.Constant;
 import com.ruoyi.common.utils.uuid.SnowflakeIdWorker;
+import com.ruoyi.hard.modbus.tcp.AutoDoorClient;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -26,6 +26,8 @@ public class StatusUpdateServiceImpl implements StatusUpdateService {
     private IWcsTaskService wcsTaskService;
     @Autowired
     private IBusinessService businessService;
+    @Autowired
+    private AutoDoorClient autoDoorClient;
 
     @Override
     public void updateStatus(Long id, Integer carNo) {
@@ -102,4 +104,20 @@ public class StatusUpdateServiceImpl implements StatusUpdateService {
         }
         amsTaskService.insertAmsTask(addTaskForm);
     }
+
+    @Override
+    public void openDoor(Integer doorNo) {
+        Boolean isOpen = autoDoorClient.sendOpen(AutoDoorClient.AUTO_DOOR_NO.D);
+        if (isOpen) {
+            feedbackTS(doorNo);
+        }
+    }
+
+    @Override
+    public void closeDoor(Integer doorNo) {
+        Boolean isOpen = autoDoorClient.sendOpen(AutoDoorClient.AUTO_DOOR_NO.D);
+        if (isOpen) {
+            feedbackTS(doorNo);
+        }
+    }
 }

+ 13 - 1
warewms-hard/src/main/java/com/ruoyi/hard/modbus/tcp/AutoDoorClient.java

@@ -46,6 +46,13 @@ public class AutoDoorClient {
     @Qualifier("modbusTcpMasterTemplateSecond")
     private ModbusTcpMasterTemplate modbusTcpMasterTemplateSecond;
 
+    /**
+     * 卷帘门
+     */
+    @Autowired(required = false)
+    @Qualifier("modbusTcpMasterTemplateSeventh")
+    private ModbusTcpMasterTemplate modbusTcpMasterTemplateSeventh;
+
     private Map<String, ModbusTcpMasterTemplate> tcpMasterTemplateMap;
 
     @PostConstruct
@@ -54,6 +61,7 @@ public class AutoDoorClient {
         tcpMasterTemplateMap.put(AUTO_DOOR_NO.A.name(), modbusTcpMasterTemplateFirst);
         tcpMasterTemplateMap.put(AUTO_DOOR_NO.B.name(), modbusTcpMasterTemplateSecond);
         tcpMasterTemplateMap.put(AUTO_DOOR_NO.C.name(), modbusTcpMasterTemplateSixth);
+        tcpMasterTemplateMap.put(AUTO_DOOR_NO.D.name(), modbusTcpMasterTemplateSeventh);
     }
 
     public ModbusMasterUtil getModbusMasterUtil(AUTO_DOOR_NO doorNo) {
@@ -75,7 +83,11 @@ public class AutoDoorClient {
         /***
          * 靠墙门(第二层)
          */
-        C("3");
+        C("3"),
+        /***
+         * 卷帘门
+         */
+        D("4");
 
         private String value;