常见问题与故障排查
提示呈现形式有三种:底部 toast(约 2.5 秒自动消失;红底=错误,黄底=警告)、对话框内红字(阻止提交)、系统消息对话框。
连接类
串口连接失败,提示串口被占用或不存在
- 关闭占用端口的其他软件(串口助手、厂商工具)
- 重新插拔 USB 转串口,等 1 秒端口列表热刷新后重选
- 在设备管理器确认端口号与驱动
提示「CAN 插件不可用」
CAN 卡厂商驱动未安装或插件不匹配。先确认厂商工具能识别卡;无硬件验证时改用 virtualcan 虚拟总线(参考 can虚拟总线互测 示例工程)。
打开工程后设备没有自动连接
只有「上次保存时已连接」的设备才会自动重连(按设备名匹配)。手动点工具栏连接按钮,并确认设备名未被改动。
读写类
「『X』未连接,写入未生效」
设备处于断开状态。连接设备;只想用本地变量时新建「本地」连接方式的设备。
「『X』为被动流协议,只收不发,不允许表内写入」
被动流无下行通道,只能监视;需要下发请改用 Modbus 或自定义协议。
「『X』不是 CANopen 协议设备,CANopen/PDO 行写入未生效」
参数行的设备是其他协议却建了 co/pd 行。把该行的设备名改为 CANopen 设备,或把地址类型改回对应协议。
「CANopen 行写入须为 1~4 字节」
SDO expedited 写入限长。检查数据类型与数组个数,确保 ≤4 字节。
参数表值不刷新
- 刷新策略是「手动」→ 点工具条「刷新」或改策略
- 轮询周期过大 → 调小
- 看收发区是否有轮询报文往来,确认设备已连接
Modbus 读数明显错误(数值错乱、偏差 65536 倍)
- 调整连接的字节序(ABCD/BADC/CDAB/DCBA)
- 用收发区对照原始报文核对原始值
- 地址 ±1 试读(协议地址 vs 面板地址习惯差异)
工程与绑定类
黄底警告「N 处绑定因参数行/表删除已失效…」
删除了被曲线通道或组态元件引用的参数行。打开对应曲线/组态重新绑定;删除参数行前注意确认框中提示的绑定处数。
「脚本『X』已被外部修改(运行中的设备重连后生效)」
用外部编辑器改了 .lua 文件。在软件内确认重载/保留,然后断开并重新连接使用该脚本的设备。
新建连接保存不了,对话框红字
连接重名或表单校验未通过(如 CANopen/J1939 未选 CAN 链路、帧协议 HEX 格式错误),按红字提示逐项修正。
导入 csv/xlsx 后系数单位不对
备注列写成 名称(系数单位) 格式(如 温度(0.1℃))可自动拆出系数与单位;导入对话框中也可选冲突处理策略。
日志与崩溃
需要更详细的运行日志
在程序 exe 旁新建 logging.ini,重启生效:
[Rules]
idt.device.debug=true
idt.link.debug=true
idt.script.debug=true分类名清单:idt.device(设备)、idt.link(链路)、idt.wave(波形)、idt.script(脚本)、idt.project(工程)、idt.ui(界面)、idt.hmiscript(组态脚本)。
日志与崩溃文件位置
程序目录/logs/idt_yyyyMMdd.log # 运行日志(超 10MB 自动轮转,保留 14 天)
程序目录/logs/crash_yyyyMMdd_HHMMSS.dmp # 崩溃转储程序目录不可写时回退到 %APPDATA%/IndustrialDebugTool/IndustrialDebugToolQml/logs/。
软件崩溃退出后
到 logs/ 目录找 crash_*.dmp 与当日日志末尾的 FATAL 行,一并提交软件提供方分析;重开软件从最近项目恢复。