首页 理论教育 TCP连接通信的组态与编程优化指南

TCP连接通信的组态与编程优化指南

时间:2023-06-28 理论教育 版权反馈
【摘要】:下面以两台S7-300之间通过CP 343-1建立的TCP连接为例,介绍S5兼容通信的组态和编程的方法。采用默认的IP地址192.168.0.2和子网掩码255.255.255.0,设置CP的MPI地址为5。CP上的LINK LED亮,表示已建立起连接;RX/TX LED闪烁,表示CP正在发送或接收数据。DB2.DBW238是数据接收区的最后一个字。

TCP连接通信的组态与编程优化指南

只有以太网CP(例如CP 443-1)才能用NetPro建立S5兼容的连接。CPU集成的PN接口只能调用“Communication Block”库的FB63~FB68,实现基于TCP/IP、ISO-on-TCP和UDP协议的开放式用户通信。下面以两台S7-300之间通过CP 343-1建立的TCP连接为例,介绍S5兼容通信的组态和编程的方法。

1.硬件组态

在SIMATIC管理器中,用新建项目向导创建一个名为“IE_TCP”的新项目(见随书光盘中的同名例程),CPU为CPU 315-2DP,其DP和MPI地址均为默认的2号站。

在HW Config中,将电源模块信号模块和CP 343-1插入机架。插入CP 343-1时,在自动打开的以太网接口属性对话框的“参数”选项卡中,可以看到默认的CP的IP地址192.168.0.1和子网掩码255.255.255.0(见图8-3的左图),采用默认的网关设置,不使用路由器,TCP/IP通信不需要设置MAC地址。单击“新建”按钮,生成一条名为“Ethernet(1)”的以太网,选中它以后,CP被连接到以太网上。单击“确定”按钮,返回HW Config。

在CP的属性对话框中,可以看到CP默认的MPI地址为3(见图8-3的右图)。

978-7-111-53570-6-Chapter08-3.jpg

图8-3 以太网接口属性对话框

在SIMATIC管理器中生成一个名为“SIMATIC 300(1)”的站点,在HW Config中,将电源模块、CPU 315-2DP和信号模块插入机架。设置CPU的DP地址为3,MPI地址为4。

插入CP 343-1时,在出现的以太网接口属性对话框中,选中前面生成的以太网Ethernet(1)。采用默认的IP地址192.168.0.2和子网掩码255.255.255.0,设置CP的MPI地址为5。通信双方的IP地址必须在同一个网段内,即IP地址的前3个字节应为192.168.0。如果PC用以太网下载和监控PLC,PC与CPU的IP地址也应在同一个网段内。

2.组态连接

组态好两个S7-300站后,单击工具栏上的 978-7-111-53570-6-Chapter08-4.jpg 按钮,打开NetPro窗口,看到连接到以太网上的两个站(见图8-4)。选中“SIMATIC 300”站点的CPU所在的小方框,下面的窗口出现连接表,双击连接表第一行的空白处,建立一个新连接。在弹出的“插入新连接”对话框中,设置“连接伙伴”为默认的CPU 315-2DP,连接类型为“TCP连接”。

978-7-111-53570-6-Chapter08-5.jpg

图8-4 组态TCP连接

单击“确定”按钮,出现TCP连接属性对话框(见图8-5)。在编程时要用到“块参数”区中的“标识号”(ID)和LADDR(CP的起始地址)。LADDR与CP所在的插槽有关,该地址是分配给模块的起始地址。本项目的CP 343-1在8号插槽,起始地址为320 W#16#140)。

978-7-111-53570-6-Chapter08-6.jpg

图8-5 SIMATIC 300站点一侧的TCP连接属性对话框

图8-5左图中的复选框“激活连接的建立”被自动选中,图8-4中连接表的“激活的连接伙伴”列显示“是”。在运行时,由本地站点(SIMATIC 300站点)建立连接。

选中NetPro中“SIMATIC 300(1)”站点的CPU所在的小方框,因为是双向连接,下面的窗口出现自动生成的该站点一侧的连接表(见图8-6),“激活的连接伙伴”列显示“否”,由通信伙伴建立连接。双击连接表中的“TCP连接”,出现的该站点一侧的连接属性对话框与图8-5基本上相同,未选中复选框“激活连接的建立”。

978-7-111-53570-6-Chapter08-7.jpg

图8-6 SIMATIC 300(1)站点一侧的连接表

组态好连接后,单击工具栏上的 978-7-111-53570-6-Chapter08-8.jpg 按钮,网络组态信息被编译和保存在SIMATIC管理器两个站的“块”文件夹的“系统数据”中。如果在NetPro中下载,应将双向通信双方的连接信息分别下载到各自的CPU。

3.设计验证通信的程序

S5兼容通信的双方通过调用AG_SEND/AG_RECV(FC5/FC6)实现数据的发送和接收。AG_SEND/AG_RECV在程序编辑器左边窗口的文件夹“\库\SIMATIC_NET_CP\CP 300”中。S7-400的CP的通信块在文件夹“\库\SIMATIC_NET_CP\CP 400”中。

在SIMATIC管理器中为两个站生成数据块DB1和DB2,用数组定义数据块的大小。(www.xing528.com)

下面是SIMATIC 300站点的OB35中的程序,ACT是FC5“AG_SEND”的发送使能位,ACT为1状态(TRUE)时发送数据。为了实现周期性的数据发送,令ACT一直为TRUE(1状态),如果在OB1中调用FC5,每个扫描周期都要发送一次,发送将过于频繁。因此将发送程序放在下面的OB35中,其默认的中断循环周期为100ms。如果设置ACT的实参为一个位地址(例如M10.0),可以用它来控制是否发送数据。

程序段1:DB1.DBW0加1

978-7-111-53570-6-Chapter08-9.jpg

程序段2:发送程序

978-7-111-53570-6-Chapter08-10.jpg

下面是OB1中的接收程序

程序段1:接收程序

978-7-111-53570-6-Chapter08-11.jpg

两台CPU 315-2DP的发送程序和接收程序相同。

初始化程序OB100中,用SFC21预置通信双方的DB1的数据发送区各个字的初值分别为16#1111和16#2222,将DB2的数据接收区的各个字清零。

4.通信过程的监控

用PROFIBUS电缆将两块CPU 315-2DP和计算机的CP 5613的MPI接口连接到一起,将组态信息和程序分别下载到两台PLC,运行时可以用MPI或以太网对通信过程进行监控。

将以太网CP模块和计算机的以太网接口连接到交换机,将CPU和CP模块的模式选择开关切换到RUN位置,CPU和CP上的RUN指示灯亮。CP上的LINK LED亮,表示已建立起连接;RX/TX LED闪烁,表示CP正在发送或接收数据。

同时打开通信双方的变量表(见图8-7),选中某个站的变量表后,单击工具栏上的 978-7-111-53570-6-Chapter08-12.jpg 按钮,变量表进入监控状态,“状态值”列显示的是PLC中变量的值。通信双方在OB35中将DB1.DBW0加1,然后发送到对方的DB2.DBW0。在变量表中可以看到双方接收到的DB2.DBW0在不断变化。DB2.DBW238是数据接收区的最后一个字。

在通信程序中,双方的ID0通过DB1.DBD2发送给通信伙伴的DB2.DBD2,用来控制通信伙伴的QD4。在运行时用外接的小开关改变ID0的状态,可以看到通信伙伴的QD4的状态随之而变。

978-7-111-53570-6-Chapter08-13.jpg

图8-7 两台CPU的变量表

5.其他S5兼容连接通信的组态与编程

ISO传输连接、ISO-on-TCP连接与TCP连接的组态和编程的方法基本上相同。它们都需要调用功能FC5“AG_SEND”和FC6“AG_RECV”来实现通信,通信的程序相同。

如果使用ISO传输连接,在组态以太网接口的属性时,应选中复选框“设置MAC地址/使用ISO协议”(见图8-3)。在“MAC地址”输入框中,输入以太网接口的MAC地址。ISO传输连接之外的其他连接不用设置MAC地址。

在组态连接时,选中其他三种S5兼容的连接。ISO传输连接和ISO-on-TCP连接通信的组态结果和用户程序见随书光盘中的例程“IE_ISO”和“ISOonTCP”。

组态UDP连接时,可以指定通信伙伴为项目中已组态的CPU,也可以选择通信伙伴为“未指定”“所有多播站点”和“所有广播站点”(见图8-4),实现“空闲的UDP连接”、多点传送和广播传送。空闲(free)的UDP连接用发送的数据的前6个字节来定义接收站的端口地址和IP地址。组态和编程的详细例程见参考文献[1]。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈