n
1 Profibus-DP同步、冻结的概念
PROFIBUS-DP主站通过控制命令输出同步(SNYC)和输入冻结(FREEZE)命令,可以实现某些DP从站同步数据通信。系统所涉及的DP从站必须组态在SYNC和FREEZE组中,DP主站利用全局控制报文同时发送SYNC或FREEZE控制命令给所有的DP从站。
SYNC命令同步DP从站的输出,DP从站在SYNC模式时,输出被冻结,主站发送的数据存在DP从站的本地缓存器中,只有在接收SYNC控制命令后,所有DP从站将缓存器中的数据传送到输出,这样可以同步若干个DP从站的输出。
使用UNSYNC可以取消同步命令,取消后从站循环更新输出。同步过程如图1-1所示。n
若要冻结若干DP从站上的数据,就要用到FREEZE命令,当FREEZE控制命令发送到一组DP从站时,所有的DP从站同时冻结输入点的现有信号,以便由DP主站来读取这些信号。DP从站上的输入数据在接收到另一个FREEZE命令时更新,如果没有新的FREEZE命令,输入数据保持当前值不变。
用UNFREEZE命令可以取消DP从站的FREEZE模式,循环更新从站输入信号,此时,输入数据可以立即由DP从站更新并被DP主站读取。输入冻结过程如图1-2所示。n
2硬件组态
本例的系统由PS307电源、CPU 319-3 PN/DP模块、IM153模块、仿真模块SM374等组成,以下将展示如何实现PROFIBUS-DP的同步冻结功能。n
3软件编程
在OB1中调用系统功能SFC11启动同步冻结。当M100.0为1时,执行在MB102字节中定义的模式。程序如图3-1所示。
十六进制下,SFC11的MODE参数含义如下:4为取消冻结,8为冻结模式,10为取消同步,20为同步模式。也可以同时设置不矛盾的两种模式,十六进制下,MODE参数:14非同步冻结,18冻结非同步,24同步非冻结,28同步冻结。需要注意的是,当主站热启动或者暖启动后,DP从站保持SYNC和FREEZE模式。
将程序下载至PLC中,并且在变量表中观察以下变量MB0,MB1,QB0,QB1,IB0,IB1。其中将MB0与MB1修改为B#16#F0,可以看到QB0与QB1的值也随之更改为B#16#F0,但是实际的输出模块上的输出区并没有任何LED灯亮,这是因为数据被保存在两个从站本地接口模块的存储器中,并没有发送给模块。
而在从站的仿真模块上的输入区有输入信号,但是监控表中的IB0与IB1的数值仍为 B#16#00,这是因为接口模块一直向主站发送上次输入过程值,并没有更新输入过程数据(本例中主站为CPU 319-3 PN/DP),如图3-2所示。
这时,在程序中使能SFC11,则两个从站立即将输出数据从缓存中发送给输出模块,并且更新输入模块的数据并发送给主站。这样便实现了两个从站的输出同步与输入冻结功能。如图3-3所示。
关键词
同步模式,冻结模式,Profibus-DP
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc326694.html