西门子S7-1500集成的PN口,支持开放式以太网通讯,应用多的是TCP和UDP通讯,本文以UDP为例介绍一下TCON、TUSEND、TURCV功能块的用法。因为西门子第三方通讯时,不能直接通过组态完成连接,需要调用TCON功能块实现连接,本文选和第三方标准以太网接口为通讯对象。详细步骤如下:
1、打开程序,在右方指令列表中找到通信-开放式用户通信-其他-TCON,拖入程序中,自动创建背景DB,块的详细信息按F1通过帮助文档查看,此处不做详细说明。用鼠标点击通信块蓝色梯形图案打开组态对话框,如下图:
2、在组态对话框中连接类型-选择UDP,连接ID可以选择默认值或者手动设置,连接ID在后面的发送和接收程序中会用到。连接数据选择新建,系统会自动创建一个DB块,如图本例中系统自动创建的DB块为UDP_Connection_DB_1
地址详细信息中本地端口可以选择默认设置或者手动
3、UDP的简单配置已经完成,下面创建发送程序,在右方指令栏选择通信-开放式用户通信-其它-TUSEND,块的详细信息请查看帮助文档。
ID一栏填入TCON组态时设置的ID号,LEN填写需要发送的数据长度,DATA填写需要发送的数据存储位的首地址的指针地址,本例程使用的是P#DB3.DBX0.0BYTE 4,意思是发送由DB3.DBX0.0开始的4个字节的地址。
待发送数据存储位置,红方框内为待发送的4个BYTE类型的数据
ADDR填写TADDR_Param类型的地址,这里需要用户手动创建,新建一个DB数据块在数据类型里面输入TADDR_Param可创建如下红色方框内的数据,展开REM_IP_ADDR,分别在REM_IP_ADDR[1]-[4]中输入与PLC进行通信伙伴的IP地址,在REM_IPORT_NR输入远程通信伙伴的端口号。
打开双页视图,鼠标左键长按TADDR_Param类型的变量名,将其拖入左边发送块的ADDR管脚处,或者在ADDR管脚直接输入“DB块名称.变量名称”。
4、UDP接收程序,在右方指令栏选择通信-开放式用户通信-其它-TURCV,块的详细信息请查看帮助文档。接收程序的配置与发送程序配置基本相同,ID一栏填入TCON组态时设置的ID号,LEN填写需要接收的数据长度,DATA填写需要接收的数据存储位的首地址的指针地址,本例程使用的是P#DB3.DBX6.0BYTE4,意思是接收到的数据存储在由DB3.DBX6.0开始的4个字节的地址。可以直接将发送程序的ADDR管脚的地址复制到接收程序的ADDR管脚。