作者 钟来

模块整理

@@ -63,7 +63,7 @@ public class ScaleStepMethodService { @@ -63,7 +63,7 @@ public class ScaleStepMethodService {
63 //发送停止投料指令 63 //发送停止投料指令
64 if (serialPortService.isOpen()) 64 if (serialPortService.isOpen())
65 { 65 {
66 - serialPortService.sendHexData(FeederCommdUtil.controlData(FeederCommd06ResponseType.OnOroff,0)); 66 + serialPortService.sendHexData(FeederCommdUtil.controlData(FeederCommd06ResponseType.runstate,0));
67 stringBuffer.append("发送停止投料指令,"); 67 stringBuffer.append("发送停止投料指令,");
68 }else{ 68 }else{
69 stringBuffer.append("投料机串口未打开,无法发送停止投料指令,"); 69 stringBuffer.append("投料机串口未打开,无法发送停止投料指令,");
@@ -21,7 +21,7 @@ public enum FeederCommd06ResponseType { @@ -21,7 +21,7 @@ public enum FeederCommd06ResponseType {
21 /** 21 /**
22 * 开/关 22 * 开/关
23 */ 23 */
24 - OnOroff(17), 24 + runstate(17),
25 /** 25 /**
26 *停投料倒计时 26 *停投料倒计时
27 */ 27 */
1 package com.zhonglai.luhui.smart.feeder.util; 1 package com.zhonglai.luhui.smart.feeder.util;
2 2
  3 +import cn.hutool.core.io.checksum.crc16.CRC16Modbus;
3 import cn.hutool.core.util.ArrayUtil; 4 import cn.hutool.core.util.ArrayUtil;
4 import com.ruoyi.common.utils.ByteUtil; 5 import com.ruoyi.common.utils.ByteUtil;
5 import com.zhonglai.luhui.smart.feeder.dto.commd.*; 6 import com.zhonglai.luhui.smart.feeder.dto.commd.*;
6 import com.zhonglai.luhui.smart.feeder.dto.mqtt.CfgdataRequest; 7 import com.zhonglai.luhui.smart.feeder.dto.mqtt.CfgdataRequest;
7 8
  9 +import java.util.List;
  10 +
8 public class FeederCommdUtil { 11 public class FeederCommdUtil {
9 12
10 /** 13 /**
@@ -13,10 +16,14 @@ public class FeederCommdUtil { @@ -13,10 +16,14 @@ public class FeederCommdUtil {
13 */ 16 */
14 public static String readAll() 17 public static String readAll()
15 { 18 {
16 - FeederCommdDto feederCommdDto = new FeederCommdDto(new FeederCommd03Response(0,71)); 19 + FeederCommdDto feederCommdDto = new FeederCommdDto(new FeederCommd03Response(0,23));
17 return feederCommdDto.getHstr(); 20 return feederCommdDto.getHstr();
18 } 21 }
19 22
  23 + public static void main(String[] args) {
  24 + System.out.println(readAll());
  25 + }
  26 +
20 /** 27 /**
21 * 写运行模式 28 * 写运行模式
22 * @return 29 * @return
@@ -30,20 +37,32 @@ public class FeederCommdUtil { @@ -30,20 +37,32 @@ public class FeederCommdUtil {
30 37
31 /** 38 /**
32 * 写定时器 39 * 写定时器
33 - * @param timerNumber  
34 - * @param feederTimer  
35 * @return 40 * @return
36 */ 41 */
37 - public static String controlTimer(Integer timerNumber,FeederTimer feederTimer) 42 + public static String controlTimer(List<Integer[]> timerList)
  43 + {
  44 + byte[] data = null;
  45 + for (int i=0;i<timerList.size();i++)
38 { 46 {
  47 + Integer[] timerNumbers = timerList.get(i);
  48 + FeederTimer feederTimer = new FeederTimer();
  49 + feederTimer.setTimer_start_m(timerNumbers[1]);
  50 + feederTimer.setTimer_start_h(timerNumbers[0]);
  51 + feederTimer.setTimer_if_start(timerNumbers[4]);
  52 + feederTimer.setTimer_is_start(1);
  53 + feederTimer.setTimer_close_m(timerNumbers[3]);
  54 + feederTimer.setTimer_close_h(timerNumbers[2]);
  55 + feederTimer.setTimer_if_close(timerNumbers[4]);
  56 + feederTimer.setTimer_is_close(1);
  57 +
39 int i23 = 0; 58 int i23 = 0;
40 - if(null != feederTimer.getTimer_close_m()) 59 + if(null != feederTimer.getTimer_start_m())
41 { 60 {
42 - i23 = ByteUtil.assignBits(i23,feederTimer.getTimer_close_m(),0,7); 61 + i23 = ByteUtil.assignBits(i23,feederTimer.getTimer_start_m(),0,7);
43 } 62 }
44 - if(null != feederTimer.getTimer_close_h()) 63 + if(null != feederTimer.getTimer_start_h())
45 { 64 {
46 - i23 = ByteUtil.assignBits(i23,feederTimer.getTimer_close_h(),8,13); 65 + i23 = ByteUtil.assignBits(i23,feederTimer.getTimer_start_h(),8,13);
47 } 66 }
48 if(null != feederTimer.getTimer_if_start()) 67 if(null != feederTimer.getTimer_if_start())
49 { 68 {
@@ -65,15 +84,25 @@ public class FeederCommdUtil { @@ -65,15 +84,25 @@ public class FeederCommdUtil {
65 } 84 }
66 if(null != feederTimer.getTimer_if_close()) 85 if(null != feederTimer.getTimer_if_close())
67 { 86 {
68 - i24 = ByteUtil.assignBits(i24,feederTimer.getTimer_close_h(),14,14); 87 + i24 = ByteUtil.assignBits(i24,feederTimer.getTimer_if_close(),14,14);
69 } 88 }
70 if(null != feederTimer.getTimer_is_close()) 89 if(null != feederTimer.getTimer_is_close())
71 { 90 {
72 i24 = ByteUtil.assignBits(i24,feederTimer.getTimer_is_close(),15,15); 91 i24 = ByteUtil.assignBits(i24,feederTimer.getTimer_is_close(),15,15);
73 } 92 }
  93 + if(null != data)
  94 + {
  95 + data = ArrayUtil.addAll( data,ByteUtil.intToBytesDESC(i23,2),ByteUtil.intToBytesDESC(i24,2));
  96 + }else{
  97 + data = ArrayUtil.addAll( ByteUtil.intToBytesDESC(i23,2),ByteUtil.intToBytesDESC(i24,2));
  98 + }
74 99
75 - byte[] data = ArrayUtil.addAll( ByteUtil.intToBytesDESC(i23,2),ByteUtil.intToBytesDESC(i24,2));  
76 - FeederCommdDto feederCommdDto = new FeederCommdDto(new FeederCommd10Response(23+timerNumber-1,4,8,data));  
77 - return feederCommdDto.getHstr();  
78 } 100 }
  101 +
  102 + FeederCommdDto feederCommdDto = new FeederCommdDto(new FeederCommd10Response(23,timerList.size()*2,timerList.size()*4,data));
  103 +
  104 + return feederCommdDto.getHstr().toUpperCase();
  105 + }
  106 +
  107 +
79 } 108 }