?
Tel : 010-51271179?
E-mail: [email protected]
摘? 要:針對(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ò)需求日益廣泛,。西門(mén)子自動(dòng)化產(chǎn)品在競(jìng)爭(zhēng)中也逐步顯示出她卓越的網(wǎng)絡(luò)性能及優(yōu)勢(shì),。這也不足為奇,因?yàn)殪`活的組網(wǎng)和高效可靠的通訊正是西門(mén)子自動(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入門(mén)時(shí)的茫然。其原因就在對(duì)PROFIBUS通訊的概念及原理不清,。本文試圖在分析幾種常見(jiàn)通訊的配置和數(shù)據(jù)交換的基礎(chǔ)上,,概括說(shuō)明PROFIBUS的一些原理性的共同特點(diǎn),希望對(duì)您的工作有所幫助,。
二,、幾種典型通訊的實(shí)現(xiàn)過(guò)程
2.1 概述
粗略數(shù)一下PROFIBUS-DP的產(chǎn)品,僅西門(mén)子的就有近30種系列,,如果算上能夠上PROFIBUS=DP網(wǎng)的各種儀表,、傳感器等就更多了。雖然PROFIBUS-DP產(chǎn)品眾多,,但概括其工作原理,、配置組態(tài)內(nèi)容等特點(diǎn),主從站主要類(lèi)別可用如下幾種來(lái)代表,。
PROFIBUS-DP主從站種類(lèi)概括
序號(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ǔ)上,其他眾多類(lèi)型主從站實(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”,存盤(pán),。在配置好主站的其他硬件后,,遵循圖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)用的也是類(lèi)似的概念,。如從站的接口模板都是以機(jī)架的形式掛接到網(wǎng)絡(luò)上的,不同從站的差別一是機(jī)架上擴(kuò)展的槽位數(shù)不同,,二來(lái)是不同從站所帶的“摸板”種類(lèi)不同,,三是相應(yīng)槽位上能插接的“摸板”不同。廣義上講,,不同類(lèi)型不同密度的摸板本質(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)容有輸入/輸出類(lèi)型(“模板類(lè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ì)西門(mén)子的產(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)非難事,。