田海波,吳勝華,楊春瑜
(南京國電南自維美德自動化有限公司,南京 210032)
分散控制系統(tǒng)是以控制器為核心的分散控制、集中操作管理的裝置,分散控制系統(tǒng)的硬件設(shè)備由工作站、現(xiàn)場控制站和通訊網(wǎng)絡(luò)組成。其中,工作站包括工程師站和操作員站。工程師站是分散控制系統(tǒng)進行離線的配置、組態(tài)工作和在線系統(tǒng)的監(jiān)督、控制、維護的網(wǎng)絡(luò)節(jié)點,其主要功能是提供對分散控制系統(tǒng)進行組態(tài),配置工作,并在分散控制系統(tǒng)在線運行時實時地監(jiān)視分散控制系統(tǒng)網(wǎng)絡(luò)上各個節(jié)點的運行情況,使系統(tǒng)工程師可以通過工程師站及時調(diào)整系統(tǒng)配置及對一些系統(tǒng)參數(shù)進行設(shè)定,使分散控制系統(tǒng)隨時處在最佳的工作狀態(tài)之下。操作員站是處理一切與運行操作有關(guān)的人機界面功能的網(wǎng)絡(luò)節(jié)點,其主要功能是為系統(tǒng)的運行操作人員提供人機界面,使操作員可以通過操作員站及時了解現(xiàn)場運行狀態(tài)、各種運行參數(shù)的當(dāng)前值,以及是否有異常情況發(fā)生等,并可通過輸入設(shè)備對工藝過程進行控制和調(diào)節(jié),以保證生產(chǎn)過程的安全、可靠、高效、高質(zhì)。分散控制系統(tǒng)主要的控制功能是由現(xiàn)場控制站來完成的,分散控制系統(tǒng)的性能、可靠性等重要指標(biāo)也都要依靠現(xiàn)場控制站保證,對現(xiàn)場控制站的設(shè)計、生產(chǎn)及安裝都有很高的要求,是分散控制系統(tǒng)中的主要任務(wù)執(zhí)行者。通訊網(wǎng)絡(luò)負責(zé)聯(lián)系各個站之間的通訊,由于分散控制系統(tǒng)是由各種不同功能的站組成的,這些站之間必須實現(xiàn)有效的數(shù)據(jù)傳輸,以實現(xiàn)系統(tǒng)總體的功能。通訊網(wǎng)絡(luò)的實時性、可靠性和數(shù)據(jù)通信能力關(guān)系到整個系統(tǒng)的性能,特別是網(wǎng)絡(luò)的通信規(guī)約,關(guān)系到網(wǎng)絡(luò)通信的效率和系統(tǒng)功能的實現(xiàn),所以通訊網(wǎng)絡(luò)是連接系統(tǒng)各個站的橋梁,是分散控制系統(tǒng)得以實現(xiàn)的技術(shù)關(guān)鍵[1]。
分散控制系統(tǒng)用于現(xiàn)場信號的采集與處理、實現(xiàn)控制策略的現(xiàn)場控制站,其包括機柜及配件、電源模件、過程控制器DPU(Distributed Control Unit)模件和I/O 模件等。每個過程控制器及組態(tài)的I/O 模件構(gòu)成一個獨立控制子系統(tǒng),控制器能夠與組態(tài)的I/O 模件進行通訊,從而采集數(shù)字量和模擬量信號的數(shù)據(jù),再獨立的進行邏輯運算,控制模件進行連續(xù)控制,順序控制等功能。分散控制系統(tǒng)一般采用分級遞階結(jié)構(gòu),I/O 模件按其輸入或輸出、模擬量或數(shù)字等功能進行設(shè)計,在工程設(shè)計階段,I/O 模件按照一定的邏輯或物理順序,安裝在機箱或者背板上,各控制器與其組態(tài)的模件之間通過通訊總線進行通訊,實現(xiàn)信息的相互交互,總線內(nèi)的I/O 模件之間通過地址來進行區(qū)分[2]。
電廠一般會將分散控制系統(tǒng)集中安裝在位于主控室后的電子設(shè)備室中。I/O 模件接收由現(xiàn)場設(shè)備,如傳感器、變送器來的信號(Input),DPU 模件根據(jù)預(yù)先設(shè)定的控制策略進行邏輯運算,并將結(jié)果(Output)送回到I/O 模件中去。同時,過程控制站還需要把必要的全局變量與中間變量的變化情況傳送到中央監(jiān)控層。
分散控制系統(tǒng)是建立在分散結(jié)構(gòu)理念上的,這對系統(tǒng)的可靠性是一個重要保障。由于分散結(jié)構(gòu)不僅是系統(tǒng)功能的分散還有地理位置的分散,應(yīng)用分散結(jié)構(gòu)可以將系統(tǒng)危險性進行分散,在設(shè)備某一部分發(fā)生故障時并不會影響其他部分的正常運行。另外,對關(guān)鍵設(shè)備進行冗余配置是確保系統(tǒng)可靠性的一項有力措施,分散控制系統(tǒng)中還采用了一些模塊化、標(biāo)準(zhǔn)化的軟件,也有助于保證系統(tǒng)的可靠性。
由于分散控制系統(tǒng)構(gòu)成相對較靈活,硬件高度集成化,I/O 模件設(shè)計時接口也進行了模塊化、標(biāo)準(zhǔn)化設(shè)計,這些均為分散控制系統(tǒng)提供了較好的擴展性能。I/O 模件中的微處理器也可以有自診斷功能,應(yīng)用程序執(zhí)行間隙同時也進行自診斷程序的運行,對硬件的運行狀態(tài)進行掃描,發(fā)現(xiàn)異?,F(xiàn)象會及時報警,亮指示燈提示出現(xiàn)異常的部位和性質(zhì),系統(tǒng)維護時間短,可帶電插拔,接插結(jié)構(gòu),種類少,維護方便。
隨著分散控制系統(tǒng)在火力發(fā)電廠、冶金、化工等行業(yè)的大量應(yīng)用,當(dāng)大量現(xiàn)場信息需要由I/O 模件進入控制器后,存在著I/O 模件數(shù)量越來越多的現(xiàn)象,所以對分散控制系統(tǒng)的性能、可靠性及方便性的要求越來越高。I/O 模件出現(xiàn)硬件問題時,更換的便利性也需要在設(shè)計時進行考慮,用以提升維護的方便性??刂破髋c多個I/O 模件連接在同一總線進行通信時,需要將不同的I/O 模件加以區(qū)分。在工程設(shè)計和現(xiàn)場使用時,會按照組態(tài)的需求,將I/O 模件設(shè)置成相對應(yīng)的不同地址[3]。當(dāng)其中一塊模件出現(xiàn)問題后,也需要使用對應(yīng)地址的模件進行更換。目前,對I/O 模件的地址更改主要有以下3 種方式:
1)通訊設(shè)置方式
在分散控制系統(tǒng)中,控制器作為主機,以廣播形式往下發(fā)送指令,I/O 模件作為從機接收到相關(guān)指令,將指令中的地址碼與自己的地址碼做對比。若發(fā)現(xiàn)是下發(fā)給自己的指令,則立即執(zhí)行相關(guān)指令。執(zhí)行完相關(guān)指令之后,發(fā)送相應(yīng)的狀態(tài)代碼給控制器,示意其可以繼續(xù)下一條指令。否則丟棄該指令,靜默等待控制器的下一條指令。
每塊I/O 模件生產(chǎn)時都預(yù)設(shè)有一默認地址,該地址可通過通訊方式來進行更改。在設(shè)計時需要制定相關(guān)的通訊協(xié)議,當(dāng)控制器使用該通訊協(xié)議發(fā)送報文給I/O 模件鏈時,則對應(yīng)地址的I/O 模件立刻按照報文給定的修改目的地址來改變自己的地址碼。該方式需要將I/O 模件連接到專用的調(diào)試機箱上,并使用專用的調(diào)試軟件,通過專用的報文格式進行通訊,從而將I/O 模件設(shè)置成所需地址。該方式的優(yōu)點是通過軟件進設(shè)置,不用增加硬件成本,缺點是無法直觀查看I/O 模件的地址[4]。
2)撥碼開關(guān)方式
撥碼開關(guān)是一款能撥動的微型開關(guān),采用的是0、1 二進制編碼原理,廣泛應(yīng)用于數(shù)據(jù)處理、通訊、遙控等需要手動程式編制的產(chǎn)品上。I/O 模件一般選擇安裝一個8 位撥碼開關(guān),分別為1、2、3、4、5、6、7、8 位,每個位代表一個數(shù)值,推到OFF 的位置為0,撥到ON 的位置依次代表1、2、4、8、16、32、64、128,撥到ON 的位代表的數(shù)值相加,就是該機的地址碼。其二進制從“00000000”至“11111111”,分別代表0 ~255 的地址編碼,工程上可根據(jù)組態(tài)的需求,將撥碼開關(guān)撥至所需的地址。此方式與通訊設(shè)置方式相比,優(yōu)點在于可直接撥碼設(shè)置地址,并可以直接查看I/O 模件的地址,無需使用調(diào)試機箱和調(diào)試軟件[5]。
3)機箱槽位方式
此方式是將分散控制系統(tǒng)機箱中的每個槽位對應(yīng)為一個固定的地址,機箱按照槽位順序給插在其槽位上的I/O模件輸入不同的地址識別位。當(dāng)I/O 模件插入到槽位上后,根據(jù)不同的地址識別位計算出地址。由于機箱位置有限,此方案僅能設(shè)置與機箱位置對應(yīng)的部分地址,若使用超過一個機箱時,需要使用撥碼等方案將機箱進行地址分配,并需要將機箱的地址接入I/O 模件,以區(qū)別不同機箱的同一槽I/O 模件地址。
上述各種方案在工程設(shè)計時,需要在每層機箱中預(yù)留部分位置,防止后續(xù)設(shè)計時需要添加I/O 模件。在機箱出現(xiàn)故障時,首先需要拔出所有I/O 模件;若機箱采用撥碼開關(guān)設(shè)置地址,則還需要調(diào)節(jié)撥碼開關(guān)至正確值。在I/O模件出現(xiàn)問題需要更換時,也需要手動通過撥碼開關(guān)或者通訊的方案來設(shè)置I/O 模件的地址。這對正在運行的火電廠會增加更換時間,若由于操作步驟的遺漏未進行設(shè)置或只進行了部分設(shè)置,會給火電廠運行帶來極大的風(fēng)險。
圖1 單列安裝地址識別示意圖Fig.1 Address recognition diagram for single row installed
不同于現(xiàn)有的地址自識別方案,本方案設(shè)計的系統(tǒng)具有以下益處:
1)在工程設(shè)計時,相對于傳統(tǒng)的使用通訊設(shè)置方式、撥碼開關(guān)方式或每個槽位對應(yīng)為一個固定的地址的按機箱槽位的方式,本設(shè)計方案可以根據(jù)工程需求,靈活地加減模件背板來增加配置的I/O 模件數(shù)量,無需在工程設(shè)計時就預(yù)留足夠多的槽位。
2)由于現(xiàn)場環(huán)境比較復(fù)雜,會造成I/O 模件或模件背板的損壞,在更換出現(xiàn)故障的I/O 模件或模件背板時,無需再次進行手動設(shè)置。當(dāng)I/O 模件插入相應(yīng)的位置后,可以直觀地從距離通訊口位置知曉I/O 模件地址等,操作簡單,準(zhǔn)確可靠。
如以設(shè)計示意圖1 為例,展示本設(shè)計的具體方案??刂破魇褂猛ㄓ嵖偩€與I/O 模件進行通訊,基本模式為一個控制器接出多路總線,每路總線均可連接多塊I/O 模件。模件背板用于安裝、固定I/O 模件,并將外部信號量、地址選擇位和與控制器連接的總線接入I/O 模件內(nèi)部,模件背板上下兩側(cè)有連接器,兩塊模件背板之間連接器可將總線和地址線連接,多個相同的模件背板可連接成一塊長背板。
圖2 雙列安裝、左右接線地址識別示意圖Fig.2 Address recognition diagram for double row installed,left and right connection
每塊模件背板的總線采用直接連接,多條地址線的輸入端與輸出端之間采用按位右移一位的方案進行連接,與控制器連接的總線接口電路將與其連接的第一塊模件背板的輸入部分地址線的每一位均上拉至高電平,輸入地址線接入I/O 模件內(nèi)部進行地址識別,I/O 模件識別的2 進制地址為0b1111(16 進制地址0xF)。由于I/O 模件的地址線采用按位右移移位的方案進行布線,第一塊模件背板輸出端的地址線的最高位將變成低電平,其余位還保持高電平。
當(dāng)有第二塊模件背板接入時,輸入部分的地址線電平為第一塊模件背板輸出的電平,輸入地址線接入I/O 模件內(nèi)部進行地址識別,I/O 模件識別的2 進制地址為0b0111(16 進制地址0x7),輸出部分的地址線的最高兩位將變成低電平,其余位保持高電平,所以下一塊的輸入地址線2進制地址為0b0011(16 進制地址0x3)。在有多列的情況下,由于控制器輸出多路總線,可將每路總線下的起始位地址設(shè)置成不同地址,控制器尋址時只需總線號,即可換算成相應(yīng)的地址。
在工程應(yīng)用時,為了提高每個機柜的接口數(shù)量,提升機柜接線的方便性,一般會將分散控制系統(tǒng)的機柜接線口分在左右兩側(cè),分別進行接線。此時需要將模件背板旋轉(zhuǎn)180°進行安裝,若分散控制系統(tǒng)I/O 模件采用雙列安裝、左右接線的模式,本設(shè)計方案還提供了一種能自動識別左右地址的方案。圖2 是本設(shè)計方案在該情況下的地址識別示意圖,其中通訊口COM1 為左側(cè)接線,通訊口COM2 為右側(cè)接線,每一列有4 塊I/O 模件。
控制器通訊口接出的多路總線中地址識別電路部分,其中與地址識別電路有關(guān)的每位均需要拉高成高電平。與控制器連接的第一塊模件背板,左側(cè)為雙列安裝模式下左側(cè)地址的狀態(tài),右側(cè)為雙列安裝模式下右側(cè)地址的狀態(tài)。由于模件背板相同,左側(cè)模件背板的上半部分連接器的地址狀態(tài)接入I/O 模件內(nèi)部進行地址識別,右側(cè)模件背板的下半部分連接器的地址狀態(tài)接入I/O 模件內(nèi)部進行地址識別,左側(cè)I/O 模件識別的2 進制地址為0b1111(16 進制地址0xF),右側(cè)I/O 模件識別的2 進制地址為0b1110(16 進制地址0xE)。
與控制器連接的第二塊模件背板,左側(cè)I/O 模件識別的2 進制地址為0b0111(16 進制地址0x7),右側(cè)I/O 模件識別的2 進制地址為0b1100(16 進制地址0xC)。與控制器連接的第3 塊模件背板,左側(cè)I/O 模件識別的2 進制地址為0b0011(16 進制地址0x3),右側(cè)I/O 模件識別的2 進制地址為0b1000(16 進制地址0x8)。與控制器連接的第4塊模件背板左側(cè)I/O 模件識別的2 進制地址為0b0001(16進制地址0x1),右側(cè)I/O 模件識別的2 進制地址為0b0000(16 進制地址0x0)。
由于左右兩側(cè)I/O 模件識別的所有地址均無重復(fù)現(xiàn)象,可在I/O 模件的軟件部分將16 進制識別地址為0xF 和0xE的定義為I/O 模件通訊地址為1,將16 進制識別地址為0x7和0xC 的定義為I/O 模件通訊地址為2,將16 進制識別地址為0x3 和0x8 的定義為I/O 模件通訊地址為3,將16 進制識別地址為0x1 和0x0 的定義為I/O 模件通訊地址為4,此地址定義為DPU 識別地址中的I/O 模件地址低四位,將通訊口的基地址定義為I/O 模件地址的高四位,如通訊口COM1 定義地址高四位為16 進制0x0,通訊口COM2 定位地址高四位為16 進制0x1,則通訊口COM1 接出的第1 塊I/O 模件至第4 塊I/O 模件地址分別為0x01、0x02、0x03、0x04,通訊口COM2 接出的第1 塊I/O 模件至第4 塊I/O 模件地址分別為0x11、0x12、0x13、0x14。
若需要增加I/O 模件的低四位地址,只需要定義每條通訊總線上最大I/O 模件數(shù)量,再增加相應(yīng)的地址識別電路位數(shù)即可;若需要增加I/O 模件的高四位地址,則只需要在DPU 中增加相應(yīng)的通訊口數(shù)量即可。
不同于現(xiàn)有的地址自識別方案,本方案設(shè)計的系統(tǒng)具有以下益處:
在地址識別位數(shù)量滿足的情況下,可以靈活地增減模件背板的數(shù)量。當(dāng)出現(xiàn)I/O 模件損壞或模件背板損壞時,操作人員無需做任何的設(shè)置或修改,只需要更換相應(yīng)位置的I/O 模件或模件背板。更換后,I/O 模件可以直接識別地址的低位,控制器通過通訊口識別相應(yīng)的地址高位。
與目前各廠家所設(shè)計的傳統(tǒng)I/O 模件地址設(shè)置的方案相比,本設(shè)計方案在工程實施時,可靈活地增減需要配置的I/O 模件數(shù)量,無需預(yù)留足夠多的備用槽位,或在更換由于現(xiàn)場環(huán)境比較復(fù)雜而造成的故障I/O 模件或故模件背板時,無需再次進行手動設(shè)置I/O 模件或故障模件背板的地址。當(dāng)I/O 模件插入相應(yīng)的位置后,工程人員可以直觀地從距離通訊口位置知曉I/O 模件地址等。當(dāng)故障發(fā)生時,也可直接找到故障I/O 模件具體位置,操作簡單,準(zhǔn)確可靠。該方案已應(yīng)用到工程中,運行狀況良好。