欢迎来到天天文库
浏览记录
ID:62018981
大小:101.00 KB
页数:6页
时间:2021-04-13
《Modbus-RTU-主站指令库应用例程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ModbusRTU主站指令库应用例程网络1程序注释:Modbus主站读写程序注意: 1.ModbusRTU主站功能是通过指令库中预先编好的程序功能块实现的,该库只针对Port0口有效2.ModbusRTU主站使用了一些用户中断,在用户程序中不能禁止中断3.该例程访问的为一个从站,若访问不同的从站,可通过改变从站地址来实现。网络2网络注释初始化Modbus主站通信,EN使能:必须保证每一扫描周期都被使能(使用SM0.0)Mode模式:常为1,使能Modbus协议功能;为0时恢复为系统PPI协议Baud波特率:设为9600,要与从站波特率对应Parity校验:校验方式选择0=无校验Ti
2、meout超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000毫秒(1秒),允许设置的范围为1-32767。注意:这个值必须设置足够大以保证从站有时间响应。Done完成位:初始化完成,此位会自动置1。可以用该位启动MBUS_MSG读写操作Error初始化错误代码(只有在Done位为1时有效):0=无错误1=校验选择非法2=波特率选择非法3=模式选择非法网络3读取从站保持寄存器的数据EN使能:同一时刻只能有一个读写功能(即MBUS_MSG)使能注意:建议每一个读写功能(即MBUS_MSG)都用上一个MBUS_MSG指令的Done完成位来激活,以保证所有读写指令循环进行(见程
3、序)。First读写请求位:每一个新的读写请求必须使用脉冲触发Slave从站地址:可选择的范围1-247RW读写操作:0=读,1=写注意:1.开关量输出和保持寄存器支持读和写功能2.开关量输入和模拟量输入只支持读功能Addr读写从站的数据地址:选择读写的数据类型000001至000xxx-开关量输出100001至100xxx-开关量输入300001至300xxx-模拟量输入400001至400xxx-保持寄存器Count通讯的数据个数(位或字的个数)注意:Modbus主站可读/写的最大数据量为120个字(是指每一个MBUS_MSG指令)DataPtr数据指针:1.如果是读指令,读回的数
4、据放到这个数据区中2.如果是写指令,要写出的数据放到这个数据区中Done读写功能完成位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=从站忙,拒绝了该信息
5、107=从站拒绝了信息108=从站存储器奇偶错误常见的错误及其错误代码:1.如果多个MBUS_MSG指令同时使能会造成6号错误2.从站delay参数设的时间过长会造成3号错误3.从站掉电或不运行,网络故障都会造成3号错误网络4网络7
此文档下载收益归作者所有