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