張志國
大慶油田有限責任公司第一采油廠
近年來,隨著信息化和工業化融合的不斷深入,以及油田向數字化轉型的發展需要,油田工業控制系統(以下簡稱工控系統)從封閉走向開放,從單機走向互聯。以往的一站一套PLC硬件系統搭配配套組態軟件的站(庫)工控系統模式,開始向現在的一套組態軟件對應多套不同品牌PLC的模式轉變。實現不同品牌PLC 通信的方法主要有兩種:一是應用較多的OPC 通信技術,這種通信技術的實現原理是基于Windows 的Dcom 端口開放協議[1]。OPC通信技術通用性好,但傳輸速率較慢,當通信數據量大的時候,容易引起通信的超時和中斷。特別是隨著近年來對工控系統網絡安全工作的重視,Dcom 端口也因為存在被攻擊的安全問題被禁用。二是通過組態軟件的內部驅動實現。下面以油田測控系統改造中常見的不同品牌、版本系列PLC進行功能整合和通信互聯需求為例,對實現不同品牌PLC的上、下位通信技術進行分析研究。
大慶油田第一采油廠早期使用的是西門子品牌PLC,應用的站型也主要是在轉油站和轉油放水站。隨著PLC 系統在油田中的應用規模不斷擴大,應用數量、品牌的不斷增多,在測控系統擴容、改建、合建過程中經常會遇到不同品牌PLC的通信組網、整合管理。為了實現油田自主運維,需要掌握對不同品牌PLC的組網通信技術。在此,結合在工作中的開發實例介紹相關的技術應用情況。
應用場景:在一套已建轉油站PLC系統(西門子品牌)的基礎上,新增一套羅克韋爾(AB)品牌PLC 硬件系統。要求在一套上位軟件的環境下,實現不同品牌下位PLC 采集數據顯示、控制功能。軟件環境是原西門子PLC 系統使用的上位組態軟件,即WinCC(Windows Control Center)V7.1。實現方法是通過WinCC 軟件提供的“Allen Bradley-Ethernet IP”的通信驅動兼容協議(表1),能夠實現與AB品牌PLC進行以太網通信[2]。可以實現在不增加硬件投入的情況下,實現與其他品牌PLC的互聯、互通。

表1 WinCC V7.4SP1版支持的PLC通信驅動列表Tab.1 List of PLC communication drivers supported by WinCC V7.4 SP1 version
(1)在通道單元“Allen Bradley E/IP PLC5”的快捷菜單中選擇條目“新建連接”(New Connection),創建一個新連接。
(2)選擇新連接,然后在“屬性-連接”(Properties-Connection)區域中的“常規”(General)下輸入連接名。
(3)在快捷菜單中選擇“連接參數”(Connection parameters)連接。“Allen Bradley E/IP 連接參數”(Allen Bradley E/IP connection parameters)對話框隨即打開(圖1)。

圖1 Allen Bradley E/IP連接參數界面Fig.1 Allen Bradley E/IP connection parameters interface
(4)輸入控制器Ethernet/IP模塊的IP地址。默認情況下,始終為以太網IP設備設置端口44818。
(5)在“通信路徑”(Communication path)字段中定義從以太網模塊到控制器的CIP路徑。這一設置創建了以太網模塊與PLC間的邏輯連接,即使它們位于不同CIP網絡中[3]。
(6)單擊“確定”(OK)按鈕,關閉對話框。
1.2.1 以太網通信方式
(1)WinCC連接本地機架上的CPU(CPU和以太網模塊在同一機架),通信路徑為“1,x”,1 代表背板連接,x 代表CPU 所在插槽,和I/O 組態對應即可。
(2)WinCC連接遠程機架上的CPU(CPU和以太網模塊不在同一機架,但本地機架和遠程機架通過網絡連接),WinCC 訪問遠程機架上CPU2 的通信路徑設置如圖2所示,其中:1代表背板連接,5代表本地機架上網絡模塊插槽(controlnet模塊位于5 槽),2 代表連接方式為網絡連接,3 代表遠程模塊網絡地址(遠程controlnet模塊地址為3),1代表遠程機架為背板連接,0 代表遠程機架CPU 槽號。這樣WinCC 就可以通過路由的方式訪問遠程機架上的CPU2。

圖2 WinCC訪問遠程機架CPUFig.2 WinCC access to remote rack CPUs
1.2.2 Modbus TCP/IP通信方式
(1)在變量管理的導航區域中,從“Modbus TCP/IP”通信驅動程序樹結構下選擇通道單元“Modbus TCPIP Unit#1”。
(2)在通道單元的快捷菜單中選擇“新建連接”(New Connection)條目。
(3)輸入連接的名稱。
(4)從連接的快捷菜單中選擇“連接參數”(Connection parameters)目。“Modbus TCPIP 屬性”(Modbus TCPIP properties)對話框隨即打開。
(5)在“CPU 類型”下選擇已連接的Modicon控制器。以下CPU可供選擇:
-984將該CPU類型用于CPU 984(CPU 984A、984B和984X除外)
-Modicon Compact、Modicon Quantum 和Modicon Momentum
-Modicon Premium和Modicon Micro
(6)在“服務器”域中輸入控制器的IP地址。
(7)在“端口”域中輸入用于TCP/IP 連接的端口。Modbus TCP/IP連接的默認端口為502。
(8)如果使用橋接器,在“遠程從站的地址”(Address of remote slave)字段中輸入遠程控制器的從站地址。如果未使用橋接器,則必須輸入默認值255或0作為地址。
(9)要交換32 位過程值中16 位寄存器的順序,需要選中“交換32 位值中的字”(Swap words in 32-bit values)[4]。
(10)單擊“確定”關閉對話框。通過以上軟件及通信配置方式,可以實現西門子PLC 與AB PLC的數據在同一上位軟件的采集,也實現了在油田不同品牌PLC 系統投用后的擴容、兼容性問題。以上屬于對不同品牌PLC上、下位軟件實現通信的實例介紹,下面就同一品牌的PLC在油田中的通信實現方式進行簡要的介紹。
應用場景:在油田配制站測控系統的應用中,常用的PLC 系統是AB 品牌PLC,由于配制方案的調整及配制規模的不斷擴大,經常對已建PLC進行擴容或新增產能[5]。這就涉及到同一品牌、不同系列、版本的PLC進行組網通信的問題。需要在一套上位軟件的環境下,實現各CPU 之間的數據傳輸、共享功能。
軟件環境:AB 品牌PLC 不同系列硬件使用的軟件版本不同,本次應用上位軟件使用的是FactoryTalk View Studio(V7.0)、下位軟件使用的是RSLogix 5000(V20.01)軟件。
實現方法:常用的通信方法有兩種。一種是使用“生產者/消費者”功能,通過設置數據類型方式進行通信。第二種方式是利用MSG 指令,指令輸入后幫助實現通信。這兩種方式都有各自的優缺點,但每種方式都有需要重視的地方,例如使用第一種方式通信時,會產生一些數據,這些數據會存入自己的PLC中,但這些PLC同樣應該存在于消費者的PLC網絡中,如果是用第二種通信方式,就不需要存在于消費者PLC中[6]。
這種通信方式中的“生產者”表示的是發送方,“消費者”表示的是接收方,兩者都會有數據需要傳遞。下面定義PLC-A為生產者PLC,PLC-B為消費者PLC,實現通信步驟如下:
(1)先利用PLC-A 控制器進行設定,將標簽中的一部分設定為數據發送區,由于數據來源于發送方,因此數據類型應為生產型。當利用PLC-B控制器來進行設定時,數據來源于接收方,因此數據類型應為消費型[7]。
(2)對PLC-B 控制器的接收方標簽進行設定,將消費者的連接屬性設定好,控制好remote data屬性,對PLC-A控制器的發送方標簽做好變量準備。
特別要重視的地方為標簽區域,這部分區域一定要在控制器區域內,才能完成全局數據傳輸;對標簽進行設定,數量應低于500字節。另外當使用ControlNet 網絡來完成數據交換時,標簽數量應低于480 字節,主因是ControlNet 網絡對尺寸有嚴格要求;對Produce 的數據傳輸時,如果傳輸時進入到相同控制器,可以將數據標簽進行結構整合,將數據合成到一個標簽內,降低連接數為控制器減壓,合成的數據一般會擁有一樣的RPI;對外操作時會提前設定數據為32 位,因此標簽種類有限定,應為DINT 和REAL[8]。在實際應用測試中這種方式可以比較有效地解決兩個CPU 之間變量通信的問題。
使用MSG 指令時,需要注意結構標簽類型,一定要是MESSAGE 結構的標簽,才能使指令完美被分配,對每條指令下的通信狀態進行整合,會形成一個標簽記錄本(圖3)。

圖3 指令標簽分配Fig.3 Command label assignment

表2 信息類型說明Tab.2 Information type description
在配置中需要注意,源或目標的標簽地址不是引用Tag 名,而是Tag 的第一個元素,否則認為是語法錯誤,梯級不能接受。元素數量最多可有65 335個,盡管ControlNet的數據包最多只有500個字節,MSG指令可將數據塊拆開,分成若干數據包發送[9]。
Communication 頁面要求輸入兩個控制器之間的通信路徑,路徑書寫規則為:路徑是段和段的連接,段由x,y組成,段和段之間用逗號分離。其中X段定義:①背板1、網絡2;②站號;③ControlNet網絡(1—99號)。Y段定義:①站號;②背板1、網絡2;③控制器位置。路徑設置界面如圖4所示。

圖4 Communication路徑設置頁面Fig.4 Communication path settings page
上面書寫的路徑是:背板1,CNB(位于5槽),ControlNet 網絡(2),對方CNB(位于3槽),背板1,控制器(位于0槽)。
通過上述的兩種方法,能夠實現AB 品牌PLC的CPU之間通信。
油田數字化建設的基礎就是對已建工控系統進行網絡整合和通信合并,研究實現PLC的上、下位之間,下位控制器之間的通信技術尤為重要。在實現過程中,既要考慮應用環境、場景、安全性方面的管理需求,又要兼顧不同軟、硬件兼容性,數據傳輸的實時性等技術要求。結合對西門子、羅克韋爾PLC通信技術的探討,確定通過軟件的通信設置能夠實現不同品牌PLC的上、下位通信。此項研究能夠為其他品牌PLC 的通信技術實現提供技術參考。