向友洪,程 杰,閆曉鈺,張曹龍
(中國核動力研究設計院,成都 610213)
現場總線是現代計算機技術、通信技術和傳感器技術在工業領域典型的融合應用[1],其提供了一種全數字式的通信模式來替代傳統的模擬信號進行儀控系統的數字化架構構建,提高工業測控系統的數字化程度;同時,與傳統的模擬信號相比,現場總線還具備多路設備連接、高速通信、高帶寬等優點,可提高現場系統的集成度,大大減少工業現場的硬件成本。目前國際上已具備多種總線標準,如CAN、Profibus、FF、Modbus等,設備制造商根據不同總線通信協議設計生產出了不同的現場儀表產品,而不同的總線接口需要不同的測試系統,將會導致整個測控系統成本增加、系統臃腫。因此,在不同的應用領域均對多總線兼容進行了探索。中國電子科技集團第20研究所計量站基于VISA庫IO接口開發了自動檢定/校準測試系統[2];柯先云[3]提出了一種基于STM32的多總線協議轉換器,實現了無人艇控制系統中CAN、以太網、RS485和RS232的協議兼容。
在熱工水力試驗測控系統中,往往具有測點數量大、測量類型復雜的特點,需要在現場層對現場總線進行兼容處理,再為后續系統應用層提供統一的編程調用接口,保證系統的簡潔、統一且可靠。
基于現場總線兼容的思想,有兩種基本解決方案:協議棧方案和協議模塊方案,其中協議模塊方案可分為協議轉換式和網橋式[4,5]。為了保證后續總線兼容的可擴展性和便利性,采用網橋式總線兼容的思想,同時結合熱工水力試驗對于控制器的可編程需求,提出了多總線兼容可編程控制器的解決方案。
多總線兼容可編程控制器采用模塊化形式設計,硬件結構上由主控制器、功能模塊和系統背板構成。其中,主控制器采用國產龍芯3A4000處理器,集成Loongnix操作系統,支持通過板卡形式擴展數據采集功能模塊。功能模塊主要分為現場總線數字模塊和傳統模擬量模塊,前者支持Modbus RTU、CAN和Profibus-PA現場總線通信板卡,用于接入現場基于總線協議的設備,后者支持AI、AO、DI和DO,用于接入傳統設備的輸出信號。背板支持8個功能擴展槽,通過統一的上游接口,適配所有類型的功能模塊,通過高速通信總線實現功能模塊與主控制器的數據交互。設備基本硬件結構如圖1所示。

圖1 設備基本硬件結構Fig.1 Basic hardware structure of the device
多總線兼容可編程控制器支持模擬量、數字量、脈沖量及現場總線協議轉換功能,可涵蓋工業自動化的絕大多數應用場景,便于用戶靈活、高效地實現定制化現場信號采集、協議轉換;同時,控制器整體具有較為強大的運算能力,支持邊緣計算的需求。
多總線兼容可編程控制器通過預裝Loongnix操作系統,為用戶的測控應用程序開發提供了一個開放、高效的軟件平臺,支持C/C++編程語言;結合熱工試驗需求,設計開發了嵌入式中間件API接口函數,可更快速、方便和高效地完成應用程序開發和調試;具備邏輯控制編程及算法編程開發功能;支持集成開發環境,支持中間件函數庫,支持遠程設備管理。
1.2.1 總線兼容原理
多總線兼容可編程控制器的總線兼容原理基于網橋式思想,通過對總線功能模塊的上下游協議進行區分定義實現。對于某一總線功能模塊而言,上下游需連接不同的總線協議,實現協議轉換。上游作為它的主網,功能模塊本質為主網上掛的一個子設備;下游根據所需兼容現場總線協議進行選擇,功能模塊作為下游子網的主站,可完成與相同協議現場儀表設備的組態、數據交換等功能。總線兼容原理如圖2所示。

圖2 基于網橋式思想的總線兼容原理Fig.2 Bus compatibility principle based on bridge thinking
1.2.2 多總線同步性
在多總線兼容過程中,需要考慮如何保證多總線的數據同步性,主要從以下兩種角度進行設計:
1)輸入同步性
在數據同步采集的過程中,引入時間計數器和數據緩存,主控制器定期通過硬觸發方式對功能模塊的時間計數器進行同步復位并記錄此刻的絕對時間。功能模塊將數據與時間計數器值組合后,暫存在緩存區并在總線空閑期上傳給主控制器,主控制器依據記錄的絕對時間和計數器值計算出數據的絕對時間。
2)輸出同步性
在數據同步輸出的過程中引入數據寄存和輸出觸發機制,主控制器將數據發送到各模塊的數據寄存區后,再通過觸發方式使功能模塊輸出各自數據寄存中的數據。
1.2.3 系統響應時間
為了整體提高可編程控制器的系統響應時間,保證現場控制的響應指標,進行了以下設計:
1)更改數據傳輸方式
優化數據傳輸模式,如DI模塊的數據傳輸方式由查詢方式改為定時和沿觸發方式。
2)提高總線帶寬
通過高速通信背板的千兆以太網實現主控制器和功能模塊之間的數據傳輸,降低數據傳輸延時。
3)優化主控器處理能力
利用C++語言重新編寫各功能模塊和控制器系統的嵌入式API函數;分配獨立的處理核心給采集的高并發數據。
多總線兼容可編程控制器整體采用功能模塊拔插式的板卡設計。硬件設計上,通過歸一化的以太網背板接口適配所有功能模塊;軟件設計上,通過背板高速通信總線,解決現場采集帶來的通信數據量較大的問題[6],利用socket接口實現功能模塊主控芯片與主控制器之間的數據通信。多總線兼容可編程控制器機箱如圖3所示。

圖3 多總線兼容可編程控制器機箱Fig.3 Multi bus compatible programmable controller chassis
CAN總線功能模塊設計了2路CAN總線,其中CAN-bus信號包括:CAN_H、CAN_L、CAN_GND,支持CAN2.0A和CAN2.0B幀格式,每通道最大128個節點,符合ISO/DIS 11898規范[7]。CAN功能模塊原理框圖如圖4所示,單路CAN硬件接口定義見表1。

表1 CAN接口(DB9公頭)定義Table 1 Definition of CAN interface (DB9 male)

圖4 CAN功能模塊原理框圖Fig.4 Schematic block diagram of CAN function module
Modbus RTU總線功能模塊設計了8路獨立的RS485通道,支持Modbus RTU協議,其作為Modbus RTU主站,可向從站發送數據請求并接收從站返回數據,數據最大波特率115200bps。功能模塊原理框圖如圖5所示,模塊硬件接口定義見表2。

圖5 Modbus RTU功能模塊原理框圖Fig.5 Schematic block diagram of Modbus RTU function module

表2 Modbus RTU功能模塊接口定義Table 2 Modbus RTU function module interface definition
Profibus PA總線功能模塊設計了4路Profibus PA總線,每路可以連接最多10個Profibus PA總線儀表,支持GSD文件配置,可重復使用現有的Profibus網段而無需修改,支持Profibus PA通訊協議,波特率固定為31.25Kbps[8],使用IEC61158-2物理層,通過將信號調制到電源線上,使用直流平衡的曼徹斯特編碼。Profibus PA功能模塊原理框圖如圖6所示。

圖6 Profibus PA功能模塊原理框圖Fig.6 Schematic block diagram of Profibus PA function module
2.4.1 AIO功能模塊

表3 Profibus PA功能模塊接口定義Table 3 Profibus PA function module interface definition
AI模擬量采集模塊設計了8路模擬電壓輸入通道,設計輸入電壓范圍0V~5V。前置利用積分電路實現PWM到平滑電壓的轉換,不斷改變PWM占空比使其與輸入測量電壓通過比較器進行比較,階躍變化時,即是測量的輸入電壓值。AI功能模塊原理框圖如圖7所示。

圖7 AI功能模塊原理框圖Fig.7 Schematic block diagram of AI function module
AO模擬量輸出功能模塊設計了8路模擬電流輸出通道,輸出電流范圍4 mA~20mA。其中,模擬信號輸出電路與主電路隔離,功能模塊接收主控軟件接口參數,通過板載嵌入式控制器實現控制DAC輸出。AO功能模塊原理框圖如圖8所示。

圖8 AO功能模塊原理框圖Fig.8 AO Functional module principle block diagram
2.4.2 DIO功能模塊
DIO功能模塊設計了8路開關量輸入和8路開關量輸出模塊,通過Cortex-M3高速處理芯片保證模塊具有強勁的數據處理能力;通過看門狗電路設計,確保系統長期運行穩定可靠。其中,8路開關量輸入,通過光電隔離接入DIO功能模塊的嵌入式控制器;8路隔離的開關量輸出通道,通過8路繼電器輸出,保證驅動能力。DIO功能模塊原理框圖如圖9所示。

圖9 DIO功能模塊原理框圖Fig.9 Schematic block diagram of DIO function module
為了在總線兼容的基礎上,實現基于所兼容現場總線的熱工水力試驗測控程序編程需求,同時保證測控程序的便捷性和快速性,以及考慮多總線兼容可編程控制器后續的可擴展性,通過C++語言設計并開發了控制器嵌入式API接口函數,包含各硬件功能模塊數據采集、通信及設備系統功能等軟件接口。通過該接口函數庫,用戶可直接利用組件化的思想,快速搭建測控現場數據采集測控程序,大大減少人力成本和程序開發難度。
嵌入式API接口函數根據各功能模塊的不同特性進行了定制化設計,涉及各功能模塊的通道設參數置、測量數據獲取、輸出控制等API函數,實現中央控制器或其他第三方測控程序的快速開發調用。
通過嵌入式API編制多總線兼容可編程控制器測試程序,實現現場儀表測量數據采集及信號輸出。其中,CAN通信現場儀表為IMC數采設備,Profibus PA通信現場儀表為羅斯蒙特智能壓力變送器,MODBUS RTU通信現場儀表為RTD溫度采集模塊。通過標準信號源給現場熱工儀器儀表輸入標準信號,記錄CAN通信、Profibus PA通信、MODBUS RTU通信、AIO以及DIO所對應的標準值和采集值,試驗數據如圖10所示。
試驗結果表明,測試程序運行正常,測試數據準確,該多總線兼容可編程控制器可實現熱工水力試驗測控系統的應用需求。
針對反應堆熱工水力試驗過程中出現的多現場總線設備儀表帶來的測控系統成本增加、系統臃腫的問題,基于網橋式思想的總線兼容原理,進行了軟、硬件設計,最終研制了兼容Modbus RTU、CAN和Profibus-PA協議的多總線兼容可編程控制器。通過開展控制器的現場數據采集測試,測試結果表明,基于該控制器所編制程序運行正常,測試數據準確。該控制器可實現熱工水力試驗中多種現場總線的兼容,提高系統的集成自動化程度,減少成本。
同時,該多總線兼容可編程控制器的軟硬件設計均考慮了組件化的思想,統一的背板接口、統一風格的嵌入式API等,有利于后續實現對于更多現場總線的兼容,進一步保證熱工水力試驗測控系統的簡潔、統一且可靠。