可編程計(jì)算機(jī)控制器PCC作為一個(gè)全新的概念是由奧地利B&R 在工控界提出的。無論是內(nèi)部的硬件功能,還是外部的編程、開發(fā)環(huán)境,PCC 都比常規(guī)的可編程邏輯控制器(PLC )有較大的增強(qiáng)和提高。
1 PCC的硬件特點(diǎn)
PCC20O5采用的是16 位MOTOROLA 68000 處理器。它得以使PLC 演變到PCC 的關(guān)鍵是B&R 成功地將PLC 的標(biāo)準(zhǔn)控制功能,與工業(yè)計(jì)算機(jī)的分時(shí)多任務(wù)操作系統(tǒng)集成到了單一的CPU模塊之中。這就使得用戶可以十分靈活地借助操作系統(tǒng)的調(diào)度管理,讓多個(gè)應(yīng)用程序(任務(wù))在一個(gè)CPU 之中并行地運(yùn)行(周期可由用戶設(shè)定),從而擺脫了常規(guī)PLC上單個(gè)程序?qū)τ布r(shí)鐘的依賴。這一技術(shù)突破,對(duì)于整個(gè)技術(shù)項(xiàng)目的開發(fā)、運(yùn)行和維護(hù)都有+分重要的意義。
幾乎所有PCC 的硬件結(jié)構(gòu)中都采用了模塊式結(jié)構(gòu)。這一特點(diǎn)使真正靈活自由地?cái)U(kuò)展成為可能。在PCC上,I / 0 通道和底板被設(shè)計(jì)成模塊式結(jié)構(gòu),可以任意插拔;應(yīng)用程序存儲(chǔ)器(APM )也實(shí)現(xiàn)了模塊化,用戶可按照其應(yīng)用程序的復(fù)雜程度,在64K 到1M 的范圍內(nèi),經(jīng)濟(jì)靈活地選型。
安全性對(duì)于一個(gè)實(shí)時(shí)控制系統(tǒng)來說是十分重要的要求,PCC 為此在以下各環(huán)節(jié)上提供了保障:
( l )就數(shù)據(jù)傳輸而言,PCC數(shù)據(jù)總線上各模塊不僅經(jīng)過了各種嚴(yán)格標(biāo)準(zhǔn)的檢驗(yàn),而且,PCC的基板總線上還設(shè)計(jì)了一套完整的局部總線協(xié)議,以保證不正確數(shù)據(jù)無法傳輸。
( 2 )為防止模塊式硬件安裝運(yùn)行的各種意外情況出現(xiàn),PCC 不僅為用戶提供了除電源和CPU 模塊之外的所有模塊的帶電拔插功能(硬件無損壞、軟件自動(dòng)處理不死機(jī)),而且可以在PCC 上電時(shí),按照實(shí)際插人底板的模塊,實(shí)現(xiàn)系統(tǒng)硬件的動(dòng)態(tài)配置和出錯(cuò)處理。
( 3 )借助于電池和金箔電容的保護(hù),PCC 系統(tǒng)RAM 中的數(shù)據(jù)(程序)最長可以確保3 年不會(huì)丟失。
與當(dāng)今工業(yè)控制器的發(fā)展趨勢(shì)相適應(yīng),PCC 系統(tǒng)硬件組態(tài)的開放性十分徹底。不僅實(shí)現(xiàn)了B&R 品牌自身各型號(hào)產(chǎn)品的自由擴(kuò)展與互聯(lián)(本地、遠(yuǎn)程擴(kuò)展、聯(lián)網(wǎng)),而且提供了對(duì)其他廣家眾多牌號(hào)產(chǎn)品的網(wǎng)絡(luò)協(xié)議的支持。如AB Data Highway 、M odbus 、SinecL1 等,都可以通過PCC 統(tǒng)一在標(biāo)準(zhǔn)現(xiàn)場總線Profibus 、CAN 等的MAP 之下。另外,PCC 還提供了通用的串行通信驅(qū)動(dòng)器― 幀驅(qū)器(Frame Driver),用以創(chuàng)建用戶自己的協(xié)議。
2 PCC編程軟件的特點(diǎn)
PCC 采用通用的PC 機(jī)作為在線編程開發(fā)工具,編程軟件為一個(gè)多窗口界面的集成開發(fā)環(huán)境,程序結(jié)構(gòu)設(shè)計(jì)采用一種稱為GDM ( Graphic Design Method )的圖形設(shè)計(jì)方法進(jìn)行模塊設(shè)計(jì)。它將整個(gè)項(xiàng)日(應(yīng)用程序)劃分為項(xiàng)目、處理器和任務(wù)等不同層面,各個(gè)層面上均采用GDM 圖形方法設(shè)計(jì)各模塊之間的結(jié)構(gòu)關(guān)系。GDM 為編程者在對(duì)項(xiàng)目總體的把握上提供了一個(gè)強(qiáng)有力的工具。
PCC的編程語言可以采用常規(guī)PLC 的梯型圖(LAD )和指令表(STL ) ,這兩種是廣為PLC開發(fā)人員熟悉的低級(jí)語言;PCC 還設(shè)計(jì)了一套基于文本的面向控制的結(jié)構(gòu)化高級(jí)語言― PL2000),使得程序設(shè)計(jì)者對(duì)復(fù)雜控制過程的描述變得非常直觀、精練。上述三種語言,再加上PG2000提供的各種函數(shù)功能塊〔 FBK ) ,在項(xiàng)目開發(fā)時(shí),可以根據(jù)任務(wù)模塊自身的特點(diǎn)而自由選用。
PCC的編程軟件包PG2000的調(diào)試查錯(cuò)和在線幫助功能十分強(qiáng)大。運(yùn)用Debugger 和PV - monitor 工具,可以實(shí)現(xiàn)源程序級(jí)的單步、多步、單周期和連續(xù)運(yùn)行調(diào)試以及過程變量的監(jiān)視和修改。PG2000的在線幫助功能具有含義敏感性,即編程者可以在任何狀態(tài)下,隨時(shí)獲取所需的幫助信息。另外,PCC 還模仿大型機(jī)操作系統(tǒng),設(shè)計(jì)了錯(cuò)誤登錄功能,將所有關(guān)鍵性錯(cuò)誤和外界對(duì)系統(tǒng)的干涉,連同相應(yīng)的時(shí)間標(biāo)記在一起,登錄到錯(cuò)誤信息模塊中。
3 PCC工程設(shè)計(jì)應(yīng)用舉例
這里,以齊魯大廈的樓宇消防自動(dòng)化(FA )系統(tǒng)為例,說明PCC 在工程設(shè)計(jì)中的應(yīng)用及所獨(dú)具的魅力。
3.1工程要求概述
該大廈共有33 層樓面,大小廳室數(shù)百個(gè)。共分布煙霧火警探頭近2000個(gè);控制各樓層通風(fēng)機(jī)、防火門、消防泵和總電源開關(guān)等需高達(dá)77 個(gè)開關(guān)量;另外還有158 個(gè)用于測試工作方式下的控制按鈕。在兼顧工程短、成本低的前提下,PCC 2005被選用。
3.2 系統(tǒng)硬件設(shè)計(jì)
鑒于整幢大廈近2000個(gè)火警煙霧探頭的分布特點(diǎn),PCC 的硬件系統(tǒng)采用了遠(yuǎn)程擴(kuò)展的方案;地面樓層設(shè)一個(gè)主站,位于集控室的電控箱之內(nèi)。在地面以上的2 、6 、12 、18 、24 、30樓層分別設(shè)立6 個(gè)從站,控制一定樓層范圍內(nèi)的消防設(shè)備。主站和從站之間通過主站的一塊選程擴(kuò)展主模塊馳動(dòng);而各從站之間則通過集成于電源模塊內(nèi)的遠(yuǎn)程擴(kuò)展驅(qū)動(dòng)口聯(lián)接而成。
輸人信號(hào)的處理:出于經(jīng)濟(jì)性的考慮,該FA 系統(tǒng)的各個(gè)火警探頭的狀態(tài)信號(hào)并不是直接被PCC 的I / 0 模塊讀到的,而是采用一套由德國EFF 公司引進(jìn)的消防探頭的前端讀人裝置讀到的。它安裝于集控室之內(nèi),以固定的掃描周期監(jiān)測整幢大廈的所有探頭狀態(tài)。在每個(gè)掃描周期結(jié)束時(shí),將監(jiān)測結(jié)果通過RS232 串行口,送至PCC 系統(tǒng)處理。而這期間的通信協(xié)議,則通過B & R 的幀驅(qū)動(dòng)(Frame Driv ),由編程者自動(dòng)創(chuàng)建。
另外,為滿足對(duì)所有消防設(shè)施測試的需耍,該系統(tǒng)在集控室內(nèi)設(shè)有一塊控制面板,用158 個(gè)按鈕控制各種消防設(shè)施在系統(tǒng)測試方式下的工作狀態(tài)。為此PCC 在主站上配置5塊數(shù)字信號(hào)輸人模塊D1477。
輸出信號(hào)的處理:該系統(tǒng)的輸出大體分成兩路。一路是用以驅(qū)動(dòng)對(duì)應(yīng)于每一個(gè)火警探頭的LED 指示燈,同樣出于經(jīng)濟(jì)性的考慮,該系統(tǒng)采用了數(shù)套解碼電路,間接驅(qū)動(dòng)每一個(gè)LED 的明滅狀態(tài)大大減少了眾多的LED 對(duì)PCC 數(shù)字量輸出通道資源的占用。另一路輸出信號(hào)則用以直接驅(qū)動(dòng)各種消防設(shè)施,鑒于驅(qū)動(dòng)電流要求的不同,系統(tǒng)在主站和各從站上分別配置了晶體管輸出模塊DO479 和繼電器輸出模塊DO650兩種數(shù)字量信號(hào)輸出模塊。該FA 系統(tǒng)結(jié)構(gòu)圖如圖l 所示。
圖1 FA 系統(tǒng)結(jié)構(gòu)圖
3.3 系統(tǒng)軟件設(shè)計(jì)
由于采用了PCC 這一高于常規(guī)PLC 的硬件平臺(tái),基于其CPU 上分時(shí)多任務(wù)的操作系統(tǒng)和PG2O00 編程軟件包所提供的靈活多樣的支持,整個(gè)系統(tǒng)的控制程序采用PL2000高級(jí)語言和LAD (梯型圖)混合編制,由多個(gè)任務(wù)組號(hào)不同的并行任務(wù)模塊協(xié)同完成。在PG2000 的GDM 任務(wù)層中,各任務(wù)模塊流程圖如圖2 所示。
圖2 任務(wù)模塊流程圖
其中,方框內(nèi)為GDM 任務(wù)層中的任務(wù)名稱,橢圓框內(nèi)為與任務(wù)相關(guān)聯(lián)的全程數(shù)據(jù)變量。并行推進(jìn)的各任務(wù)的具體實(shí)現(xiàn),分述如下:
eff一read 任務(wù)模塊 用PL2000編制,其功能是通過PCC 串行接口,建立與前端裝置eff的通信,獲取表示整個(gè)樓宇火警探頭狀態(tài)的字符序列信息,并將結(jié)果置于PCC 的內(nèi)部字符串變量effeir中,兩者之間的通信協(xié)議是由PG2000軟件包提供的Frame Driv ,由用戶自行創(chuàng)建的。
eff一chk任務(wù)模塊 用PL2000編制,其功能為處理從串行口接收到的eff發(fā)來的字符串,在“Alarm”、“Reset”、 “Initialize ”及打印狀態(tài)下,分別做出相應(yīng)處理。出現(xiàn)報(bào)警時(shí),從字符串中取出報(bào)警探頭位置信息,并將代表所有探頭狀態(tài)的全程數(shù)組變量DB 的相應(yīng)元素置1 。
LED一s 任務(wù)模塊 用PL2000編制,其功能是監(jiān)測PCC 各站所轄的探頭是否報(bào)警。出現(xiàn)報(bào)警,則將相應(yīng)的樓層與探頭號(hào)送到外部解碼電路。
F 一GEN 任務(wù)模塊 用PL2000編制,其功能是監(jiān)測PCC 各樓層所轄的探頭是否報(bào)警。出現(xiàn)報(bào)警則將相應(yīng)的樓層火警標(biāo)志置1 ,否則清零。
F一Relay 任務(wù)模塊 用LAD 編制,其功能為按用戶要求及所有消防設(shè)施的分布情況,按樓層火警標(biāo)志,啟動(dòng)相應(yīng)的消防設(shè)施。
initproj 任務(wù)模塊 用PL2000編制,該模塊為整個(gè)控制程序的初始化模塊,用以對(duì)所有全局變量的初始化,與上述任務(wù)模塊不同的是,該任務(wù)模塊僅在FA 系統(tǒng)啟動(dòng)時(shí)執(zhí)行一次。
PCC是一種較PLC更高層次的、專為中小型控制項(xiàng)目設(shè)計(jì)的計(jì)算機(jī)控制器。由干它集標(biāo)準(zhǔn)的PLC和工業(yè)控制計(jì)算機(jī)性能干一體,既具有高度結(jié)構(gòu)化的硬件設(shè)計(jì),又具有多任務(wù)分時(shí)操作系統(tǒng),因而提供了更強(qiáng)大的數(shù)據(jù)運(yùn)算和處理能力。它不僅可以用梯型圖(LAD )和指令表(STL <