视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ABB 900F和西门子1200 1500 ModbusTCP通讯测试
2025-09-25 02:56:51 责编:小OO
文档
ABB AC900F和S7-1500/1200 Modbus TCP通讯

测试公司:烟台东润科技股份有限公司

一、 测试准备

1.ABB AC900F CPU 1台

2.S7-1200 CPU 2台

3.Freelance2016 SP1组态软件

4.TIA V14软件

5.modscan和modsim(Modbus Slave)调试工具

注:

1)Modbus TCP通讯区分为服务器和客户机,没有主从之分。

2)客户机主动请求数据,服务器进行响应。

3)modscan为服务器测试工具,Modbus Slave和modsim为客户机测试工具;

4)本测试过程同时适用于西门子S7-1500 PLC控制系统。

二、 AC900F使用Modbus TCP从站(服务器)和S7-1200使用MB_CLIENT(客户机)进行

Modbus TCP通讯

(一)和S7-1200系统进行Modbus TCP通讯,ABB Freelance2016 SP1配置组态

1.ABB Freelance2016 SP1软件的安装及基本组态可以参考ABB Freelance2016的基础教程,硬件组态

添加Modbus TCP通讯接口

2.Modbus TCP服务器端配置界面,定义接口名称,服务器端口默认502,勾选使用访问控制,访问

控制界面设置客户机端的IP地址172.16.1.21。

3.程序块内程序,添加一个8回路读程序块,以此为例

定义好功能块名称和功能块连接的接口名称(F2选择通讯接口名称),起始地址为Modbus标准地址,0相对应40001,寄存器数量为通讯数据量,我们将测试对40001~40008的地址进行读测试。

测试程序

4.说明:

1)ABB Freelance2016只能添加一个Modbus TCP从站(服务器),每个Modbus TCP从站可以

设置10个连接的客户机。

2)每个客户机数据通讯以寄存器地址进行区分。

(二)和S7-1200系统进行Modbus TCP通讯,S7-1200配置组态

1.添加新设备

2.定义设备网络和IP地址

3.核对硬件标识符为

4.CPU属性-保护-连接机制,勾选允许访问

5.激活系统内置定时脉冲

6.添加全局通讯接口数据块DB1,名称TCON_1,新建变量TCON,数据类型TCON_IP_V4

7.添加全局数据块DB2,名称:数据交换,去除优化块的访问,编译后出现绝对地址;

8.在OB1组织块编写通讯主程序,添加MB_CLIENT

功能块MB_CLIENT的参数含义如下表:

9.说明:

1)MB_CLIENT块使用中,STATUS状态代码可以实时判断目前的通讯状态,可将代码采集到

人机界面实时判断通讯状态;

2)修改通讯接口数据时,出现8200故障代码,需要将CPU进行停止/启动操作或断电重启

方可恢复;

3)STATUS状态代码定义一栏:

三、 AC900F使用Modbus TCP主站(客户机)和S7-1200使用MB_SERVER(服务器)进行

Modbus TCP通讯

(一)和S7-1200系统进行Modbus TCP通讯,S7-1200配置组态

1.添加新设备

2.定义设备网络和IP地址

3.核对硬件标识符为

4.CPU属性-保护-连接机制,勾选允许访问

5.添加全局通讯接口数据块DB1,名称TCON_1,新建变量TCON,数据类型TCON_IP_V4

6.添加全局数据块DB2,名称:数据交换,去除优化块的访问,编译后出现绝对地址;

7.在OB1组织块编写通讯主程序,添加MB_SERVER

功能块MB_CLIENT的参数含义如下表:

8.通讯测试

客户机采用Modscan软件测试,Modscan做 Modbus TCP Client 测试软件,是第三方软件。 Modscan软件设置:

将测试电脑的IP地址设置成172.16.1.60,打开Modscan软件,在Modscan的“Setup->View Definition”中设置功能码、起始地址、长度等,如图4.所示。

图4.设置“Data Definition”参数

在“Connection->connect...”中打开连接属性对话框,选择“Remote modbus TCP Server”,设置服务器的IP地址,端口号,如图5.所示。

图5.设置连接属性

注意:用Modsscan32做客户机不需要考虑Device ID和服务器一致的情况,服务器自动响应客户机的Device ID。

9.说明:

1)MB_CLIENT块使用中,STATUS状态代码可以实时判断目前的通讯状态,可将代码采集到

人机界面实时判断通讯状态;

2)修改通讯接口数据时,出现8200故障代码,需要将CPU进行停止/启动操作或断电重启

方可恢复;

3)Modbus地址的对应关系

4)“MB_SERVER”指令允许到达的Modbus功能(FC01、FC02、FC04、FC05、FC15)直接读

取和写入访问S7-1200CPU的过程映像输入/输出区(数据类型:BOOL和WORD),通过Modbus功能代码(FC03、FC06和FC16)将到达的Modbus消息写入Modbus保持寄存器或从寄存器中读取(可通过MB_SERVER指令的参数“MB_HOLD_REG”指定保持寄存器),保持寄存器的大小(MB_HOLD_REG参数)必须大于1个字节,详细参考下表:

表:Modbus地址的对应关系

5)STATUS状态代码定义一栏:

(二)和S7-1200系统进行Modbus TCP通讯,ABB Freelance2016 SP1配置组态

1.ABB Freelance2016 SP1软件的安装及基本组态可以参考ABB Freelance2016的基础教程,硬件组态

添加Modbus TCP通讯接口

2.Modbus TCP客户端配置界面,定义接口名称,服务器端口默认502,访问控制界面设置服务器的

IP地址172.16.1.21。

3.程序块内程序,添加一个8回路写程序块和一个8回路读程序块,以此为例

定义好功能块名称和功能块连接的接口名称(F2选择通讯接口名称),起始地址为Modbus标准地址,0相对应40001,寄存器数量为通讯数据量,我们将测试对40001~40008的地址进行读测试。

测试程序

4.说明:

1)ABB Freelance2016最多可以添加20个Modbus TCP主站(客户机)。

2)服务器可以采用Modbus Slave软件测试,Modbus Slave 做 Modbus TCP Server 测试软

件,是第三方软件。下载本文

显示全文
专题