西门子S120电源模块6SL3330-7TG37-4AA3
西门子电源模块6SL3330-7TE41-4AA3
TCP通信方式在发送接收数据前必须建立通信连接,连接需要在通信双方编程建立。主动连接的一方作为客户端,被动连接的一方作为服务器。下面以SIMOTION D435与S7-300 CP343-1通信为例介绍TCP通信方式。
4.2.1在PLC侧建立通信连接
在STEP7项目下创建S7-300站点,插入以太网通信处理器CP343-1,选择与SIMOTION在相同的网络上。在NETPRO中点击CPU,在下面的连接表中插入一个连接如图14所示:
图14 建立TCP连接
连接的站点选择“Unspecified",连接方式选择“TCP connection",点击“Apply"键确认进入连接属性界面,如图15所示:
图14 配置TCP常规信息
在“General Information"栏中,“Block Parameters"参数显示CP343-1的地址及连接号,这两个参数也是PLC调用发送和接收通信功能块赋值参数。“Active connection establishment"选项决定通信双方哪一个是主动连接(客户端),哪一个是被动连接(数据服务器)。选择该选项为主动连接,在SIMOTION 侧需要调用函数“_tcpOpenServer"与PLC建立连接,如果没有选择该选项为被动连接,在SIMOTION 侧需要调用函数“_tcpOpenClient" 与PLC建立连接。本例中选择PLC为数据服务器,SIMOTION为客户端。
点击“Address"栏配置SIMTION的IP地址及端口号,如图15所示:
图15 配置通信方IP地址
配置完成后将配置选项下载到PLC中。
4.2.2在SIMOTION侧建立通信连接
与PLC在NETPRO中创建连接不同,在SIMOTION侧需要调用函数建立连接,通信函数存储于在“Communication"->“Data transfer"目录下,函数调用的示例程序参考图16:
图16 SIMOTION侧建立TCP连接(客户端)
函数参数解释如下:
Port
SIMOTION 端口号,数据类型UINT,在NETPRO中定义为2001。
ServerAddress
PLC的IP地址,数据类型为数组,ARRAY [0..3] OF USINT,在4个字节中输IP地址,例如192、168、1、112,表示IP地址为192.168.1.112。
ServerPort
PLC的端口号,数据类型UINT,例子程序中在NETPRO定义为2000。
NextCommand
枚举数据类型,元素中包括“IMMEDIATELY "、“WHEN_COMMAND_DONE。
“IMMEDIATELY":接收命令与后续所要执行的命令同步执行。
“WHEN_COMMAND_DONE":接收命令执行或失败后执行后续的命令,异步执行。
OUT
调用函数返回信息,包括调用状态和连接号。数据类型为结构体(StructRetTcpOpenClient),返回信息参考表2:
表2:TCP 客户端连接函数返回信息