王興宇



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