图5 服务器功能块库程序结构
注意:Modscan32软件可以从网上免费下载得到,本例中使用的版本为V7.0版,由于各版本的功能不尽相同,因此需要注意版本问题。
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软件组态
打开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号必须不同。
2.3 通讯测试
由于“ ModbusTCP CP V4.3”选项包支持功能码FC1,2,3,4,5,6,15,16,不同的功能码测试过程中类似,因此下面以FC03(读写保持寄存器)为例来说明通讯测试的整个过程,对于其他功能码的测试将不再重复描述,对于Modbus的数据类型可参考下表3:
-
姓名:
-
联系手机:
-
需求量:
-
固话电话:
-
联系邮箱:
-
所在单位:
我想了解:《西门子PLC模块6ES7322-1CF00-0AA0》的详细信息.请商家尽快与我联系。