楼主最近还看过
终于遇到一个我可以答得上的问题了
举例,你的这个变送器的地址为1,波特率9600 通讯资料格式 8 N 1
PLC发送 : 01 03 00 00 00 02 C4 0B
仪表回复:01 03 04 00 01 05 E2 28 EA
00 01 05 E2,代表 10 进制 67042,即测量值为 67042
因为这个标准的Modbus协议,所以你用海为专用的Modbus读和写指令MODR和MODW即可。
首先我们调用出MODR指令,如下填写:
此时你把程序下载到PLC里即可读取你的实际数值了。
如果没有PLC,你就直接用软件的通讯仿真器,先点击仿真
填入协议中的例子中的给示例回复数据01 03 04 00 01 05 E2 28 EA。
点击应答按钮,可以看到程序MODR指令通讯成功,并且V1000V1001中就是你要的当前值32位数据。
我们再打开元件状态表
我们看到V1000V1001中的数据05E2 0001与实际的数据0001 05E2 相比较,需要调换下位置,所以:
用D.XCH 或者 BXCH 或者 写个子程序进行数据交换,都是很简单的。
我个人喜欢子程序数据处理。
所以写了个例子,最后的结果就是: