ProfibusDP數(shù)據(jù)傳遞通信原理_第1頁(yè)
ProfibusDP數(shù)據(jù)傳遞通信原理_第2頁(yè)
ProfibusDP數(shù)據(jù)傳遞通信原理_第3頁(yè)
ProfibusDP數(shù)據(jù)傳遞通信原理_第4頁(yè)
ProfibusDP數(shù)據(jù)傳遞通信原理_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

簡(jiǎn)單Profibus/DP實(shí)驗(yàn)系統(tǒng)的組建引言:為了讓更多剛接觸到Profibus系統(tǒng)的朋友能對(duì)Profibus的網(wǎng)絡(luò)架構(gòu)及系統(tǒng)運(yùn)行機(jī)制有一個(gè)整體的認(rèn)識(shí),筆者根據(jù)自身的運(yùn)用經(jīng)歷編寫(xiě)這篇文章, 以期望能帶領(lǐng)各位讀者快速進(jìn)入到Profibus的世界。本文所采用的系統(tǒng)是SiemensS7300的CPU,加上ET200M并帶Al和DI模塊,另加一SiemensMMX420變頻器帶Profibus接口板組成。系統(tǒng)的目的是實(shí)五、PLC編程當(dāng)網(wǎng)絡(luò)組態(tài)工作正確完成之后,接下來(lái)繼續(xù)進(jìn)行 PLC端梯形圖的編程,S7Manager提供了強(qiáng)大的PLC編程系統(tǒng)。我們的任務(wù)是編寫(xiě)一個(gè)簡(jiǎn)單的梯形圖程序,以能過(guò)ET200M上的DI和AI模塊來(lái)對(duì)MMXDrives進(jìn)行操作及參數(shù)訪問(wèn)。DI模塊用來(lái)對(duì)變頻器進(jìn)行啟動(dòng),停止,正向,反向等控制操作, AI模塊用來(lái)設(shè)定變頻器的頻率?;氐絊7Manager的主窗口,因?yàn)樵贑onfigure的過(guò)程中,我們已經(jīng)加入了S7-300的CPU系統(tǒng),故在右邊的列表里已經(jīng)多了一個(gè) CPU315-2DP?,F(xiàn)遠(yuǎn)程控制變頻器啟動(dòng),停止,及頻率給定的操作,并實(shí)現(xiàn)變頻器參數(shù)的訪問(wèn)。□SIMATICManager-PM-01-[PN-O1—C:\Siemens\Step7\S-.0呂

按右圖所示的路徑點(diǎn)開(kāi)列表,在最后的 Blocks里面,有一個(gè)0B1,這是PLC主程序的入口模塊,一般的程序都在此模塊中進(jìn)行設(shè)計(jì), PLC程序也從此模塊開(kāi)始調(diào)用執(zhí)行。機(jī)55I mL PFTlFIF:lIEI11「)Pm.詆111□SIMATICManager-PPJ-01-[PFd-01—C:\Siemens\Step7\S-.SS0B1模塊打開(kāi),如圖所示。這時(shí)便可以在此窗口進(jìn)行 PLC程序的設(shè)計(jì)。有關(guān)S7-300PLC的指令列表請(qǐng)參閱詳細(xì)的手冊(cè),在此不再詳述。LAD/BTL/FBD-LAD/BTL/FBD-[O日1--PN-Ql'SIMATIGmOO(:L)\CPU31亍-2DP] 二曰呂LAD/BTL/FBD-LAD/BTL/FBD-[O日1--PN-Ql'SIMATIGmOO(:L)\CPU31亍-2DP] 二曰呂QFileEditInsertPLCDtbugViewOpiidntWindowHelp畫(huà)1[3因1畫(huà)1畫(huà)iHEEkMdSE0?i川材NwlPressFl.togetNwlPressFl.togetHelp.梯形圖是一種最直觀的PLC程序設(shè)計(jì)語(yǔ)言,使用即方便也便于維護(hù)。我們先產(chǎn)生一個(gè)永遠(yuǎn)為T(mén)rue的變量M0.0。梯形圖程序必須存在一個(gè)Input和一個(gè)Output,故我們?cè)诤芏嗟胤綍?huì)使用M0.0來(lái)作為永遠(yuǎn)為T(mén)rue的Input。0B1:rrMainProgramSueep(CyclejirrSiuplePtofibus/DPnetworkWetirork1:TicJ.E:匚tateatruevalueEorevet現(xiàn)在我們要實(shí)現(xiàn)變頻器的啟動(dòng)操作,根據(jù)ET200M模塊上掛接的DI模塊,確定其輸入端子上的接線方法,然后接上數(shù)字輸入信號(hào)。SM321DI模塊使用24VDC信號(hào)輸入。確認(rèn)信號(hào)輸入接好后,當(dāng)終端有輸入信號(hào)時(shí),相應(yīng)的終端對(duì)應(yīng)的 LED會(huì)亮起GREEN這時(shí)表示信號(hào)正確,否則檢查接線?;氐接布渲么翱?。選中IM153-1,其下方的窗口里出現(xiàn)所掛接的兩個(gè)模塊 DI和AI,選中DI16XDC24V并點(diǎn)擊右鍵,在右鍵菜單中選中Monitor/Modify。I111I[7 11,11^onfig-[SIMATIC300(1)(Configuration)-PN-01]=I111IInsertPLCViewOptionfWindowHelp□i禺討時(shí)圖ihiimuiiMwaEii劇畫(huà)?⑶IM15扣ComModuleSlot二IAddress1匸莎§:4'5?⑶IM15扣ComModuleSlot二IAddress1匸莎§:4'5"一…丄1DI16hDC24V]AI2x12BkG-7eaMonitorsandmodiFie^theJ£Cr" nJCopyAn 1n匚WI+匚PasteQrl+VAddMasterSystemDime匚inn亡ctMasterSystemDeleteDelGoTo0terAssignedModules?Moriibor/ModifyEdit5爐bolicNames,..ObjectProperties,h?Alt+ReturnOrderNumberQAddft在此Monitor/Modify窗口中,可以檢視模塊的每一個(gè)輸入量的狀態(tài),選中下方的Monitor,即開(kāi)始Monitor此模塊的所有輸入量,此例中我們使用最后一路輸入作為實(shí)驗(yàn),當(dāng)有信號(hào)輸入時(shí),1.7的信號(hào)變?yōu)镚REEN表示有信號(hào)輸入。 其它的設(shè)備與此相同。

按Alt+F9新增一個(gè)Network。再來(lái)關(guān)注PLC如何對(duì)DI模塊進(jìn)行操作。DI的地址映射為0...1兩個(gè)字節(jié),故我們可以直接對(duì)其進(jìn)行尋址,使用 1.6作為啟動(dòng)信號(hào),使用1.7作為停止運(yùn)行信號(hào)。程序如右圖所示,當(dāng)I1.6為T(mén)rue的時(shí)候,MOVE指令會(huì)送0x677E到地址264,這是MMX映射的QAddress(PZD)264...267。264...265為Contolword(查閱MMX420手冊(cè))。同理,使用1.7的輸入作為停止信號(hào),當(dāng)1.7有輸入信號(hào)時(shí),MOVE指令會(huì)送0x677F到地址PQW264,同樣是MMX420的ControlWord,使變頻器停止運(yùn)行。tletmrk2:Title:Start,theMMXDrives11.6ILMOVEETJ11W#16#677E-INOUT-P0W264Network3:Title;StoptheHMXDrives11.7IIMOVEFJJtlnLINOUT-PQV264接著我們?cè)賮?lái)給定MMXDrives的頻率。頻率的給定值來(lái)源于ET200M的AI模塊,AI共有兩路輸入信號(hào),使用前也需要按說(shuō)明書(shū)連接其外圍電路。此例中我們使用一電位器來(lái)給出一個(gè)連續(xù)變化的模擬量信號(hào)。 同樣的方法,當(dāng)我們MonitorAI模塊時(shí),可以看到已經(jīng)有模擬信號(hào)進(jìn)入到了第二路輸入信道中。旋動(dòng)外部的電位器可以看到其值在不斷變化。這時(shí)表示 AI模塊的輸入信號(hào)已經(jīng)成功接入。

Al模塊映射的地址為IAddress256...259(PZD),在MMX映射的地址264…267中,后一個(gè)Word用作頻率給定266...267。程序如圖所示,M0.0永遠(yuǎn)為T(mén)rue,故頻率是在時(shí)時(shí)刷新的,當(dāng)電位器給定的頻率發(fā)生變化時(shí),就會(huì)立即通過(guò)總線送到MMX420。至此,我們完成了通過(guò)ET200M掛接的DI和AI模塊對(duì)變頻器的控制,并實(shí)現(xiàn)其頻率給定。接下去的部分,我們要使用 PKW數(shù)據(jù)實(shí)現(xiàn)對(duì)變頻器參數(shù)的訪PKW采用通用串行接口協(xié)議(USS)的規(guī)范。USS按照串行總線的主/從通訊原理來(lái)確定訪問(wèn)的方法??偩€上可以連接一個(gè)主站和最多 31個(gè)從站,主站根據(jù)通訊報(bào)文中的地址字符來(lái)選擇要傳輸數(shù)據(jù)的從站。在主站沒(méi)有要求它進(jìn)行通訊時(shí), 從站本身不能首先發(fā)送數(shù)據(jù),各人從站之間也不能直接進(jìn)行信息的傳輸。PKW區(qū)說(shuō)明參數(shù)識(shí)別ID-數(shù)值接口的處理方式。 PKW接口并非物理意義上的接口,而是一種機(jī)理,這一機(jī)理確定了參數(shù)在兩個(gè)通訊伙伴之間(例如控制裝置與變頻器)的傳輸方式,例如參數(shù)數(shù)值的讀和寫(xiě)。有關(guān) USS及PKW格式的詳細(xì)信息請(qǐng)參閱文檔(USS.pdf312KB)此例中,我們?cè)噲D去讀取變頻器參數(shù) 0x2bc(700)的值,根據(jù)USS規(guī)范里面的描述,主站

需要發(fā)送的數(shù)據(jù)為:12bc000000000000。我們先將此4Words的數(shù)據(jù)寫(xiě)到內(nèi)存區(qū)M40...M47,然后再利用SFC15模塊將數(shù)據(jù)送到總線上。ifetimrk5:Title:HetwvrkG:Title:按Alt+F9新增Network7。選擇菜單View->STL,將程序轉(zhuǎn)為指令格式,輸入如圖所示的指令。如果需要查看SFC15(DPWR_DAT)模塊的參數(shù)介紹,則只須點(diǎn)擊一下DPWR_DAT,再按下F1。LADDR表示要訪問(wèn)的設(shè)備的DP起始地址,必須用十六進(jìn)制表示。在這里, MMX設(shè)備映射的QAddress(PKW)為256...263,則此值為256(0X100)RECORD表示需要傳送的數(shù)據(jù)存放的位置,我們是按字節(jié)從M40位置開(kāi)始存放。RET_VAL表示此項(xiàng)操作的返回代碼。我們將其存放于M10里面。如果操作成功,此值為0,否則為其操作的錯(cuò)誤代碼。點(diǎn)擊菜單View->LAD,讓程序返回梯形圖模式。

Hetwrk1:Title:CALLrfDFUR_DATrrLADDR:=W16#100Hetwrk1:Title:CALLrfDFUR_DATrrLADDR:=W16#100RECORD:“弭40.0BYTE6RET_VAL:=MH1QJTOP-05FC15使用同樣的方式加SFC14模塊,以讀取PKW值(從變頻器返回的值)。同樣使用F1也可以查詢(xún)SFC14(DPRD_DAT)的參數(shù)信息,SFC14用于讀到DP設(shè)備Het?rk7:Title:的數(shù)據(jù)。LADDR表示讀取的DP設(shè)備所映射的IIF.Tnrt Address的起始 地址,必須用十六進(jìn)制表示。此例中"DPURDATTrEM -LADDRRETVAL-W10RECORDV#16#100-P#M40.0BYTEa-為260(0X104)。RET_VAL表示此操作的返回值,我們將其存放在內(nèi)存M12中。如果此讀操作成功,則返回值為0,否則為其錯(cuò)誤代碼。RECORD表示讀回來(lái)的數(shù)存放的位置,暫且存放在M30...M37中,長(zhǎng)度為8bytes。選擇菜單View->LAD,讓程序返回到梯形圖模式。 至此,PLC梯形圖編程已完成。JletTOrk*;:Title:Caioi&nt:"DPRDEWEwn射丄鉗丄04-LADDRRET_VAL-W1230.0BRECORD-ITE9選擇菜單PLC->Download...,如果程序編寫(xiě)無(wú)誤,則會(huì)出現(xiàn)如圖所示的提示框,告訴你PLC里面的OB1已經(jīng)存在,是否覆蓋,選擇YES即可以把程序下載到PLC中。如果硬件配置與梯形圖程序相符合,則PLC的運(yùn)行一切正常,如果有錯(cuò)誤發(fā)生,則按提示進(jìn)行Troubleshooting引言:為了讓更多剛接觸到Profibus系統(tǒng)的朋友能對(duì)Profibus的網(wǎng)絡(luò)架構(gòu)及系統(tǒng)運(yùn)行機(jī)制有一個(gè)整體的認(rèn)識(shí),筆者根據(jù)自身的運(yùn)用經(jīng)歷編寫(xiě)這篇文章, 以期望能帶領(lǐng)各位讀者快速進(jìn)入到Profibus的世界。本文所采用的系統(tǒng)是SiemensS7300的CPU,加上ET200M并帶AI和DI模塊,另加一SiemensMMX420變頻器帶Profibus接口板組成。系統(tǒng)的目的是實(shí)現(xiàn)遠(yuǎn)程控制變頻器啟動(dòng),停止,及頻率給定的操作,并實(shí)現(xiàn)變頻器參數(shù)的訪問(wèn)。六、數(shù)據(jù)監(jiān)控上面的幾章,已經(jīng)完成了整個(gè)Profibus/DP系統(tǒng)的實(shí)現(xiàn),為進(jìn)一步的了解DP的工作機(jī)制,此章的重點(diǎn)將是數(shù)據(jù)的監(jiān)控與分析,通過(guò) PLC的一些監(jiān)視功能及加入我們自己的一些輔助手段,可以很清楚的觀測(cè)到整個(gè)DP總線運(yùn)行的過(guò)程。此章是理解DP運(yùn)行機(jī)制及進(jìn)行DP從站開(kāi)發(fā)的重點(diǎn)。當(dāng)確定梯形圖程序已經(jīng)正確在PLC中運(yùn)行,將PLC的KEY撥到RUN。在梯形圖編輯窗口,選擇菜單PLC->Monitor/ModifyVariables,可以啟動(dòng)變量監(jiān)視窗口。如圖,在窗口的Address欄位輸入需要監(jiān)視的變量的地址。我們輸入 MW40到MW46,此4Words為我們?cè)囅葘?xiě)入準(zhǔn)備用來(lái)訪問(wèn)變頻器的數(shù)據(jù)。最后再輸入MW10,此地址存放的是我們寫(xiě)數(shù)據(jù)到變頻器的操作的返回值,如果操作正確此值為0。點(diǎn)擊菜單Variable->Monitor或按Ctrl+F7或點(diǎn)擊眼鏡圖標(biāo),開(kāi)始監(jiān)視所輸入的地址的變量值。從監(jiān)視的結(jié)果中,我們看到 MW40的值為12BCHEX,接下去的3words的值都為0,這與我們?cè)囅葘?xiě)入的值相符,另外,MW10的返回值為0,則表示送數(shù)據(jù)到變頻器的操作成功。

接著,我們輸入MW30到MW36的位址,此位址存放從變頻器讀回來(lái)的數(shù)據(jù)。后面接著再輸入MW12,這個(gè)位址存放從變頻器讀數(shù)據(jù)回來(lái)的操作是否成功, 為0則表示成功。從數(shù)據(jù)中,我們可以看到,MW30為12BCHEX,與發(fā)送的相同,MW32,MW34為0,MW36值為0006HEX,這個(gè)位址表示從變頻器讀回來(lái)的參數(shù)值,即我們需要讀取的參數(shù)量0700的值為6。MW12為0表示此讀數(shù)據(jù)操作成功。同理,可以使用此方法去監(jiān)視不同的其它變量。5D15D1=0X10,FC=功能碼(FunctionCode)FCS=前檢查順序(FrameChedcSequence)Var-WariableTablel ,00TableEditInsertPLCV^n^bleViewOptionsWindowHelp釧處g]l冋[呵I@[H自哪剖昱匡也庖應(yīng)|AddressSynftiolDisplayformStatusvalueModifyva■140HEXW16#1^BC2mi42HEXW#L6#00003w44HEXW€L£#00004w46HEXwfiefooooSw丄ClHEXwissoooo£MW30HEXWfl£$12£C7MH32HEXU#L£#口000eW34HEXW116900009w賓HEXwiesoooe10丄2HEXVflC#000D—11|1( 三U2Uli—1 □ @Variable_TablelONLINE HS①RUN也許我們更關(guān)心DP總線上面的數(shù)據(jù),上面看到的數(shù)據(jù)都是由PLC內(nèi)存區(qū)里面提取的,那么,作為DP從站,PLC是如何把數(shù)據(jù)送達(dá)到變頻器,而變頻器又是如何將數(shù)據(jù)送回給PLC的呢?這些部分都是由Profibus/DP總線的協(xié)議來(lái)完成的。Profibus/DP協(xié)議是一個(gè)復(fù)雜的通訊協(xié)議,在此我們只作簡(jiǎn)單的概述,以方便描述其數(shù)據(jù)通訊的過(guò)程。首先我們來(lái)看看Profibus的重要電文結(jié)構(gòu)令牌信息。Profibus支持多主站系統(tǒng),每個(gè)主站按時(shí)間分配其總線控制權(quán),使用令牌在主站之間傳遞信息,如果主站獲得上一個(gè)主站傳遞來(lái)的令牌, 則立即有對(duì)總線的控制權(quán),當(dāng)其令牌時(shí)間到達(dá),則使用此電文將令牌傳遞給下一個(gè)主站。FDL狀態(tài)請(qǐng)求電文。在進(jìn)行Cyclic數(shù)據(jù)交換之前,主站間通訊,主站與從站間通訊都交由FDL狀態(tài)請(qǐng)求電文來(lái)實(shí)現(xiàn)。Profibus所有的數(shù)據(jù)交換都使用此電文來(lái)實(shí)現(xiàn),包括診斷等。SD4DASASD4=OXDC,DA=目標(biāo)地址,SA=源地址SD1DASAFCFCSEDSD2LELErSD2DASAFCDSAPSSAPDUFCSDA=目的地址(DestinationAddress)DU=數(shù)據(jù)單元〔Da掃Unit)DSAP=目島服務(wù)存取點(diǎn)CDestinationServiceAccessPoint)ED=結(jié)耒分界符(EndDelimiter)[0X16]F匚二功能列(FunctionCode)FCS=M檢査順序〔FmnriECheckSequence)LE=長(zhǎng)度(gngtti)LEi=重復(fù)長(zhǎng)度〔R印際詞Length)SA=源應(yīng)址(SourceAddress)SD2=開(kāi)始分界符2(StartDelimiter2)[0X68]SD4=開(kāi)始幷界符4(StartDelimiter4)[OXDC]SSAP=源服塚諒取點(diǎn)(SourceServiceAccessPoint)我們繼續(xù)了解DP從站的狀態(tài)機(jī)制。一個(gè)DP的從站有四種狀態(tài):NoPower、WAIT_PRM、WAIT_CFG、DATA_EXCH。當(dāng)從站PowerOn,如果從站支持Set_Slave_Add報(bào)文,則處理此報(bào)文,如果不支持,貝U跳過(guò)。此時(shí),從站等待主站的請(qǐng)求診斷電文(Slave_Diag),然后把自己的狀態(tài)告知主站,此時(shí)從站進(jìn)入WAIT_PRM狀態(tài),主站知道從站正在等待參數(shù)化(Parameterization)報(bào)文,于是就會(huì)發(fā)出參數(shù)化報(bào)文。從站收到后取出報(bào)文中的參數(shù)對(duì)自身進(jìn)行配置, 并立即進(jìn)入WAIT_CFG狀態(tài),主站繼續(xù)送Configuration的報(bào)文到從站,Configuration報(bào)文里所帶的數(shù)據(jù)主要是從站IO長(zhǎng)度的數(shù)據(jù),它表明從站可與主站進(jìn)行的PKW和PZD的IO數(shù)據(jù)長(zhǎng)度各是多少。從站會(huì)將此數(shù)據(jù)與自身比對(duì),如果符合自身所支持的某一個(gè)格式,則配置通訊格式。最后主站會(huì)使用(Slave_Diag)報(bào)文來(lái)再次獲取從站的狀態(tài),如果從站配置成功,則進(jìn)入DATA_EXCH狀態(tài),此時(shí)主站知道從站已經(jīng)在等待進(jìn)行IO數(shù)據(jù)交換,立即會(huì)發(fā)送IO數(shù)據(jù)報(bào)文與從站進(jìn)行數(shù)據(jù)交換。這樣的數(shù)據(jù)交換被稱(chēng)為Cyclic數(shù)據(jù)交換,會(huì)一直持續(xù)下去。

Slave_DiagGet_CfgSlave_DiagSlave_DiagGet_CfgSet_PrmGetCfq接下來(lái),我們找尋一些方法,來(lái)抓取DP總線上實(shí)際在運(yùn)行的數(shù)據(jù),分析整個(gè)數(shù)據(jù)交換的過(guò)程。 由于Profibus采用高速的RS485通訊,但支持的頻率范圍從9.6Kbit/s到12Mbit/s,故我們?cè)诘退?9.6Kbit/S)的情況下,可以使用PC的COM口來(lái)采集總線上面的數(shù)據(jù)。具體的實(shí)現(xiàn)方法很簡(jiǎn)單,我們用一個(gè) RS485到RS232的轉(zhuǎn)換模塊,如研華的DataAcquisitionModulesADAM-4520RS232toRS485isolatedconverter,將PC與總線相連接,DP總線的A和B分別接到converter的輸入(注意數(shù)據(jù)的方向),轉(zhuǎn)換模塊需要 9V的DC供電。另一端與PC相連,為使用簡(jiǎn)單,我們使用CVFD軟件的數(shù)據(jù)接收功能來(lái)接收總線上面的數(shù)據(jù)。Profibus的數(shù)據(jù)為11bit,數(shù)據(jù)格式為<8,E,1>,這里我們要設(shè)定baudrate為9.6K,因前面配置Profibus網(wǎng)絡(luò)的時(shí)候,我們?cè)O(shè)定了速率為 9.6Kbit/s,選擇RTU模式。OctetBit Parrt*師StopBit點(diǎn)擊START,開(kāi)始接收數(shù)據(jù),這時(shí)總線上面的所有數(shù)據(jù)就被采集到 PC上了。為了我們可以看到一個(gè)從站連接的全過(guò)程,我們將MMX的總線接頭撥下,然后再插上插頭,這樣我們可以看到MMX與主站進(jìn)行連接的過(guò)程。當(dāng)撥下插頭時(shí),主站會(huì)報(bào)錯(cuò)誤SF和BUSF,再行插上插頭的時(shí)候,BUSF消失,但SF還是亮RED,這時(shí)我們要將程序復(fù)位,將PLC的KEY撥回STOP,再撥到RUN即可消除。斗 血 ■??h自u(píng)固%>|Ltlw|it|t接下來(lái)我們對(duì)所采集的數(shù)據(jù)進(jìn)行整理及分析。點(diǎn)擊介面上的Savetofile按鈕,將數(shù)據(jù)保存到PC硬盤(pán)上,此例中的文件可以從這里下載(data.txt55.2KB)。首先我們來(lái)看看Profibus數(shù)據(jù)電文的DSAP和SSAP(服務(wù)存取點(diǎn))的功能分配:SSAP為源服務(wù)存取點(diǎn),都為62(0X3E)。而DSAP為目標(biāo)服務(wù)存取點(diǎn),不同的DSAP表示主站想要進(jìn)行的不同的動(dòng)作。我們常用的DSAP為如下幾種:58(0X3A)Global_Control60(0X3C)Slave_Diag61(0X3D)Set_Prm62(0X3E)Chk_CfgDefault:Data_ExchangeGlobal_Control用于廣播信息及全局控制,一般發(fā)送的目標(biāo)地址(DA)為0XFFSlave_Diag用于請(qǐng)求從站的診斷信息,以獲取從站目前的狀態(tài)。Set_Prm傳送必要的參數(shù)及用戶(hù)自定義擴(kuò)展參數(shù)給從站, 用戶(hù)自定義擴(kuò)展參數(shù)可以在GSD文件中試先寫(xiě)好,主站會(huì)將這些參數(shù)送給從站,從站接收后自行進(jìn)行處理及相應(yīng)的配置。Chk_Cfg是Congfiure報(bào)文,里面包含了從站所要進(jìn)行的10數(shù)據(jù)交換的信息,如PKW及PZD的長(zhǎng)度。

Data_Exchange用于Cyclic10數(shù)據(jù)交換,此為默認(rèn)的SAP,故在Cyclic數(shù)據(jù)報(bào)文中,無(wú)DSAP也無(wú)SSAP有關(guān)各種報(bào)文的數(shù)據(jù)所表達(dá)的詳細(xì)意義, 請(qǐng)查閱文件(ProfibusDP.pdf1.45M)。FunctionDPMasterFunctionDPMasterDPSlaveSSAPSADSAPDAData_Exchange?XX-XXRDJnp62XX56XXRD_Outp62XX57XX62XX60XXSel_Pnn62XX61XXChkCfg62XX62XXGet_Cfg62XX59XXGlobalControl62XX58XXSet_Slave_ArJ(162XX55XXSource&Des:tnationAddra&s(SA&CAi:BitO-6:Address0-127Bit7="Or:MoaddressextensionAddressexter^ion(SAP*used)接下來(lái)我們對(duì)所采集的數(shù)據(jù)進(jìn)行分析整理,然后抓取出對(duì)我們有用的數(shù)據(jù)進(jìn)行分析。首先我們按照上述的數(shù)據(jù)報(bào)文結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行換行處理,存在四種報(bào)文:令牌(0XDC開(kāi)頭),F(xiàn)DL狀態(tài)請(qǐng)求(0X10開(kāi)頭),數(shù)據(jù)交換(0X68開(kāi)頭),短應(yīng)答(0XE5),F(xiàn)DL與數(shù)據(jù)報(bào)文都以ED[0X16]結(jié)尾。然后根據(jù)電文中DA及SA的信息,我們?nèi)コ?jié)點(diǎn)3(ET200M)與主站之間產(chǎn)生的報(bào)文,只保留節(jié)點(diǎn)0X10(MMX)與主站之間產(chǎn)生的報(bào)文。[01]主站掃描其它是否有新的節(jié)點(diǎn)加入。主站從站地址 1開(kāi)始往上掃描,到126止,當(dāng)前掃描地址0X6A(106)。[02]令牌傳送報(bào)文。主站之間傳遞令牌信息,如果總線上面只有一個(gè)主站,也會(huì)進(jìn)行令牌傳送,只不過(guò)從自己傳到自己。[03]主站請(qǐng)求診斷信息報(bào)文,主站要獲取從站16(MMX)的信息,DSAP=0X3C(Slave_Diag),但此時(shí)從站未接上,故無(wú)應(yīng)答。主站會(huì)一直發(fā)送此信息,直到從站有應(yīng)答。[08][09]從站16接上總線,進(jìn)行應(yīng)答。請(qǐng)參閱上面的附件對(duì)報(bào)文的數(shù)據(jù)進(jìn)行解讀。[15]主站發(fā)送參數(shù)化報(bào)文DSAP=0X3D(Set_Prm),從站接收參數(shù)化數(shù)據(jù)并立即回應(yīng)短應(yīng)答信息(只有一個(gè)0XE5),告知數(shù)據(jù)已經(jīng)正確接收到,但數(shù)據(jù)是否有效還不知道。主站繼續(xù)發(fā)送Configure報(bào)文DSAP=0X3E(Chk_Cfg),此例中10配置數(shù)據(jù)為0XF3,0XF1表示PKW的Input/Output都為4words,PZD的Input/Output都為2words。從站收到此報(bào)文后立即發(fā)送0XE5短應(yīng)答報(bào)文告知主站已經(jīng)收到報(bào)文,但會(huì)繼續(xù)與自身所設(shè)定的值進(jìn)行比較,如果有相符的設(shè)定,則進(jìn)入Data_Exchange狀態(tài)。[26][27]主站再次獲取從站16的診斷信息,這時(shí),主站知道從站正在等待進(jìn)行IO數(shù)據(jù)交換。[32][33]此為狀態(tài)請(qǐng)求報(bào)文,目前從站本應(yīng)該進(jìn)行IO數(shù)據(jù)交換,但主站由于其錯(cuò)誤狀態(tài)還沒(méi)有被清除,故不能正確送數(shù)據(jù)到總線,便利用狀態(tài)請(qǐng)求報(bào)文與從站進(jìn)行交換。這時(shí)我們需要清除PLC程序執(zhí)行的錯(cuò)誤,將KEY撥回到STOP,然后再撥回RUN狀態(tài)即可以消除由于從站16掉線時(shí)發(fā)生的程序執(zhí)行錯(cuò)誤。當(dāng)我們清除掉PLC程序執(zhí)行的錯(cuò)誤后,數(shù)據(jù)交換回復(fù)到正常狀態(tài)。[02][03]仍然處于狀態(tài)請(qǐng)求。[04][09]當(dāng)PLC的KEY在切換的時(shí)候,就會(huì)發(fā)送全局控制報(bào)文 DSAP=0X3A(Global_Control),[09]不屬于DP協(xié)議范圍。[11]現(xiàn)在主站已經(jīng)正確的將數(shù)據(jù)送到從站16了,從站也正確的將自己的數(shù)據(jù)送回到主站。[16][17]PKW操作已經(jīng)開(kāi)始,但變頻器還沒(méi)有回送參數(shù)值。[22][23]PKW操作中,變頻器已經(jīng)開(kāi)始回送數(shù)據(jù),其要讀取的參數(shù)值為0X06。從這些數(shù)據(jù),我們不難看出,我們預(yù)想的 PKW及PZD的操作一工正常,在PZD區(qū)域,主站送數(shù)據(jù)000002F0到變頻器,前一個(gè)字表示ControlWord,都為0則無(wú)操作動(dòng)作,后一個(gè)字表示ReferFrequency,值為0X02F0,而從變頻器返回的值中,我們接收到數(shù)據(jù)FBB40000,前一個(gè)字表示StatusWord,是變頻器的狀態(tài)值,后一字表示OutFreq,輸出頻率,目前輸出頻率為0,表示處于STOP狀態(tài)。[01]\x10\x6A\x02\x49\xB5\x16[02]\xDC\x02\x02[03]\x68\x05\x05\x68\x90\x82\x6D\x3C\x3E\xF9\x16[04]\x10\x03\x02\x7D\x82\x16[05]\x68\x09\x09\x68\x02\x03\x08\x01\x00\x00\x08\x02\xF0\x08\x16[06]\x10\x6B\x02\x49\xB6\x16[07]\xDC\x02\x02[08]\x68\x05\x05\x68\x90\x82\x6D\x3C\x3E\xF9\x16[09]\x68\x0B\x0B\x68\x82\x90\x08\x3E\x3C\x02\x05\x00\xFF\x80\xB5\xCF\x16\x10\x03\x02\x5D\x62\x16\x68\x09\x09\x68\x02\x03\x08\x01\x00\x00\x08\x02\xF0\x08\x16\x10\x6C\x02\x49\xB7\x16\xDC\x02\x02\x68\x0C\x0C\x68\x90\x82\x5D\x3D\x3E\xB8\x15\x17\x0B\x80\xB5\x00\x0E\x16\xE5\x10\x03\x02\x7D\x82\x16\x68\x09\x09\x68\x02\x03\x08\x01\x00\x00\x08\x02\xF0\x08\x16\x10\x6D\x02\x49\xB8\x16\xDC\x02\x02\x68\x07\x07\x68\x90\x82\x7D\x3E\x3E\xF3\xF1\xEF\x16\xE5\x10\x03\x02\x5D\x62\x16\x68\x09\x09\x68\x02\x03\x08\x01\x00\x00\x08\x02\xF0\x08\x16\x10\x6E\x02\x49\xB9\x16\xDC\x02\x02\x68\x05\x05\x68\x90\x82\x5D\x3C\x3E\xE9\x16\x68\x0B\x0B\x68\x82\x90\x08\x3E\x3C\x00\x0C\x00\x02\x80\xB5\xD7\x16\x10\x03\x02\x7D\x82\x16\x68\x09\x09\x68\x02\x03\x08\x01\x00\x00\x08\x02\xF0\x08\x16\x10\x6F\x02\x49\xBA\x16\xDC\x02\x02\x10\x10\x02\x7D\x8F\x16\x68\x0F\x0F\x68\x02\x10\x08\x12\xBC\x00\x00\x00\x00\x00\x06\xFB\xB4\x00\x00\x9D\x\x10\x03\x02\x5D\x62\x16\x68\x09\x09\x68\x02\x03\x08\x01\x00\x00\x08\x02\xF0\x08\x16\x10\x70\x02\x49\xBB\x16\xDC\x02\x02\x10\x10\x02\x5D\x6F\x16\x68\x0F\x0F\x68\x02\x10\x08\x12\xBC\x00\x00\x00\x00\x00\x06\xFB\xB4\x00\x00\x9D\x\x10\x03\x02\x7D\x82\x16[01]\xDC\x02\x02[02]\x10\x10\x02\x7D\x8F\x16[03]\x68\x0F\x0F\x68\x02\x10\x08\x12\xBC\x00\x00\x00\x00\x00\x06\xFB\xB4\x00\x00\x9D\x16[04]\x68\x07\x07\x68\xFF\x82\x46\x3A\x3E\x00\x00\x3F\x16[05]\x10\x03\x02\x5D\x62\x16[06]\x68\x09\x09\x68\x02\x03\x08\x01\x00\x

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論