标准modbus协议文本Word文档下载推荐.docx
- 文档编号:14434778
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:11
- 大小:83.42KB
标准modbus协议文本Word文档下载推荐.docx
《标准modbus协议文本Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《标准modbus协议文本Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
2010-07-27
陆艮峰
初稿
顺序号的应用:
Ø
对于每个信息,MODBUSMASTER(ISCSFEP)会给MODBUSSLAVE(子系统)初始化/制造顺序号;
MODBUSSLAVE(子系统)的响应信息应使用从MODBUSMASTER(ISCSFEP)发出的相同的顺序号;
ISCSFEP应确认从子系统收到的顺序号与之前发送给子系统的顺序号相同;
ISCSFEP增加顺序号数值的原则:
顺序号应用两个字节来储存;
顺序号的范围应是(0-65535)或(0x0000to0xFFFF);
顺序号的初始数值应是0;
对于每个发出的信息,包括用于正常轮询、故障轮询、重试信息或控制,ISCSFEP应把顺序号数值增加1;
如果ISCSFEP发现子系统的响应信息的顺序号有错误,应不理会该信息,并宣布通讯状态欠佳。
1.1报文详述
本文中定义的寄存器地址将根据子系统供应商最终提供的IO点类表作相应的修改。
2.3.1功能码0x04(读输入寄存器)
例如:
ISCS向子系统发送查询帧,获取子系统设备状态:
Description描述
Size(Byte)长度(字节)
Definition含义
Header报头
TransactionIdentifier事务标识
2
TCPSEQUENCENUMBERTCP顺序号
ProtocolIdentifier协议标识
0x0000(ModbusTcp为0)
Length长度
0x0006
UnitIdentifier单元标识
1
0xFF(ModbusTcp总为0xFF)
ModbusData
Modbus数据
FunctionCode功能码
0x04
StartingAddress起始地址
0xXXXX(根据实际情况定义)
NumberofRegisters寄存器数量
N(最大为125个寄存器)
子系统向ISCS返回响应
Description描述
Header
报头
TCP顺序号(从客户端请求中拷贝)
0x0000(从客户端请求中拷贝)
2*N+3
UnitIdentifier单元标识
0xFF
FunctionCode功能码
ByteCount字节个数
2*N(N最大为125个寄存器)
子系统发送到ISCS的数据如果超过125个寄存器,ISCS可以轮询多次。
Data(asrequested)请求的数据
2*N
0xXX………XX(根据实际点表定义)
注:
本表中N、X出现的部分将根据实际点表定义。
2.3.2功能码0x10(预置多寄存器)
ISCS向子系统发送信息:
Size(Byte)
长度(字节)
ProtocolIdentifier协议标识
0x0000
Length长度
2*N+7(最大为125个寄存器)
0x10
WriteStartingAddress写起始地址
0xXXXX(根据实际点表定义)
NumberofRegisters寄存器个数
Data数据
子系统向ISCS返回响应:
Definition含义
0xFF(从客户端请求中拷贝)
0xXXXX(和客户端请求地址一致)
N(和客户端请求寄存器数一致)
2.3.3异常处理
异常处理的目的是:
当通讯故障时,向客户端提供与故障相关的信息。
响应功能码=请求功能码+0x80;
错误功能码用于提示错误原因。
目前使用的异常码是:
01,02,03和04。
异常码
名称
含义
01
ILLEGALFUNCTIAON
服务端不支持请求报文所要求的功能。
原因可能是:
此功能仅仅适用于新型设备,当前使用的设备不具备此功能。
此功能码也表明:
服务端(从站)处于故障状态,无法处理客户端请求。
比如,服务端尚未被初始化,就被要求返回数据。
02
ILLEGALADDRESS
服务端不支持请求报文中数据地址。
在某些特定条件下,数据个数和数据长上度有可能不对应,从而产生此错误。
如果一个控制器总共有100个寄存器。
客户端请求数据包中,如果寄存器的起始地址是96,数据长度为4,这是允许的。
但是,如果寄存器的起始地址是96,数据长度是5,异常发生。
因为,96+5=101,已经超过了控制器最大寄存器的数量。
03
ILLEGALDATAVALUE
服务端发现
:
客户端发送的数据中,包含有无效数据。
此异常表明:
服务端接收到的数据包含错误。
此异常并不一定意味着:
服务端接收的数据包中的,某个数据越限。
因为,Modbus协议对特定寄存器的含义不作处理。
04
SLAVEDEVICEFAILURE
当服务端执行相应的功能时:
发生了无法恢复的错误。
2.3.4功能码0x04(读输入寄存器)异常响应
0xXXXX(假设起始地址+寄存器数量超出了服务端的最大地址)
子系统向ISCS返回异常响应
0x03
0x84(响应功能码)
IllegalFunctionCode
错误功能码
0x02(非法地址,详见异常码表)
2.3.5功能码0x10(预置多寄存器)异常响应
2*N+7(N最大为125个寄存器)
0xXXXX(假设起始地址+寄存器数量超出了服务端的最大地址)
0x03(实际长度)
0x90(响应功能码)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 标准 modbus 协议 文本