1、200PLC主站程序第一步初始化,复位modbus库完成位,初始化完成后,启动读写指令m0.1置位
2、网络3,填写从站通讯参数
3、M0.1置位读取从站数据,读取保持寄存器40001-400088个数据根据数据格式写入&VB1000,如4000140002为32位浮点数
4、查看bug
5、读取输入寄存器,读取完成M2.2置位,复位M2,.1
6、M2.2置位,写数据开始,VB3000写入00001中,写完成,M2.3置位,开始读,M2.2复位。
1、目前项目已经在Github中开源2、主机的相关的框架已经修改完成,初始化、配置Modbus主机相关接口与原有从机接口基本相同;
3、移植主机相关硬件配置与原有从机方式一致,需要修改FreeModbus源码中port文件夹中后缀带_m相关文件;
4、Modbus主机请求主机请求功能目前实现了所有与保持寄存器、输入寄存器、线圈及离散输入相关的功能,并测试通过
5、目前的Modbus主机请求功能是异步模式,后期考虑方便上层调用,可以同时给上层提供同步模式的控制方法;
6、主机的异常处理任务还未添加,只留了接口,后期考虑给上层提供回调接口,相关异常功能上层也能自动做处理;
7、目前最新代码同时支持Modbus主机及Modbus从机两种模式,两者互不干涉,用户可以在/FreeModbus/modbus/mbconfig.h中自行裁剪。
调用modbusrtu主站读写子程序mbus_msg:error
错误代码:
只有在done位为1时,错误代码才有效
0=无错误
1=响应校验错误
2=未用
3=接收超时(从站无响应)
4=请求参数错误(slaveaddress,modbusaddress,count,rw)
5=modbus/自由口未使能
6=modbus正在忙于其它请求
7=响应错误(响应不是请求的 *** 作)
8=响应crc校验和错误
-
101=从站不支持请求的功能
102=从站不支持数据地址
103=从站不支持此种数据类型
104=从站设备故障
105=从站接受了信息,但是响应被延迟
106=从站忙,拒绝了该信息
107=从站拒绝了信息
108=从站存储器奇偶错误
2、常见的错误:
如果多个mbus_msg指令同时使能会造成6号错误;
从站delay参数设的时间过长会造成主站3号错误;
从站掉电或不运行,网络故障都会造成主站3号错误
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)