【摘 要】profibus-dp的主要用途是進行現場層高速數據的傳送,主站(PLC)可以周期性地向從站輸出信息,同時又能夠周期性地讀取并掌握從站的信息,而且要求profibus-dp總線的循環時間一定要短于主站的所有程序循環時間。另外profibus-dp總線還要給智能化設備提供信息組態、診斷、報警等。profibus-dp的連接成本相對較低,還具有非常高的傳輸效率,因此成為了目前現場設備通訊的首選。
【關鍵詞】profibus-dp;S7-300;S7-200;通訊
0.引言
PROFIBUS是開放的、國際化的、不需要依賴任何設備生產商的現場總線,它能夠完成時間緊迫、高速的通信任務。這種現場總線又可以分為現場總線信息規范(簡稱FMS)、分散性外圍設備(簡稱profibus-dp)、過程自動化(簡稱profibus-pa)三個標準。其中DP主要特點就是傳輸的高速性,其傳輸數據的速度可達到12Mbit/s,因此應用非常廣泛。profibus-dp在現場級分散I/O設備之間和可編輯程序的控制器之間通信方面應用廣泛。
profibus-dp總線的存取方式是主從站之間的通信和主站與主站之間的令牌傳遞等,因此能夠支持多個主站和單主站的系統,一般情況一個總線上的從站和主站的數目不能超過126個,一般的DP 主站可以使用CP342-5進行擴展的S7-300站,或者帶有集成DP口的CPU站,同時DP主站也可使用能插DP網卡的上位機等。而DP從站的設備相對較多,如S7-200、調速裝置、ET200系列和第三方設備。本文針對S7-300和S7-200之間的DP通信進行討論,討論的主要內容為主站到從站的編程,根據16位數字的信號傳輸,來闡述兩者之間的通信關系。
1.S7-300和S7-200之間profibus-dp相互通訊網絡組態和參數設置
1.1網絡配置
有集成DP口的CPU315C-2DP的S7-300是DP 的主站,而CPU224+EM277 接口模塊的S7-200作為DP從站,然后構成一個主站單個從站的系統,該系統中進行編程和監控之用的PC應為CP5611。其構建的系統網絡結構詳見圖1。
圖1 單主從系統的網絡結構
1.2軟硬件要求
(1)硬件。DP主站:CPU315C-2DP;DP從站:CPU224;DP從站的接口模塊:EM277;主站的編程接口:采用西門子MPI線;從站的編程接口:西門子MPI線。
(2)軟件。從站編程軟件:STEP7micro/WIN4.0,主站編程軟件:STEP7.5.5。
1.3網絡組態參數設置
(1)組態主站。在主站編程軟件中重新建立一個S7項目,依照次序插入機架、電源、CPU315C-2DP,然后再配置profibus-dp的網絡,DP地址一般會設置兩個,集成的數字量輸出、輸入地址等,均取的是系統默認的QB124-QB125或者IB124-IB125。
(2)配置從站。將主站硬件的組態窗口打開,然后將從站設備EM227添加到 的網絡窗口上,同時還要配置一個通信借口區。從站的DP地址為3,通訊接口區的輸入和輸出均為2字節;輸入區的通訊地址為PIB0-PBI1,輸出區的通訊地址為PQB0-PQB1,而與之對應的S7-200通訊接口為V存儲區,所占的字節為4個,接受區為前兩個字節,發送區為后兩個字節。本例中我們將V區的偏移值設為100。
設置完成之后,主從通信接口的關系如表1所示:
表1 主站S7-300與從站S7-200之間的關系
2.軟件的編程設置和實踐
2.1主站側通信
主站側通訊程序的主要任務是讀寫PI區或者PQ區,因此對于按照字單元傳送或者字節單元傳送的數據,完成傳送時只可以采用簡單的傳送指令和裝載來完成,如果數據是連續性的比如有3個字節以上,那么應該調用SFC14或者SFC15等系統功能來完成。
(1)按單元傳遞。在OB1中編寫程序,通過程序可以將影像區的數據傳送到PQB0-PQB1,再中轉到S7-200從站中。
(2)連續性數據傳遞。系統功能SFC14-SEC15是來完成連續性數據傳遞的,其中SFC14所讀取的數據存儲于輸入接口區的數據包內,數據包解壓之后存放于所指定的數據區內,然后由SFC15將所儲存的數據進行打包,最后經由接口區進行發送。
2.2從站編程
所謂的從站編程主要是讀寫V內存的接口區域的數據,本文所舉的例子就是存儲在V內存的緩沖數據復制到S7-200的輸出影像,然后再將S7-200影像區的數據再復制到V內存中。該程序中所使用的信息均是存儲在SM內存區的DP信息。
SMB224 DP標準協議狀態字節
上表所示的狀態字節中S1=0,S0=0,則表示在接通電源之后通訊功能沒有啟動;S1=0,S0=0,則表示系統程序檢測到配置或者參數出現錯誤;S1=1,S0=0,則表示整個程序的數據正在進行交換;S1=1,S0=1,則表示數據交換模式已經退出。
SMW226,表示V內存的輸出偏移量;SMW228,表示輸出數據的字節數;SMW229,表示輸入數據的字節數。
其相應的操作程序:
[Network1]
LDB=SMB224,2//如果程序正處于數據交換模式
MOVDVB0,VD1000//即將VB0的地址送入VD1000中,然后在建立指針
ITD SMW226,AC0//將V內存所輸出的偏移量轉換成雙整數
+D AC0,VD1000//再添加到輸出緩沖區指針,使指針指向緩沖區的第一個地址
[Network2]
LDB=SMB224,2
MOVD VD1000,VD1004//復制輸出指針
BT1 SMB228,AC0//獲得輸出字節數
ITD AC0,AC0//轉換為雙整數
+D AC0,VD1004//輸出字節+輸出緩沖區地址=輸入緩沖區地址, 本例中指向VB102
[Network3]
LDB=,SMB224,2
MOVB SMB228,VB1009//獲得輸出字節數 (下轉第293頁)
(上接第223頁)MOVB SMB229,VB1009//獲得輸入字節數
[Network4]
LDB=,SMB224,2
BMB QVD1000,QB0,VB1008//將主站DP 輸出復制到從站輸出
BMB IB0,QVD1004,VB1009//將從站輸入復制到主站DP輸入
3.結束語
S7-300與S7-200之間的profibus-dp相互通訊是非常容易實現的,它的特點是成本非常低廉,而且傳送速度迅速,非常容易將主站S7-300和從站S7-200構建成分布式的控制系統,在進行通訊編程的過程中,從主站側和從站側分別讀寫出各自的接口區,然后就可以實現二者之間的通訊。
【參考文獻】
[1]黃崢,古鵬.基于S7系列PLC通訊方式與設計研究[J].機電工程技術,2010(06).
[2]謝靜心,蒙建波.S7-300與S7-200之間的PROFIBUS□通訊實現及在某大型汽輪發電機冷卻系統中的應用[J].自動化與儀器儀表,2008(02).
[3]田海,崔桂梅,王曉紅,薛艷春.西門子PLC控制網絡的配置策略與應用[J].電氣傳動,2010(01).