邵繼紅
分散控制系統(tǒng)DCS(Distributed Control System),又稱為集散控制系統(tǒng)或者分布式控制系統(tǒng),是相對于集中式控制系統(tǒng)而言的一種新型計算機控制系統(tǒng),它是在集中式控制系統(tǒng)的基礎上發(fā)展、演變而來的。它是由過程控制級和過程監(jiān)控級組成的,以通信網絡為紐帶的多級計算機系統(tǒng),綜合了計算機、通信、顯示和控制等技術,其基本思想是分散控制、集中操作、分級管理、配置靈活以及組態(tài)方便。
本文介紹了一種典型的分散控制系統(tǒng)——Simax分散控制系統(tǒng)。Simax系統(tǒng)采用并行總線的通信方式,系統(tǒng)包括數據采集IO單元,分散處理單元DPU,以及上位機顯示控制系統(tǒng)。
Simax系統(tǒng)IO單元的CPU采用ARM7。ARM(Advanced RISC Machines),是微處理器行業(yè)的一家知名企業(yè),該企業(yè)設計了大量廉價、高性能、低功耗的RISC的處理器、相關技術及軟件。ARM7是通用的32位微處理器內核,采用馮諾依曼結構,具有高性能低功耗的特性,由于其結構是基于精簡指令集計算機的原理而設計的,指令集和相關的譯碼機制要比復雜指令集計算機簡單得多,非常容易實現實時的中斷響應。
從結構上劃分,DCS包括過程級、操作級和管理級。過程級主要由過程控制站、IO單元和現場儀表組成,是系統(tǒng)控制功能的主要實施部分。操作級包括:操作員站和工程師站,完成系統(tǒng)的操作和組態(tài)。管理級主要是指工廠管理信息系統(tǒng),作為DCS更高層次的應用,目前國內行業(yè)應用到這一層的系統(tǒng)較少。
DCS的控制程序:DCS的控制決策是由過程控制站完成的,所以控制程序是由過程控制站執(zhí)行的。
過程控制站的組成:
DCS的過程控制站是一個完整的計算機系統(tǒng),主要由電源、DPU(分散處理單元)、網絡接口和IO組成。
IO:控制系統(tǒng)需要建立信號的輸入和輸出通道,這就是IO。DCS中的IO一般是模塊化的,一個IO模塊上有一個或多個IO通道,用來連接傳感器和執(zhí)行器(調節(jié)閥)。
IO單元:通常,一個過程控制站是有幾個機架組成,每個機架可以擺放一定數量的模塊。DPU所在的機架被稱為DPU單元,同一個過程站中只能有一個DPU單元,其他只用來擺放IO模塊的機架就是IO單元。
Simax系統(tǒng)包含過程級和操作級,其組成模式如圖1。
其中,操作級主要是中央控制計算機,包括組態(tài)軟件、數據采集軟件、監(jiān)控軟件、分析軟件等;控制級主要是分散處理單元(DPU)以及它控制的各種IO單元。
Simax系統(tǒng)中,中央控制計算機通過并行網線和以太網交換機與分散處理單元相連接,分散處理單元(DPU)通過并行總線控制它所帶動的各個IO單元,IO單元分為模擬IO單元和數字IO單元,每個模擬IO單元由一塊CPU卡和一塊通道卡組成,可以采集電流、熱電偶、熱電阻等模擬量信號和輸出電流模擬信號;每個數字IO單元由一塊邏輯卡和一塊通道卡組成,包括數字量輸入卡和數字量輸出卡,分別輸入和輸出數字信號。
應用了ARM7的Simax系統(tǒng)具有以下特點:
組網靈活:可根據實際需要選擇不同數量的中央控制器(DPU),不同數量的 IO單元,并且可以根據實際需要對IO單元進行不同的組態(tài)和配置。
兼容性強:可與不同的的廠家、不同類別的二次儀表兼容。
可靠性高:各個IO單元互不干擾,即使有某些IO單元出錯也不會影響其他單元。低功耗,低成本。
圖3 I2C記錄K,b流程圖
Simax系統(tǒng)中應用的ARM7是NXP公司的LPC2136,其具有如下特性:小型封裝的32位ARM7TDMI-S微控制器;通過片內倍頻和分頻可達到最大為60MHz的CPU操作頻率;具有32K片內靜態(tài)RAM和256K的片上Flash程序存儲器;支持系統(tǒng)編程(ISP)和應用編程(IAP),具有高速的flash編程速度和操作頻率;支持實時調試和高速跟蹤執(zhí)行代碼;具有2個32位定時器、PWM單元和看門狗;低功耗;具有多個串行接口,包括2個標準的UART接口,2個高速IIC接口和SPI接口;帶有向量中斷控制器,并且可配置優(yōu)先級和向量地址等。
LPC2136主要運用于Simax系統(tǒng)的IO單元的CPU板上,其作用主要是完成對通道板的控制以及與分散處理單元(DPU)的通信。
Simax系統(tǒng)中的微處理器LPC2136采用11.0592MHz的外部晶振,通過片內倍頻,CPU的操作頻率為44MHz
以下對微處理器LPC2136在Simax系統(tǒng)的應用進行詳細的分析。
LPC2136通過SPI串行總線對IO進行配置、控制和采集數據,具體包括初始化IO單元上的AD轉換器,選通IO通道,采集數據,在采集失敗的時候返回錯誤類型等。
數據采集模塊的流程圖,如圖1所示:
圖1 數據采集流程圖
數據采集流程:
(1)對系統(tǒng)進行初始化,配置時鐘周期,中斷,以及LPC2136的GPIO口狀態(tài)等;
(2)初始化SPI,并初始化AD轉換器,配置AD轉換器的各種參數。
(3)AD轉換器以固定周期采集數據并濾波。
(4)選通相應的通道(在Simax系統(tǒng)中,各種IO單元帶有不同數量的通道),通過SPI總線周期性的將實時數據傳送到LPC2136。
數據采集模塊是整個程序的重點部分和核心部分,涉及到SPI總線通信、A/D轉換、濾波、定時器、中斷處理等,同時對時鐘周期、實時性和數據精度要求比較高,LPC2136本身的功能特性很好的滿足了這些操作的要求。
原始的IO單元由于各種原因,會存在實際采集到的數值和理論數值相比存在偏差,所以在使用之前需要對其進行校準和標定。
對卡件的標定是通過上位機標定程序進行的,上位機通過串口與LPC2136的UART口通信,預寫初始的增益和偏移量,然后讀取通道板采集到的數據,然后通過跟理論值對比和計算,獲得相應的實際增益和偏移量,并通過串口發(fā)送給LPC2136,然后LPC2136通過I2C總線,將這個實際的增益和偏移量記錄在IO單元件的E2ROM里面,這樣在實際運行時,通道板采集到的數據經過矯正計算就能更準確的表達現場的各種信息。
LPC2136通過UART口與上位機標定程序通信進行標定的流程圖,如圖2所示:
圖2 LPC2136與標定程序通信流程圖
LPC2136通過 I2C總線記錄增益和偏移量的流程圖如圖3所示:
卡件標定流程:
(1)對系統(tǒng)進行初始化,配置時鐘周期,中斷,以及CPU的IO口狀態(tài)等;
(2)初始化I2C,UART,配置I2C、UART的各個參數
(3)上位機首先會讀取IO單元上鐵電記錄的增益K和偏移量b,如果為空,則寫入初始值,增益為1,偏移量為0;
(4)上位機讀取CPU采樣數據,如果滿足精度要求,則保持原有的K,b;若不滿足要求,則寫入初始K,b,并根據相應的IO單元件信息量程的95%和5%處的理論數據和采樣得到的實際數據進行計算,計算出合適的K和b
(5)上位機通過串口將計算得出的K,b發(fā)送到CPU,CPU通過I2C總線將K,b記錄到IO單元件上面的鐵電相應的地址。
標定模塊關系到采集到的數據的精度,關系到采集到的信息的可信度和信息的準確度。
IO單元通過并行總線與分散處理單元(DPU)通信,并行總線傳遞分散處理單元(DPU)對IO單元下發(fā)的命令和組態(tài),以及IO單元對分散處理單元(DPU)命令的響應和采集到的數據。
具體通信過程如下:DPU通過并行總線將命令下發(fā)到IO單元的FPGA,FPGA將命令發(fā)送到LPC2136的IO口,CPU通過IO口的狀態(tài)并通過串轉并得到相應的命令;CPU向DPU發(fā)送數據和響應是上述過程的反過程。
CPU并行總線通信的流程圖,如圖4所示:
圖4 CPU并行總線通信流程圖
DPU和CPU通信包括各種控制命令和數據,具體有狀態(tài)查詢、組態(tài)、數據讀寫、出錯處理等。具體過程是:上位機查詢IO單元的工作狀態(tài),包括工作或備用、是否已組態(tài)等,IO單元的CPU向上位機返回IO單元的當前狀態(tài);上位機對IO單元進行組態(tài),IO單元的CPU向上位機返回IO單元的當前組態(tài);上位機讀取IO單元采集到的數據或向IO單元輸出信號,IO單元的CPU向上位機返回IO單元采集到的數據或者返回收到的信號。在IO單元與DPU通信過程中,如果IO單元出錯,則向上位機返回相應的出錯信息。
ARM7的應用使DCS的實時性更好,準確度更高。由于ARM7集成了各種功能模塊,使DCS的兼容性更好,同時ARM7的應用還降低了DCS的功耗和成本。
[1]王常力,羅安.分布式控制系統(tǒng)(DCS)設計與應用實列 [M]. 電子工業(yè)出版社 2010
[2]周立功. ARM 嵌入式系統(tǒng)基礎教程 [M]. 北京航空航天大學出版社 2006
[3]周立功,張華. 深入淺出ARM7—LPC213X/214X [M].北京航天航空大學出版社 2006
[4]徐愛均. IAR EWARM嵌入式系統(tǒng)編程與實踐 [M]. 北京航空航天大學出版社 2006