王興宇
摘要:提出一種基于openvpn軟件將現(xiàn)場PLC和現(xiàn)場筆記本通過INTERNET將遠(yuǎn)程調(diào)試工作員站連接到一個虛擬專用網(wǎng)中并進(jìn)行異地遠(yuǎn)程跨網(wǎng)段調(diào)試的方法。
關(guān)鍵詞:PLC,遠(yuǎn)程調(diào)試,虛擬局域網(wǎng),OPENVPN。
背景
現(xiàn)場調(diào)試和維護(hù)在PLC項(xiàng)目執(zhí)行過程中是很重要的一環(huán),決定了項(xiàng)目是否能夠準(zhǔn)時正確的驗(yàn)收及通過,現(xiàn)場裝置是否能長期無故障運(yùn)行。在項(xiàng)目調(diào)試階段,除一些不可或缺的長周期現(xiàn)場調(diào)試外,在一些較為簡單的PLC項(xiàng)目調(diào)試中或是項(xiàng)目投運(yùn)后的小BUG及流程優(yōu)化過程中,經(jīng)常會碰到現(xiàn)場地處非常偏遠(yuǎn),工程師出差的路途時間遠(yuǎn)遠(yuǎn)超過調(diào)試時間的情況出現(xiàn),為了更加精細(xì)的管理項(xiàng)目,節(jié)約雙方的經(jīng)濟(jì)及時間成本,此時可通過遠(yuǎn)程調(diào)試的方式來解決問題,本文以我公司寶豐改造二期項(xiàng)目袋濾器防爆PLC控制系統(tǒng)為例,探討一下遠(yuǎn)程調(diào)試的方法。
由于工業(yè)生產(chǎn)的安全考慮,PLC均是局域網(wǎng)內(nèi)操作,工程師站必須和PLC在同一局域網(wǎng)內(nèi)才可調(diào)試,這意味著如果希望進(jìn)行遠(yuǎn)程調(diào)試只要將遠(yuǎn)程工程師站和PLC通過技術(shù)手段放入同一局域網(wǎng)內(nèi)即可。
現(xiàn)有解決方案如下:
1) 現(xiàn)場PC安裝調(diào)試軟件,遠(yuǎn)程PC使用遠(yuǎn)程桌面連接現(xiàn)場PC進(jìn)行調(diào)試。
2) 現(xiàn)場提供專用的VPN路由器,由網(wǎng)線或無線等手段連接到INTERNET之后連接遠(yuǎn)程PC。
上述方案缺點(diǎn)如下:
1) 遠(yuǎn)程桌面方式要求現(xiàn)場PC安裝調(diào)試軟件,有遠(yuǎn)程需求的小項(xiàng)目業(yè)主一般基于成本考慮項(xiàng)目中不會配現(xiàn)場調(diào)試PC,大項(xiàng)目基本上都需要現(xiàn)場調(diào)試無遠(yuǎn)程需求,調(diào)試軟件文件體積基本都很大,傳到現(xiàn)場PC安裝存在傳輸時間及授權(quán)的問題。
2) 現(xiàn)場不會有專用的VPN路由器,郵寄的話趕不上項(xiàng)目進(jìn)度,還需要考慮成本及回收問題,且這些路由器均為商業(yè)產(chǎn)品不開源,如果跨區(qū)出現(xiàn)網(wǎng)絡(luò)問題,無法實(shí)時調(diào)試及優(yōu)化。
本文給出解決方案使用遠(yuǎn)程工程師站直接調(diào)試PLC,現(xiàn)場PC及手機(jī)只是用來傳輸數(shù)據(jù),不用安裝大型組態(tài)軟件,僅采用開源的OPENVPN和現(xiàn)場PC自帶的軟件來組網(wǎng),方便網(wǎng)絡(luò)調(diào)試,克服了以上缺點(diǎn)。
基于項(xiàng)目現(xiàn)場情況,本文方案僅需現(xiàn)場提供1臺普通筆記本、1臺手機(jī)和1個現(xiàn)場人員配合,實(shí)現(xiàn)了最小設(shè)備需求,并且遠(yuǎn)程PC是經(jīng)由公司公網(wǎng)域名或IP連接公司服務(wù)器后再連接現(xiàn)場PLC,這樣工程師即使在另外的項(xiàng)目現(xiàn)場出差時也可調(diào)試,最大程度節(jié)約了設(shè)備和時間成本。
方案
一、 項(xiàng)目介紹
寧夏寶豐能源集團(tuán)循環(huán)化改造二期項(xiàng)目中共6套袋濾器控制箱用于已可編程的方式順序或間斷控制2~18個不等的脈沖電磁閥的反吹??刂葡浞雷o(hù)等級IP65,放在防爆區(qū),zone2+zone22,ExDIICT4+ExtbIIIBT4,鑄鋁,為控制成本,現(xiàn)場控制器不能太大,所以PLC考慮西門子LOGO!系列加擴(kuò)展模塊,控制方式為按鈕+西門子KP400按鍵屏,平時采用按鈕操作,按鍵屏顯示電磁閥工作狀態(tài)等實(shí)時顯示界面,需調(diào)整脈沖噴吹時間、周期時打開控制箱面板,脈沖寬度35~280ms,周期2~120s??紤]到繼電器的使用壽命,PLC數(shù)字量輸出通過固態(tài)繼電器接控制脈沖電磁閥。
LOGO!和KP400之間通過CAT5電纜通訊,分別使用LOGOComfort和TIA winCC組態(tài),且均可以通過以太網(wǎng)下裝程序和調(diào)試。
二、 Openvpn介紹
OpenVPN是一種用來創(chuàng)建虛擬專用網(wǎng)絡(luò)加密通道的開源VPN(虛擬專用網(wǎng)絡(luò))軟件,分為服務(wù)端和客戶端兩部分,允許客戶端使用密鑰、用戶名\密碼、電子證書等身份認(rèn)證登錄服務(wù)端,并可以使服務(wù)端和客戶端處于同一局域網(wǎng)段內(nèi)。
OpenVPN主要采用虛擬網(wǎng)卡技術(shù),安裝后會在主機(jī)上增加一個和真實(shí)網(wǎng)卡一樣進(jìn)行配置的虛擬的網(wǎng)卡。另外由于虛擬網(wǎng)卡技術(shù)在不同的操作系統(tǒng)中普遍存在,這使OpenVPN可以更容易的跨平臺使用。
選用OPENVPN作為本項(xiàng)目遠(yuǎn)程調(diào)試連接軟件的主要原因有:
1) 可以跨省使用。 由于國內(nèi)的網(wǎng)絡(luò)環(huán)境比較復(fù)雜,一般的VPN協(xié)議如PPTP等無法跨省或跨網(wǎng)絡(luò)運(yùn)營商使用,經(jīng)實(shí)驗(yàn)OPENVPN在多種情況下均可使用。
2) 適用范圍廣。 OpenVPN當(dāng)前在Windows、Linux、Mac OS、Android、iOS、Solaris、OpenBSD、FreeBSD和NetBSD等絕大部分操作系統(tǒng)上均可以部署和運(yùn)行,并且服務(wù)端和客戶端可以跨平臺連接。
3) 開源。 OPENVPN是遵循GNU通用公共許可協(xié)議的開源軟件,無需付費(fèi),開源的特性使得它可以保持迭代和更新,性能也會也來越穩(wěn)定。
4) 安全。 OPENVPN大量使用OpenSSL函數(shù)庫,客戶端和服務(wù)端間通訊使用SSL連接同時提供HMAC功能以提高連接的安全性。
三、 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
根據(jù)項(xiàng)目實(shí)際情況,實(shí)現(xiàn)PLC遠(yuǎn)程調(diào)試所在的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如下:
OPENVPN服務(wù)器為:
公司內(nèi)網(wǎng)服務(wù)器,通過公網(wǎng)IP(設(shè)為58.X.X.X)或域名的1297端口發(fā)布。
OPENVPN客戶端有:
現(xiàn)場筆記本電腦(登錄使用用戶名PLC_SITE,指定IP為192.168.7.219);
遠(yuǎn)程工程師站(登錄使用用戶名PLC_TIA,指定IP為192.168.7.215);
項(xiàng)目現(xiàn)場網(wǎng)絡(luò)環(huán)境:
由于現(xiàn)場PLC直連筆記本電腦,網(wǎng)絡(luò)結(jié)構(gòu)中沒有獨(dú)立的路由,只能使用筆記本電腦作為路由,而且由于PLC底層數(shù)據(jù)對網(wǎng)絡(luò)環(huán)境有要求,多次實(shí)驗(yàn)后這里采用了最容易操作的在OPENVPN通道中嵌套一個系統(tǒng)自帶的PPTP協(xié)議VPN實(shí)現(xiàn)。
PPTP VPN服務(wù)器:
現(xiàn)場筆記本電腦,發(fā)布網(wǎng)段為192.168.0.0/24的PPTP通道,并作為路由共享自身有線網(wǎng)卡連接的局域網(wǎng)。
PPTP VPN客戶端:
遠(yuǎn)程工程師站,連接到OPENVPN專用網(wǎng)IP(192.168.7.219)1297端口上發(fā)布的PPTP服務(wù)器,并訪問PPTP服務(wù)器所在局域網(wǎng)。
四、 物理連接
服務(wù)器端:windows sever2012系統(tǒng),通過公司網(wǎng)關(guān)正常連接INTERNET。
現(xiàn)場筆記本電腦、手機(jī)、PLC及HMI:手機(jī)通過移動網(wǎng)絡(luò)連接INTERNET并開啟WIFI熱點(diǎn);現(xiàn)場筆記本電腦無線網(wǎng)卡連接手機(jī)WIFI熱點(diǎn)上網(wǎng),有線網(wǎng)卡通過網(wǎng)線連接現(xiàn)場HMI或PLC(如HMI有兩個網(wǎng)口,PC可僅連接HMI第1網(wǎng)口,然后通過HMI第2網(wǎng)口連接PLC)。
遠(yuǎn)程工程師站:使用各種方式正常連接INTERNET。
五、 軟件實(shí)現(xiàn)
Openvpn服務(wù)端配置文件如下:
port 1297 #監(jiān)聽端口,可以指定
proto udp #OpenVPN建議使用UDP協(xié)議
dev tun #創(chuàng)建一個路由IP隧道
topology subnet #采用通用局域網(wǎng)段
server 192.168.7.0 255.255.255.0 # 通道使用網(wǎng)段
client-to-client # 客戶端互聯(lián)
client-config-dir ccd #客戶端定制,對不同的用戶推送指定IP
#然后需要在 /ccd/用戶名稱 的配置文件中加入
# "ifconfig-push 192.168.7.X 255.255.255.0"
SSL及其他參數(shù)默認(rèn),略。
由于跨網(wǎng)段情況復(fù)雜,服務(wù)端配置文件中加入優(yōu)化參數(shù)如下:
#減小MTU值防止丟包。
mssfix 1200
fragment 1200
push "fragment 1200"
#增加緩沖區(qū)的大小以提升網(wǎng)絡(luò)性能,正常情況下不需要。
;rcvbuf xxxxxx #UDP方式僅需增加接收緩沖區(qū),默認(rèn)65536。
;sndbuf xxxxxx #默認(rèn)65536。
;txqueuelen xxx #默認(rèn)100。
Openvpn客戶端配置文件如下:
Client #客戶端
dev tun #路由IP隧道
proto udp #使用UDP協(xié)議
remote 58.X.X.X 1297 #連接到服務(wù)器公網(wǎng)IP地址或域名+端口
cert PLC_TIA.crt #分配的.crt文件,現(xiàn)場筆記本替換為PLC_SITE.crt
key PLC_TIA.key #分配的.key文件,現(xiàn)場筆記本替換為PLC_SITE.key
SSL及其他參數(shù)默認(rèn),略。
系統(tǒng)PPTP VPN配置如下:
現(xiàn)場筆記本做服務(wù)器:
Windows系統(tǒng)到控制面板\網(wǎng)絡(luò)和 Internet\網(wǎng)絡(luò)連接頁面,組織>布局>菜單欄(勾選),在頁面菜單欄中>文件>新建傳入連接>添加用戶名(PLC/***)>下一步>通過INTERNET(勾選)>下一步>IPv4屬性>允許呼叫方訪問我的局域網(wǎng)(勾選)>指定IP地址從(192.168.0.10)到(192.168.0.20)>確定>允許訪問。防火墻設(shè)置略。
遠(yuǎn)程工程師站做客戶端:
Windows系統(tǒng)到控制面板\網(wǎng)絡(luò)和 Internet\網(wǎng)絡(luò)和共享中心頁面,設(shè)置新的連接或者網(wǎng)絡(luò)>連接到工作區(qū)>創(chuàng)建新連接>使用我的INTERNET連接到VPN>IP地址(192.168.7.215)>名稱(PLC)>連接>PPTP>用戶名密碼(PLC/***),在控制面板\網(wǎng)絡(luò)和 Internet\網(wǎng)絡(luò)連接中找到新建PLC連接>屬性>安全>MS-CHAP v2(勾選)>網(wǎng)絡(luò)>IPv4屬性>高級>在遠(yuǎn)程網(wǎng)絡(luò)上使用默認(rèn)網(wǎng)關(guān)(取消勾選)。防火墻設(shè)置略。
六、 PLC調(diào)試
由于PLC和工程師站openvpn網(wǎng)卡(PPTP網(wǎng)卡無法被PLC使用)不在一個網(wǎng)段,PLC需選擇跨網(wǎng)段調(diào)試,PLC使用現(xiàn)場筆記本物理網(wǎng)卡IP作為網(wǎng)關(guān)(192.168.0.3)
PLC(LOGO?。┰贚OGOComfort中具體組態(tài)如下:
按鍵屏(KP400)在TIA WINCC中的具體組態(tài)如下:
搜索到設(shè)備后按正常步驟下載組態(tài)到PLC或在線調(diào)試即可,如需現(xiàn)場人員配合可通過電話或其他網(wǎng)絡(luò)通訊工具。
總結(jié)
本文提出一個基于OPENVPN的PLC免費(fèi)遠(yuǎn)程調(diào)試方案用于節(jié)省項(xiàng)目成本及資源,并已在文中所提項(xiàng)目成功應(yīng)用。在實(shí)際操作過程中,需要通過調(diào)整參數(shù)來優(yōu)化網(wǎng)絡(luò)。以上方法不僅限于PLC調(diào)試,還可以擴(kuò)展到基于局域網(wǎng)的所有控制系統(tǒng)或設(shè)備的遠(yuǎn)程調(diào)試中。
參考文獻(xiàn):
[1] James Yonan. Reference manual for OpenVPN 2.4 [EB/OL]. https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/, 2018.
[2] Siemens. TIA下如何訪問不同IP網(wǎng)段中的PLC [EB/OL]. https://cache.industry.siemens.com/dl/files/734/109739734/att_889622/v1/PLC_IPRoute_9090.pdf, 2016-8-3.