高 陽
(上海中廣核工程科技有限公司,上海 200241)
通訊協(xié)議是應用于工業(yè)控制器與設備上的通用語言,通過選用某一種共同支持的通訊協(xié)議,不同品牌的控制器與設備可以組成控制網(wǎng)絡,實現(xiàn)控制系統(tǒng)的構(gòu)建。Modbus TCP是一種在工控網(wǎng)絡中常用的通訊協(xié)議,具有標準、開放、免費等特點,可實現(xiàn)控制器與其他設備之間的遠程通信。中廣核國產(chǎn)化PLC可以完美支持Modbus TCP通訊協(xié)議,可以通過Modbus TCP通訊協(xié)議靈活方便地構(gòu)建控制系統(tǒng),應用于自動化控制、醫(yī)療、新能源等行業(yè)。
Modbus協(xié)議是一種廣泛應用于工業(yè)控制領域的通訊協(xié)議,它規(guī)定了控制器能區(qū)別和運用的信息結(jié)構(gòu)。通過Modbus協(xié)議,控制器與控制器之間、控制器和接入網(wǎng)絡中的設備之間可以實現(xiàn)通信。Modbus協(xié)議使用的是主從通訊技術(shù),即由主設備主動查詢和操作從設備。Modbus通訊物理接口可以是串口,也可以是以太網(wǎng)口。其通信遵循以下過程:主設備向從設備發(fā)送請求,從設備分析并處理主設備的請求,然后向主設備發(fā)送結(jié)果,如果出現(xiàn)任何差錯,從設備將返回一個異常功能碼[1]。
Modbus是一種應用層報文傳輸協(xié)議,Modbus報文傳輸服務提供設備之間的客戶機/服務器通信,這些設備接入一個網(wǎng)絡中。網(wǎng)絡中傳遞的有4類報文:Modbus請求、Modbus證實、Modbus指示和Modbus響應。Modbus請求是服務器在網(wǎng)絡上發(fā)送用來啟動事務處理的報文;Modbus指示是客戶機接收的請求報文;Modbus響應是客戶機發(fā)送的響應報文;Modbus證實是服務器接收的響應報文[2]。
Modbus TCP協(xié)議是Modbus家族中應用于自動控制裝置上的開放的通訊協(xié)議,用于實現(xiàn)不同類型的總線或網(wǎng)絡連接的設備之間的通信。物理層和數(shù)據(jù)鏈路層是標準的以太網(wǎng)協(xié)議,網(wǎng)絡層是標準的IP協(xié)議,傳輸層是標準的TCP協(xié)議,應用層嵌入Modbus協(xié)議。在Modbus TCP協(xié)議網(wǎng)絡結(jié)構(gòu)模型中,第一層為Ethernet物理層,第二層為IP協(xié)議網(wǎng)絡層,第三層為TCP協(xié)議傳輸層,第四層為Modbus/TCP協(xié)議層,第五層則為Modbus協(xié)議應用層[3]。
在工業(yè)控制領域中,Modbus TCP協(xié)議廣泛應用于儀器儀表、人機界面及遠程監(jiān)控系統(tǒng)等設備與PLC之間的通訊。
PLC作為工業(yè)自動化最典型的代表之一,其最早的作用是為了進行邏輯控制,取代繼電器。PLC可以簡單地定義為一種用于工業(yè)環(huán)境下的微型計算機,其穩(wěn)定性十分優(yōu)秀。PLC的硬件組成與計算機十分相似,都具備CPU、I/O模塊、電源模塊、底板、通訊設備和外界設備,采用了可編程的存儲器對邏輯運算、順序控制、計時計數(shù)和算數(shù)運算進行存儲,并通過數(shù)字的、模擬的輸入輸出指令控制各種類型的工業(yè)生產(chǎn)過程。
自從工業(yè)4.0的概念被提出,國內(nèi)的工控水平得到不斷提升,國內(nèi)PLC市場不斷增長,其中以新能源、環(huán)保等新興市場的增長速度尤為明顯。從國內(nèi)市場規(guī)模來看,據(jù)統(tǒng)計2020年中國PLC行業(yè)市場規(guī)模為125億元,同比上升9.65%。未來在自動化升級和智能制造的大背景下,PLC市場規(guī)模有望持續(xù)擴張。值得關注的是,據(jù)2020年統(tǒng)計數(shù)據(jù),西門子、三菱、歐姆龍、羅克韋爾、臺達和施耐德等6家外資品牌在國內(nèi)PLC市場的占有率高達83%[4],國產(chǎn)品牌PLC市場占有率情況并不樂觀。
在當前國際貿(mào)易摩擦不斷的大背景下,為了解決工業(yè)控制器“卡脖子”問題,保證國內(nèi)工業(yè)控制器的自主化與安全性,中廣核集團積極響應國家號召,自主開發(fā)出L4000和L7000系列可編程邏輯控制器(PLC),可廣泛應用于自動化控制、醫(yī)療、新能源等行業(yè)。
中廣核國產(chǎn)化PLC具有如下6個特點:
1)處理能力強大,采用多任務實時操作系統(tǒng),最多支持16個任務,最小任務周期1ms。
2)通訊能力強大,支持RS232/422/485、CANOPEN、PROFIBUS DP、MODBUS TCP、OPC UA、MQTT等通訊,滿足與常見工業(yè)設備通訊的需求。
3)模塊種類齊全,具有通訊、模擬量、數(shù)字量、溫度采集、計數(shù)器等多種類模塊,完美支持工控系統(tǒng)的構(gòu)建。
4)環(huán)境友好,存儲溫度-40℃~70℃,運行溫度-30℃~60℃,支持-30℃低溫啟動,滿足IEC61131-2中環(huán)境、電磁、機械測試等級要求,可以鹽霧環(huán)境下穩(wěn)定運行。
圖1 國產(chǎn)化PLC典型應用架構(gòu)Fig.1 Typical application architecture of localized PLC
5)高可靠性,傳承核電基因擁有核電品質(zhì),MTBF>50萬小時,系統(tǒng)可靠性高達99.99%。
6)運維方便,支持遠程維護與遠程固件升級,以及遠程用戶程序批量下載。
以此為基礎,中廣核國產(chǎn)化PLC可以實現(xiàn)工控領域中常用的主控制站-遠程控制站結(jié)構(gòu),接入所需種類的傳感器并實現(xiàn)對執(zhí)行機構(gòu)的控制,同時支持本地人機界面與遠程監(jiān)控系統(tǒng),并可以將數(shù)據(jù)上傳至服務器,乃至云端[5]。
中廣核國產(chǎn)化PLC以標準IEC61131-3控制器軟件開發(fā)平臺CoDeSys為開發(fā)環(huán)境,完美支持IEC61131-3編程語言與PLCopen編程規(guī)范。為了方便行業(yè)應用,中廣核國產(chǎn)化PLC提供了豐富的功能模塊與行業(yè)算法庫,幫助用戶提高開發(fā)效率與代碼質(zhì)量。
中廣核國產(chǎn)化PLC也支持使用高級編程語言的開發(fā),通過Tornado實時操作系統(tǒng)開發(fā)環(huán)境,能夠?qū)崿F(xiàn)對PLC系統(tǒng)底層程序的編寫及調(diào)試等工作。Tornado為PLC系統(tǒng)開發(fā)人員提供了一個開發(fā)與調(diào)試環(huán)境,不僅集成了CNU工具箱,而且提供了Launcher、WindSh等一系列加載調(diào)試器,能方便客戶快速實現(xiàn)C語言程序的開發(fā),并部署運行到中廣核國產(chǎn)化PLC中。
為了應用方便,中廣核國產(chǎn)化PLC還配備有上位機管理軟件。上位機管理軟件可以方便地實現(xiàn)系統(tǒng)組態(tài)、參數(shù)配置、狀態(tài)監(jiān)測、測試診斷、故障錄播等功能,把對PLC的一些底層操作以界面化的形式呈現(xiàn)給用戶,提升了系統(tǒng)的用戶友好性。
在工業(yè)控制領域中,對于Modbus TCP協(xié)議廣泛應用于儀器儀表、人機界面及遠程監(jiān)控系統(tǒng)等設備與PLC之間的通訊。中廣核國產(chǎn)化PLC通過主CPU模塊MPC1200CG上的2個10M/100M/1000M自適應以太網(wǎng)口來支持與其它設備的Modbus TCP通訊。其特點在于PLC與外部設備通訊的建立可以通過文件配置的方式得以實現(xiàn),避免了對集成開發(fā)環(huán)境(IDE)和通訊模塊的綁定與依賴。具體優(yōu)勢有如下4點:
1)方便開發(fā)人員和現(xiàn)場人員進行維護,不需要專業(yè)的編程知識,不需要熟悉通訊模塊配置方法,提供了一個文本化的編輯環(huán)境。
2)通訊配置靈活,添加、刪除或調(diào)整通訊變量的順序非常方便。
3)檢查校驗手段多樣,為保證配置文件的格式正確,可以通過多種文本工具對配置文件中通訊變量的格式進行高效校驗。
4)批量應用簡單高效,通過配置文件的復制,即可批量應用于大批量控制系統(tǒng)中去。
Modbus TCP通訊在中廣核國產(chǎn)化PLC上的配置與應用方法如下。
在全局變量列表(GVL)中聲明變量的名稱與類型,以及賦初始值。對于Modbus TCP通訊而言,變量類型只存在數(shù)字量變量與模擬量變量的區(qū)別,分別對應著Modbus TCP通訊中的線圈和寄存器,至于模擬量中各種數(shù)據(jù)類型在綁定寄存器時并不做嚴格地區(qū)分,方便了用戶的使用。
首先需要在POU中添加符號配置,然后將需要進行通訊的變量選中并添加到符號配置文件中去,如圖2所示。在添加過程中需要注意變量的完整性,對變量的順序沒有要求。
圖2 通訊變量的符號配置Fig.2 Symbol configuration of communication variables
MCONFIG文件是中廣核國產(chǎn)化PLC的底層配置文件,包含啟動信息、系統(tǒng)目錄、數(shù)據(jù)存儲、總線端口、SNTP客戶端、系統(tǒng)日志、掉電保持變量、網(wǎng)絡地址、通訊變量映射、模塊驅(qū)動等內(nèi)容。
在MCONFIG文件中按照“Application.GVL.variable+offset”的格式將變量按照通訊點表的順序進行填寫,將數(shù)字量變量填寫到CoilsSviList中,將模擬量變量填寫到HRegsSviList中去,如圖3所示。
圖3 通訊點表配置Fig.3 Communication point table configuration
對于變量的offset值,單一變量填寫1占用一個數(shù)據(jù)長度。如果需要占位的話,可以通過定義數(shù)組的方式,靈活地占用一定的數(shù)據(jù)長度。如圖4所示,可以通過將offset設置為300來占用300個連續(xù)的數(shù)據(jù)長度。
通過變量定義、符號配置文件、填寫MCONFIG變量映射列表,就可以建立中廣核國產(chǎn)化PLC與外部設備的MODBUS TCP通訊連接。
在中廣核國產(chǎn)化PLC上應用MODBUS TCP通訊的典型架構(gòu)如圖5所示。
圖5 典型的通訊應用架構(gòu)Fig.5 Typical communication application architecture
中廣核國產(chǎn)化PLC可以通過光纖來支持子站模塊的擴展,主站控制器MPC1200CG作為Modbus TCP服務器,通過接入交換機來與HMI/SCADA等Modbus TCP客戶端進行通訊。測試主機一般為工程師站,用于進行通訊變量的監(jiān)控。
為了方便客戶進行靈活組態(tài)應用,中廣核國產(chǎn)化PLC還提供了以太網(wǎng)通訊模塊ETH31CG,也可以作為控制系統(tǒng)的MODBUS TCP通訊接口。
下面與以中廣核國產(chǎn)化PLC與北京嘉士寶SCADA的MODBUS TCP通訊為例,介紹MODBUS TCP通訊方案在風力發(fā)電行業(yè)中的具體應用情況。SCADA(數(shù)據(jù)采集與監(jiān)控系統(tǒng))用以實現(xiàn)對風機機組的數(shù)據(jù)采集、監(jiān)測、儲存、分析、展示,用戶可以及時、全面地對風電場設備運行狀態(tài)和發(fā)電量進行實時監(jiān)控,確保風電場的安全高效生產(chǎn)。SCADA系統(tǒng)實現(xiàn)風電場風機組的基本參數(shù)(包括風速、功率、轉(zhuǎn)速等)的綜合展示,用戶通過遠程控制單個或多個風機的啟停,實時監(jiān)視風機的運行狀況,提高效率。同時,用戶可以根據(jù)需求實現(xiàn)對不同方向風機組(運行參數(shù)、發(fā)電量)進行監(jiān)控,通過對比分析,對每個風機組進行效率評估。對于風機組內(nèi)的各個子系統(tǒng)狀態(tài)的監(jiān)控也至關重要,主要子系統(tǒng)有齒輪箱、交流發(fā)電機、控制器、制動器、風輪、測風儀等。SCADA系統(tǒng)可以實現(xiàn)對每個子系統(tǒng)的參數(shù)趨勢、故障報警的綜合展示。同時,目前一些風電場在SCADA系統(tǒng)中也集成開發(fā)了PHM(故障預測與健康管理)等功能,實現(xiàn)了風力發(fā)電機組的從預防性維護向預測性維護轉(zhuǎn)變。
以上所述的典型SCADA系統(tǒng)中需要的數(shù)據(jù),其數(shù)據(jù)源主要來自于風力發(fā)電機組主控系統(tǒng)中的PLC,按照數(shù)據(jù)類型可以劃分為數(shù)字量信號與模擬量信號。又根據(jù)對于PLC是輸入信號或是輸出信號,可以進一步劃分為數(shù)字量輸入信號、數(shù)字量輸出信號、模擬量輸入信號和模擬量輸出信號。
對于一般的MODBUS TCP的通訊來講,寄存器分為4個種類:線圈狀態(tài)、離散輸入狀態(tài)、保持寄存器與輸入寄存器,對應到PLC的數(shù)字量輸出信號、數(shù)字量輸入信號、模擬量輸入信號和模擬量輸出信號,其讀寫狀態(tài)分別為可讀可寫、只讀、可讀可寫與只讀。根據(jù)行業(yè)應用中的具體需求與應用經(jīng)驗,中廣核國產(chǎn)化PLC將通訊配置中使用的寄存器類型簡化為線圈狀態(tài)與保持寄存器兩種,其中線圈狀態(tài)用于數(shù)字量輸出信號和數(shù)字量輸入信號,保持寄存器用于模擬量輸出信號和模擬量輸入信號,簡化了MCONFIG配置文件中通訊變量的配置,方便應用工程師高效地完成配置文件的創(chuàng)建與更新。
分別選取線圈寄存器與保持寄存器的若干地址進行測試,包括讀數(shù)據(jù)與寫數(shù)據(jù),以驗證通訊的建立與數(shù)據(jù)點的對應關系。
寫線圈寄存器。將線圈寄存器地址位1017的變量按照1→0→1→0→1的順序進行變換,在SCADA后臺進行觀察與記錄,記錄文件的內(nèi)容如圖6所示??梢钥吹轿募袛?shù)據(jù)以“1→0→1→0→1”的趨勢發(fā)生了變化,由于采樣周期的原因,變換過程中的數(shù)據(jù)在連續(xù)兩個周期內(nèi)的保持了一致。
圖6 寫線圈寄存器Fig.6 Write coil register
寫保持寄存器。將保持寄存器地址位40001的變量按照636.8→15.8→626.2的順序進行變換,SCADA后臺記錄文件如圖7所示??梢钥吹轿募袛?shù)據(jù)以“636.8→15.8→626.2”的趨勢發(fā)生了變化,同樣也是采樣周期的原因,變換過程中的數(shù)據(jù)在連續(xù)兩個周期內(nèi)的保持了一致。
讀線圈寄存器。SCADA后臺將地址位301的線圈寄存器寫TRUE。在PLC側(cè)觀察對應程序變量的變化情況,如圖8所示??梢钥吹綄兞恐禐門RUE,與SCADA側(cè)寫入值保持了一致。
讀保持寄存器。SCADA后臺將地址位40003的保持寄存器寫值199.98。在PLC側(cè)觀察對應程序變量的變化情況,如圖9所示??梢钥吹綄兞恐禐?99.98,與SCADA側(cè)寫入值保持了一致。
圖9 讀保持寄存器Fig.9 Read hold register
從以上步驟可以看到,中廣核國產(chǎn)化PLC與北京嘉士寶SCADA之間的MODBUS TCP通訊建立成功,數(shù)據(jù)讀寫功能正常。
綜上所述,中廣核國產(chǎn)化PLC可以方便靈活地支持MODBUS TCP通訊在工程項目中的應用,特別是對HMI與SCADA等常用設備的通訊支持,實現(xiàn)工控系統(tǒng)的快速配置與搭建。
目前,工控領域中正在進行著IT與OT的快速融合,傳輸速度更快,實時性更好,安全性更高的下一代工業(yè)以太網(wǎng)已經(jīng)開始廣泛應用,如MQTT,OPC UA等協(xié)議逐步參與到工控系統(tǒng)的組網(wǎng)中來,這也正是中廣核國產(chǎn)化PLC今后網(wǎng)絡化、智能化的發(fā)展方向。