S7-200 SMART Modbus TCP 服务器指令

发布时间:2018-08-04 17:11:01   来源:文档文库   
字号:

http://support.automation.siemens.com/CN/view/zh/xxxxx



目录

1 摘要 3

2 MODBUS TCP服务器功能 4

3 Modbus TCP 服务器指令使用示例 6

3.1 MB_Server指令库安装 6

3.2 调用MB_Server指令库 6

3.3 MB_Server指令库错误代码 8


1 摘要

本文用于介绍S7-200 SMART Modbus TCP 服务器指令的使用

伴随着STEP 7-Micro/WIN SMART V2.2 S7-200 SMART CPU 固件V2.2的发布,S7-200 SMART CPU开始支持TCPISO-on-TCPUDP等开放式用户通信。STEP 7-Micro/WIN SMART V2.2版本软件安装MB_Server指令库后,S7-200 SMART CPU 还可以支持 Modbus TCP 服务器指令。

每个 MB_Server指令库只能创建一个Mdobus TCP连接,如果一个S7-200 SMART 需要连接多个Modbus TCP 客户端,则需要购买多个名称不同的MB_Server指令库(例如MB_Server_0MB_Server_1MB_Server_2

2 MODBUS TCP服务器功能

Modbus 设备间的数据交换是通过功能码来实现的。S7-200 SMART CPU 调用MB_Server指令作为MODBUS TCP服务器时支持功能码见表 1.所示。

1. MB_Server指令库支持的Modbus功能码

注意:当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 地址映射关系

注意:

AIW161:紧凑型 CPU 不支持模拟量输入;AIW16为第一个扩展模块 EM0 的起始地址。

HoldStart2 MB_Server指令库中的MBS_Connect指令 HoldStart 参数用于定义 V 存储区中保持寄存器的起始地址。

3 Modbus TCP 服务器指令使用示例

3.1 MB_Server指令库安装

1) 打开STEP 7-Micro/WIN SMART V2.2 版本软件,鼠标右键项目树的“库”节点,并从快捷菜单中选择“打开库文件夹”,如图 1. 所示

1.打开库文件夹

2) MB_Server指令库添加到打开的STEP 7-Micro/WIN SMART库文件夹中,如图2. 所示。

2.添加MB_Server指令库

备注:STEP 7-Micro/WIN SMART库文件夹一般存储路径为C:\Users\Public\Documents\Siemens\STEP 7-MicroWIN SMART\Lib

3) 关闭STEP 7-Micro/WIN SMART库文件夹,然后鼠标右键项目树的“库”节点,并从快捷菜单中选择“刷新。刷新后,您可以看见“MB_Server_0”指令库已经被添加到项目树的库节点下。

3.2 调用MB_Server指令库

MB_Server指令库包含MBS_ConnectMBS_Slave2个指令MBS_Connect指令用于建立或断开Modbus TCP连接;MBS_Slave指令用于处理来自Modbus TCP客户端的请求,并且该指令必须在每次扫描时执行,以便检查和响应 Modbus 请求。

每个 MB_Server指令库只能创建一个Mdobus TCP连接,如果一个S7-200 SMART 需要连接多个Modbus TCP 客户端,则需要购买多个名称不同的MB_Server指令库(例如MB_Server_0MB_Server_1MB_Server_2

1) 在“MAIN”主程序中调用MBS_ConnectMBS_Slave指令,如图 3. 所示。

3.主程序中调用MB_Server指令库

MBS_Connect指令各个参数定义如下:

EN 使能:必须保证每一扫描周期都被使能

Connect启动TCP 连接建立操作。

Disconnect: 断开TCP连接操作。

ConnID: TCP 连接标识。

注意:Modbus TCP 属于TCP通信,也是开放式用户通信中的一种,所以ConnID参数不能与其他TCPISO-on-TCPUDP通信相同。

IPaddr1~IPaddr4: Modbus TCP 客户端的IP地址,IPaddr1 IP 地址的最高有效字节,IPaddr4 IP 地址的最低有效字节。如果不指定伙伴 IP ,则可以设置为0.0.0.0

LocPort 本地设备上端口号

MaxHold: 用于设置 Modbus 地址 4xxxx 4yyyyy 可访问的 V 存储器中的字保持寄存器数

HoldStart: 间接地址指针,指向 CPU V 存储器中保持寄存器的起始地址。本例中VW1000 即对于 Modbus 地址 40001

ConnectDoneModbus TCP连接已经成功建立。

Busy: 连接操作正在进行时。

Error: 建立或断开连接时,发生错误。

Status如果指令置位 Error 输出,Status 输出会显示错误代码MB_Server指令库错误代码见3.3章节

MBS_Slave指令各个参数定义如下:

EN 使能:必须保证每一扫描周期都被使能

Done MB_Server 指令响应 Modbus 请求时,Done 完成位在当前扫描周期被设置为 1 如果未处理任何请求,Done 完成位为 0

Error 错误代码,只有在 Done 位为1错误代码有效MB_Server指令库错误代码见3.3章节

2) MB_Server指令库分配库存储器地址

MB_Server指令库需要占用 300个字节 V 存储区用于库存储器地址分配。该库存储器分配地址不能与 MBS_Connect 指令参数 HoadStart指向的 V 存储器地址重叠,也不能与其它程序使用的地址有重叠,库存储器地址分配过程见图4.所示

4.MB_Server指令库分配库存储区

3.3 MB_Server指令库错误代码

本文来源:https://www.2haoxitong.net/k/doc/d1996ba927fff705cc1755270722192e44365862.html

《S7-200 SMART Modbus TCP 服务器指令.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式