常见问题先按现象定位,再核对当前工程和目标设备。
只靠 IDE 预览无法判断实体屏的接线、固件或通信结果;现场问题应同时记录设备型号、固件、工程协议和复现步骤。
on_uart_recv(channel, packet, length)。主口判断 channel == 0,独立第二口判断 channel == 3。uart_setup(3, ...);模拟器还需在启动前配置独立的 STT_SIM_UART3。length 不一定等于协议帧长。print() 不需要连接 COM,也不会发送到串口。| 发送来源 | 处理方法 |
|---|---|
| 定时器回调 | 调用 stop_timer(timer_id);恢复时重新设置定时器。 |
on_run 等业务回调 |
添加业务运行开关,在关闭时直接返回;不要在每轮回调中无条件写入。 |
| DCBUS/DGUS 自动上传 | 新版可用 set_notify(0) 暂停,set_notify(1) 恢复。 |
| PLC 主站轮询或外部寄存器写入 | set_notify 不控制这类发送,应核对轮询配置或停止触发写入的脚本逻辑。 |
set_run_cycle(0) 不表示停止;当前按 10 ms 周期执行。具体示例见定时器函数。
没有。新版屏端与模拟器均可先更新 HMI 本地缓存和控件显示,再投递主站写入命令。离线输入只说明本地值已改变;连接设备后仍要检查应答或读回,不能把控件显示当作 PLC 已执行证明。
它表示屏端在开始传输时无法初始化升级存储。重点核对 /data 挂载、可用空间、升级临时目录创建或清理、以及存储写入错误。记录完整屏端日志和上位机返回内容;单独的 BEGIN/STORAGE 不能按签名密钥错误处理。
| 日志 | 含义与下一步 |
|---|---|
data error 后有 read recovered |
发生过读取错误,本次重试已恢复;仍须检查最终升级结果。频繁出现会拖慢升级,不应当作完全正常的读卡表现。 |
read aborted 或 I/O error |
该次读取未能恢复。保存日志,核对升级文件完整性、卡槽接触和供电,并用已知正常的卡对比。 |
| 卡在电脑可用,屏端失败 | 电脑读写成功不等于屏端兼容性通过。两端读卡控制器、时序和容错不同,需以屏端实测结果判断。 |
日志中的 drto=1 表示数据读取超时,不能仅凭它断定是文件格式、频率或某个元件损坏。若更换卡后恢复,优先保留该卡作对比测试,生产使用已验证稳定的卡。
各尺寸固件使用固定名称和固定地址,日期记录在仓库提交说明中。下载入口见协议资源与示例。请下载原始 xtt_upg_v2025.img 文件,不要把网页另存成 IMG。
请提供屏幕完整型号与触摸类型、IDE/模拟器/固件版本、工程文件、实际镜像路径、复现步骤、完整启动或串口日志。协议问题另附串口参数、站号、地址类型和原始收发字节;日志尽量从异常前开始保留。