?
Tel : 010-51271179?
E-mail: jindingwang@goldtopone.com
摘? 要:針對初學者概念不清的特點,本文在分析典型DP通訊配置的基礎上,總結出DP通訊數據交換" title="數據交換">數據交換的共性原理和方法。同時給出了組態配置主要步驟的示圖,并作了注解。
關鍵詞:PROFIBUS-DP" title="PROFIBUS-DP">PROFIBUS-DP、數據交換、DP通訊、 DP通訊緩沖區
一、前言
隨著國內工業化進程的不斷深入和發展,工業自動化對網絡需求日益廣泛。西門子自動化產品在競爭中也逐步顯示出她卓越的網絡性能及優勢。這也不足為奇,因為靈活的組網和高效可靠的通訊正是西門子自動化產品的個性所在。而從國家JB等效采用PROFIBUS歐洲標準以后,我們更是明顯感到市場對PROFIBUS及SIEMENS產品認同度的提高。
本人日常工作就是技術支持、培訓和產品開發與工程服務,在工作中我深切感覺到許多新用戶在PROFIBUS入門時的茫然。其原因就在對PROFIBUS通訊的概念及原理不清。本文試圖在分析幾種常見通訊的配置和數據交換的基礎上,概括說明PROFIBUS的一些原理性的共同特點,希望對您的工作有所幫助。
二、幾種典型通訊的實現過程
2.1 概述
粗略數一下PROFIBUS-DP的產品,僅西門子的就有近30種系列,如果算上能夠上PROFIBUS=DP網的各種儀表、傳感器等就更多了。雖然PROFIBUS-DP產品眾多,但概括其工作原理、配置組態內容等特點,主從站主要類別可用如下幾種來代表。
PROFIBUS-DP主從站種類概括
序號 |
站點特性描述 |
工作模式 |
典型產品 |
1 |
CPU上集成有通訊口 |
或主或從 |
315-2DP、412-1、414-3 |
2 |
獨立的通訊處理器 |
或主或從 |
CP342-5、CP443-5 |
3 |
帶CPU的接口模塊 |
或主或從 |
IM151/CPU、BM147/CPU |
4 |
普通ET200系列接口模塊 |
從 |
IM153、IM151 |
5 |
設備的PROFIBUS網卡 |
從 |
EM277、變頻器的Profibus網卡 |
6 |
網關 |
從 |
DP/RS 232C |
上述主從站可以組合實現三種典型通訊。這三種通訊是
⑴、帶DP口的CPU主站與從站的通訊;如315-2DP與IM153
⑵、通訊處理器主站與從站的通訊;如CP342-5與EM277
⑶、帶DP口的CPU主站與集成DP口配置的從站之間的通訊,如315-2Dp與 315-2DP。
在充分理解上面三種典型通訊的原理和配置組態的基礎上,其他眾多類型主從站實現要領大都差不多。這幾種典型方式的具體實現,請見下文分解。
2.2 CPU315-2DP與IM153的通訊實現
????這是最常見的一種DP式的通訊。配置時在將CPU插入槽位后,右鍵點擊DP口首先增加主站,建立網段,最后設置主站的網絡參數。隨后,將從站IM153掛到網上并賦值網絡參數。注意主從站網絡參數的一致性。最后,將從站上的模板插入相應槽位即可。硬件配置" title="硬件配置">硬件配置一旦下載到CPU,主從站之間的數據交換即自動進行。在這種配置下,分布I/O" title="I/O">I/O通過IM153直接映射到CPU內存。硬件配置表中的地址內存存放的就是分布I/O的狀態,見圖三。配置要點見圖一所示步驟。
2.3 CPU314+CP342-5與EM277的通訊實現
????CP342-5作為主站也是最常見的DP通訊之一。配置過程較復雜,主要步驟參見圖4~6。首先,我們將CP342-5放入槽位后需要開通主站,建立網段,相應網絡參數的設定是必須的,大多數情況下可以沿用系統默認值。然后就是從站的組態。在硬件目錄中找到所用從站EM277,掛接到主站所控制的網段上。從站的參數設置與主站看齊。最后是EM277的數據交換區的定義,見圖6。很多用戶問,此時硬件配置能組態的都完成了,為什么下載配置后總線故障燈還亮?仔細分析前面的配置,實際上我們只定義了CP342-5與EM277之間通訊必須的網絡狀態和參數。而分布I/O數據傳遞到了CP342-5之后,如何與CPU內存的對應沒有聲明。所以通訊是不通的。這也是FC1(DP_SEND)、FC2(DP_RECV)在通訊中所發揮的作用。以圖6示例,如果要實現CPU中DB1與EM277之間I/O雙向8Byte數據的交換,我們還需要運行下面這段程序。
CALL? 'DP_SEND'
?? ???????? CPLADDR:=W#16#100????????????????????? ;CP342-5的地址,16進制
?????? SEND?? :=P#DB1.DBX0.0 BYTE 8??? ;DB1的0~7共8個字節發往CP342-5
?? ???????? DONE?? :=M10.0
?? ???????? ERROR? :=M10.1
STATUS :=MW12
CALL? 'DP_RECV'
???????????? CPLADDR :=W#16#100???????????????????? ;CP342-5的地址,16進制
???? ???? RECV??? :=P#DB1.DBX8.0 BYTE 8?? ;將CP342-5發來的8個字節存入DB1的8~15字節,
NDR???? :=M20.0
ERROR?? :=M20.1
??? ?????? STATUS? :=MW22
DPSTATUS:=MB24
????編程到這里,有了FC1、FC2的參與,通訊中數據傳遞的鏈路就完整了。CPU與-CP342-5的數據交換,需要調用功能函數,而CP342-5與從站EM277的信息交換是由CP342-5的運行選擇開關觸發自動進行。因此,概括CPU314+CP342-5與EM277通訊的數據交換過程可以用如下模型來描述。
CPU314 |
CP342-5 |
EM277 | ||
DB1.DBB0 |
?—FC1—> |
QB0 |
——> |
VB0 |
. . .? . . . |
?—FC1—> |
. . .? . . . |
——> |
. . .? . . . |
DB1.DBB7 |
?—FC1—> |
QB7 |
——> |
VB7 |
DB1.DBB8 |
<—FC2— |
IB0 |
<—— |
VB8 |
. . .? . . . |
<—FC2— |
. . .? . . . |
<—— |
|
DB1.DBB15 |
<—FC2— |
IB7 |
<—— |
VB15 |
2.4 CPU315-2DP與CPU315-2DP的通訊實現
????兩個315-2DP主站之間的數據交換是DP主站間通訊的典型示例。從硬件配置的過程來看,主站間通訊的組態與前兩種有明顯不同,圖7~圖9是組態的主要過程。由于定義主站需要用到從站的組態,所以這里我們必須首先對從站進行配置。首先完成從站的硬件配置,然后按圖7所示,定義CPU的DP端口工作模式為 “DP SLAVE”,存盤。在配置好主站的其他硬件后,遵循圖8所示,激活CPU端口的主站,建立網段。再在硬件目錄中找到/PROFIBUS-DP/Configured Stations/CPU31 X,接入網絡。系統馬上彈出“DP Slave Properties”窗口,在這里我們就可以看到前面已經初步配置的從站CPU,參見圖8。點擊“Connect”進入數據交換區的設置。
??? 具體交換區的建立和參數定義是根據實際應用的數據特點、數據量來定的。圖9給出了相關參數設置內容,其中參數概念清晰,不再贅言。需要注意的一是在MS(主從)mode下,主站的I內存對應從站的O,主站的O內存對應從站的I。而在DX(直接)mode下,是I對I,O對O,沒有交叉。另外需注意數據的一致性。
??? 從上面的組態過程可以看出,DP主站間的數據通訊也是通過緩沖區來實現的。由于緩沖區建立在各自CPU的內存,硬件組態后即完成了通訊所有相關內容的定義。下圖描述了主站間通訊的原理過程。
Master |
Mode=MS |
Slave |
Master |
Mode=DX |
Slave | |
O2 |
?——> |
I12 |
O0 |
——> |
O20 | |
. . .? . . . |
?——> |
. . .? . . .? |
. . .? . . . |
——> |
. . .? . . . | |
O9 |
?——> |
I19 |
O7 |
——> |
O27 | |
I16 |
<—— |
O16 |
I16 |
<—— |
I26 | |
. . .? . . . |
<—— |
. . .? . . .? |
. . .? . . . |
<—— |
. . .? . . . | |
I31 |
<—— |
O31 |
I31 |
<—— |
I41 |
三、PROFIBUS-DP數據交換原理分析
??? 雖然上文我們只介紹了兩種主站和兩種從站,但已經描述出DP通訊的共同特點。帶CPU的接口模塊" title="接口模塊">接口模塊與帶集成端口的CPU的組態基本一樣,各種CP之間也沒有太大差別,而所有DP從站的不同僅僅在于數據交換區大小和組成上的一點差異,組態中所涉及的概念、方法、原理沒有兩樣。
??? 從配置組態的過程能明顯看出DP設備工作遵循共同的原理。如果從機架擴展的角度來看,分布I/O只是本地機架擴展的補充。因此,網絡配置中應用的也是類似的概念。如從站的接口模板都是以機架的形式掛接到網絡上的,不同從站的差別一是機架上擴展的槽位數不同,二來是不同從站所帶的“摸板”種類不同,三是相應槽位上能插接的“摸板”不同。廣義上講,不同類型不同密度的摸板本質上就是不同結構的通訊數據交換區。
??? 盡管主站間通訊配置沒有體現機架的概念,但隨后數據交換區的定義則形象地體現了槽位和模板的概念。從數據交換的角度看,主站間通訊本質上與普通主從通訊是一樣的。差別僅在兩者上網的名份不同,主站間通訊的從站是以“站點”的形式,而后者如前所述,是以機架的形式。
??? 因此我們可以用下面的圖來表述DP通訊中數據交換的基本原理。
Master |
Slave | |
發送單元1 |
?——> |
接收單元1 |
. . .? . . . |
?——> |
. . .? . . .? |
發送單元n |
?——> |
接收單元n |
接收單元1 |
<—— |
發送單元1 |
. . .? . . . |
<—— |
. . .? . . .? |
接收單元n |
<—— |
發送單元n |
??? 雖然,IM153與主站通訊沒有體現對應的兩個緩沖區,如果我們將其看成兩個緩沖區完全重疊的特例,數據交換的基本原理沒有變。
四、小結
??? 通過靈活多變可配置的數據交換區實現DP主從站的數據通訊是DP通訊的的基本原理。明白這個道理后,就可將DP網絡的組態配置分為兩部分,一是網絡參數的設置,主要參數有網段、站號、波特率、協議規程、最高站號。另一方面就是數據交換區的定義。主要內容有輸入/輸出類型(“模板類型”)、交換區大小(模板I/O密度)、起止地址、數據一致性等幾方面。多數情況下,網絡正常工作的配置組態內容就已經齊備。當然,如果主站由CP擔當,則還需要調用FC1、FC2實現CP與CPU的數據交換。
????這些概念和原理、特征和方法不是只針對西門子的產品,因為PROFIBUS是開放的國際標準。只要是遵循PROFIBUS規程的產品,組態配置所面對的問題和辦法都是一樣的,你所知道、所認識、所掌握的知識和技能也都是適用的。配置時只要沿著原理所指明的方向,概念明確,組網非難事。