首页 理论教育 西门子S7单边通信:CPU集成DP接口技术

西门子S7单边通信:CPU集成DP接口技术

时间:2023-11-07 理论教育 版权反馈
【摘要】:本项目使用CPU集成的DP接口实现基于PROFIBUS的S7单边通信,通信任务如图6-54所示。使用CPU集成的DP接口实现基于PROFIBUS的S7通信时,S7-300只能作为单边通信的服务器,S7-400作为客户端,调用SFB14和SFB15访问S7-300的数据。S7-300可以通过CP实现与S7-300或S7-400的双边通信,而S7-400之间可以直接建立双边通信。单击S7-300 CPU,连接表中没有连接信息。SFB 14/15的参数说明见MPI通信部分。

西门子S7单边通信:CPU集成DP接口技术

1.项目说明

S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化通信协议。通信连接是静态的,在连接表中进行组态。因为S7-300 PLC静态连接资源较少,所以S7-300系统较少使用S7连接。而且S7-300之间不能直接建立S7连接,一般通过CP模块扩展的连接资源进行S7通信。

本项目使用CPU集成的DP接口实现基于PROFIBUS的S7单边通信,通信任务如图6-54所示。使用CPU集成的DP接口实现基于PROFIBUS的S7通信时,S7-300只能作为单边通信的服务器,S7-400作为客户端,调用SFB14(GET)和SFB15(PUT)访问S7-300的数据。S7-300可以通过CP实现与S7-300或S7-400的双边通信,而S7-400之间可以直接建立双边通信。

978-7-111-52480-9-Chapter06-59.jpg

图6-54 通信任务

2.系统组成

S7-300和S7-400均作主站。S7-400使用CPU 416-2DP,站地址为2;S7-300使用CPU 315-2DP,站地址为4。PC通过CP5613通信卡接入网络中,作为编程和调试设备。各站之间通过PROFIBUS电缆连接,网络终端的插头,其终端电阻开关放在“ON”的位置;中间站点的插头其终端电阻开关必须放在“OFF”位置。系统组成如图6-55所示。

978-7-111-52480-9-Chapter06-60.jpg

图6-55 系统组成图

3.硬件组态

(1)新建项目,插入站点

新建项目“PROFIBUS_S7”,单击右键,在弹出的菜单中选择“Insert New Object”中的“SIMATIC 400 Station”和“SIMATIC 300 Station”,插入S7-400站点和S7-300站点,对应两个主站,如图6-56所示。

978-7-111-52480-9-Chapter06-61.jpg

图6-56 插入站点

(2)组态S7-400主站

选中SIMATIC 400,双击“Hardware”选项,进入“HW Config”窗口。单击“Catalog”图标打开硬件目录,展开“SIMATIC 400”目录,按硬件槽号和订货号依次插入机架、电源(1号槽)、CPU 416-2DP(3号槽)。

(3)配置S7-400的PROFIBUS DP网络

插入CPU时会自动弹出“Properties-DP”对话框。在“General”选项卡中,选择接口类型为“PROFIBUS”。单击“Properties”按钮,打开“Properties-PROFIBUS interface”对话框,如图6-57所示,设置该CPU在DP网络中的地址为2。

978-7-111-52480-9-Chapter06-62.jpg

图6-57 配置S7-400的PROFIBUS DP网络

单击“New”按钮,新建PROFIBUS网络。设置PROFIBUS网络的参数。一般采用系统默认参数:传输速率为1.5 Mbps,配置文件为Standard。单击“OK”按钮,返回“Proper-ties-PROFIBUS interface”对话框。此时可以看到“Subnet”子网列表中出现了新的PROFI-BUS(1)子网。在“Operating Mode”工作模式选项卡中,设置工作模式为“DP master”模式。单击“OK”按钮,返回“HW Config”。此时“DP”插槽引出了一条PROFIBUS(1)网络,如图6-58所示。单击“Save and Compile”按钮,保存并编译组态信息。

(4)组态S7-300主站

选中SIMATIC 300,双击“Hardware”选项,进入“HW Config”窗口。单击“Catalog”图标打开硬件目录,展开“SIMATIC 300”目录,按硬件槽号和订货号依次插入机架、电源(1号槽)、CPU 315-2DP(2号槽)。

(5)配置S7-300的PROFIBUS DP网络

插入CPU时会自动弹出“Properties-DP”对话框。在“General”选项卡中,选择接口类型为“PROFIBUS”。单击“Properties”按钮,打开“Properties-PROFIBUS interface”对话框,设置该CPU在DP网络中的地址为4。

选择“Subnet”子网列表中的PROFIBUS(1)子网,单击“OK”按钮,返回“Proper-ties-DP”属性对话框。在“Operating Mode”工作模式选项卡中,设置工作模式为“DP master”模式。单击“OK”按钮,返回“HW Config”。单击“Save and Compile”按钮,保存并编译组态信息。

4.网络组态

单击快捷菜单中的“Configure Network”按钮,打开Netpro网络组态界面。可以看到两个站点均连接到PROFIBUS网络。选中S7-400 CPU,双击下方连接表第一个空行,在弹出的“Insert New Connection”对话框中,将“Connection Partner”中的连接对象设置为CPU315-2DP,连接类型为S7 connection,如图6-59所示。

978-7-111-52480-9-Chapter06-63.jpg

图6-58 组态S7-400站

978-7-111-52480-9-Chapter06-64.jpg

图6-59 组态S7连接

单击“OK”按钮,出现“Properties-S7 Connection”对话框,“Local Connection End Point”本地连接端点中的“One-way”单边复选框自动选中,且不能更改,默认连接方式为“单边”。“Block ID”中“Local ID”的值将在调用通信SFB时使用。

单击“OK”按钮,返回Netpro界面。由于建立的是单边通信。单击S7-300 CPU,连接表中没有连接信息。组态完成后编译并保存。如图6-60所示。

978-7-111-52480-9-Chapter06-65.jpg

图6-60 网络组态

5.资源分配

根据项目需要进行软件资源的分配,见表6-6

表6-6 软件资源分配表(www.xing528.com)

978-7-111-52480-9-Chapter06-66.jpg

6.程序设计

在S7单边通信中,S7-300作为服务器,S7-400作为客户端,客户端调用单边通信功能块GET和PUT,访问服务器的存储区。服务器端不需要编程。SFB 14/15(GET/PUT)的参数说明见MPI通信部分。程序结构如图6-61所示。

978-7-111-52480-9-Chapter06-67.jpg

图6-61 程序结构图

初始化组织块OB100完成DB块数据初始化,S7-300中DB1和DB2置初值。S7-400中DB3和DB4置初值,DB1和DB2数据接收区清零。在循环中断组织块OB35中,S7-300的DB1.DBW2和S7-400的DB3.DBW2每100ms循环加1。如果通信成功,S7-400可以读取到S7-300中DB1和DB2的数据,S7-400可以将DB3和DB4的数据写入到S7-300中的DB3和DB4;并且S7-400可以通过I0.0控制S7-300的Q0.0,S7-300同样可以通过I0.0控制S7-400的Q0.0。

为了实现周期性的数据传输,除了将通信程序放在OB35周期循环组织块中,还可以使用时钟存储器提供的时钟脉冲作为REQ通信请求信号。时钟存储器位说明见表6-7。

表6-7 时钟存储器

978-7-111-52480-9-Chapter06-68.jpg

为了避免不存在诊断OB和错误处理OB而导致DP主站的CPU转向STOP模式,应当在DP主站CPU中设置OB82和OB86。S7-400站程序块如图6-62所示。

(1)生成DB块

S7-300站插入DB块:DB1(SEND1)、DB2(SEND2)、DB3(RECEIVE1)和DB4(RECEIVE2),均为长度为10个字节的BYTE-ARRAY。

S7-400站插入DB块:DB1(RECEIVE1)、DB2(RECEIVE2)、DB3(SEND1)和DB4(SEND2),均为长度为10个字节的BYTE-ARRAY。

(2)S7-400站OB1

调用SFB14/15,每200ms完成一次S7-400对S7-300数据的读取和写入。程序如图6-63所示。

978-7-111-52480-9-Chapter06-69.jpg

图6-62 S7-400站程序块

978-7-111-52480-9-Chapter06-70.jpg

图6-63 OB1主程序

978-7-111-52480-9-Chapter06-71.jpg

图6-63 OB1主程序(续)

(3)S7-400站OB35

DB1.DBW2每100ms循环加1,S7-300站的OB35与该段程序类似。程序如图6-64所示。

978-7-111-52480-9-Chapter06-72.jpg

图6-64 OB35程序

(4)S7-400站OB100

调用SFC21,完成数据初始化功能,S7-300站的OB100与该段程序类似。程序如图6-65所示。

978-7-111-52480-9-Chapter06-73.jpg

图6-65 OB100程序

978-7-111-52480-9-Chapter06-74.jpg

图6-65 OB100程序(续)

7.通信调试

分别下载组态和程序到PLC中,确保PLC处于“RUN”模式。同时打开两个站的变量表,单击工具栏“Monitor”按钮进入监控模式。如果通信成功,可以看到S7-400站的DB块中的数据与S7-300站的DB块中的数据一致;除此之外,两个站均可实现通过本站的I0.0控制对方的Q0.0,如图6-66所示。S7-400站读取S7-300站的数据块存储在DB1和DB2,监控模式下的数据视图如图6-67所示。

978-7-111-52480-9-Chapter06-75.jpg

图6-66 变量表

978-7-111-52480-9-Chapter06-76.jpg

图6-67 S7-400站的DB1和DB2

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

我要反馈