Sfoglia il codice sorgente

警报灯modbustcp通讯对接

k 2 anni fa
parent
commit
bbf1445601

+ 48 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/test/WarningLightTestController.java

@@ -0,0 +1,48 @@
+package com.ruoyi.web.controller.warewms.test;
+
+import com.ruoyi.hard.modbus.tcp.WarningLightClient;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 警报灯
+ *
+ * @author JWK
+ * @version 1.0
+ * @date 2023/04/16 14:52
+ */
+@Api("警报灯测试")
+@RestController
+@RequestMapping("/api/light")
+public class WarningLightTestController {
+
+    @Autowired(required = false)
+    private WarningLightClient warningLightClient;
+
+    /**
+     * 开灯
+     *
+     * @return
+     */
+    @ApiOperation("打开警报灯")
+    @PostMapping("/openWarningLight")
+    public Boolean openWarningLight() {
+        return warningLightClient.openWarningLight();
+    }
+
+    /**
+     * 关灯
+     *
+     * @return
+     */
+    @ApiOperation("关闭警报灯")
+    @PostMapping("/closeWarningLight")
+    public Boolean closeWarningLight() {
+        return warningLightClient.closeWarningLight();
+    }
+
+}

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

@@ -97,6 +97,10 @@ modbus:
             open: false
             host: 192.168.42.209
             port: 8899
+        eighth: # 警报灯
+            open: false
+            host: 192.168.42.212
+            port: 9000
 
 # 注意:这玩意只能跑在window上
 rfid:

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

@@ -97,6 +97,10 @@ modbus:
             open: true
             host: 192.168.42.209
             port: 8899
+        eighth: # 警报灯
+            open: true
+            host: 192.168.42.212
+            port: 9000
 
 
 rfid:

+ 53 - 0
warewms-hard/src/main/java/com/ruoyi/hard/modbus/tcp/WarningLightClient.java

@@ -0,0 +1,53 @@
+package com.ruoyi.hard.modbus.tcp;
+
+import com.jwk.spring.boot.autoconfigure.ModbusTcpMasterTemplate;
+import com.jwk.spring.boot.modbus4j.ModbusMasterUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * 警报灯对接
+ *
+ * @author JWK
+ * @version 1.0
+ * @date 2022/04/16 21:04
+ */
+@Service
+public class WarningLightClient {
+
+    /**
+     * 警报灯对接
+     */
+    @Autowired(required = false)
+    @Qualifier("modbusTcpMasterTemplateEighth")
+    private ModbusTcpMasterTemplate modbusTcpMasterTemplateEighth;
+
+
+    /**
+     * 开警报灯
+     *
+     * @return
+     */
+    public Boolean openWarningLight() {
+        ModbusMasterUtil modbusMasterUtil = modbusTcpMasterTemplateEighth.getModbusMasterUtil();
+        Boolean do1 = modbusMasterUtil.writeCoil(0x20, 0x0000, 0xFF00);//打开DO1中间端
+        Boolean do3 = modbusMasterUtil.writeCoil(0x20, 0x0002, 0xFF00);//打开DO3中间端
+        return do1 && do3;
+    }
+
+    /**
+     * 关警报灯
+     *
+     * @return
+     */
+    public Boolean closeWarningLight() {
+        ModbusMasterUtil modbusMasterUtil = modbusTcpMasterTemplateEighth.getModbusMasterUtil();
+        Boolean do1 = modbusMasterUtil.writeCoil(0x20, 0x0000, 0x0000);//关闭DO1中间端
+        Boolean do3 = modbusMasterUtil.writeCoil(0x20, 0x0002, 0x0000);//关闭DO3中间端
+        return do1 && do3;
+    }
+
+
+}