西门子6ES7321-1BH50-4AA1打包订货号
西门子SM321扩展模块带连接器价格
西门子SM321数字模块带连接器上海代理
产品订货号:6ES7321-1BH50-4AA1
产品说明:SM321 扩展模块 (6ES73211BH500AA0) SIMATIC S7-300, 数字输入 SM 321, 光隔离 16数字量输入, 24 V DC, 源输入, 1 X 20 针和SIMATIC S7-300, 前连接器(6ES73921AJ000AA0) 用于带有螺钉触点信号模块 , 20针 "


S7-300/400 的CPx43-1 MODBUS TCP 通讯(STEP7)
下面章节将介绍如何使用软件选项包” ModbusTCP CP V4.3 "的功能块库配置S7-300/400单站系统通过CP343-1/CP443-1与第三方模拟软件进行Modbus/TCP进行通讯的详细步骤
1.“ ModbusTCP CP V4.3”块库使用说明
1) 该功能块库可以用于S7-300单站通过CP343-1或S7-400单站通过CP443-1进行ModbusTCP通讯。
2) 由于需要在SIMATIC站与其他通讯伙伴之间建立TCP连接用于Modbus通讯,因此需要调用SIMATIC S7标准功能块,对于S7-300/400的CP来说,需要调用FC5(AG_SEND),FC6(AG_RECV)功能块。
3) 对于主要功能块FB106、107和108来说,包含了V1.x和V2.x,它们管脚参数并没有更改,只是在V2.x中增加了FC10”AG_CNTRL”功能块用于管理TCP连接,是否支持功能块与CP的型号和固件版本有关,如下图1所示:
图1 功能块V1.x和V2.x版本区别
当将软件选项包安装完集成到Step7时,可以在Step7安装文件的相应目录中找到块库、例程、英文手册,另外还可找到用CFC语言编程的功能快库,供读者选用,如下图2~4所示,在实际的项目调试过程中由于例子程序的各项功能比较完善,因此可以直接使用例子程序根据项目的实际情况修改相应的参数即可,可以节省大量的参数设置时间,以下主要描述了使用软件选项包” ModbusTCP CP V4.3 "配置S7-300/400站的详细配置和编程步骤。
图2 块库、例程、英文手册和软件注册的文件夹位置
图3 例程(注:当找不到例程时可以通过”Browse..”按钮来进行查找)
图4 功能块库(注:当找不到块库时可以通过”Browse..”按钮来进行查找)
2. 配置S7-400单站系统通过CP443-1 作为Server进行Modbus TCP通讯
以S7-400单站系统及Modscan32软件为例,详细介绍如何将S7-400单站系统通过CP443-1配置为Server,Modscan32为Client进行Modbus TCP通讯,在本例中将使用带FC10”AG_CNTRL”版本的功能块,下图5为服务器功能块库的程序结构及各功能块完成的功能:
图5 服务器功能块库程序结构
注意:Modscan32软件可以从网上免费下载得到,本例中使用的版本为V7.0版,由于各版本的功能不尽相同,因此需要注意版本问题。
西门子6ES7321-1BH50-4AA1打包订货号
西门子SM321扩展模块带连接器价格
西门子SM321数字模块带连接器上海代理
2.1 例子中使用的硬件设备及软件
本例中所用的硬件设备如下表:
名称 |
数量 |
订货号 |
S7-400电源模块PS 407 10A |
1 |
6ES7407-0KA01-0AA0 |
S7-400 CPU414-3PN/DP |
1 |
6ES7414-3EM05-0AB0(V5.2) |
S7-400 CP443-1 |
1 |
6GK7443-1EX41-0xE0(V1.0) |
S7-400 机架 |
1 |
6ES7400-1JA00-0AA0 |
网线 |
若干 |
|
笔记本电脑 |
1 |
|
表1 服务器硬件清单
所用到软件如下表:
名称 |
订货号 |
STEP7 V5.5 组态编程软件 英文版 |
|
“ ModbusTCP CP V4.3” 软件选项包 |
2XV9450-1MB00 |
Modscan32 V7.0 |
|
表2 服务器软件清单
2.2 S7-400系统及Modscan32
2.2 S7-400系统及Modscan32软件组态
打开Step7软件,新建一个工程项目文件,命名为“M_TCP_CP_V43(Server)”, 在项目下插入一个S7-400站,如下图6所示:
图6 新建S7-400 Station
双击插入的SIMATIC 400 Station的“Hardware”,打开硬件组态,在硬件组态界面下分别插入机架,电源PS407、CPU414-3PN/DP、CP443-1,本例中将CP的IP地址设为192.168.70.2,如下图7所示:
图7 硬件组态并设置CP443-1的IP地址
打开Netpro网络组态,选中CPU414-3PN/DP,插入一个新连接,连接伙伴为Unspecified,连接类型为TCP Connection,如下图8所示:
图8 网络组态-新建TCP connection
打开连接属性对话框中的“General Information”,由于CP443-1做Server被动连接,因此不勾选“Active connection estabishment”选项,ID保持缺省即可,在“Address”栏中同样由于CP443-1做Server,因此填入连接的Port号设置为502,组态完成后,编译保存,将例程站点“SIMATIC 400(Server)”中的程序(System data不需要拷贝)拷贝到该项目中并下载(注意:OB100中调用的FB108的id和laddr需根据组态确认)。对于通讯伙伴Remote的IP地址可以不填,即允许任意IP地址的客户端发起连接,如下图9所示:
图9 S7-400为服务器的TCP connection参数设置
对于服务器和客户端的端口号(下述中以Port代替)的选择需要注意以下几点:
1)一般情况下服务器端的Port号modbus TCP规范缺省为502,客户端的Port号设置为客户端允许的号即可,另外各厂商产品也有一些限制,对于SIMATIC产品一般从2000之后开始。
2)对于一个系统来说,当创建多个TCP连接时,要保证IP地址和Port号不重合,即同一个IP地址下创建多个TCP连接时Port号必须不同,而不同的系统因IP地址不同可以使用相同的Port号,例如本例中如果需要创建多个TCP连接作为Server时因只有一个IP,因此Port号必须不同。
西门子6ES7321-1BH50-4AA1打包订货号
西门子SM321扩展模块带连接器价格
西门子SM321数字模块带连接器上海代理
2.3 通讯测试
由于“ ModbusTCP CP V4.3”选项包支持功能码FC1,2,3,4,5,6,15,16,不同的功能码测试过程中类似,因此下面以FC03(读写保持寄存器)为例来说明通讯测试的整个过程,对于其他功能码的测试将不再重复描述,对于Modbus的数据类型可参考下表3:
表3 Modbus数据类型
由于服务器主功能块FB108“MODBUSCP”的参数需要初始化,因此分别在OB100及OB1中调用FB108,在OB100中调用FB108完成相关参数的初始化,FB108的管脚分分布如下图10所示:

注意:在图10中已经填写的参数不需要初始化,在OB1调用赋值;而未填写的参数需要初始化,在OB100中调用完成。
打开Modscan32软件,在“Connection--->connect”中打开连接属性对话框,连接接口选择“Remote TCP/IP Server”,IP Address分别填入CPU的IP地址
192.168.70.2,Service为远程服务器的端口502,在协议的选择对话框中可以定义传输模式、通讯超时响应时间,报文发送间隔及允许写多个保
持寄存器等,这里分别保持缺省设置即可,如下图11所示:
图18:对应TCP通讯的Modscan32连接窗口
下载网络组态及程序到CPU中,使能参数ENQ_ENR=1,在 Modscan32的“Set up->Data Definition”中设置数据扫描周期、寄存器连接类型、起始地址、长度等,如下图11所示:
图11 Modscan32中Modbus数据参数定义
之后在ModScan32中就可以建立和远程CP443-1 Server的连接了,在Netpro中可以看到连接已经建立起来,如下图12所示:
图12 Modscan32激活与S7-400的连接
由于Modbus的内部地址编排时基于数据链路层和应用层有一定的映射关系,因此Modbus的地址与SIMATIC中的DB块的地址时按照一定的地址映射关系来相对应,这样造成了DB块中有一定的地址偏移量,在本例中假设数据区的定义如下图21所示,其DB偏移量、Modbus物理编址、应用层编址如下图13所示:
图13本例中的数据区定义
图14 DB偏移量、Modbus物理编址、应用层编址对应关系
在Step7的项目程序中新建一个变量监控表,插入需要监控的参数和数据区变量,可以看到ModScan32软件与CP443-1的数据通讯已经建立起来了,双方可以进行正常的保持寄存器数据读写操作,如下图15所示:
图15 通讯连接建立
西门子6ES7321-1BH50-4AA1打包订货号
西门子SM321扩展模块带连接器价格
西门子SM321数字模块带连接器上海代理