实现profibus主从站之间ms通讯

实现profibus主从站之间ms通讯

ID:11204559

大小:411.50 KB

页数:15页

时间:2018-07-10

实现profibus主从站之间ms通讯_第1页
实现profibus主从站之间ms通讯_第2页
实现profibus主从站之间ms通讯_第3页
实现profibus主从站之间ms通讯_第4页
实现profibus主从站之间ms通讯_第5页
资源描述:

《实现profibus主从站之间ms通讯》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实现Profibus主从站之间的MS通讯通过图解,说明2个CPU之间通过Profibus实现主从站之间的MS通讯。这个例子是结合某现场的实际情况来的,实际情况是在2套300系统之间进行数据通讯,由于每个CPU300都带有ET200M从站,所以317的主DP口和315的DP口都只能是主站而不能配置为从站。并且2套系统之间距离较远,MPI不行,于是就利用了317的MPI/DP口配置成DP口来和315通讯。1.首先,在STEP7中新建一个Project,分别插入2个S7-300站。这里我们插入的一个CPU315-

2、2DP,作为主站;一个CUP317-2作为从站,并且使用317-2的第一个端口MPI/DP端口配置成DP口来实现和315-2DP的通讯。然后分别对每个站进行硬件组态:首先对从站CPU317-2进行组态:将317的第一个端口MPI/DP端口组态为PROFIBUS类型,并且创建一个不同于CPU自带DP口的PROFIBUS网络,设定地址。在操作模式页面中,将其设置为DPSLAVE模式,并且选择“Test,commissioning,routing”,是将此端口设置为可以通过PG/PC在这个端口上对CPU进行监控,

3、以便于我们在通讯链路上进行程序监控。下面的地址用默认值即可。然后选择Configuration页面,创建数据交换映射区。这里我们创建了2个映射区,图中的红色框选区域在创建时是灰色的,包括上面的图中的Partner部分创建时也是空的,在主站组态完毕并编译后,才会出现图中所示的状态。由于我们这里只是演示程序,所以创建的交换区域较小。组态从站之后,再组态主站。插入CPU时,不需要创建新的PROFIBUS网络,选择从站建立的第二条(也就是准备用来进行通讯的MPI/DP端口创建的那条)PROFIBUS网络即可。组态好

4、其它硬件,确认CPU的DP口处于主站模式,从窗口右侧的硬件列表中的已组态的站点中选择CPU31X,拖放到主站的PROFIBUS总线上,这时会弹出链接窗口,选择以组态的从站,点击Connect按钮,然后进入Configuration页面,可以看到前面在从站中设定的映射区域,逐条进行编辑(Edit…),确认主从站之间的对应关系。主站的输入对应从站的输出,主站的输出对应从站的输入。至此,硬件的组态完成,将各个站的组态信息下载到各自的CPU中。通过NetPro可以看到整个网络的结构图。2.编写程序。硬件组态完毕,下

5、载,PLC运行之后,数据并不会自动交换。需要通过程序来执行。在组态中,input和output区域,也并不是实际硬件组态中的硬件地址,也就是说,input和output并不代表I/O模块的地址和数据。但是映射区域组态用到的input和output地址,同时也占用了I/O模块的组态地址,就是说,映射区的地址和I/O地址是并行的,不能重复使用。所以最好在硬件的I/O模块全部组态完毕之后再组态映射区。映射区的数据交换是通过系统功能块SFC14(DPRD_DAT——ReadConsistentDataofaStan

6、dardDPSlave)和SFC15(DPWR_DAT——WriteConsistentDatatoaStandardDPSlave)实现的。SFC14和SFC15是成对使用的,一个发送一个接收,缺一不可。数据的通讯也是交互的,可以相互交换数据。本例中,我们通过简单的数据来验证通讯结果。首先,我们在程序中插入数据区DB1,前面我们只建立了2个字(2Word)的映射区,于是我们建立如下内容的DB1,为了查看的方便,DB1的前半部分作为接收数据的存储区,后半部分用作发送数据的存储区。在317和315中我们插入同

7、样的DB1,然后分别在OB1中编写通讯程序。315(主站)中的程序如下:317中的程序如下:其中,程序的LADDR地址,对应的是硬件的映射区组态时本站的LocalAddr中的地址,从站的LocalAddr我们组态的是0,对应的PartnerAddr也就是主站的地址是4。需要注意的是这里的地址是需要用16进制的格式来表示的,我们组态时是用10进制表示的。完成之后,我们在各站中插入OB82、OB86、OB122等程序块,这些是为了保证当通讯的一方掉电时,不会导致另一方的停机。完成之后,将所有的程序分别下载到各自

8、的CPU中,个站切换到运行状态,通过PLC监控功能,设定数据之后,我们监控的结果如下:上面的表格内容为主站315的数据,下面的是从站317的数据。可以看到,两个站都分别将各自的DBB4—DBB7数据发送出去并被另一方成功接收后存储在各自的DBB0—DBB3中。验证中,我们将一个站的CPU切换到STOP状态,可以看到,另一个站的CPU硬件SF指示灯报警,但PLC正常运行不停机。待该站恢复之后,报警自动消失。扩展问题

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。