1 / 24
文档名称:

实现Profibus主从站之间的通讯.doc

格式:doc   大小:2,221KB   页数:24页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实现Profibus主从站之间的通讯.doc

上传人:儒林 2022/5/23 文件大小:2.17 MB

下载得到文件列表

实现Profibus主从站之间的通讯.doc

文档介绍

文档介绍:实现Profibus主从站之间的通讯
2个CPU315-2实现Profibus主从站之间的通讯
通过图解,说明2个CPU之间通过Profibus实现主从站之间的MS通讯。
这个例子是结合某现场的实际情况到整个网络的结构图。
脱离SFC14/15,而使用MOVE方法的研究:
不使用SFC14/15,而是利用组态的时候产生的I/O地址来传数据。根据创建过程映射区时的组态信息,我们写写出了如下的程序:
在主站315-2DP中:
在从站315-2DP中:
其中,M位的使用是测试程序的不同情况下使用的临时点,和本程序功能无关。
由此可见,在这种方式下,因为组态时组态的地址是系统的I区和Q区,所以是可以用MOVE来实现通讯的,但是同时也存在的问题是,这种方式下,通讯所用的I/Q区占用了S7-300的系统区,而S7-300的系统区可使用范围是有限的,所以在系统的实际I/O模块较多时,通讯的数据量将会变得更加有限。

硬件组态完毕,下载,PLC运行之后,数据并不会自动交换。需要通过程序来执行。在组态中,input和output区域,也并不是实际硬件组态中的硬件地址,也就是说,输入和输出并不代表I/O模块的地址和数据。但是映射区域组态用到的输入和输出地址,同时也占用了I/O模块的组态地址,就是说,映射区的地址和I/O地址是并行的,不能重复使用。所以最好在硬件的I/O模块全部组态完毕之后再组态映射区。
映射区的数据交换是通过系统功能块SFC14(DPRD_DAT——Read Consistent Data of a Standard DP Slave)和SFC15(DPWR_DAT——Write Consistent Data to a Standard DP Slave)实现的。
SFC14和SFC15是成对使用的,一个发送一个接收,缺一不可。数据的通讯也是交互的,可以相互交换数据。本例中,我们通过简单的数据来验证通讯结果。
首先,我们在程序中插入数据区DB1,前面我们只建立了2个字(2 Word)的映射区,于是我们建立如下内容的DB1,为了查看的方便,DB1的前半部分作为接收数据的存储区,后半部分用作发送数据的存储区。
在两个315中我们插入同样的DB1,然后分别在OB1中编写通讯程序。
315(主站)中的程序如下:
31 5(从站)中的程序如下:
其中,程序的LADDR地址,对应的是硬件的映射区组态时本站的“本地地址”中的地址,从站的“本地地址”我们组态的是0,对应的“伙伴地址”也就是主站的地址是4。需要注意的是这里的地址是需要用16进制的格式来表示的,我们组态时是用10进制表示的。
完成之后,我们在各站中插入OB82、OB86、OB122等程序块,这些是为了保证当通讯的一方掉电时,不会导致另一方的停机。完成之后,将所有的程序分别下载到各自的CPU中,个站切换到运行状态,通过PLC监控功能,设定数据之后,我们监控的结果如下
:上面的表格内容为主站315的数据,下面的是从站315的数据。
可以看到,两个站都分别将各自的DBB4—DBB7数据发送出去并被另一方成功接收后存储在各自的DBB0—DBB3中。
验证中,我们将一个站的CPU切换到STOP状态,可以看到,另一个站的CPU硬件SF指示灯报警,但PLC正常运行不停机。待该站恢复之后,报警自动消失。
在SIEMENS的官方文档中,有这样的描述:
主站:主站掌握总线中数据流的控制权。只要它拥有访问总线权(令牌),主站就可在没有外部请求的情况下发送信息。在PROFIBUS协议中,主站也被称作主动节点。
从站:从站是简单的输入、输出设备。典型的从站为传感器,执行器以及变频器。从站也可为智能从站,入S7-300/400带集成口的CPU等。从站不会拥有总线的访问授权。从站只能确认收到的信息或者在主站的请求下发送信息。从站也被称作被动节点。
另外,SIEMENS对SFC14/15的描述也分别是:用于读取Profibus从站的数据 / 用于将数据写入Profibus从站。
根据这些描述,通过CPU集成口通讯这种方式下,作为从站的CPU应该属于“智能从站”,但是SIEMENS的描述中,却没有说智能从站和普通的从站之间有什么