预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共31页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

蓄电池组在线监测装置 MODBUS通信协议 1MODBUS通信协议原理 2物理层接口 蓄电池组在线监测装置,采用RS485线路进行通信。 3Modbus串行数据链路层协议 3.1Modbus主站/从站协议原理 Modbus串行链路协议是一个主-从协议。在同一时刻,只有一个主节点连接于总线,一个或多个子节点(最大编号为247)连接于同一个串行总线。Modbus通信总是由主节点发起。子节点在没 有收到来自主节点的请求时,从不会发送数据。子节点之间从不会互相通信。主节点在同一时刻只 会发起一个Modbus事务处理。 主节点以两种模式对子节点发出Modbus请求: 在单播模式,主节点以特定地址访问某个子节点,子节点接到并处理完请求后,子节点向主节 点返回一个报文(一个'应答')。在这种模式,一个Modbus事务处理包含2个报文:一个来自主节点的请求,一个来自子节点的应答。 每个子节点必须有唯一的地址(1到247),这样才能区别于其它节点被独立的寻址。 在广播模式,主节点向所有的子节点发送请求。 对于主节点广播的请求没有应答返回。广播请求一般用于写命令。所有设备必须接受广播模式的写 功能。地址0是专门用于表示广播数据的。 单播和广播模式的区别在一个多点的结构下(如RS485)更加易于理解。 3.2Modbus地址规则 Modbus寻址空间有256个不同地址。 01~4755~248广播地址子节点单独地址保留 Modbus主节点没有地址,只有子节点必须有一个地址。该地址必须在Modbus串行总线上唯 一。 图解如下: 3.3串行链路数据帧格式 3.3.1Modbus帧描述 MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上 的MODBUS协议映射能够在应用数据单元(ADU)上引入一些附加域。 表3-2数据帧格式表 字段字节数描述设备地址1BYTE型数据,对象的地址。范围1~247。每组蓄电池分配 一个访问地址,默认情况下组1地址为1,组2地址为组1 地址加1,以此类推。监测多少组蓄电池,就占用连续的多 少个地址。组1地址可以前台修改,相应组2地址也会在组 1地址上增1。功能码1BYTE型数据。见“命令解析”。正常情况下发送和应答的 功能码一致,异常情况下参见“异常应答机制”。数据区N见“命令解析”。校验2CRC16校验,校验生成函数参考附录七。帧格式图解 在Modbus串行链路,地址域只含有子节点地址。 如前文所述,合法的子节点地址为十进制0–247。每个子设备被赋予1–247范围中的地址。 主节点通过将子节点的地址放到报文的地址域对子节点寻址。当子节点返回应答时,它将自己的地 址放到应答报文的地址域以让主节点知道哪个子节点在回答。 功能码指明服务器要执行的动作。功能码后面可跟有表示含有请求和响应参数的数据域。 错误检验域是对报文内容执行"冗余校验"的计算结果。根据不同的传输模式(RTUorASCII) 使用两种不同的计算方法。 4.串行传输模式RTU 它定义了报文域的位内容在线路上串行的传送。它确定了信息如何打包为报文和解码。 Modbus串行链路上所有设备的传输模式(和串行口参数)必须相同。 4.1RTU传输模式 串行链路上第一个MODBUS执行的长度约束限制了MODBUSPDU大小(最大RS485ADU=256 字节)。 因此,对串行链路通信来说,MODBUSPDU=256-服务器地址(1字节)-CRC(2字节)=253 字节。帧描述: ModbusRTU帧最大为256字节。 4.2Modbus报文RTU帧 由发送设备将Modbus报文构造为带有已知起始和结束标记的帧。这使设备可以在报文的开始接收 新帧,并且知道何时报文结束。不完整的报文必须能够被检测到而错误标志必须作为结果被设置。 在RTU模式,报文帧由时长至少为3.5个字符时间的空闲间隔区分。在后续的部分,这个时间区 间被称作t3.5。 整个报文帧必须以连续的字符流发送。 如果两个字符之间的空闲间隔大于1.5个字符时间,则报文帧被认为不完整应该被接收节点丢弃。 串通讯的数据帧格式图解 4.3.1///*****************串口传输设置******************** 蓄电池组在线监测装置,采用RS485线路进行通信。串口通信输出格式为:1位起始位,8位数据位,1位停止位,奇校验。默认波特率为2400bps,可调节为1200bps,2400bps,4800bps,9600bps。 编码系统:8–位二进制 报文中每个8位字节含有两个4位十六进制字符(0–9,A–F) BitsperByte:1起始位 8数据位,首先发