首页 理论教育 西门子TCP连接的组态与编程

西门子TCP连接的组态与编程

时间:2023-11-16 理论教育 版权反馈
【摘要】:下面以S7-300之间通过CP343-1IT和CP343-1建立的TCP连接为例,介绍S5兼容通信的组态和编程的方法。采用默认的IP地址192.168.0.2和子网掩码255.255.255.0。设置CP的MPI地址为5。新版本的CP支持大于240B的数据传输。在S7-300上进行此配置时,将使用S7-300CPU的一个连接资源。为连接发送“保持激活”只适用于TCP和ISO-on-TCP连接。图10-21 TCP连接属性对话框参数LADDR与CP所在的插槽有关。图10-22 SIMATIC300一侧的TCP连接图10-23 TCP连接属性对话框4.设计验证通信的程序S5兼容通信的双方通过调用AG_SEND/AG_RECV实现数据的发送和接收。

西门子TCP连接的组态与编程

下面以S7-300之间通过CP343-1IT和CP343-1建立的TCP连接为例,介绍S5兼容通信组态和编程的方法。

1.硬件组态

在SIMATIC管理器中,用新建项目向导创建一个新的项目,项目名称为“IE_TCP”,CPU315-2DP的DP和MPI地址均为2。本章的例程在随书光盘的文件夹“\Project\Ethernet”中。建议在组态站点之前创建子网。步骤如下:

1)选中SIMATIC管理器中的项目。

2)执行菜单命令“插入”→“子网”→“工业Ethernet”。

以后这个项目中创建的所有SIMATIC站点都可以连接到这个子网上。

在HW Config中,将电源模块信号模块和CP 343-1IT插入机架。插入CP 343-1IT时,在自动打开的CP属性对话框的“参数”选项卡中,可以看到默认的CP的IP地址192.168.0.1和子网掩码255.255.255.0(见图10-18的左图),默认的网关设置是不使用路由器,TCP/IP通信不需要设置MAC地址。选中子网列表中的Ethernet(1),点击“确定”按钮,返回HWConfig。

978-7-111-28256-3-Chapter10-21.jpg

图10-18 以太网接口属性对话框

双击机架中的CP 343-1IT,在打开的CP属性对话框的“常规”选项卡(见图10-18的右图)中,设置CP的MPI地址为3。

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

双击CP 343-1,在出现的CP属性对话框中,点击“属性”按钮。将它连接到前面生成的以太网上。采用默认的IP地址192.168.0.2和子网掩码255.255.255.0。设置CP的MPI地址为5。通信双方的IP地址必须在同一个网段内,即IP地址的前3个字节应为192.168.0。如果用以太网下载和监控PLC,PC与CPU的IP地址也应在同一个网段内。

2.以太网CP的选项

功能FC 5 AG_SEND和FC 6 AG_RECV默认的最大数据传输量为240B,TCP通信一次最多可以发送8KB数据。

新版本的CP支持大于240B的数据传输。如果需要传输的数据量大于240B,应在以太网CP的属性对话框的“选项”选项卡选中复选框“数据长度>240字节”(见图10-19)。在S7-300上进行此配置时,将使用S7-300CPU的一个连接资源(用于S7功能的空闲连接)。如果要发送的数据长度不大于240B,不要选中此选项。如果以太网CP不支持此功能,该复选框为灰色。

978-7-111-28256-3-Chapter10-22.jpg

图10-19 CP属性对话框

如果选中复选框“保存组态数据到CPU上”,更换CP后,不需要重新下载组态数据。“传输介质/双工”一般采用默认的“自动设置”。

在“为连接发送‘保持激活’(keepalives)”区,可以设置通信伙伴出现故障时,向连接的通信伙伴发送“保持激活”的时间间隔(0~65535s),默认值为30s。这样可以确保经过设置的延时时间后终止连接,以释放连接占用的资源。为连接发送“保持激活”只适用于TCP和ISO-on-TCP连接。

选中下面的复选框“保留CPU连接资源”,可以通过单个CPU连接资源,与最多16个HMI(人机界面)设备进行通信(多路复用),来优化S7-300CPU的连接资源。如果没有选中此选项,可以使用的HMI设备的个数取决于CPU可用的连接资源数。默认的设置是取消激活此选项。也就是说,只有在需要时才使用连接资源的多路复用。

PG(编程计算机)连接不使用多路复用连接;如果使用了编程计算机,它将单独占用一个连接资源。组态好硬件后,点击工具栏上的978-7-111-28256-3-Chapter10-23.jpg按钮,编译并保存硬件组态信息。

3.组态连接

组态好两个S7-300站后,点击工具栏上的978-7-111-28256-3-Chapter10-24.jpg按钮,打开NetPro窗口,看到连接到以太网上的两个站(见图10-20)。选中“SIMATIC 300(1)”站点的CPU所在的小方框,在下面的窗口出现连接表,双击连接表第一行的空白处,建立一个新连接。在弹出的“插入新连接”对话框中,将“连接伙伴”设为与本站通信的CPU315-2DP,设置连接类型为“TCP连接”。

978-7-111-28256-3-Chapter10-25.jpg

图10-20 组态TCP连接

点击“确定”按钮,出现TCP连接属性对话框(见图10-21)。在编程时要用到“块参数”区中的“标识”(ID)和LADDR(CP的起始地址)。

978-7-111-28256-3-Chapter10-26.jpg

图10-21 TCP连接属性对话框

参数LADDR(CP的起始地址)与CP所在的插槽有关。该地址也是S7-300分配给模拟量模块的起始地址。本项目的CP 343-1IT在8号槽,LADDR的值为320(W#16#140)。另一台PLC的CP 343-1在9号槽,LADDR的值为336(W#16#150)。

选中NetPro中“SIMATIC300(2)”站点的CPU所在的小方框,因为是双向连接,下面的窗口出现自动生成的该站点一侧的连接表(见图10-22),双击连接表中的“TCP连接”,出现该站点一侧的连接属性对话框(见图10-23)。(www.xing528.com)

978-7-111-28256-3-Chapter10-27.jpg

图10-22 SIMATIC300(2)一侧的TCP连接

978-7-111-28256-3-Chapter10-28.jpg

图10-23 TCP连接属性对话框

4.设计验证通信的程序

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

在SIMATIC管理器中生成数据块DB1和DB2,用数组定义数据块的大小。

(1)OB35中的发送程序

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

程序段1:DB1.DBW0加1

978-7-111-28256-3-Chapter10-29.jpg

程序段2:发送程序

978-7-111-28256-3-Chapter10-30.jpg

978-7-111-28256-3-Chapter10-31.jpg

(2)OB1中的接收程序

下面是OB1中的接收程序:

程序段1:接收程序

978-7-111-28256-3-Chapter10-32.jpg

另一台CPU 315-2DP的发送程序和接收程序基本上相同,其区别仅在于LADDR的值为W#16#150。

(3)初始化程序

在初始化程序OB100中,用SFC 21预置DB1的数据发送区各个字的初值为16#1111,将DB2的数据接收区各个字清零。另一台PLC的OB100中的程序基本上相同,二者的区别在于发送区的数据字被初始化为W#16#2222。

5.通信过程的监控

用PROFIBUS电缆将两块CPU 315-2DP和CP5613的MPI接口连接到一起,将组态信息和程序分别下载到两台PLC,运行时可以用MPI或以太网对通信过程进行监控。将以太网CP模块和计算机的以太网接口连接到交换机,将CPU和CP模块的模式选择开关切换到RUN位置,CPU和CP上的RUN指示灯亮。CP上的LINKLED亮,表示已建立起连接;RX/TXLED闪烁,表示CP正在发送或接收数据。

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

978-7-111-28256-3-Chapter10-34.jpg

图10-24 SIMTTC300(1)的变量表

978-7-111-28256-3-Chapter10-35.jpg

图10-25 SIMTTC300(2)的变量表

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

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

我要反馈