Browse Source

拆包机现场调试修改

k 2 years ago
parent
commit
9c7caf3cff

+ 31 - 11
ruoyi-admin/src/main/java/com/ruoyi/xuankuang/controller/test/UnpackingMachineController.java

@@ -1,20 +1,15 @@
 package com.ruoyi.xuankuang.controller.test;
 
-import com.ruoyi.ams.xuankuang.domain.form.OutTaskForm;
-import com.ruoyi.ams.xuankuang.domain.vo.WcsResponseVo;
+import com.ruoyi.hard.xuankang.ConvertUtil;
 import com.ruoyi.hard.xuankang.UnpackingMachineClient;
 import com.ruoyi.hard.xuankang.UnpackingMachineSubClient;
 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.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import static com.ruoyi.hard.xuankang.UnpackingMachineClient.REGISTER_CODE.REGISTER_CODE_131;
-import static com.ruoyi.hard.xuankang.UnpackingMachineClient.REGISTER_CODE.REGISTER_CODE_132;
-
 /**
  * @author Jwk
  * @version 1.0
@@ -97,14 +92,39 @@ public class UnpackingMachineController {
     }
 
     /**
-     * 启动拆包机1#
+     * 启动关闭拆包机1#
+     *
+     * @return
+     */
+    @ApiOperation("启动关闭拆包机1#接口")
+    @PostMapping("/write01")
+    public boolean write01(Boolean con) {
+        return unpackingMachineSubClient.writeV140_5(con);
+    }
+
+
+    /**
+     * 读保持寄存器 03
+     *
+     * @return
+     */
+    @ApiOperation("读")
+    @PostMapping("/read")
+    public boolean[] read(Integer slaveId, Integer offset) {
+        Number read = unpackingMachineClient.read(slaveId, offset);
+        boolean[] booleans = ConvertUtil.convertToBooleans(read);
+        return booleans;
+    }
+
+    /**
+     * 写保持寄存器 06
      *
      * @return
      */
-    @ApiOperation("启动拆包机1#接口")
-    @PostMapping("write01")
-    public boolean write01() {
-        return unpackingMachineSubClient.writeV140_5(true);
+    @ApiOperation("")
+    @PostMapping("/write")
+    public boolean write01(Integer slaveId, Integer offset, Integer value) {
+        return unpackingMachineClient.write(slaveId, offset, value);
     }
 //    /**
 //     * 拆包机1#状态写入接口

+ 8 - 1
warewms-hard/src/main/java/com/ruoyi/hard/xuankang/ConvertUtil.java

@@ -1,5 +1,7 @@
 package com.ruoyi.hard.xuankang;
 
+import java.util.Arrays;
+
 /**
  * @author Jwk
  * @version 1.0
@@ -14,7 +16,7 @@ public class ConvertUtil {
         StringBuilder stringBuilder = new StringBuilder(string);
         String string1 = stringBuilder.reverse().toString();
         char[] chars = string1.toCharArray();
-        boolean[] booleans = new boolean[chars.length];
+        boolean[] booleans = new boolean[16];
         for (int j = 0; j < chars.length; j++) {
             if (chars[j] == 49) {
                 booleans[j] = true;
@@ -35,5 +37,10 @@ public class ConvertUtil {
     public static void main(String[] args) {
         boolean[] booleans = {true,true,true,true,true,true,true,true};
         System.out.println(ConvertUtil.convertToInt(booleans));
+
+        int num = 124;
+        boolean[] booleans1 = convertToBooleans(num);
+        System.out.println(Arrays.toString(booleans1));
+
     }
 }

+ 35 - 28
warewms-hard/src/main/java/com/ruoyi/hard/xuankang/UnpackingMachineClient.java

@@ -3,9 +3,7 @@ package com.ruoyi.hard.xuankang;
 import com.jwk.spring.boot.autoconfigure.ModbusTcpMasterTemplate;
 import com.jwk.spring.boot.constant.DATA_TYPE_WRAPPER;
 import com.jwk.spring.boot.modbus4j.ModbusMasterUtil;
-import com.serotonin.modbus4j.msg.ReadResponse;
 import lombok.extern.slf4j.Slf4j;
-import com.jwk.spring.boot.constant.DATA_TYPE_WRAPPER;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
@@ -13,7 +11,6 @@ import org.springframework.stereotype.Service;
 import static com.ruoyi.hard.xuankang.UnpackingMachineClient.REGISTER_CODE.*;
 
 
-
 /**
  * 拆包机通讯客户端
  *
@@ -31,38 +28,39 @@ public class UnpackingMachineClient {
     @Autowired(required = false)
     @Qualifier("modbusTcpMasterTemplateSecond")
     private ModbusTcpMasterTemplate modbusTcpMasterTemplateSecond;
+
     /**
      * 拆包机命令
      */
     public enum REGISTER_CODE {
         //寄存器VB128
-        REGISTER_CODE_128(1,127,1,0),
+        REGISTER_CODE_128(1, 127, 1, 0),
         //寄存器VB129
-        REGISTER_CODE_129(1,128,1,0),
+        REGISTER_CODE_129(1, 128, 1, 0),
         //寄存器VB130
-        REGISTER_CODE_130(1,129,1,0),
+        REGISTER_CODE_130(1, 129, 1, 0),
         //寄存器VB131
-        REGISTER_CODE_131(1,130,1,0),
+        REGISTER_CODE_131(1, 130, 1, 0),
         //寄存器VB132
-        REGISTER_CODE_132(1,131,1,0),
+        REGISTER_CODE_132(1, 131, 1, 0),
         //寄存器VB133 皮带运行状态
-        REGISTER_CODE_133(1,132,1,0),
+        REGISTER_CODE_133(1, 132, 1, 0),
         //寄存器VB134
-        REGISTER_CODE_134(1,133,1,0),
+        REGISTER_CODE_134(1, 133, 1, 0),
         //寄存器VB135
-        REGISTER_CODE_135(1,134,1,0),
+        REGISTER_CODE_135(1, 134, 1, 0),
         //寄存器VB136
-        REGISTER_CODE_136(1,135,1,0),
+        REGISTER_CODE_136(1, 135, 1, 0),
         //寄存器VB137
-        REGISTER_CODE_137(1,136,1,0),
+        REGISTER_CODE_137(1, 136, 1, 0),
         //寄存器VB138
-        REGISTER_CODE_138(1,137,1,0),
+        REGISTER_CODE_138(1, 137, 1, 0),
         //寄存器VB139
-        REGISTER_CODE_139(1,138,1,0),
+        REGISTER_CODE_139(1, 138, 1, 0),
         //寄存器VB140
-        REGISTER_CODE_140(1,139,1,0),
+        REGISTER_CODE_140(1, 139, 1, 0),
         //寄存器VB141
-        REGISTER_CODE_141(1,140,1,0);
+        REGISTER_CODE_141(1, 140, 1, 0);
         /**
          * 从节点id
          */
@@ -89,19 +87,24 @@ public class UnpackingMachineClient {
 
         }
 
-        public int getSlaveId() {return slaveId;}
+        public int getSlaveId() {
+            return slaveId;
+        }
 
         public int getOffset() {
             return offset;
         }
 
-        public int getValue0() {return value0;}
+        public int getValue0() {
+            return value0;
+        }
 
         public int getValue1() {
             return value1;
         }
 
     }
+
     /**
      * 读拆包机1#各部件状态
      *
@@ -220,6 +223,7 @@ public class UnpackingMachineClient {
 
     /**
      * 读拆包机就地/远程 1# 2# 3#拆包机启动
+     *
      * @return
      */
     public boolean[] readUnpackingRemoteInPlace01() {
@@ -231,6 +235,7 @@ public class UnpackingMachineClient {
 
     /**
      * 写拆包机就地/远程 1# 2# 3#拆包机启动
+     *
      * @return
      */
     public Boolean writeUnpackingRemoteInPlace01(int value) {
@@ -239,6 +244,7 @@ public class UnpackingMachineClient {
 
     /**
      * 读4# 5#拆包机启动   1# 2# 3# 4# 5#拆包机停止
+     *
      * @return
      */
     public boolean[] readUnpackingRemoteInPlace02() {
@@ -249,6 +255,7 @@ public class UnpackingMachineClient {
 
     /**
      * 写 4# 5#拆包机启动   1# 2# 3# 4# 5#拆包机停止
+     *
      * @return
      */
     public Boolean writeUnpackingRemoteInPlace02(int value) {
@@ -260,29 +267,29 @@ public class UnpackingMachineClient {
 //    public boolean write1(){
 //        return write(1, 128, 7);
 //    }
+
     /**
      * 读的方法
+     *
      * @param slaveId
      * @param offset
      * @return
      */
-      private Number read (int slaveId,int offset) {
-            ModbusMasterUtil modbusMasterUtil = modbusTcpMasterTemplateSecond.getModbusMasterUtil();
-            Number number  = modbusMasterUtil.readHoldingRegister(slaveId,offset,DATA_TYPE_WRAPPER.TWO_BYTE_INT_UNSIGNED);
-//            boolean[] booleanData = readResponse.getBooleanData();
-//            return booleanData;
-          return number;
-        }
+    public Number read(int slaveId, int offset) {
+        ModbusMasterUtil modbusMasterUtil = modbusTcpMasterTemplateSecond.getModbusMasterUtil();
+        return modbusMasterUtil.readHoldingRegister(slaveId, offset, DATA_TYPE_WRAPPER.ONE_BYTE_INT_UNSIGNED_LOWER);
+    }
 
     /**
      * 写的方法
+     *
      * @param slaveId
      * @param offset
      * @param value
      * @return
      */
-    private Boolean write(int slaveId,int offset,int value) {
+    public Boolean write(int slaveId, int offset, int value) {
         ModbusMasterUtil modbusMasterUtil = modbusTcpMasterTemplateSecond.getModbusMasterUtil();
-        return modbusMasterUtil.writeHoldingRegisters(slaveId,offset,value);
+        return modbusMasterUtil.writeHoldingRegisters(slaveId, offset, value);
     }
 }