Modbus通讯编程实例(一) 最近单独在写Modbus和现场总线的介绍,都是一些思路性质的介绍,不涉及具体的实例,可能很多童鞋还是觉得不够具体,因为我现在不做具体的编程调试了,所以直接些实例很费劲。参考了一些网上的和施耐德电气内部的资料,写成以下的案例,用了一些其他人的劳动成果,如果原作者在意版权问题,请联系我,我尊重您的所有权。 我的帖子里提过Modbus的功能码,常用的没几个,这里列出更多的(也不是全部): 功能码(十进制)十六进制说明 DATA_EXCH功能块是用于Premium和M340传输数据到另外一台设备,这个功能块支持Modbus所有的功能码。 各个引脚定义: ADR为地址引脚,对于PREMIUM系列需要使用ADDR功能块连接。 实例一:读取N位(功能码01) 其中在EMIS数组中第一个字,低字节为功能码01,高字节为读取位的起始位1 在TWIDO中赋值如下: 在RECP中第一个字为返回码 第二个字为读取的数据 Modbus通讯编程实例(二) 实例二:读取N字(功能码03) 其中在EMIS数组中第一个字,低字节为功能码03,高字节为读取字的起始地址1 第二个字,低字节为读取字的起始地址1,高字节为读取字的长度6 在TWIDO中赋值如下 在RECP中第一个字为返回码 第二个字开始为读取的数据 |