s71200 modbus 通讯指令解析 下载本文

MB_MASTER指令参数意义如下表3所示:

引脚 EN REQ 使能端 说明 在上升沿执行该指令,请求将数据发送或读取到Modbus从站 MB_ADDR Modbus RTU从站地址。默认地址范围:0至247;扩展地址范围:0至65535。值0被保留用于将消息广播到所有Modbus从站。 MODE DATA_ADDR 模式选择:指定请求类型 从站中的起始地址:指定Modbus从站中将供访问的数据的起始地址。 DATA_LEN DATA_PTR 数据长度:指定要在该请求中访问的位数或字数。 数据指针:指向要写入或读取的数据的 M 或 DB 地址(DB访问类型必须是标准与S7-300/400兼容)。 DONE 完成位:上一请求已完成且没有出错后,DONE 位将保持为 TRUE 一个扫描周期时间。 BUSY 0 – 无正在进行的 MB_MASTER 操作; 1 – MB_MASTER 操作正在进行 EEROR 错误位:上一请求因错误而终止后,ERROR 位将保持为 TRUE 一个扫 描周期时间。 STATUS 参数中的错误代码值仅在 ERROR =TRUE 的一个扫描周期内有效。 STATUS 错误代码表3 MB_MASTER指令参数意义

关于MODE,DATA_ADDR,DATA_LEN可在下表4中查看:

MB_MASTER Modbus功能 Modbus地址参数 地址类型 Modbus数据 长度参数 模式0 读取 00001到09999 10001到19999 输出位 输入位 1到2000 1到2000 1到125 01 02 04 Modbus功能 30001到39999 输入寄存器 40001到49999 保持寄存器 400001到465535(扩展) 模式1 写入 00001到09999 输出位 1到125 03 1(单个位) 05 40001到49999 保持寄存1(单个字) 器 400001到465535(扩展) 00001到09999 输出位 2到1968 2到123 06 15 16 40001到49999 保持寄存器 400001到465535(扩展) 模式2 有些Modbus从站不支持使用Modbus功能05H或06H写入单个位或字。在这样的情况下,可通过模式2强制使用Modbus功能15H或16H写入单个位或字 写入 00001到09999 输出位 2到1968 1到123 15 16 40001到49999 保持寄存器 400001到465535(扩展) 模式11 读出从站的通信状态字和事件计数器:状态字指示指令的执行状态(0:未在执行;0xFFFF:正在执行)。每次成功传送一条消息时,事件计数器值将递增。使用该功能时,忽略“MB_MASTER”指令的 DATA_ADDR 和 DATA_LEN 参数。 模式80 通过读取错误代码 (0x0000) 检查从站状态:每个请求1个字 模式81 通过诊断代码 0x000A 复位从站的事件计数器:每个请求1个字 表4 MB_MASTER Modbus功能表 6. Modbus 从站软件设置

注意:Modbus RTU从站采用ModSim软件测试,该软件是第三方软件,可以从 Internet 网络下载。

在打开的ModSim软件中建立连接,并设置RTU模式的参数:波特率Baud=9600,数据位Data=8,停止位Stop=1,校验Parity=NONE,如下图10所示:

图10 建立ModSim连接

选择“File”→“New”打开ModSim通信界面,设置Modbus RTU从站的地址Device Id=2,开始地址Address=0001,数据长度Length=5,Modbus数据类型功能码03。分别双击各Modbus地址后的数据区,出现“Write Register\对话框,在此写入数据值,如下图11所示: 注意:Device Id设置必须与“MB_MASTER”指令中输入引脚“MB_ADDR”设置的地址一致。