s7-300之間的DP通訊_第1頁(yè)
s7-300之間的DP通訊_第2頁(yè)
s7-300之間的DP通訊_第3頁(yè)
s7-300之間的DP通訊_第4頁(yè)
s7-300之間的DP通訊_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)現(xiàn)Profibus主從站之間的MS通訊通過圖解,說明2個(gè)CPU之間通過Profibus實(shí)現(xiàn)主從站之間的MS通訊。這個(gè)例子是結(jié)合某現(xiàn)場(chǎng)的實(shí)際情況來的,實(shí)際情況是在2套300系統(tǒng)之間進(jìn)行數(shù)據(jù)通訊,由于每個(gè)CPU300都帶有ET200M從站,所以317的主DP口和315的DP口都只能是主站而不能配置為從站。并且2套系統(tǒng)之間距離較遠(yuǎn),MPI不行,于是就利用了317的MPI/DP口配置成DP口來和315通訊。1.首先,在STEP 7中新建一個(gè)Project,分別插入2個(gè)S7-300站。這里我們插入的一個(gè)CPU315-2DP,作為主站;一個(gè)CUP317-2作為從站,并且使用317-2的第一個(gè)端口MPI/

2、DP端口配置成DP口來實(shí)現(xiàn)和315-2DP的通訊。然后分別對(duì)每個(gè)站進(jìn)行硬件組態(tài):首先對(duì)從站CPU317-2進(jìn)行組態(tài):將317的第一個(gè)端口MPI/DP端口組態(tài)為PROFIBUS類型,并且創(chuàng)建一個(gè)不同于CPU自帶DP口的PROFIBUS網(wǎng)絡(luò),設(shè)定地址。在操作模式頁(yè)面中,將其設(shè)置為DP SLAVE模式,并且選擇“Test,commissioning,routing”,是將此端口設(shè)置為可以通過PG/PC在這個(gè)端口上對(duì)CPU進(jìn)行監(jiān)控,以便于我們?cè)谕ㄓ嶆溌飞线M(jìn)行程序監(jiān)控。下面的地址用默認(rèn)值即可。然后選擇Configuration頁(yè)面,創(chuàng)建數(shù)據(jù)交換映射區(qū)。這里我們創(chuàng)建了2個(gè)映射區(qū),圖中的紅色框選區(qū)域在創(chuàng)建時(shí)

3、是灰色的,包括上面的圖中的Partner部分創(chuàng)建時(shí)也是空的,在主站組態(tài)完畢并編譯后,才會(huì)出現(xiàn)圖中所示的狀態(tài)。由于我們這里只是演示程序,所以創(chuàng)建的交換區(qū)域較小。組態(tài)從站之后,再組態(tài)主站。插入CPU時(shí),不需要?jiǎng)?chuàng)建新的PROFIBUS網(wǎng)絡(luò),選擇從站建立的第二條(也就是準(zhǔn)備用來進(jìn)行通訊的MPI/DP端口創(chuàng)建的那條)PROFIBUS網(wǎng)絡(luò)即可。組態(tài)好其它硬件,確認(rèn)CPU的DP口處于主站模式,從窗口右側(cè)的硬件列表中的已組態(tài)的站點(diǎn)中選擇CPU 31X,拖放到主站的PROFIBUS總線上,這時(shí)會(huì)彈出鏈接窗口,選擇以組態(tài)的從站,點(diǎn)擊Connect按鈕,然后進(jìn)入Configuration頁(yè)面,可以看到前面在從站中設(shè)

4、定的映射區(qū)域,逐條進(jìn)行編輯(Edit),確認(rèn)主從站之間的對(duì)應(yīng)關(guān)系。主站的輸入對(duì)應(yīng)從站的輸出,主站的輸出對(duì)應(yīng)從站的輸入。至此,硬件的組態(tài)完成,將各個(gè)站的組態(tài)信息下載到各自的CPU中。通過NetPro可以看到整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)圖。2.編寫程序。硬件組態(tài)完畢,下載,PLC運(yùn)行之后,數(shù)據(jù)并不會(huì)自動(dòng)交換。需要通過程序來執(zhí)行。在組態(tài)中,input和output區(qū)域,也并不是實(shí)際硬件組態(tài)中的硬件地址,也就是說,input和output并不代表I/O模塊的地址和數(shù)據(jù)。但是映射區(qū)域組態(tài)用到的input和output地址,同時(shí)也占用了I/O模塊的組態(tài)地址,就是說,映射區(qū)的地址和I/O地址是并行的,不能重復(fù)使用。所以最

5、好在硬件的I/O模塊全部組態(tài)完畢之后再組態(tài)映射區(qū)。映射區(qū)的數(shù)據(jù)交換是通過系統(tǒng)功能塊SFC14(DPRD_DATRead Consistent Data of a Standard DP Slave)和SFC15(DPWR_DATWrite Consistent Data to a Standard DP Slave)實(shí)現(xiàn)的。SFC14和SFC15是成對(duì)使用的,一個(gè)發(fā)送一個(gè)接收,缺一不可。數(shù)據(jù)的通訊也是交互的,可以相互交換數(shù)據(jù)。本例中,我們通過簡(jiǎn)單的數(shù)據(jù)來驗(yàn)證通訊結(jié)果。首先,我們?cè)诔绦蛑胁迦霐?shù)據(jù)區(qū)DB1,前面我們只建立了2個(gè)字(2 Word)的映射區(qū),于是我們建立如下內(nèi)容的DB1,為了查看的方便

6、,DB1的前半部分作為接收數(shù)據(jù)的存儲(chǔ)區(qū),后半部分用作發(fā)送數(shù)據(jù)的存儲(chǔ)區(qū)。在317和315中我們插入同樣的DB1,然后分別在OB1中編寫通訊程序。315(主站)中的程序如下:317中的程序如下:其中,程序的LADDR地址,對(duì)應(yīng)的是硬件的映射區(qū)組態(tài)時(shí)本站的Local Addr中的地址,從站的Local Addr我們組態(tài)的是0,對(duì)應(yīng)的Partner Addr也就是主站的地址是4。需要注意的是這里的地址是需要用16進(jìn)制的格式來表示的,我們組態(tài)時(shí)是用10進(jìn)制表示的。完成之后,我們?cè)诟髡局胁迦隣B82、OB86、OB122等程序塊,這些是為了保證當(dāng)通訊的一方掉電時(shí),不會(huì)導(dǎo)致另一方的停機(jī)。完成之后,將所有的程

7、序分別下載到各自的CPU中,個(gè)站切換到運(yùn)行狀態(tài),通過PLC監(jiān)控功能,設(shè)定數(shù)據(jù)之后,我們監(jiān)控的結(jié)果如下:上面的表格內(nèi)容為主站315的數(shù)據(jù),下面的是從站317的數(shù)據(jù)??梢钥吹剑瑑蓚€(gè)站都分別將各自的DBB4DBB7數(shù)據(jù)發(fā)送出去并被另一方成功接收后存儲(chǔ)在各自的DBB0DBB3中。驗(yàn)證中,我們將一個(gè)站的CPU切換到STOP狀態(tài),可以看到,另一個(gè)站的CPU硬件SF指示燈報(bào)警,但PLC正常運(yùn)行不停機(jī)。待該站恢復(fù)之后,報(bào)警自動(dòng)消失。擴(kuò)展問題:在一個(gè)站的CPU掉站之后,另一個(gè)站的接收數(shù)據(jù)區(qū)顯示的仍然是最后一次接收到的數(shù)據(jù),并且,即使在這種狀態(tài)下,居然仍然無法修改該數(shù)據(jù)區(qū)內(nèi)容。這樣就存在一個(gè)問題,當(dāng)前站需要知道當(dāng)

8、前接收數(shù)據(jù)存儲(chǔ)區(qū)的內(nèi)容是否是實(shí)時(shí)的數(shù)據(jù)。如何判斷。大概思路:方法1,用以前的方法,在每個(gè)數(shù)據(jù)接收周期開始前,將已接收數(shù)據(jù)清空。這樣當(dāng)接收周期內(nèi)接收不到新的數(shù)據(jù)時(shí),就可以察覺到。但是問題是,SFC14和SFC15沒有接收是否完成、是否成功等標(biāo)識(shí)位,并且,在接收不到新的數(shù)據(jù)時(shí),原有數(shù)據(jù)不能修改。此方法不通。方法2,通過別的方式方法檢測(cè)兩個(gè)站之間的通訊狀態(tài)。心跳?在SIEMENS的官方文檔中,有這樣的描述:主站:主站掌握總線中數(shù)據(jù)流的控制權(quán)。只要它擁有訪問總線權(quán)(令牌),主站就可在沒有外部請(qǐng)求的情況下發(fā)送信息。在PROFIBUS協(xié)議中,主站也被稱作主動(dòng)節(jié)點(diǎn)。從站:從站是簡(jiǎn)單的輸入、輸出設(shè)備。典型的從

9、站為傳感器,執(zhí)行器以及變頻器。從站也可為智能從站,入S7-300/400帶集成口的CPU等。從站不會(huì)擁有總線的訪問授權(quán)。從站只能確認(rèn)收到的信息或者在主站的請(qǐng)求下發(fā)送信息。從站也被稱作被動(dòng)節(jié)點(diǎn)。另外,SIEMENS對(duì)SFC14/15的描述也分別是:用于讀取Profibus從站的數(shù)據(jù) / 用于將數(shù)據(jù)寫入Profibus從站。根據(jù)這些描述,通過CPU集成口通訊這種方式下,作為從站的CPU應(yīng)該屬于“智能從站”,但是SIEMENS的描述中,卻沒有說智能從站和普通的從站之間有什么區(qū)別。那么根據(jù)上面的主從站的描述,主站可以主動(dòng)的獲取到從站的數(shù)據(jù),并可以自主的將數(shù)據(jù)寫入從站;而從站必須在主站的指令下獲取或者發(fā)

10、送數(shù)據(jù)。而在本例中,這些說法似乎無法成立。本例中,SFC14、SFC15是成對(duì)使用的,不論在主站上還是從站上,主從站之間的SFC14和SFC15必然是需要成對(duì)出現(xiàn)的。也就是說,任何一方?jīng)]有SFC15運(yùn)行的的話,另一方的SFC14都讀不到數(shù)據(jù)。而任何一方?jīng)]有SFC14的話,另一方的SFC15發(fā)送出來的數(shù)據(jù)也無人接收。至少?gòu)倪@點(diǎn)看來,看不出主從站有什么區(qū)別。不過,聯(lián)想到以前曾經(jīng)做過S7300和MM430的Profibus通訊,該通訊方式中,顯然MM440是作為從站出現(xiàn)的,所以在正確組態(tài)之后,只需要在主站(CPU)中寫好SFC14/15即可,當(dāng)然,MM440中我們也寫不進(jìn)去程序。那么在這種方式中,可以說是完全的遵守了SIEMENS官方文檔中的說法。同時(shí)也說明,在“智能從站”這種方式下,并不遵守SIEMENS官方文檔中對(duì)從站的描述。再次研究SFC14/15的收發(fā)狀態(tài),發(fā)現(xiàn),可能是因?yàn)閿?shù)據(jù)的存在是過程映像中,所以只要SFC15發(fā)送過一次,數(shù)據(jù)即存在于過程映射中,SFC14隨時(shí)都從映像中讀取數(shù)據(jù),所以存在前面說的,SFC14運(yùn)行過程中,是無法修改接收數(shù)據(jù)存儲(chǔ)區(qū)的數(shù)據(jù)的。脫離SFC14/15,而使用MOVE方法的研究:不使用SFC14/15,而是利用組態(tài)的時(shí)候產(chǎn)生的I/O地址來傳數(shù)據(jù)。根據(jù)創(chuàng)建過程映射區(qū)時(shí)的組態(tài)信息,我們寫寫出了如下的程序:在主站315-2DP中:在從站317中:其中,M位

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論