From 813143f07f98fd7cff92d804a484c0d0a562fb4c Mon Sep 17 00:00:00 2001 From: swj <1211312234@qq.com> Date: Wed, 17 Aug 2022 19:04:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E6=BC=8F=E9=80=92=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springblade/iot/config/ModbusReader.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 lab-service/lab-iot/src/main/java/org/springblade/iot/config/ModbusReader.java diff --git a/lab-service/lab-iot/src/main/java/org/springblade/iot/config/ModbusReader.java b/lab-service/lab-iot/src/main/java/org/springblade/iot/config/ModbusReader.java new file mode 100644 index 0000000..99acbd9 --- /dev/null +++ b/lab-service/lab-iot/src/main/java/org/springblade/iot/config/ModbusReader.java @@ -0,0 +1,35 @@ +package org.springblade.iot.config; + +import com.serotonin.modbus4j.ModbusMaster; +import com.serotonin.modbus4j.exception.ModbusInitException; +import org.springblade.iot.utils.ReadModBusUtil; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +@Component +public class ModbusReader { + + /** + * 项目启动读取传感器数据 相关逻辑 + */ + @PostConstruct + private void readModBusSensor() throws Exception { + // 1.获取tcp协议的主机(上位机) + ModbusMaster master = ReadModBusUtil.getTcpMaster("192.168.1.217", 502, 1); + // 2.初始化 + try { + master.init(); + while (0 == 0) { + // 3.读取保持寄存器数据 + ReadModBusUtil.readHoldingRegistersTest(master, 1, 0, 10); + Thread.sleep(1000L); + } + } catch (ModbusInitException e) { + e.printStackTrace(); + } finally { + // 销毁连接 + master.destroy(); + } + } +}