让用户主板(而非电脑)给 HMI 升级工程:主板发串口指令,HMI 进下载模式、收文件、存成 private。量产、远程维护都靠它。
1. 进入下载模式
主板发 $cfgenter#,HMI 应答 $ok# 后进下载模式(此时不响应原 Modbus 等协议)。
2. 创建文件
$file,[pathname],[size],[block],[baudrate]#
| 参数 | 说明 |
|---|---|
| pathname | 内部存储路径,如 3:/bin/image.bin(3: 等同 private:) |
| size | 文件字节大小 |
| block | 每包数据大小,推荐 512+4 / 1024+4 / 2048+4 |
| baudrate | 传输波特率,0=用当前波特率 |
例:$file,3:/bin/image.bin,12345,2052,921600#。HMI 应答 $ok# 或 $err#。
3. 下载数据
分包发文件数据(每包含 block 大小的有效数据 + 4 字节头尾)。改波特率前务必确认串口缓冲数据发完(简单起见延时 10ms)。
串口升级三道坎:①进下载模式后 HMI 不再响应原协议,别在这期间发业务指令;②改波特率前延时确保缓冲清空,否则丢字节整包废;③block 用 512+4 起步,大文件用 2048+4 提速度。
整理自 广州大彩科技 VisualHMI 开发文档(hmi-doc.gz-dc.com)其他技术教程「串口升级Private」,版权归大彩科技所有。
发表回复