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