首页 理论教育 西门子S7通信PUT/GET单向使用

西门子S7通信PUT/GET单向使用

时间:2023-11-16 理论教育 版权反馈
【摘要】:采用默认的IP地址192.168.0.2和子网掩码255.255.255.0,设置CP的MAC地址。图10-44 组态S7连接在出现的“插入新连接”对话框中,系统默认的通信伙伴为站点SIMATCI 300的CPU 315,默认的连接类型为S7连接。本项目使用的硬件可以建立双向的S7连接,有的CPU和CP只能建立单向的S7连接。OB1的程序段1中的两条语句使M10.0和M8.1的相位相反,用它们来作功能块GET和PUT的REQ信号,它们的上升沿相差100ms。在通信双方的OB35中,每100ms将DB1.DBW0加1。

西门子S7通信PUT/GET单向使用

1.硬件组态

在SIMATIC管理器中,用新建项目向导创建一个新的项目(见图10-42),项目名称为IE_S7_1(见随书光盘中的同名例程),CPU 313C-2DP的DP和MPI地址均为2。

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

图10-42 SIMATIC管理器

在HW Config中,将电源模块信号模块和CP 343-1IT插入机架。双击CP 343-1IT,在出现的CP属性对话框的“常规”选项卡中,设置CP的MPI地址为3。点击“属性”按钮,在自动打开的以太网接口属性对话框的“参数”选项卡中,采用默认的CP的IP地址192.168.0.1和子网掩码255.255.255.0(见图10-43)。设置了CP的IP地址后,可以不设置MAC地址。默认的网关设置是不使用路由器。

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

图10-43 CP的以太网接口属性对话框

点击“新建”按钮,在出现的新建工业以太网属性对话框中,点击“确定”按钮,确认自动生成的子网ID。返回以太网接口属性对话框,可以看到生成的名为“Ethernet(1)”的以太网,CP 343-1IT被连接到以太网上。两次点击“确定”按钮,返回HW Config。

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

双击CP 343-1,在出现的CP属性对话框中,设置CP的MPI地址为5。点击“属性”按钮,在出现的以太网接口属性对话框的“参数”选项卡中,将它连接到前面生成的以太网上。采用默认的IP地址192.168.0.2和子网掩码255.255.255.0,设置CP的MAC地址。

通信双方的IP地址必须在同一个网段内,即IP地址的前3个字节应为192.168.0。如果用以太网下载和监控PLC,PC与CPU的IP地址也应在同一个网段内。组态和编程完成后的项目见图10-42。组态好硬件后,点击工具栏上的978-7-111-28256-3-Chapter10-78.jpg按钮,编译并保存硬件组态信息。

2.S7连接的组态

组态好两个S7-300站后,点击工具栏上的978-7-111-28256-3-Chapter10-79.jpg按钮,打开NetPro窗口,看到连接到以太网上的两个站(见图10-44)。选中“SIMATIC300(1)”站点的CPU 313-2DP所在的小方框,在下面的窗口出现连接表,双击连接表第一行的空白处,建立一个新连接。

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

图10-44 组态S7连接

在出现的“插入新连接”对话框中(见图10-44的右图),系统默认的通信伙伴为站点SIMATCI 300(2)的CPU 315,默认的连接类型为S7连接。

点击“确定”按钮,出现S7连接属性对话框(见图10-45)。在编程时要用到“块参数”区中的“ID”(标识)的值。本项目使用的硬件可以建立双向的S7连接,有的CPU和CP只能建立单向的S7连接。点击S7连接属性对话框中的“单向”复选框,建立一个单向的S7连接。因为是单向连接,连接表中没有通信伙伴的ID,选中SIMATIC 300(2)站点的CPU 315所在的小方框,连接表中没有连接信息。

在S7单向连接中,CPU 313C-2DP和CPU 315分别作为客户机(Client)和服务器(Server),客户机调用单向通信功能块GET和PUT,通过以太网和S7通信,读、写服务器的存储区。服务器是通信中的被动方,不需要调用通信功能块。

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

图10-45 S7连接属性对话框

选中下面的“TCP/IP”复选框,使用IP地址。它上面的“地址”行显示的是CP的以太网接口属性对话框中设置的CP的IP地址(见图10-45)。如果未选中该复选框,“地址”行将显示CP的以太网接口属性对话框中设置的CP的MAC地址。

组态好连接后,点击工具栏上的978-7-111-28256-3-Chapter10-82.jpg按钮,编译并保存网络组态信息。

3.S7通信的编程

S7-400使用的S7通信系统功能块(SFB)在程序编辑器左边窗口的文件夹“\库\Standard Library\System Function Blocks”中,S7-300使用的S7通信功能块(FB)在文件夹“\库\SIMATIC_NET_CP\CP 300中”。

S7通信功能块在通信请求信号REQ的上升沿时激活数据传输,为了实现周期性的数据传输,在CPU的属性对话框的“周期/时钟存储器”选项卡中(见图4-5),定义MB8为时钟存储器字节,用时钟周期为200ms的M8.1作REQ信号。(www.xing528.com)

OB1的程序段1中的两条语句使M10.0和M8.1的相位相反,用它们来作功能块GET和PUT的REQ(通信请求)信号,它们的上升沿相差100ms。下面是OB1中的程序:

程序段1:时钟脉冲信号反相

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

程序段2:读取通信伙伴的数据

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

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

程序段3:向通信伙伴的数据区写入数据

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

下面是CPU 315的OB1中的程序:

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

通过CPU 313-2DP读、写CPU 315的数据区,实现了用两个站的ID0分别控制对方的QD4。在通信双方的OB35中,每100ms将DB1.DBW0加1。

4.初始化程序

在CPU 313C-2DP的初始化程序OB100中,用SFC21预置数据发送区DB1各个字的初值为16#1111,将DB2中的数据接收区清零。

CPU 315的OB100中的程序基本上相同,只是将数据发送区中的字初始化为W#16#2222。

5.通信的监控

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

将以太网CP模块和计算机的以太网接口连接到交换机,将CPU和CP模块的模式选择开关切换到RUN位置,CPU和CP上的RUN指示灯亮。

同时打开通信双方的变量表,将它们调节到适当的大小。点击工具栏上的978-7-111-28256-3-Chapter10-88.jpg按钮,变量表进入监控状态,“状态值”列显示的是PLC中变量的值。

通信双方在OB35中将DB1.DBW0加1,然后发送到对方的DB2.DBW0。在变量表中可以看到双方接收到的DB2.DBW0在不断地变化。图10-46和图10-47是在运行时复制的变量表。在通信程序中,双方的ID0通过DB1.DBD2发送给对方的DB2.DBD2,用来控制对方的QD4。在运行时用外接的小开关改变ID0的状态,可以看到通信伙伴的QD4的状态随之而变。

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

图10-46 CPU313C-2DP的变量表

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

图10-47 CPU315的变量表

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

我要反馈