经常使用的时候只有WinCC读取数据(主机模式),写数据没有查到案例,上次用过一次,记录一下。
WinCC V7.2 Modbus TCP 通讯 (siemens.com.cn)
上述是官方教程,没有写具体怎么实现写操作。
实际上就是常规03功能码读取,06功能码写入即可。但是写入是WinCC内部实现的,只需要绑定的变量在WinCC内部发生变化,就会触发06写命令到对方。
WinCC使用的Modbus功能码如下表所示:
连接参数:
寄存器地址:
这样配置之后,WinCC可以实现03功能码读取数据了。
但是06功能码写的话,还需要通过变量变化来触发。
脚本修改modbus寄存器绑定的变量值,当主钩重量发生变化时,将数据写入到modbus寄存器中。
最终实现的效果就是,主钩重量没变时,WinCC常规读取对方的modbus寄存器。主钩重量发生变化时,WinCC将数据写入到对方的modbus寄存器中,然后循环读取回来。