Browse Source

modbus测试

java8
wenkuan.shi 2 years ago
parent
commit
0b2afa68e9
  1. 12
      src/main/java/com/xujie/sys/common/utils/TaskUtils.java
  2. 7
      src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java
  3. 1
      src/main/resources/application-dev.yml

12
src/main/java/com/xujie/sys/common/utils/TaskUtils.java

@ -3,6 +3,7 @@ package com.xujie.sys.common.utils;
import com.xujie.sys.modules.pms.service.EamService;
import com.xujie.sys.modules.reader.service.GetInformationForExcelService;
import com.xujie.sys.modules.reader.service.ModbusCommunicateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
@ -20,6 +21,9 @@ public class TaskUtils {
@Autowired
private GetInformationForExcelService getInformationForExcelService;
@Autowired
private ModbusCommunicateService modbusCommunicateService;
// 添加定时任务
@Scheduled(cron = "${task.data.eamWorkPlanTime}") // 每天0点执行
public void doTask() {
@ -27,8 +31,14 @@ public class TaskUtils {
}
//添加定時任務
@Scheduled(cron = "${task.data.getExcelInformation}" ) //每五秒执行
@Scheduled(cron = "${task.data.getExcelInformation}" ) //每五秒执行 读取文件数据
public void getExcel(){
getInformationForExcelService.saveByExcel();
}
//添加定時任務
@Scheduled(cron = "${task.data.modbusCommunicate}" ) //每五秒执行 读取文件数据
public void getModbus(){
modbusCommunicateService.getInfoByModbus();
}
}

7
src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java

@ -26,12 +26,18 @@ public class ModbusCommunicateServiceImpl extends ServiceImpl<ModbusCommunicateM
@Override
public void getInfoByModbus() {
log.info("modbus请求开始解析");
ModbusCommunicateEntity one = this.getOne(new LambdaQueryWrapper<>());
if (one==null){
log.info("设备信息未填");
return;
}
String modbusIp = one.getModbusIp();
int modbusPort = one.getModbusPort();
int registerAddress = one.getRegisterAddress();
int registerNum = one.getRegisterNum();
int unitId = one.getUnitId();
log.info("获取modbus设备ip:"+modbusIp,"端口:"+modbusPort,"地址值"+registerAddress,"数量:"+unitId);
try {
InetAddress ipAddress = InetAddress.getByName(modbusIp);
// 连接到Modbus设备
@ -59,7 +65,6 @@ public class ModbusCommunicateServiceImpl extends ServiceImpl<ModbusCommunicateM
for (InputRegister inputRegister : registers1) {
int value = inputRegister.getValue();
log.info("获取到的modbus数据为: ",value);
System.out.println("Register value: " + value);
}
} else {
System.out.println("No response received.");

1
src/main/resources/application-dev.yml

@ -47,6 +47,7 @@ task:
site: 2,3 #事业部
eamWorkPlanTime: 0 0 0 * * ? #点检、维保计划自动生成,每天0点执行
getExcelInformation: 0/30 * * * * ? #每三十秒读取一次文件
modbusCommunicate: 0/10 * * * * ? #获取modbus数据
#--------------------------------------------接口地址和开关控制-------------------------------------------------

Loading…
Cancel
Save