diff --git a/pom.xml b/pom.xml
index 2acf835a..8eb2c04b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -312,6 +312,12 @@
org.springframework.boot
spring-boot-starter-mail
+
+
+ com.ghgande
+ j2mod
+ 2.7.0
+
diff --git a/src/main/java/com/xujie/sys/modules/reader/dao/ModbusCommunicateMapper.java b/src/main/java/com/xujie/sys/modules/reader/dao/ModbusCommunicateMapper.java
new file mode 100644
index 00000000..f306846b
--- /dev/null
+++ b/src/main/java/com/xujie/sys/modules/reader/dao/ModbusCommunicateMapper.java
@@ -0,0 +1,9 @@
+package com.xujie.sys.modules.reader.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xujie.sys.modules.reader.entity.ModbusCommunicateEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ModbusCommunicateMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/xujie/sys/modules/reader/entity/ModbusCommunicateEntity.java b/src/main/java/com/xujie/sys/modules/reader/entity/ModbusCommunicateEntity.java
new file mode 100644
index 00000000..90a2b230
--- /dev/null
+++ b/src/main/java/com/xujie/sys/modules/reader/entity/ModbusCommunicateEntity.java
@@ -0,0 +1,17 @@
+package com.xujie.sys.modules.reader.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("Equipment_PLC_location")
+public class ModbusCommunicateEntity {
+ private int id;
+
+ private String modbusIp;
+ private int modbusPort;
+ private int registerAddress;
+ private int registerNum;
+ private int unitId;
+
+}
diff --git a/src/main/java/com/xujie/sys/modules/reader/service/ModbusCommunicateService.java b/src/main/java/com/xujie/sys/modules/reader/service/ModbusCommunicateService.java
new file mode 100644
index 00000000..3b6a830d
--- /dev/null
+++ b/src/main/java/com/xujie/sys/modules/reader/service/ModbusCommunicateService.java
@@ -0,0 +1,9 @@
+package com.xujie.sys.modules.reader.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xujie.sys.modules.reader.entity.ModbusCommunicateEntity;
+
+public interface ModbusCommunicateService extends IService {
+
+ void getInfoByModbus();
+}
diff --git a/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java b/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java
index d3f68124..223792d5 100644
--- a/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java
+++ b/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java
@@ -49,7 +49,6 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl {
try {
//对文件夹下的文件进行读取并保存
@@ -57,7 +56,6 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl imageFiles = new ArrayList<>();
- //对图片删除
- List deleteFile = new ArrayList<>();
-
if (fileInfo != null && files != null) {
Path folderPath = Paths.get(folderFiler);
try (DirectoryStream stream = Files.newDirectoryStream(folderPath)) {
@@ -101,23 +96,9 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl1){
+ equipmentDataDetail.setValue1(data[1]);
+ }
+ if (data.length>2){
+ equipmentDataDetail.setValue2(data[2]);
+ }
+ if (data.length>3){
+ equipmentDataDetail.setValue3(data[3]);
+ }
+ if (data.length>4){
+ equipmentDataDetail.setValue4(data[4]);
+ }
+ if (data.length>5){
+ equipmentDataDetail.setValue5(data[5]);
+ }
+ if (data.length>6){
+ equipmentDataDetail.setValue6(data[6]);
+ }
+ if (data.length>7){
+ equipmentDataDetail.setValue7(data[7]);
+ }
+ if (data.length>8){
+ equipmentDataDetail.setValue8(data[8]);
+ }
+ if (data.length>9){
+ equipmentDataDetail.setValue9(data[9]);
+ }
equipmentDataDetail.setNum(index);
equipmentDataDetails.add(equipmentDataDetail);
index++;
@@ -431,9 +430,15 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl1){
+ equipmentDataDetail.setValue1(data[1]);
+ }
+ if (data.length>2){
+ equipmentDataDetail.setValue2(data[2]);
+ }
+ if (data.length>3){
+ equipmentDataDetail.setValue3(data[3]);
+ }
equipmentDataDetail.setNum(index);
detailList.add(equipmentDataDetail);
index++;
@@ -502,31 +507,5 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl stream = Files.newDirectoryStream(folderPath)) {
- for (Path file : stream) {
- String contentType = Files.probeContentType(file);
- if (contentType != null && contentType.startsWith("image")) {
-// // 图片类型文件
-// // 处理图片文件的逻辑
- String timestamp = String.valueOf(System.currentTimeMillis());
-// // 指定新的文件名(这里示例加上前缀)
-// Path newFilePath = folderPath.resolve(timestamp + "$" + file.getFileName());
-// // 重命名文件
-// Files.move(file, newFilePath, StandardCopyOption.REPLACE_EXISTING);
-// String s = newFilePath.toString();
- Path s = file.getFileName();
- System.out.println("新图片名: " + s);
- String s1 = file.getFileName().toString();
- System.out.println("旧图片名" + timestamp + "$" + s1);
- }
- }
- } catch (IOException | DirectoryIteratorException e) {
- e.printStackTrace();
- }
- }
}
diff --git a/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java b/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java
new file mode 100644
index 00000000..9b07e012
--- /dev/null
+++ b/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java
@@ -0,0 +1,71 @@
+package com.xujie.sys.modules.reader.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ghgande.j2mod.modbus.io.ModbusTCPTransaction;
+import com.ghgande.j2mod.modbus.msg.ReadInputRegistersRequest;
+import com.ghgande.j2mod.modbus.msg.ReadInputRegistersResponse;
+import com.ghgande.j2mod.modbus.net.TCPMasterConnection;
+import com.ghgande.j2mod.modbus.procimg.InputRegister;
+import com.xujie.sys.modules.reader.dao.ModbusCommunicateMapper;
+import com.xujie.sys.modules.reader.entity.ModbusCommunicateEntity;
+import com.xujie.sys.modules.reader.service.ModbusCommunicateService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.net.InetAddress;
+
+@Service
+public class ModbusCommunicateServiceImpl extends ServiceImpl implements ModbusCommunicateService {
+
+ @Autowired
+ private ModbusCommunicateMapper modbusCommunicateMapper;
+
+
+ @Override
+ public void getInfoByModbus() {
+ ModbusCommunicateEntity one = this.getOne(new LambdaQueryWrapper<>());
+ String modbusIp = one.getModbusIp();
+ int modbusPort = one.getModbusPort();
+ int registerAddress = one.getRegisterAddress();
+ int registerNum = one.getRegisterNum();
+ try {
+ InetAddress ipAddress = InetAddress.getByName(modbusIp);
+ // 连接到Modbus设备
+ TCPMasterConnection connection = new TCPMasterConnection(ipAddress);
+ connection.setPort(modbusPort);
+ connection.connect();
+
+ // 创建一个Modbus TCP请求
+ //ReadInputRegistersRequest(寄存器起始地址值,寄存器个数)
+ ReadInputRegistersRequest request = new ReadInputRegistersRequest(registerAddress, registerNum);
+ request.setUnitID(1); // 设置Modbus设备的Unit ID
+
+ // 创建一个Modbus TCP事务
+ ModbusTCPTransaction transaction = new ModbusTCPTransaction(connection);
+ transaction.setRequest(request);
+
+ // 执行Modbus TCP事务
+ transaction.execute();
+
+ // 获取响应
+ ReadInputRegistersResponse response = (ReadInputRegistersResponse) transaction.getResponse();
+ if (response != null) {
+ // 处理响应数据
+ InputRegister[] registers1 = response.getRegisters();
+ for (InputRegister inputRegister : registers1) {
+ int value = inputRegister.getValue();
+ System.out.println("Register value: " + value);
+ }
+
+ } else {
+ System.out.println("No response received.");
+ }
+ // 关闭连接
+ connection.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+}
diff --git a/src/main/resources/mapper/reader/ModbusCommunicateMapper.xml b/src/main/resources/mapper/reader/ModbusCommunicateMapper.xml
new file mode 100644
index 00000000..3feac8f9
--- /dev/null
+++ b/src/main/resources/mapper/reader/ModbusCommunicateMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+