
图8-8Modbus从站程序
使能:同一时刻只能有一个读写功能(即MBUS_MSG)使能;
读写请求位:每一个新的读写请求必须使用脉冲触发;
从站地址:可选择的范围1-247;
读写请求:0=读;1=写;
读写从站的Modbus地址:根据实际要求选择读写的数据类型
(如:40001);
数据个数:通讯的数据个数(位或字的个数);
数据指针:1.如果是读指令,读回的数据放到这个数据区中;2.如果是写指令,要写的数据放到这个数据区中;
完成位:读写功能完成位;
错误代码:只有在Done位为1时,错误代码才有效;
※多个MBUS_MSG指令轮询执行,若访问不同的从站,可通过改变从站地址来实现。
从站支持的功能
表8-5MODBUS地址参数表
MODBUS地址
读/写
MODBUS从站须支持的功能
00001-09999
数字量输出
读
功能1
写
功能5:写单输入点
功能15:写多输入点
10001-19999
数字量输入
读
功能2
写
-
30001-39999
输入寄存器
读
功能4
写
-
40001-49999
保持寄存器
读
功能3
写
功能6:写单寄存器单元
功能10:写多寄存器单元
Error错误代码:
0=无错误
1=响应校验错误
2=未用
3=接收超时(从站无响应)
4=请求参数错误(slaveaddress,Modbusaddress,count,RW)
5=Modbus/自由口未使能
6=Modbus正在忙于其它请求
7=响应错误(响应不是请求的操作)
8=响应CRC校验和错误