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