SPM91 MODBUS通信协议详解:RTU模式与包裹结构

需积分: 50 6 下载量 76 浏览量 更新于2024-08-06 收藏 409KB PDF 举报
"MODBUS包裹结构描述-surface acoustic wave devices in telecommunications" MODBUS协议是一种广泛应用的工业通信协议,尤其在电表和其他自动化设备中,如SPM91。它定义了一种标准格式,使得不同设备之间能够交换数据。MODBUS协议支持两种传输模式:ASCII(美国标准代码交换信息)和RTU(远程终端单元)。然而,SPM91电表只支持RTU模式,这种模式使用8位数据位、无校验位和1位停止位。 MODBUS通信的核心是包裹(或称帧),每个包裹包含了四部分关键信息: 1) **地址域**:占一个字节,用于指定接收包裹的从站地址。有效的从站地址范围是从1到247。当从站接收到的地址与其自身地址匹配时,它会执行包裹中的指令。从站响应时,该域包含的是其自身的地址。 2) **功能码域**:也是一个字节,指示从站应执行的操作。功能码定义了主站对从站的具体请求,例如读取或写入寄存器。SPM91支持的功能码有0x03(读取寄存器)和0x10(设置寄存器)。读取寄存器用于获取SPM91内部的当前寄存器值,而设置寄存器则允许主站向SPM91写入特定数值。 3) **数据域**:长度可变,根据功能码的不同而变化。数据域按照“大端”(BIG INDIAN)字节序传输,即高位字节在前,低位字节在后。例如,如果要发送一个16位寄存器值0x12AB,实际发送的顺序将是高位字节0x12在前,低位字节0xAB在后。 4) **校验域**:用于检测通信错误,但SPM91在RTU模式下不使用校验位。然而,MODBUS协议通常使用CRC(循环冗余校验)来确保数据传输的准确性。 此外,MODBUS协议还包括异常响应和广播命令等特性。异常响应是当从站遇到问题时向主站发送的错误消息,而广播命令则是主站向所有从站发送的不带特定地址的通用消息,但SPM91不支持广播命令。 在实际应用中,例如读取SPM91的寄存器(功能码03H),主站会构造一个包含目标寄存器地址和所需数量的包裹,从站接收到请求后返回相应的寄存器值。同样,写入寄存器(功能码10H)时,主站会提供目标寄存器地址和要写入的新值。 MODBUS协议为SPM91电表提供了可靠且高效的通信机制,允许主站进行参数设置、数据读取等操作,从而实现对SPM91的远程监控和管理。理解并掌握MODBUS协议的这些基础知识对于有效利用SPM91的功能至关重要。