威纶通官方论坛

如何使用16功能码实现连续写寄存器

[复制链接]
发表于 2025-8-19 20:12:30 | 显示全部楼层 |阅读模式
SetDataEx(tmp[0], "DEVS", 6x, 0, 4) 该函数里功能码没有16X,如何使用16X实现连续写多个连续的寄存器值?
 楼主| 发表于 2025-8-20 13:49:30 | 显示全部楼层
声明一个数组来存储您想要写入的数据。 使用SetData函数将数据写入到Modbus设备中的多个寄存器。例如,以下代码片段展示了如何写入两个寄存器: Macro  macro_command main()     // 声明变量用于存储要写入的数据     int data[2]     // 设置要写入的数据     data[0] = 1234     data[1] = 5678     // 将数据写入到Modbus设备     SetData(data, "PLC设备名", "4x", 1, 2) end macro_command 在上述宏指令中,请替换“PLC设备名”为实际的PLC设备名,地址“4x_1”为实际数据地址,并且根据需要调整数据长度。  测试和调试:  将HMI程序下载到触摸屏设备上。 运行程序并通过触摸屏上的操作触发宏指令,检查Modbus设备是否正确接收到了写入的数据。 通过以上步骤,您可以在触摸屏上使用Modbus功能码16(0x10)来实现连续写入多个寄存器的值。
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2025-9-4 19:06

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表