PROFIBUS-DP主站通過(guò)控制命令輸出同步(SNYC)和輸入凍結(jié)(FREEZE)命令,可以實(shí)現(xiàn)某些DP從站同步數(shù)據(jù)通信。系統(tǒng)所涉及的DP從站必須組態(tài)在SYNC和FREEZE組中,DP主站利用全局控制報(bào)文同時(shí)發(fā)送SYNC或FREEZE控制命令給所有的DP從站。
SYNC命令同步DP從站的輸出,DP從站在SYNC模式時(shí),輸出被凍結(jié),主站發(fā)送的數(shù)據(jù)存在DP從站的本地緩存器中,只有在接收SYNC控制命令后,所有DP從站將緩存器中的數(shù)據(jù)傳送到輸出,這樣可以同步若干個(gè)DP從站的輸出。
使用UNSYNC可以取消同步命令,取消后從站循環(huán)更新輸出。同步過(guò)程如圖1-1所示。
若要凍結(jié)若干DP從站上的數(shù)據(jù),就要用到FREEZE命令,當(dāng)FREEZE控制命令發(fā)送到一組DP從站時(shí),所有的DP從站同時(shí)凍結(jié)輸入點(diǎn)的現(xiàn)有信號(hào),以便由DP主站來(lái)讀取這些信號(hào)。DP從站上的輸入數(shù)據(jù)在接收到另一個(gè)FREEZE命令時(shí)更新,如果沒(méi)有新的FREEZE命令,輸入數(shù)據(jù)保持當(dāng)前值不變。
用UNFREEZE命令可以取消DP從站的FREEZE模式,循環(huán)更新從站輸入信號(hào),此時(shí),輸入數(shù)據(jù)可以立即由DP從站更新并被DP主站讀取。輸入凍結(jié)過(guò)程如圖1-2所示。
圖1-2 凍結(jié)過(guò)程
本例的系統(tǒng)由PS307電源、CPU 319-3 PN/DP模塊、IM153模塊、仿真模塊SM374等組成,以下將展示如何實(shí)現(xiàn)PROFIBUS-DP的同步凍結(jié)功能。
序號(hào) |
操作 |
圖示 |
1. |
首先進(jìn)行系統(tǒng)的硬件組態(tài),打開(kāi)STEP7 V5.5軟件,插入一個(gè)S7-300主站,本例中為CPU 319-3 PN/DP模塊。 |
|
2. |
組態(tài)DP從站,本例中兩個(gè)從站的站地址分別設(shè)置為4和5,每個(gè)從站各有一個(gè)仿真模塊SM374。此仿真模塊在組態(tài)時(shí),組態(tài)為8點(diǎn)輸入8點(diǎn)輸出,訂貨號(hào)為6ES7 323-1BH00-0AA0的模塊。 |
|
3. |
雙擊CPU中主站的DP接口,彈出DP主站的屬性窗口,記錄DP主站的診斷起始地址,編程時(shí)使用。 |
|
4. |
雙擊PROFIBUS(1),彈出DP master system(1)的屬性窗口,選擇Group Properties選項(xiàng)卡,選擇DP總線中每組的同步凍結(jié)功能,每條總線最多分為8個(gè)組,每組默認(rèn)使能同步凍結(jié)功能。 |
|
5. |
點(diǎn)擊Group Assigment選項(xiàng)卡,將從站分組。本例中將4號(hào)站和5號(hào)站分在組1中。如果有更多從站,可以繼續(xù)分配在組1中,也可以分配到不同的組中,每組的同步凍、結(jié)功能可以分別設(shè)置,也可在用戶程序中分別使能和禁止。 |
|
在OB1中調(diào)用系統(tǒng)功能SFC11啟動(dòng)同步凍結(jié)。當(dāng)M100.0為1時(shí),執(zhí)行在MB102字節(jié)中定義的模式。程序如圖3-1所示。
十六進(jìn)制下,SFC11的MODE參數(shù)含義如下:4為取消凍結(jié),8為凍結(jié)模式,10為取消同步,20為同步模式。也可以同時(shí)設(shè)置不矛盾的兩種模式,十六進(jìn)制下,MODE參數(shù):14非同步凍結(jié),18凍結(jié)非同步,24同步非凍結(jié),28同步凍結(jié)。需要注意的是,當(dāng)主站熱啟動(dòng)或者暖啟動(dòng)后,DP從站保持SYNC和FREEZE模式。
圖3-1 程序編寫
將程序下載至PLC中,并且在變量表中觀察以下變量MB0,MB1,QB0,QB1,IB0,IB1。其中將MB0與MB1修改為B#16#F0,可以看到QB0與QB1的值也隨之更改為B#16#F0,但是實(shí)際的輸出模塊上的輸出區(qū)并沒(méi)有任何LED燈亮,這是因?yàn)閿?shù)據(jù)被保存在兩個(gè)從站本地接口模塊的存儲(chǔ)器中,并沒(méi)有發(fā)送給模塊。
而在從站的仿真模塊上的輸入?yún)^(qū)有輸入信號(hào),但是監(jiān)控表中的IB0與IB1的數(shù)值仍為 B#16#00,這是因?yàn)榻涌谀K一直向主站發(fā)送上次輸入過(guò)程值,并沒(méi)有更新輸入過(guò)程數(shù)據(jù)(本例中主站為CPU 319-3 PN/DP),如圖3-2所示。
圖3-2 CPU中數(shù)據(jù)與實(shí)際模塊狀態(tài)對(duì)比
這時(shí),在程序中使能SFC11,則兩個(gè)從站立即將輸出數(shù)據(jù)從緩存中發(fā)送給輸出模塊,并且更新輸入模塊的數(shù)據(jù)并發(fā)送給主站。這樣便實(shí)現(xiàn)了兩個(gè)從站的輸出同步與輸入凍結(jié)功能。如圖3-3所示。
電話:15721373211
郵箱:15721373211@139.com
網(wǎng)址:http://youmiyou.cn/
地址:上海青浦區(qū)北青公路7171號(hào)111-112室