Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
Z
zhmes-agecal
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
耿迪迪
zhmes-agecal
Commits
c4267139
Commit
c4267139
authored
Dec 06, 2025
by
wanghao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1 modbus4j 工具类调整
parent
79410fee
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
14 additions
and
18 deletions
+14
-18
ModbusResultHandler.java
...com/zehong/system/modbus/handler/ModbusResultHandler.java
+1
-1
ModbusTcpTask.java
...ain/java/com/zehong/system/modbus/util/ModbusTcpTask.java
+1
-1
RobotArmCommandServiceImpl.java
...ehong/system/service/impl/RobotArmCommandServiceImpl.java
+1
-1
TStoreyInfoServiceImpl.java
...om/zehong/system/service/impl/TStoreyInfoServiceImpl.java
+7
-7
AgingCabinetInspectionAndPowerCheckTask.java
.../system/task/AgingCabinetInspectionAndPowerCheckTask.java
+1
-1
AllCommandHandler.java
...c/main/java/com/zehong/system/task/AllCommandHandler.java
+2
-2
BaseDeviceCommJob.java
...m/zehong/system/task/DeviceCommJob/BaseDeviceCommJob.java
+1
-1
DeviceCommunicationJob.java
...n/java/com/zehong/system/task/DeviceCommunicationJob.java
+0
-1
FinalExecutionJob.java
...c/main/java/com/zehong/system/task/FinalExecutionJob.java
+0
-2
PrepareFinalExecutionJob.java
...java/com/zehong/system/task/PrepareFinalExecutionJob.java
+0
-1
No files found.
zhmes-agecal-system/src/main/java/com/zehong/system/modbus/handler/ModbusResultHandler.java
View file @
c4267139
...
...
@@ -119,7 +119,7 @@ public class ModbusResultHandler implements Consumer<DeviceStatusReaderDto> {
ModbusMaster
master
=
null
;
try
{
// 获取ModbusMaster
master
=
Modbus4jUtils
.
get
Master
(
ip
,
port
);
master
=
Modbus4jUtils
.
createModbus
Master
(
ip
,
port
);
log
.
info
(
">>> 回调处理[{}]: 接收到数据:deviceId={}, data={}"
,
Thread
.
currentThread
().
getName
(),
deviceId
,
Arrays
.
toString
(
data
));
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/modbus/util/ModbusTcpTask.java
View file @
c4267139
...
...
@@ -28,7 +28,7 @@ public class ModbusTcpTask implements Callable<Map<Integer, Object>> {
public
Map
<
Integer
,
Object
>
call
(){
ModbusMaster
master
=
null
;
try
{
master
=
Modbus4jUtils
.
get
Master
(
equipmentInfo
.
getfIp
(),
equipmentInfo
.
getfPort
());
master
=
Modbus4jUtils
.
createModbus
Master
(
equipmentInfo
.
getfIp
(),
equipmentInfo
.
getfPort
());
return
Modbus4jUtils
.
batchReadAgingCabinetStatus
(
master
,
registerOffsets
);
}
catch
(
ModbusInitException
e
)
{
Map
<
Integer
,
Object
>
errorMap
=
new
HashMap
<>();
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/service/impl/RobotArmCommandServiceImpl.java
View file @
c4267139
...
...
@@ -205,7 +205,7 @@ public class RobotArmCommandServiceImpl implements IRobotArmCommandService
int
registerOffsetInt
=
layer
-
1
;
try
{
ModbusMaster
master
=
Modbus4jUtils
.
get
Master
(
tEquipmentInfo
.
getfPowerOutageIp
(),
tEquipmentInfo
.
getfPowerOutagePort
());
ModbusMaster
master
=
Modbus4jUtils
.
createModbus
Master
(
tEquipmentInfo
.
getfPowerOutageIp
(),
tEquipmentInfo
.
getfPowerOutagePort
());
Modbus4jUtils
.
writeCoil
(
master
,
1
,
registerOffsetInt
,
false
);
log
.
info
(
"已发送断电指令 - 设备:{} 层:{}"
,
tEquipmentInfo
.
getfEquipmentCode
(),
layer
);
master
.
destroy
();
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/service/impl/TStoreyInfoServiceImpl.java
View file @
c4267139
...
...
@@ -159,7 +159,7 @@ public class TStoreyInfoServiceImpl implements ITStoreyInfoService
ModbusMaster
master
=
null
;
List
<
Integer
>
registerOffsets
=
Arrays
.
asList
(
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
);
try
{
master
=
Modbus4jUtils
.
get
Master
(
equipmentInfo
.
getfPowerOutageIp
(),
equipmentInfo
.
getfPowerOutagePort
());
master
=
Modbus4jUtils
.
createModbus
Master
(
equipmentInfo
.
getfPowerOutageIp
(),
equipmentInfo
.
getfPowerOutagePort
());
for
(
Integer
registerOffset
:
registerOffsets
)
{
Boolean
aBoolean
=
Modbus4jUtils
.
readCoilStatus
(
master
,
1
,
registerOffset
);
...
...
@@ -209,7 +209,7 @@ public class TStoreyInfoServiceImpl implements ITStoreyInfoService
ModbusMaster
master
=
null
;
List
<
Integer
>
registerOffsets
=
Arrays
.
asList
(
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
);
try
{
master
=
Modbus4jUtils
.
get
Master
(
equipmentInfo
.
getfPowerOutageIp
(),
equipmentInfo
.
getfPowerOutagePort
());
master
=
Modbus4jUtils
.
createModbus
Master
(
equipmentInfo
.
getfPowerOutageIp
(),
equipmentInfo
.
getfPowerOutagePort
());
for
(
Integer
registerOffset
:
registerOffsets
)
{
Boolean
aBoolean
=
Modbus4jUtils
.
readCoilStatus
(
master
,
1
,
registerOffset
);
...
...
@@ -410,7 +410,7 @@ public class TStoreyInfoServiceImpl implements ITStoreyInfoService
// 10 层
List
<
Integer
>
registerOffsets
=
Arrays
.
asList
(
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
);
try
{
master
=
Modbus4jUtils
.
get
Master
(
equipmentInfo
.
getfIp
(),
equipmentInfo
.
getfPort
());
master
=
Modbus4jUtils
.
createModbus
Master
(
equipmentInfo
.
getfIp
(),
equipmentInfo
.
getfPort
());
Map
<
Integer
,
Object
>
integerObjectMap
=
Modbus4jUtils
.
batchReadAgingCabinetStatus
(
master
,
registerOffsets
);
equipmentInfo
.
setRegisterValues
(
integerObjectMap
);
...
...
@@ -644,7 +644,7 @@ public class TStoreyInfoServiceImpl implements ITStoreyInfoService
String
registerOffset
=
tStoreyInfo
.
getfStoreyCode
().
split
(
"-"
)[
1
];
try
{
ModbusMaster
master
=
Modbus4jUtils
.
get
Master
(
tEquipmentInfo
.
getfPowerOutageIp
(),
tEquipmentInfo
.
getfPowerOutagePort
());
ModbusMaster
master
=
Modbus4jUtils
.
createModbus
Master
(
tEquipmentInfo
.
getfPowerOutageIp
(),
tEquipmentInfo
.
getfPowerOutagePort
());
int
i
=
Integer
.
parseInt
(
registerOffset
);
int
registerOffsetInt
=
i
-
1
;
...
...
@@ -710,7 +710,7 @@ public class TStoreyInfoServiceImpl implements ITStoreyInfoService
List
<
Integer
>
integers
=
Arrays
.
asList
(
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
);
try
{
ModbusMaster
master
=
Modbus4jUtils
.
get
Master
(
tEquipmentInfo
.
getfIp
(),
tEquipmentInfo
.
getfPort
());
ModbusMaster
master
=
Modbus4jUtils
.
createModbus
Master
(
tEquipmentInfo
.
getfIp
(),
tEquipmentInfo
.
getfPort
());
Map
<
Integer
,
Object
>
integerObjectMap
=
Modbus4jUtils
.
batchReadAgingCabinetStatus
(
master
,
integers
);
...
...
@@ -736,7 +736,7 @@ public class TStoreyInfoServiceImpl implements ITStoreyInfoService
String
registerOffset
=
tStoreyInfo
.
getfStoreyCode
().
split
(
"-"
)[
1
];
try
{
ModbusMaster
master
=
Modbus4jUtils
.
get
Master
(
tEquipmentInfo
.
getfPowerOutageIp
(),
tEquipmentInfo
.
getfPowerOutagePort
());
ModbusMaster
master
=
Modbus4jUtils
.
createModbus
Master
(
tEquipmentInfo
.
getfPowerOutageIp
(),
tEquipmentInfo
.
getfPowerOutagePort
());
int
i
=
Integer
.
parseInt
(
registerOffset
);
int
registerOffsetInt
=
i
-
1
;
...
...
@@ -772,7 +772,7 @@ public class TStoreyInfoServiceImpl implements ITStoreyInfoService
String
registerOffset
=
tStoreyInfo
.
getfStoreyCode
().
split
(
"-"
)[
1
];
try
{
ModbusMaster
master
=
Modbus4jUtils
.
get
Master
(
tEquipmentInfo
.
getfPowerOutageIp
(),
tEquipmentInfo
.
getfPowerOutagePort
());
ModbusMaster
master
=
Modbus4jUtils
.
createModbus
Master
(
tEquipmentInfo
.
getfPowerOutageIp
(),
tEquipmentInfo
.
getfPowerOutagePort
());
int
i
=
Integer
.
parseInt
(
registerOffset
);
int
registerOffsetInt
=
i
-
1
;
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/task/AgingCabinetInspectionAndPowerCheckTask.java
View file @
c4267139
...
...
@@ -84,7 +84,7 @@ public class AgingCabinetInspectionAndPowerCheckTask {
// 10 层
List
<
Integer
>
registerOffsets
=
Arrays
.
asList
(
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
);
try
{
master
=
Modbus4jUtils
.
get
Master
(
equipmentInfo
.
getfIp
(),
equipmentInfo
.
getfPort
());
master
=
Modbus4jUtils
.
createModbus
Master
(
equipmentInfo
.
getfIp
(),
equipmentInfo
.
getfPort
());
Map
<
Integer
,
Object
>
integerObjectMap
=
Modbus4jUtils
.
batchReadAgingCabinetStatus
(
master
,
registerOffsets
);
equipmentInfo
.
setRegisterValues
(
integerObjectMap
);
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/task/AllCommandHandler.java
View file @
c4267139
...
...
@@ -65,7 +65,7 @@ public class AllCommandHandler {
log
.
info
(
"需要发送上电指令 - 设备:{} 层:{} ip:{} 端口号:{}"
,
event
.
getDeviceCode
(),
layer
,
fip
,
fport
);
ModbusMaster
master
;
try
{
master
=
Modbus4jUtils
.
get
Master
(
fip
,
fport
);
master
=
Modbus4jUtils
.
createModbus
Master
(
fip
,
fport
);
Boolean
aBoolean
=
Modbus4jUtils
.
readCoilStatus
(
master
,
1
,
registerOffset
);
log
.
info
(
"当前 - 设备:{} 层:{} -的 状态是:{}"
,
event
.
getDeviceCode
(),
event
.
getLayer
(),
aBoolean
);
...
...
@@ -115,7 +115,7 @@ public class AllCommandHandler {
alarmDataService
.
insertTEquipmentAlarmData
(
alarmData
);
}
else
{
// 下料后断电
ModbusMaster
master
=
Modbus4jUtils
.
get
Master
(
ip
,
port
);
ModbusMaster
master
=
Modbus4jUtils
.
createModbus
Master
(
ip
,
port
);
Modbus4jUtils
.
writeCoil
(
master
,
1
,
event
.
getLayer
(),
false
);
log
.
info
(
"已发送断电指令 - 设备:{} 层:{}"
,
event
.
getDeviceCode
(),
event
.
getLayer
());
master
.
destroy
();
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceCommJob/BaseDeviceCommJob.java
View file @
c4267139
...
...
@@ -246,7 +246,7 @@ public abstract class BaseDeviceCommJob implements Job {
*/
private
int
[]
readModbusWithRetry
(
String
ip
,
int
port
,
int
deviceId
)
throws
Exception
{
// 1. 从连接池借连接(超时3秒
ModbusMaster
master
=
Modbus4jUtils
.
get
Master
(
ip
,
port
);
ModbusMaster
master
=
Modbus4jUtils
.
createModbus
Master
(
ip
,
port
);
for
(
int
retry
=
0
;
retry
<=
CUSTOM_RETRY_TIMES
;
retry
++)
{
try
{
// 2. 读取寄存器
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceCommunicationJob.java
View file @
c4267139
...
...
@@ -38,7 +38,6 @@ public class DeviceCommunicationJob implements Job {
// 超时控制:必须小于Cron周期(假设Cron为5分钟,这里留1分钟缓冲)
private
static
final
int
TOTAL_TASK_TIMEOUT_SEC
=
240
;
// 任务总超时:4分钟
private
static
final
int
SINGLE_DEVICE_TIMEOUT_SEC
=
10
;
// 单个设备超时:10秒
private
static
final
int
CUSTOM_RETRY_TIMES
=
2
;
// 自定义重试次数:1次
// 全局线程池 - 避免重复创建
private
static
final
ExecutorService
GLOBAL_DEVICE_EXECUTOR
=
new
ThreadPoolExecutor
(
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/task/FinalExecutionJob.java
View file @
c4267139
...
...
@@ -66,8 +66,6 @@ public class FinalExecutionJob implements Job {
r
->
new
Thread
(
r
,
"final-global-modbus-device"
),
new
ThreadPoolExecutor
.
CallerRunsPolicy
()
);
// 工厂(单例)
private
static
final
ModbusFactory
modbusFactory
=
new
ModbusFactory
();
@Override
public
void
execute
(
JobExecutionContext
context
)
{
// 1. 初始化变量,避免空指针
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/task/PrepareFinalExecutionJob.java
View file @
c4267139
...
...
@@ -43,7 +43,6 @@ public class PrepareFinalExecutionJob implements Job {
// 超时控制:必须小于Cron周期(假设Cron为5分钟,这里留1分钟缓冲)
private
static
final
int
TOTAL_TASK_TIMEOUT_SEC
=
240
;
// 任务总超时:4分钟
private
static
final
int
SINGLE_DEVICE_TIMEOUT_SEC
=
10
;
// 单个设备超时:10秒
private
static
final
int
CUSTOM_RETRY_TIMES
=
2
;
// 自定义重试次数:1次
// 全局线程池 - 避免重复创建
private
static
final
ExecutorService
GLOBAL_DEVICE_EXECUTOR
=
new
ThreadPoolExecutor
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment