Bug #3498
Feature #3483: modbus_tcp_c_ex.dll申请在QTISCS304R4环境编译发布版本
SHL15-QTISCS304R4的modbus_tcpc_ex.dll协议的读csvRTU配置文件改为独立线程后35个RTU会导致cpu爆满内存暴涨后em_daq.exe主进程反复崩退
Status:
Resolved
Priority:
Normal
Assignee:
-
Start date:
09/29/2024
Due date:
% Done:
0%
Estimated time:
Description
项目:SHL15 CISCS
版本:QTISCS304R4
软件模块:modbus_tcpc_ex.dll
\\192.168.2.250\Release\QT-ISCS\V3.0.4\bin_sp\modbus_tcp_c_ex.dll
bug:读csvRTU配置文件改为独立线程后35个RTU会导致cpu爆满内存暴涨后em_daq.exe主进程反复崩退
测试环境:200.200.220.59+158
使用此协议RTU共35个,RTU号 186-220
csv行数最大近9000行,耗时最长近10s(RTU204-212......行数特别多)
现象:
1)每个RTU,2个链路,启动时 每个链路调用一次init()初始化接口,启动2个ReadCfg线程。
70个线程 开始创建内存增长 至200多M,cpu开始增长接近100%,通道TcpSocket按ip端口SYN握手成功后立马FIN结束,6秒后em_daq重新尝试再次SYN握手(csv配置文件加载未完成期间,反复多次SYN-FIN重连)
2)会出现独立线程ReadCfg线程僵死未完成的情况
3)独立线程ReadCfg内增加每100行 Sleep一次后,可解决em_daq主进程cpu100% 崩退的问题。但是每个RTU3-10秒不等读配置期间,通道TcpSocket反复重连SYN和链路切换问题无法解决
独立线程ReadCfg线程僵死问题无法解决