楊春瑜
(南京國電南自美卓控制系統(tǒng)有限公司,南京 210032)
基于ISaGRAF的PN300型分散控制器設計
楊春瑜
(南京國電南自美卓控制系統(tǒng)有限公司,南京 210032)
PN300型分散控制器采用基于ISaGRAF控制內(nèi)核和VxWorks操作系統(tǒng)的定制化研發(fā),并使用標準開發(fā)語言將各種應用功能塊、高級算法進行封裝后嵌入控制內(nèi)核,同時還開發(fā)了控制器的監(jiān)控管理模塊。PN300的優(yōu)良特性使其可對電廠系統(tǒng)進行實時、穩(wěn)定的控制。
分散控制器;ISaGRAF控制內(nèi)核;Vxworks操作系統(tǒng)
目前,電廠一般采用分散控制系統(tǒng)(DCS)來監(jiān)控廠內(nèi)的運行工況,分散控制器(DPU)是DCS的核心單元,生產(chǎn)過程中系統(tǒng)主要的控制功能由它來實現(xiàn)。DPU接收現(xiàn)場設備如傳感器、變送器的信號(Input),根據(jù)預先設定的控制策略進行邏輯運算,并將結果送到現(xiàn)場的執(zhí)行器中去(Output);同時,現(xiàn)場控制站還需要把必要的全局變量和中間變量的變化情況傳送到中央監(jiān)控層。整個DCS的性能、可靠性等重要指標與控制器的性能指標密切關聯(lián),因此對其設計、生產(chǎn)及安裝都有很高的要求。分散控制器的硬件均采用專門的工業(yè)級計算機系統(tǒng),不但需要考慮運算器(即主CPU)的主頻、功耗等指標,還需要考慮靜態(tài)、動態(tài)存儲器的容量與可靠性;同時,現(xiàn)場I/O與DPU之間的數(shù)據(jù)交互方式及速率,DPU與中央監(jiān)控層和其他DPU的數(shù)據(jù)交互方式也是分散控制器設計的重要指標。
現(xiàn)階段,很多控制器采用的是工業(yè)控制計算機(IPC)技術[1],IPC技術具有技術成熟、通用性好、價格低等優(yōu)點(如PC104系列產(chǎn)品)。IPC有獨立的機體,除了內(nèi)置CPU、內(nèi)存等元件外,一般還內(nèi)置電源、網(wǎng)絡接口卡、鍵盤和顯示器接口以及電子硬盤等;同時,IPC中可以安裝多種嵌入式多任務實時操作系統(tǒng),軟件編程可以采用C語言等。這些都使得IPC在性能、開發(fā)成本等方面具有較大的優(yōu)勢。
從結構來看,控制器主要由CPU、系統(tǒng)網(wǎng)絡接口、控制網(wǎng)絡接口、主/從冗余控制邏輯、固態(tài)盤(SSD)或Flash存儲器、靜態(tài)存儲器(SRAM)組成。
(1)CPU:控制運算的主芯片,常見的有Intel x86系列、PowerPC等,近年來以Atom和ARM核為基礎的低功耗芯片的流行,也為控制器提供了一種選擇。
(2)系統(tǒng)網(wǎng)絡接口:主控制器與操作員站、工程師站等操作層設備通信的網(wǎng)絡接口。目前,DCS的網(wǎng)絡都采用了以太網(wǎng),以太網(wǎng)作為主流的商用網(wǎng)絡,只要在軟件的應用層上采取一定的保護措施,其在工控系統(tǒng)上的可靠性和安全性就沒有問題。
(3)控制網(wǎng)絡接口:主控制器與I/O進行數(shù)據(jù)交換的網(wǎng)絡接口。由于過程控制系統(tǒng)需要傳送大量的模擬量數(shù)據(jù),而且每個I/O設備的數(shù)據(jù)量較大,所以控制網(wǎng)絡接口一般選擇長消息協(xié)議的通信網(wǎng)絡。
(4)主/從冗余控制邏輯:用于控制互為備份的2臺控制器的切換。由于過程控制對安全性和可靠性的特殊要求,幾乎所有DCS的標準配置都是雙主控制器冗余運行。該部分邏輯確保任一時刻有且僅有1臺主控制器的控制指令被輸出到I/O設備。
(5)SSD或Flash存儲器:用于保存主控制器的操作系統(tǒng)、用戶控制算法文件等信息。在主控制器上電啟動后將這些文件調入內(nèi)存運行。
(6)SRAM:用于存儲運行過程中需要實時保存且在系統(tǒng)掉電后還需要保存一段時間的數(shù)據(jù)(如閥門在DCS掉電前的開度),這些數(shù)據(jù)在DCS重新上電后可能用作初始值輸出,以保證現(xiàn)場閥位不出現(xiàn)跳動。為了便于選擇DCS掉電后SRAM是否保存實時數(shù)據(jù),一般主控制器都設置有使能開關,用于接通或關斷SRAM的后備電池。
2.1 控制器硬件設計
PN300控制器基于PC104平臺,采用核心板加載板的模塊化設計。核心板上CPU采用32位的高性能Pentium處理器,有浮點處理單元、動態(tài)內(nèi)存(DRAM)及時鐘,可以按高于常規(guī)DCS或PLC系統(tǒng)4~10倍的速度運算,同時進行I/O掃描,處理控制器之間、控制器與主機之間的通信,主、備控制器之間的同步。Flash存儲器采用M-System公司推出的64MB DiskOnChip 2000系列閃存器,它與標準的電可擦可編程只讀存儲器(EEPROM)完全兼容,將控制器與存儲器封裝在同一塊芯片上,不需要任何總線、插槽或連接器,只需要分散控制器主板上有一個標準32腳雙列直插式(DIP)插座[2]。
載板上擴展出系統(tǒng)網(wǎng)絡接口、控制網(wǎng)絡接口以及冗余網(wǎng)絡接口,包含4塊Intel 82559ER網(wǎng)絡芯片、32kB鐵電存儲器(FRAM)內(nèi)存地址空間、兼容2個16550串口以及LED顯示,同時擴展出鍵盤和視頻圖形陣列(VGA)顯示接口用于調試。
2.2 控制器軟件設計
PN300控制器軟件設計主要包含VxWorks操作系統(tǒng)定制、ISaGRAF控制內(nèi)核移植以及控制器監(jiān)控模塊,如圖1所示。
圖1 DCS及控制器軟件結構
2.3 VxWorks操作系統(tǒng)定制
VxWorks是美國風河公司推出的一個硬實時操作系統(tǒng),符合POSIX1003.1b實時擴展標準[3]。其內(nèi)核實現(xiàn)多任務調度,采用基于優(yōu)先級的搶占方式,同時支持同優(yōu)先級任務間的分時間片調度,中斷處理達到微秒級,具有優(yōu)良的實時性和穩(wěn)定性。另外,風河公司推出一套實時操作系統(tǒng)開發(fā)環(huán)境Tornado,類似于微軟公司的Visual Studio,提供了豐富的調試環(huán)境、仿真環(huán)境和工具。
VxWorks系統(tǒng)定制包括BootROM和操作系統(tǒng)的定制兩部分。BootROM屬于一種精簡的VxWorks系統(tǒng),其目的是將VxWorks完整鏡像載入系統(tǒng):如果使用文件傳輸協(xié)議(FTP)方式從網(wǎng)絡下載并裝載VxWorks鏡像,則需要初始化網(wǎng)卡;如果從磁盤裝載VxWorks鏡像,則需要初始化磁盤文件系統(tǒng)。PN300控制器同時支持2種啟動方式,根據(jù)硬件設計,需在BootROM添加網(wǎng)卡和DiskOnChip文件系統(tǒng)的支持。
VxWorks鏡像的定制主要為內(nèi)核與驅動定制,PN300控制器基于VxWorks 5.5操作系統(tǒng),硬件驅動主要包含ATA硬盤、DiskOnChip盤、網(wǎng)卡、鍵盤與VGA顯示輸出、文件系統(tǒng)及文件存取部分,另外還包含ISaGRAF需要的內(nèi)核組件和調試組件(如Telnet,F(xiàn)TP等)的支持。
2.4 ISaGRAF控制內(nèi)核移植
ISaGRAF是羅克韋爾自動化公司旗下著名的自動化軟件提供商ISaGRAF公司研發(fā)的DCS軟件開發(fā)平臺,包含工作臺和控制軟件。它不僅完全支持IEC 61131-3標準的5種編程語言,還擴展性地支持SAMA圖和IEC 61499標準等模式,可以方便地與各種主流的數(shù)據(jù)采集與監(jiān)視控制(SCADA)系統(tǒng)軟件進行無縫配合。
ISaGRAF控制軟件提供的是可支持多平臺的源代碼開發(fā)包,可根據(jù)不同的硬件平臺和操作系統(tǒng)做移植,生成運行目標機。開發(fā)包代碼分為系統(tǒng)管理、通信接口和任務管理等幾個部分。系統(tǒng)管理代碼用于控制邏輯的資源和變量管理;通信接口用于目標機與遠程客戶終端或目標機之間的通信;任務管理用于管理運行目標機的啟、停等。
PN300控制器基于ISaGRAF最新控制內(nèi)核ISa-GRAF 6.1,采用的是ETCP通信接口。除了選取IS-aGRAF開發(fā)包所需工程代碼,還需要在VxWorks系統(tǒng)定制時添加ISaGRAF開發(fā)包所依賴的內(nèi)核組件,包括Time Functions,Shared Memory,Semaphore Functions,Message Queue Functions,DSA Functions(Nonvolatile Storage),Socket Interface,Task Management。
此外,在PN300控制器中,還包含了各種應用功能塊、高級算法的封裝開發(fā),嵌入在ISaGRAF控制內(nèi)核中。
PN300控制器除了執(zhí)行控制邏輯的功能,還需要響應工作站對控制器的管理請求以及控制器自身狀態(tài)監(jiān)測控制的功能,包括控制器探測、讀寫地址、特定中斷處理、LED控制、配置信息讀寫等功能。
工作站組態(tài)的管理功能涉及私有通信協(xié)議的制定和安全性驗證,還需要考慮任務進程的優(yōu)先級制定,以免影響控制邏輯的運行。
PN300型分散控制器采用基于ISaGRAF控制內(nèi)核和VxWorks操作系統(tǒng)的定制化研發(fā),并使用標準開發(fā)語言將各種應用功能塊、高級算法進行封裝后嵌入控制內(nèi)核,同時還開發(fā)了控制器的監(jiān)控管理模塊。對不同優(yōu)先級的控制邏輯實現(xiàn)分周期執(zhí)行,實現(xiàn)了穩(wěn)定的熱備控制器監(jiān)測以及冗余控制器間數(shù)據(jù)10ms級的同步速度,此外還兼容各種主流的SCADA集控系統(tǒng)。專業(yè)機構的檢測和電廠試運行情況[4]表明,PN300型控制器設計可以穩(wěn)定、可靠地對電廠進行全面控制。
[1]方芳.工業(yè)控制計算機與PLC在皮帶機控制應用中的比較[J].科技傳播,2013,6(23):143.
[2]洪艷偉.基于DOC的嵌入式遠程數(shù)據(jù)采集系統(tǒng)開發(fā)[J].信息安全與技術,2011(12):64-66.
[3]孔祥營,張保山,俞烈彬.VxWorks驅動及分布式編程[M].北京:中國電力出版社,2007.
[4]DL/T 659—2006火力發(fā)電廠分散控制系統(tǒng)驗收規(guī)程[S].
(本文責編:劉芳)
TP 273
A
1674-1951(2015)07-0004-02
楊春瑜(1982—),男,江西寧都人,工程師,工學碩士,從事熱工自動化方面的研究工作(E-mail:chunyu-yang@sac-metso.com)。
2015-04-14;
2015-06-21