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