操作指南 ? 11/2016
S7-200 SMART Modbus TCP 服务器指令库
S7-200 SMART、Modbus TCP
http://support.automation.siemens.com/CN/view/zh/xxxxx
Unrestricted
目录
1 2 3
Unrestricted
摘要 ...................................................................................................................... 3 MODBUS TCP服务器功能 .................................................................................. 4 Modbus TCP 服务器指令使用示例 ..................................................................... 6 3.1 MB_Server指令库安装 ......................................................................... 6 3.2 调用MB_Server指令库 ........................................................................ 6 3.3 MB_Server指令库错误代码 ................................................................. 8
2
Copyright ? Siemens AG Copyright year All rights reserved
Copyright ? Siemens AG Copyright year All rights reserved 1 摘要
本文用于介绍S7-200 SMART Modbus TCP 服务器指令的使用。
伴随着STEP 7-Micro/WIN SMART V2.2 和S7-200 SMART CPU 固件V2.2的发布,S7-200 SMART CPU开始支持TCP、ISO-on-TCP和UDP等开放式用户通信。STEP 7-Micro/WIN SMART V2.2版本软件安装MB_Server指令库后,S7-200 SMART CPU 还可以支持 Modbus TCP 服务器指令。
每个 MB_Server指令库只能创建一个Mdobus TCP连接,如果一个S7-200 Unrestricted
SMART 需要连接多个Modbus TCP 客户端,则需要购买多个名称不同的MB_Server指令库(例如MB_Server_0,MB_Server_1,MB_Server_2)。
3
Copyright ? Siemens AG Copyright year All rights reserved 2 MODBUS TCP服务器功能
Modbus 设备间的数据交换是通过功能码来实现的。S7-200 SMART CPU 调用MB_Server指令库作为MODBUS TCP服务器时支持功能码见表 1.所示。
表1. MB_Server指令库支持的Modbus功能码
Modbus 地址 00001 – 0XXXX 00001 – 0XXXX 10001 – 1XXXX 10001 – 1XXXX 30001 – 3XXXX 30001 – 3XXXX 40001 – 4XXXX 40001 – 4XXXX 读写 功能码 读 1 写 写 读 写 读 写 读 写 写 5 15 2 - 4 - 3 6 16 备注 读取单个/多个开关量输出线圈状态 写单个开关量输出线圈 写多个开关量输出线圈 读取单个/多个开关量输入触点状态 不支持 读取单个/多个模拟量输入通道数据 不支持 读取单个/多个保存寄存器数据 写单个保持寄存器数据 写多个保持寄存器数据
注意:当MODBUS TCP客户端使用功能码15 把多个离散量输出点的值写到 S7-200 SMART CPU 的输出映像寄存器(Q 区)时,输出点的地址必须以字节边界起始(如 Q0.0 或 Q2.0),并且输出点的数目必须是 8 的整数倍。
S7-200 SMART CPU 作为 Modbus TCP服务器时支持以下 Modbus 地址(与 CPU 地址的映射关系见表 2.所示):
? 00001 至 00256 是映射到 Q0.0 - Q31.7 的开关量输出线圈。 ? 10001 至 10256 是映射到 I0.0 - I31.7 的开关量输入触点。
? 30001 至 30056 是映射到 AIW0 - AIW110 的模拟量输入通道(紧凑型
CPU 除外) 。 ? 40001 至 49999 和 400001 至 465536 是映射到 V 存储器的保持寄存器。
表2. Modbus 地址与 S7-200 SMART CPU 地址映射关系
Modbus 地址 00001 00002 … 00255 00256 10001 10002 … S7-200 SMART CPU 地址 Q0.0 Q0.1 … Q31.6 Q31.7 I0.0 I0.1 … Unrestricted
4
Unrestricted
10255 I31.6 10256 I31.7 30009 AIW161 30010 AIW18 … … 30055 AIW108 30056 AIW110 40001 HoldStart2 40002 HoldStart + 2 … … 4XXXX HoldStart + 2(XXXX -1) 注意:
AIW161
:紧凑型 CPU 不支持模拟量输入;AIW16为第一个扩展模块 EM0 的起始地址。
HoldStart2 :MB_Server指令库中的MBS_Connect指令 的 HoldStart 参数用于定义 V 存储区中保持寄存器的起始地址。 5
Copyright ? Siemens AG Copyright year All rights reserved