廣東西門(mén)子S7-1200PLC模塊代理(歡迎您)

MPI網(wǎng)絡(luò)通信全局?jǐn)?shù)據(jù)包(GD)通信的應(yīng)用
應(yīng)用GD通信,就要在CPU中定義全局?jǐn)?shù)據(jù)塊,這一過(guò)程也稱(chēng)為全局?jǐn)?shù)據(jù)通信組態(tài)。在對(duì)全局?jǐn)?shù)據(jù)進(jìn)行組態(tài)前,需要先執(zhí)行下列任務(wù)。
①定義項(xiàng)目和CPU程序名;
②用PG單獨(dú)配置項(xiàng)目中的每個(gè)CPU,確定其分支網(wǎng)絡(luò)號(hào)、MPI地址、大MPI地址等參數(shù)。
在用STEP 7開(kāi)發(fā)軟件包進(jìn)行GD通信組態(tài)時(shí),由系統(tǒng)菜單Options中的Define GlobalData程序進(jìn)行GD表組態(tài)。具體組態(tài)步驟如下。
①在GD空表中輸入?yún)⑴cGD通信的CPU代號(hào);
②為每個(gè)CPU定義并輸入全局?jǐn)?shù)據(jù),發(fā)送GD;
③*次存儲(chǔ)并編譯全局?jǐn)?shù)據(jù)表,檢查輸入信息語(yǔ)法是否為正確數(shù)據(jù)類(lèi)型,是否*;
④設(shè)定掃描速率,定義GD通信狀態(tài)雙字;
⑤第二次存儲(chǔ)并編譯全局?jǐn)?shù)據(jù)表。
編譯后的GD表形成系統(tǒng)數(shù)據(jù)塊,隨后裝入CPU的程序文件中。*次編譯形成的組態(tài)數(shù)據(jù)對(duì)于GD通信是足夠的,可以從PG下載至各CPU。若確實(shí)需要輸入與GD通信狀態(tài)或掃描速率有關(guān)的附加信息,再進(jìn)行第二次編譯。
掃描速率決定CPU用幾個(gè)掃描循環(huán)周期發(fā)送或接收一次GD,發(fā)送和接收的掃描速率不必*。掃描速率值應(yīng)同時(shí)滿(mǎn)足:發(fā)送間隔時(shí)間大于等于60ms;接收間隔時(shí)間小于發(fā)送間隔時(shí)間。否則,可能導(dǎo)致全局?jǐn)?shù)據(jù)信息丟失。掃描速率的發(fā)送設(shè)置范圍是4~255,接收設(shè)置范圍是1~255,它們的默認(rèn)設(shè)置值都是8。
實(shí)現(xiàn)全局?jǐn)?shù)據(jù)包通信之前,首先應(yīng)設(shè)計(jì)好各CPU參與GD通信的GD塊及全局?jǐn)?shù)據(jù)(GD)環(huán),然后用建立全局?jǐn)?shù)表的辦法來(lái)配置全局?jǐn)?shù)據(jù)通信。
所謂全局?jǐn)?shù)據(jù)環(huán)(GD環(huán))其實(shí)是全局?jǐn)?shù)據(jù)塊的一個(gè)確切的分布回路。在同一個(gè)環(huán)中的CPU,能向環(huán)中其他CPU發(fā)送數(shù)據(jù)或者從其他CPU接收數(shù)據(jù)。典型的全局?jǐn)?shù)據(jù)環(huán)有以下兩種。
①兩個(gè)以上的CPU組成的全局?jǐn)?shù)據(jù)環(huán),一個(gè)CPU定義為GD塊的發(fā)送方,其他的CPU定義為GD塊的接收方(相當(dāng)于1:Ⅳ的廣播通信方式)。
②當(dāng)只由兩個(gè)CPU構(gòu)成一個(gè)全局?jǐn)?shù)據(jù)環(huán)時(shí),一個(gè)CPU既能向另一個(gè)CPU發(fā)送GD塊,又能接收從另一個(gè)CPU發(fā)來(lái)的GD塊(相當(dāng)于全雙工點(diǎn)對(duì)點(diǎn)通信方式)。
在MPI網(wǎng)絡(luò)進(jìn)行GD通信的5個(gè)CPU(多5個(gè))之間,可以建立多個(gè)全局?jǐn)?shù)據(jù)環(huán),但每個(gè)S7-300的CPU多只能參與其中4個(gè)不同的GD塊,圖6-6是MPI網(wǎng)采用GD通信的例子,系統(tǒng)中建立了6個(gè)GD環(huán),每個(gè)CPU參與GD通信情況如下:
CPU1參與了4個(gè)GD環(huán)通信,做2個(gè)發(fā)送方,3個(gè)接收方,由于它已經(jīng)參與了4個(gè)環(huán)的通信,所以不能再參與其他環(huán)的通信;
CPU2參與了3個(gè)GD環(huán)通信,做2個(gè)發(fā)送方,2個(gè)接收方,它還可以參與1個(gè)GD環(huán)的通信,如第5個(gè)或第6個(gè)環(huán);
CPU3參與了4個(gè)GD環(huán)通信,做3個(gè)發(fā)送方,3個(gè)接收方,不能再參與其他環(huán)的通信;
CPU4參與了3個(gè)GD環(huán)通信,做1個(gè)發(fā)送方,2個(gè)接收方,還能參與一個(gè)環(huán)的通信,如第4個(gè)環(huán):
CPU5參與了4個(gè)GD環(huán)通信,做4個(gè)接收方,不能再參與其他環(huán)通信。
實(shí)現(xiàn)GD通信就要在CPU中定義全局?jǐn)?shù)據(jù)塊,生成全局?jǐn)?shù)據(jù)表,或者說(shuō)要進(jìn)行全局?jǐn)?shù)據(jù)通信組態(tài)。在進(jìn)行組態(tài)前,需要先定義項(xiàng)目和CPU程序名,用PG配置項(xiàng)目中的每個(gè)CPU,確定其分支網(wǎng)絡(luò)號(hào),MPI地址和大MPI地址等參數(shù)。
一個(gè)全局?jǐn)?shù)據(jù)塊(GD塊)可以由一個(gè)或幾個(gè)元素組成,而GD元素可以是PLC的輸入、輸出、位存儲(chǔ)器、定時(shí)器、計(jì)數(shù)器和數(shù)據(jù)塊中的位、字節(jié)、字、雙字或相關(guān)數(shù)組。如I2.0(位),QB4(字節(jié))、MW40(字)、T5、C6(定時(shí)器、計(jì)數(shù)器狀態(tài)、位)、DB6.DBD12(數(shù)據(jù)塊雙字)、MB30:4(字節(jié)相關(guān)數(shù)組)、DB6.DBB0:3(數(shù)據(jù)塊字相關(guān)數(shù)組)等,這些都是合法的GD元素。后面兩個(gè)相關(guān)數(shù)組是GD元素的簡(jiǎn)潔表示方式,冒號(hào)后的數(shù)字表示該元素的個(gè)數(shù)。如MB30:4表示該元素由MB30、MB31、MB32、MB33連續(xù)4個(gè)存儲(chǔ)字節(jié)組成;DB6.DBB0:3表示該元素由DB6.DBBO,DB6.DBB1,DB6.DBB2連續(xù)3個(gè)數(shù)據(jù)字節(jié)組成。
一個(gè)全局?jǐn)?shù)據(jù)塊,雖可由幾個(gè)GD元素組成,但多不能超過(guò)24Byte,在GD塊里,相關(guān)數(shù)組、雙字、字節(jié)、位等元素占用的字節(jié)數(shù)如表6-3所示。
表6-3 GD元素的字節(jié)數(shù)
例如,一個(gè)GD塊里定義了如下GD元素:一個(gè)3個(gè)字長(zhǎng)的數(shù)組(占8Byte),一個(gè)單獨(dú)的位(占3Byte),這便是一個(gè)22字節(jié)長(zhǎng)的GD數(shù)據(jù)塊,字長(zhǎng)小于24字節(jié),為合法數(shù)據(jù)塊。
PLC之間通過(guò)MPI口通信可分為三種:全局?jǐn)?shù)據(jù)包(GD)通信方式,不需要組態(tài)連接的通信方式,需要組態(tài)連接的通信方式,如表6-2所示。
表6-2 MPI通信方式
全局?jǐn)?shù)據(jù)包(GD)通信方式是以MPI分支網(wǎng)為基礎(chǔ)的,也就是說(shuō)GD通信方式*于同一個(gè)分支網(wǎng)絡(luò)內(nèi)的幾個(gè)S7系列PLC的CPU之間。MPI分支網(wǎng)絡(luò)能夠包括連接不同區(qū)段的中繼器,但不包括使用網(wǎng)間連接器或路由器而連接的通信節(jié)點(diǎn)。以這種通信方式實(shí)現(xiàn)PLC之間的數(shù)據(jù)交換時(shí),只需關(guān)心數(shù)據(jù)的發(fā)送區(qū)和接收區(qū),在配置PLC硬件的過(guò)程中,組態(tài)所要的通信PLC站之間的發(fā)送區(qū)和接收區(qū)即可,不需要任何程序處理。這種通信方式只適合S7-300/400PLC之間相互通信。S7-300大通信數(shù)據(jù)包長(zhǎng)度為22字節(jié),S7-400大為64字節(jié)。
全局?jǐn)?shù)據(jù)包通信的通信網(wǎng)絡(luò)簡(jiǎn)單,在一個(gè)MPI分支網(wǎng)絡(luò)中多只能有5個(gè)CPU能通過(guò)GD通信交換數(shù)據(jù)。采用循環(huán)傳送少量數(shù)據(jù)方法,使分支網(wǎng)上的幾個(gè)CPU實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享。這幾個(gè)CPU中,至少有一個(gè)是數(shù)據(jù)的發(fā)送方,有一個(gè)或多個(gè)是數(shù)據(jù)的接收方。發(fā)送和接收的數(shù)據(jù)稱(chēng)為全局?jǐn)?shù)據(jù),或稱(chēng)為全局?jǐn)?shù)據(jù)塊。
MPI通信通過(guò)全局?jǐn)?shù)據(jù)塊實(shí)現(xiàn)的具體方法是:在發(fā)送方和接收方CPU的存儲(chǔ)器中定義全局?jǐn)?shù)據(jù)塊,定義在發(fā)送方CPU存儲(chǔ)器中的稱(chēng)為發(fā)送GD塊,接收方中的稱(chēng)為接收GD塊。依靠GD塊,為發(fā)送方和接收方的存儲(chǔ)器建立映射關(guān)系。也就是說(shuō),發(fā)送GD塊中的信號(hào)狀態(tài)會(huì)自動(dòng)影響接收GD塊,接收方對(duì)接收GD塊的訪(fǎng)問(wèn),相當(dāng)于對(duì)發(fā)送GD塊的訪(fǎng)問(wèn)。通信系統(tǒng)中發(fā)送方的CPU在它循環(huán)掃描的末尾發(fā)送GD,接收方的CPU在它的循環(huán)掃描的開(kāi)頭接收GD。
MPI網(wǎng)絡(luò)符合RS485標(biāo)準(zhǔn),具有多點(diǎn)通信的性質(zhì),MPI的波特率固定地設(shè)為187.5Kb/s(連接S7-300/400時(shí))或19.2Kb/s(連接S7-200時(shí))。
每個(gè)MPI分支網(wǎng)有一個(gè)分支網(wǎng)絡(luò)號(hào),以區(qū)別不同的MPI分支網(wǎng)。在MPI分支網(wǎng)(或稱(chēng)MPI網(wǎng)上的每一個(gè)節(jié)點(diǎn))都有一個(gè)網(wǎng)絡(luò)地址,稱(chēng)為MPI地址。MPI地址的編制規(guī)則如下。
①M(fèi)PI分支網(wǎng)絡(luò)號(hào)默認(rèn)設(shè)置為0,在一個(gè)分支網(wǎng)絡(luò)中,各節(jié)點(diǎn)要設(shè)置相同的分支網(wǎng)絡(luò)號(hào)。
②必須為MPI網(wǎng)絡(luò)上每一節(jié)點(diǎn)分配一個(gè)MPI地址和高MPI地址。同- MPI分支網(wǎng)絡(luò)上各節(jié)點(diǎn)地扯號(hào)必須是不同的,但各節(jié)點(diǎn)高地址號(hào)均是相同的。
③節(jié)點(diǎn)MPI地址號(hào)不能大于給出的高MPI地址號(hào)。高地址號(hào)可以是126。為提高MPI網(wǎng)絡(luò)節(jié)點(diǎn)的通信速度,高MPI地址應(yīng)設(shè)置得較小。
④如果機(jī)架上安裝有功能模板(FM)和通信模板,則它們的MPI地址由CPU的MPI地址順序加1構(gòu)成,如圖6-5所示。
圖6-5 自動(dòng)分配MPI地址
⑤表6-1給出了出廠(chǎng)時(shí)一些裝置的MPI地址默認(rèn)值。
表6-1 默認(rèn)的MPI地址
按上述規(guī)則組建的一個(gè)MPI網(wǎng)絡(luò),可用STEP 7軟件包中的Configuration功能為每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)分配一個(gè)MPI地址和高地址,地址一般標(biāo)在該節(jié)點(diǎn)外殼上。分配地址時(shí),可對(duì)PG、OP、CPU、CP、FM等進(jìn)行地址排序。網(wǎng)絡(luò)中可以為一臺(tái)維修用的PG預(yù)留MPI地址0,為一臺(tái)維護(hù)用的OP預(yù)留MPI地址1,PG和OP地址應(yīng)該是不同的。圖6-3中分支虛線(xiàn)表示只在啟動(dòng)或維護(hù)時(shí)才接到MPI為的PG或OP,需要它們時(shí)可以很方便地接入網(wǎng)中。
廣東西門(mén)子S7-1200PLC模塊代理(歡迎您)