馬強,陳白寧,王海,繆勇
(沈陽理工大學(xué) 機械工程學(xué)院,遼寧 沈陽 110159)
隨著PLC的發(fā)展, PLC與PLC之間的聯(lián)網(wǎng)通信、PLC與上位計算機的聯(lián)網(wǎng)通信已得到了廣泛的應(yīng)用。但是在實際的生產(chǎn)中,通常會出現(xiàn)這樣的情況,幾個PLC間需要通信,但是現(xiàn)場的工作條件又不允許PLC之間用通信電纜,而且如果采用長距離的無線通信模塊,則不僅讓成本大大增加,而且因為長距離通信的不穩(wěn)定性,對整個系統(tǒng)的可控性也會造成一定的影響。因此,采用一種距離短、通信佳的聯(lián)網(wǎng)方式就顯得很重要。
隨著通信技術(shù)的蓬勃發(fā)展,以路由器為基礎(chǔ)的以太網(wǎng)的發(fā)展為解決這一問題提供了契機,以太網(wǎng)技術(shù)具有價格低廉、穩(wěn)定可靠、通信速率高、軟硬件產(chǎn)品豐富、應(yīng)用廣泛以及支持技術(shù)成熟等優(yōu)點[1]。能否把以上兩者結(jié)合形成一個解決方案呢?本文就這一問題進(jìn)行深入研究。
現(xiàn)以兩套S7-300通過路由器進(jìn)行以太網(wǎng)的通信為例,來說明多套PLC之間通過路由器進(jìn)行以太網(wǎng)通信的可行性和優(yōu)點。路由器是一種工作在網(wǎng)絡(luò)層,通過相互連接的網(wǎng)絡(luò)把信息從源地點移動到目標(biāo)地點的裝置[2]。它支持內(nèi)部網(wǎng)關(guān)協(xié)議,與其他同一自治域中的路由器交換路由信息及可達(dá)性信息,支持外部網(wǎng)關(guān)協(xié)議與其他自治域交換拓?fù)湫畔ⅰ榱孙@示一般性,本文用兩臺不同型號的路由器為例。
本文所用硬件,具體如表1所示。
表1 硬件表
它們之間的連接方式如圖1所示。
圖1 硬件拓?fù)鋱D
路由器的LAN口由網(wǎng)線與PLC相連,WAN口通過無線通信的方式接入以太網(wǎng),以此來進(jìn)行無線通信。下面具體說明設(shè)置方法。
具體的設(shè)置方法如下:
(1)分別在路由器1與路由器2中設(shè)置 IP地址,路由器1為 192.168.1.1,路由器2為192.168.1.2。
(2)分別給路由器1、2設(shè)置DHCP的IP范圍,只要保證IP不重復(fù)就行。本文為100-149與150-200,其中路由器1頻道任設(shè),本文設(shè)為6,記下路由器1的DNS與備用DNS。
(3)把路由器2的模式設(shè)置為無線中繼模式,頻道設(shè)為6,開啟WDS功能,在下拉列表中選中路由器1的無線網(wǎng)名稱進(jìn)行連接(其他路由器輸入路由器1的MAC地址進(jìn)行連接),如圖2所示。
圖2 路由器設(shè)置
(4)在路由器2的DHCP中設(shè)置網(wǎng)關(guān)為路由器1的IP,即為192.168.1.1,且把路由器1的DNS與備用DNS填入。
(5)分別給PLC1與PLC2網(wǎng)口分配IP地址,初次分配需用MPI連接PC端進(jìn)行設(shè)置。注意此時分配的是在路由器中的局域網(wǎng)地址,PLC1為 192.168.1.11;PLC2為 192.168.1.9。
(6)在S7-300中進(jìn)行硬件與通信的組態(tài),組態(tài)完成畫面如圖3所示。
圖3 網(wǎng)絡(luò)組態(tài)
(7)建立站點1到站點2的主動連接,連接類型為S7并激活,記住ID。注意:只建立一個連接,實現(xiàn)單邊通信,如果是雙邊通信,需建立兩個連接,即再建一個站點2到站點1的連接。
(8)程序的編寫,本文以單邊通信為例。通過對SFB/FB 8“USEND”向類型為“URCV”的遠(yuǎn)程伙伴SFB/FB 發(fā)送數(shù)據(jù)。執(zhí)行發(fā)送過程而不需要和SFB/FB伙伴進(jìn)行協(xié)調(diào)。也就是說,在進(jìn)行數(shù)據(jù)傳送時不需要伙伴SFB/FB 進(jìn)行確認(rèn)。SFB/FB 9“URCV”從類型為“USEND”的遠(yuǎn)程伙伴SFB/FB 中異步接收數(shù)據(jù),并把接收到的數(shù)據(jù)復(fù)制到組態(tài)的接收區(qū)域內(nèi)[3]。參數(shù)設(shè)置如圖4所示。
圖4 FB8與FB9參數(shù)設(shè)置
其中參數(shù)ID與R_ID填寫組態(tài)時的ID,發(fā)送與接收方需填寫一致,SD_1處參數(shù)以M0.0為起始地址,把四個字節(jié)的數(shù)據(jù)即MB0-MB3的數(shù)據(jù)發(fā)送出去。REQ為上升沿觸發(fā)該程序,把M10.7設(shè)置為周期1 s的方波信號,即讓該數(shù)據(jù)發(fā)送周期為1 s。
FB9參數(shù)設(shè)置與FB8基本相同,同樣設(shè)置MB0-MB3的區(qū)域為接收區(qū),;設(shè)置M50.0為接收使能端,置1表示一直接收。
圖5 以太網(wǎng)通信結(jié)果
在PC端的S7-300軟件內(nèi)分別新建并打開兩個站點的變量表,進(jìn)入在線狀態(tài),對站點1的變量表進(jìn)行數(shù)值修改,能夠看到在站點2的變量表的相應(yīng)區(qū)域狀態(tài)值發(fā)生了改變。說明兩個站點已經(jīng)成功通過路由器建立起無線的以太網(wǎng)連接,如圖5所示。
通過路由器連接S7-300進(jìn)行遠(yuǎn)程無線通信或監(jiān)控,即可實現(xiàn)外網(wǎng)訪問PLC進(jìn)行調(diào)試。本文用一套S7-300的具體設(shè)置來說明。
本例所用硬件,依然利用上例所用的硬件,只選取里面的一個CPU進(jìn)行舉例。
(1)給S7-300網(wǎng)口分配IP地址,初次分配需用MPI連接PC端進(jìn)行設(shè)置。注意此時分配的是在路由器中的局域網(wǎng)地址。本次試驗用的是192.168.0.11。
(2)用網(wǎng)線連接S7-300網(wǎng)口與路由器。設(shè)置PC/PG,用以檢測以太網(wǎng)通信是否正常。
(3)保持PLC上線,在PC端設(shè)置路由器參數(shù),因廠家不同,路由器設(shè)置界面不同。主要設(shè)置如下參數(shù),對路由器進(jìn)行端口映射,設(shè)置端口為102(不能變,為PLC端口)地址為連接的S7-300的局域網(wǎng)地址192.168.0.11。表示對于外網(wǎng)對102端口的訪問,全部轉(zhuǎn)到內(nèi)網(wǎng)的192.168.0.11地址中。設(shè)置如圖6所示。
圖6 端口設(shè)置
然后進(jìn)行DMZ設(shè)置,該設(shè)置對外網(wǎng)開放內(nèi)網(wǎng)地址192.168.0.11,使得外網(wǎng)能夠訪問到內(nèi)網(wǎng)。
(4)在遠(yuǎn)程端連接外網(wǎng),在STEP7里新建空項目,上傳站點到PG。此時的IP地址應(yīng)填公網(wǎng)的IP,本次試驗為10.101.0.34,確定即可將遠(yuǎn)程的無線站點下載到本地。到此即可實現(xiàn)對遠(yuǎn)程PLC的調(diào)試與監(jiān)控。注意公網(wǎng)的IP為學(xué)校或公司等分配的用于連接因特網(wǎng)的IP地址。
圖7 遠(yuǎn)程調(diào)試結(jié)果
在遠(yuǎn)程PC端,用S7-300軟件打開一個空白的工程能夠在線連接到PLC,并進(jìn)行調(diào)試等操作,說明了通過路由器的遠(yuǎn)程的調(diào)試可行性,調(diào)試結(jié)果如圖7所示。
這種無線的通信方式,可以大大減少相關(guān)的布線工作,也大大減少了調(diào)試時的場地限制。本文列舉了利用路由器的一對一的以太網(wǎng)通信,讀者可試進(jìn)行一對多或多對多的以太網(wǎng)通信,設(shè)置方法已在文中體現(xiàn)。列舉的遠(yuǎn)程調(diào)試?yán)又械耐饩W(wǎng)是公司或?qū)W校集團(tuán)的內(nèi)網(wǎng),基本是滿足工程要求的。若想進(jìn)行英特網(wǎng)的遠(yuǎn)程調(diào)試,可以申請“花生殼”進(jìn)行相似設(shè)置,也可以實現(xiàn)遠(yuǎn)程通信。