07用串口通信编程与使用 modbus 协议的设备进行通信ModbusSimulator 是本文档开发示例 DemoModbus 使用的一个仿真程序,它模拟一个标准的 MODBUS 设备
ModbusSimulator 采用标准 MODBUS 通信协议
Modbus 网络是一个工业通讯系统,由带智能终端的可编程序控制器和计算机通过共用线路或局部专用线路连接而成
系统构成既包括硬件,亦包括软件
可应用于各种数据采集和过程监控
表 B-1 是 Modbus 的功能码定义
表 B-1Modbus 功能码功能码名称作用 01读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)
02读取输入状态取得一组开关输入的当前状态(ON/OFF)
03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值
04读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05强置单线圈强置一个逻辑线圈的通断状态
表 B-1Modbus 功能码(续)06 预置单寄存器把具体二进制值装入一个保持寄存器
读取异常状态取得 8 个内部线圈的通断状态,这 8 个线圈的地址由控制器决定,用户逻辑可将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态
08回送诊断校验把诊断校验报文送从机,以对通讯处理进行评鉴
09编程(只用于 484)使主机模拟编程器作用,修改 PC 从机逻辑
10控询(只用于 484)可使主机与一台正在执行长程序任务从机通讯,定其探询该从机是否已完成其操作任务,仅在含有功能码 9 的报文发送后,本功能码才得发送
11读取事件计数可使主机发出单询问,并随即判定操作是否成功,尤其是在该命令或其应答产生通讯错误时
12读取通讯事件记录可使主机检索每台从机的 Modbus 事务处理通讯事件记录
如果某项事务处理未完成,记录会给出有关错误
13编程(184/384484584)可使主机模拟编程