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