劉 超,秦偉然,朱曉光
(上海船舶設備研究所,上海 200031)
現代船舶航向操縱系統通常由舵機、自動操舵儀2部分組成。自動操舵儀通過人工或者自動的方式規劃出航向,實現船舶航向的“大閉環”控制。舵機則接受自動操舵儀發出的舵角指令,實現舵角的“小閉環”控制。隨著信息技術的發展,現場總線技術被引入到船舶工業當中,使得艦船自控技術獲得新發展[1]。與此同時冗余技術是增強系統可靠性的重要技術,基于系統可靠性的要求,舵機控制系統中采用了CAN總線冗余和CPU軟冗余等技術。該技術的使用不僅實現了指令通信鏈路上的硬件冗余備份,還在滿足操舵實時性前提下較低成本地實現了控制器故障切換,使得舵機控制系統可靠性得到大幅度提高。
船舶航向操縱系統框圖見圖1,系統由2個閉環控制環節組成。船舶航向控制環節以指令航向、反饋航向為輸入,當因指令航向改變或受海浪和洋流等擾動導致航向偏離時,實際航向與指令航向產生偏差,該偏差信號經航向控制器運算后得出舵葉所需轉動的角度。舵角位置控制環節將該角度值作為指令信號,與實際舵角反饋值比較后,經控制器運算得出液壓系統控制參數;液壓系統驅動推舵機構轉動,帶動舵葉轉到所需的角度;最終將船舶航向控制到指令航向。

圖1 航向操縱系統框圖
舵機控制系統由伺服控制站及監測站2部分組成,見圖2。伺服控制站與自動操舵儀通過冗余CAN總線和硬線連接,接收操舵儀發出的操縱部位、備用手動有效、機組啟停和舵角指令等信號,并向操舵儀提供“機組備畢”和“機組運行”等信號。伺服控制站采集反饋機構發出的舵角反饋信號,根據不同操縱指令的PID運算后,向泵控比例閥輸出控制信號,經液壓系統能量轉換,推動推舵機構轉舵,最終完成舵角的閉環控制。監測站完成機組狀態(壓力、油溫和液位等)信號的采集,根據事先設定的狀態閾值,判斷機組運行狀態。監測站與伺服站之間通過Ethernet網絡通信,在機組故障時發出聲光報警,同時觸發伺服控制站的安全保護機制(隔離旁通和機組切換等)。

圖2 控制系統組成圖
CAN總線是應用于設備底層,直連現場各節點的串行通信總線。其采用的報文仲裁模式,可滿足網絡任意節點、任意時刻向其他節點發送信息。利用這一特點,可以方便地構成多機熱備份系統,為實現系統自上而下,軟、硬件全面覆蓋的冗余通信架構提供了技術支撐,大大提高了整個操舵系統的可靠性。
自動操舵儀采用CAN接口設計,向舵機系統提供的信號包括操舵舵角指令、操縱方式和操縱位置等操縱信號;而舵機須向操舵儀實時反饋舵機工況,包括實際舵角、機組運行情況及故障報警等信號。舵機PLC控制器由于硬件局限僅提供RS485接口,為實現自動操舵儀與舵機之間的雙向互聯網絡拓撲,構建了CAN通信模塊,其實現了舵角位置控制器與CAN 總線兩者之間的RS485-CAN接口橋接轉換。
雙冗余CAN通信系統結構見圖3。自動操舵儀與舵機系統分別作為雙冗余總線CAN1和CAN2上的2個節點,每個節點賦值唯一的幀標識符,每個節點根據接收到的標識符來判斷是否處理該報文,并決定總線訪問競爭中報文享有的優先級。

圖3 雙冗余CAN 通信系統結構
自動操舵儀與CAN 通信模塊之間依照CAN2.0B標準通信協議進行冗余CAN總線通信;舵角位置控制器與CAN通信模塊之間采用雙冗余RS485接口進行數據傳輸。另外,考慮到舵機PLC控制器的刷新率不夠高,利用CAN通信模塊內部的AD轉換單元將舵角反饋信號(電壓信號)進行AD轉換為舵角度數,通過內部總線XBUS傳遞給MCU控制單元直接上傳CAN總線供操舵儀接收,從而提高了整個操舵系統的實時性。
CAN冗余結構根據冗余等級通??煞譃镃AN總線收發器級冗余、控制器級冗余及CPU(CP341)級冗余,三者的硬件冗余等級逐漸遞增,其結構形式見圖4。收發器級冗余是2條總線分成工作總線和備用總線,有主從之分。當正在運行的總線發生某種故障導致相關通信中斷時,處于監聽狀態的備用總線會自動啟用,完成數據的發送;控制器級冗余是2條總線并行工作,不分主從,同時傳送數據;當其中某條總線發生故障,另一條總線仍會將數據送到目的地,保證系統相關功能正常進行。

圖4 CAN 冗余結構比較
CAN總線收發器級冗余中,CAN1、CAN2共用1塊CAN通信模塊(MCU),利用模塊內部的軟件邏輯判斷實現總線故障檢測和冗余通路切換功能;從發生故障到故障被檢測出,再到完成切換這段時間,故障總線可能會丟失數據,并且當CAN通信模塊的MCU單元損壞時,整個CAN鏈路將被損壞。制器級冗余中,兩路CAN通信模塊分別獨立地控制CAN收發器進行數據的處理。
CPU級冗余是從CAN通信模塊到PLC通信模塊,自上而下地使整條鏈路實現硬冗余。無論是CAN總線收發器級冗余還是控制器級冗余,當網絡節點發生故障時,這2種冗余方式均無法發揮任何作用[2]。而采用CPU級冗余,可更大程度地提高抵抗故障的能力,因此本文采用CPU級冗余結構。
設計中控制器采用的是西門子PLC S7-300,該控制器具有大規模的程序存儲容量和數據結構,對二進制和浮點數運算具有較高處理能力[3],其高穩定性能可以勝任舵機操作的可靠性要求。同時PLC與第三方串口通信采用可建立點對點連接的CP341通信處理器[4]。PLC控制器組態冗余CP341通信模塊建立ASCII協議通信,而后利用CAN通信模塊實現伺服控制器與CAN總線兩者之間的RS485-CAN接口橋接轉換。
RS485-1與RS485-2條鏈路也形成冗余關系,同時進行收發;在PLC中進行冗余邏輯仲裁,選擇正確的通道數據參與舵角PID閉環控制運算;且在接入CAN網時,通信模塊會生成模塊狀態字。在PLC中根據模塊狀態位的變化來判斷RS485串口通信是否正常。當通信鏈路正常時,對接收數據進行包頭校驗、包尾校驗、CRC校驗無誤后,賦值給PLC的DB塊中參與PID控制運算,仲裁邏輯流程圖見圖5。在通信鏈路全部失效時,系統提供了模擬量自動切換模式,將操舵儀的模擬量舵角指令以硬線方式傳輸到舵機PLC的模擬量輸入模塊,接收處理后參與控制,提高了系統的可靠性。

圖5 PLC 冗余邏輯判斷流程圖
軟冗余是提高PLC控制系統可靠性的低成本解決方案。本文選用2個315-2DP處理器作為主、備系統,同時包含2個電源模塊、1個有源總線背板、2個IM153-2接口模塊及若干I/O模塊。軟冗余系統工作時,主、備控制系統獨立運行,主系統的PLC掌握對ET200M從站的I/O控制權,當主系統中的任何一個組件出錯,控制任務會自動切換到備用系統中[5]。網絡通信見圖6。

圖6 軟冗余硬件網絡通信圖
PLC1(主系統:MPI設置為2)和PLC2(備系統:MPI地址為3)通過MPI總線連接實現冗余數據的同步。2臺控制器設置相同的通信速率187.5 kbps;主、備系統通過PROFIBUS總線與帶有冗余IM 153-2接口模塊的ET200M從站通信。主、備系統設置PROFIBUS地址為2,從站PROFIBUS地址為4。
冗余系統工作時,主系統運行全部程序用戶程序,備用系統只允許非冗余用戶程序。因此,將重要功能(如:機組啟停和閉環控制等)放在冗余程序中,其余程序放在非冗余程序段中。軟件配置時,在OB100中調用FC100'SWR_START'初始化功能塊,并定義系統運行參數,進行軟冗余的初始化。在OB35中調用FB101'SWR_ZYK'數據同步功能塊,將主系統的冗余數據復制到備用系統中。 FB103'SWR_SFCCOM 內部調用SFC65'X_SEND'和SFC66'X_RCV'功能塊,實現MPI網絡的數據同步。由于使用了SFC65和SFC66進行數據同步,占用了CPU的2個“S7 basic communication”連接資源,因此,在組態中預留足夠資源,可保證同步鏈路的通信連接資源不受影響。
綜上所述,采用PLC軟冗余的舵機控制系統,實現主、備系統故障切換功能;應用冗余CAN總線技術,有效提升了操舵系統的數字化和可靠性水平。由此可見,總線技術的開發已日臻成熟,為操舵系統的全系統壽命管理和專家系統的建立夯實基礎。