城市軌道交通標(biāo)準(zhǔn)技術(shù)委員會魏曉東
中國電子信息產(chǎn)業(yè)集團(tuán)有限公司第六研究所趙云飛
5.3 接口可靠性
5.3.1 接口可靠性設(shè)計(jì)
許多信息化集成系統(tǒng)執(zhí)行重要業(yè)務(wù)功能,在客戶的經(jīng)濟(jì)活動中起著關(guān)鍵作用,常需要7×24小時(shí)不間斷運(yùn)行,對這類系統(tǒng)可靠性要求特別高。但信息化集成系統(tǒng)不僅牽涉設(shè)備種類多、結(jié)構(gòu)復(fù)雜,接口可靠性脆弱又沒有通用標(biāo)準(zhǔn)、無法充分試驗(yàn)和鑒定,導(dǎo)致系統(tǒng)整體可靠性難以評價(jià)。接口可靠性可通過一系列可靠性方法來獲得和提高,包括預(yù)防、診斷、容錯(cuò)、糾錯(cuò)等。在本節(jié)中,將首先分析接口的失效形式,然后逐一介紹這些接口可靠性方法。
5.3.2 接口失效形式
接口是集成系統(tǒng)的薄弱環(huán)節(jié),是由接口的物理形式和工作環(huán)境決定的。接口連接處接頭多數(shù)被設(shè)計(jì)為可拆卸,以增加接口靈活性、方便安裝和維護(hù),但同時(shí)留下了接頭處斷開、虛接、電特性變化等可能性,成為失效隱患。另外,接口所用的長導(dǎo)線也會意外遭遇外力作用,造成斷開或虛連通;長導(dǎo)線還會受到環(huán)境電磁影響,隨時(shí)可能產(chǎn)生誤碼、干擾接口通信。接口失效可表現(xiàn)為連通性問題、功能完備性問題、傳輸穩(wěn)定性問題等。
連通性問題:連通性問題,指無法連通、完全無法傳輸信息。通常是由設(shè)備不符合標(biāo)準(zhǔn)、接口驅(qū)動程序編寫錯(cuò)誤,或連接方式錯(cuò)誤、接口參數(shù)設(shè)置不正確等原因造成的。由于互聯(lián)互通是接口的基本功能,這類問題能在第一時(shí)間被發(fā)現(xiàn)、關(guān)注和解決。
功能完備性問題:功能完備性問題,指部分接口功能喪失,但另一部分功能依然可用的情況。比如雙向通信的時(shí)候只剩下一個(gè)方向可以傳輸信息,或總線上某單個(gè)設(shè)備通信失效而其它設(shè)備依然通信正常,或僅某類信息停止傳輸而其它信息依然在傳輸?shù)取L幚頃r(shí)除了要排查硬件錯(cuò)誤,還應(yīng)特別注意接口軟件的設(shè)計(jì),看是否存在邏輯邊界處理不當(dāng)、或協(xié)議報(bào)文控制字填寫錯(cuò)誤等情況。
傳輸穩(wěn)定性問題:傳輸穩(wěn)定性問題,指傳輸中經(jīng)常性出現(xiàn)丟包、亂序、錯(cuò)包情況,導(dǎo)致接口傳輸時(shí)通時(shí)斷、或時(shí)快時(shí)慢,接口協(xié)議頻繁遇到無會話、錯(cuò)誤會話、會話遲緩等異常,使接口功能時(shí)好時(shí)壞。造成傳輸穩(wěn)定性差的原因,通常主要來自硬件設(shè)施不規(guī)范、接口電氣特性偏離標(biāo)準(zhǔn),如接頭連接方式錯(cuò)誤、線纜過長、設(shè)備數(shù)量過多、線纜終端處理不當(dāng)、設(shè)備接地不當(dāng)?shù)取.?dāng)然,也可能確實(shí)是由于工作環(huán)境惡劣,電磁、振動等干擾超過了設(shè)計(jì)基準(zhǔn)。
5.3.3 失效預(yù)防措施
采用高質(zhì)量傳輸介質(zhì),提供電氣隔離和通信隔離,控制接口軟件缺陷和提高軟件健壯性,提高可靠性。
高質(zhì)量傳輸介質(zhì):采用高質(zhì)量傳輸介質(zhì),能減少電信號的衰減、增強(qiáng)抗干擾能力。在要求傳輸距離長、接口線纜上需連接多套設(shè)備時(shí),或現(xiàn)場電磁、溫度環(huán)境比較復(fù)雜的時(shí)候,務(wù)必選用高質(zhì)量的通信線纜,用這部分成本投入能換回接口可靠性的提高,可降低運(yùn)維難度和工作量。
電氣隔離和通信隔離:隔離,指接口各方在保持互聯(lián)互通的同時(shí),確保己方不受其它設(shè)備/子系統(tǒng)運(yùn)行故障的影響。接口隔離措施有電氣隔離和通信隔離。電氣隔離常采用光電隔離,在接口連接處使用光電轉(zhuǎn)換器件,將接口各方的通信口電氣回路相互隔斷,避免不同電路之間的相互干擾;通信隔離體現(xiàn)在接口通信協(xié)議中,各接口方的信息發(fā)送和接收各自使用單獨(dú)鏈路、執(zhí)行單向通信,發(fā)送者不用關(guān)注接收者的狀態(tài),發(fā)送者自身的行為不受對方限制或干擾。為可靠傳輸,實(shí)現(xiàn)通信隔離的接口協(xié)議需具備狀態(tài)無關(guān)的特性,即接口方的行為完全取決于自身當(dāng)前的狀態(tài),與歷史狀態(tài)和其它方的狀態(tài)無關(guān)。
在跨不同安全級的接口上,特別是從高級別系統(tǒng)向低級別傳輸信息時(shí),必須提供接口隔離,保護(hù)高級別系統(tǒng)和設(shè)備免受到低級別連接方的數(shù)據(jù)崩潰、信息錯(cuò)誤、功能故障等的影響。
接口軟件健壯性:健壯性是針對接口軟件而言,即接口軟件自身不產(chǎn)生錯(cuò)誤,在硬件和數(shù)據(jù)異常情況下也能保持自身不故障。復(fù)用已成熟的接口軟件、或基于成熟接口軟件框架來開發(fā)接口軟件,或在研發(fā)中嚴(yán)格過程控制,均可獲得高質(zhì)量的接口軟件。接口軟件要對各種異常安排好應(yīng)對措施,準(zhǔn)確識別和過濾非法操作。
5.3.4 失效診斷措施
集成系統(tǒng)運(yùn)行時(shí),一旦出現(xiàn)接口失效,應(yīng)在第一時(shí)間啟動自動處理,并設(shè)法通知操作人員,避免問題繼續(xù)擴(kuò)大,使接口盡快恢復(fù)正常。這就要求在線時(shí)能對接口狀態(tài)進(jìn)行診斷,這種能力被稱為接口自診斷。接口自診斷內(nèi)容通常包括設(shè)備診斷、鏈路診斷、會話診斷、數(shù)據(jù)診斷。
設(shè)備診斷:設(shè)備診斷,檢查的是接口對端設(shè)備的在線、離線等狀態(tài),即運(yùn)行期間,接口端設(shè)法檢查與自己存在信息交互的其它連接端的在線或離線狀態(tài),并將此狀態(tài)匯報(bào)給集成系統(tǒng)。設(shè)備在線或離線狀態(tài)信息是集成系統(tǒng)的一類實(shí)時(shí)信息,是設(shè)備監(jiān)視功能所必須的,因此這種檢查通常需持續(xù)、周期性地快速執(zhí)行。
設(shè)備診斷由接口軟件實(shí)現(xiàn),方法是由數(shù)據(jù)傳輸?shù)慕邮辗綑z查是否有來自指定對端設(shè)備通信數(shù)據(jù),如果在規(guī)定時(shí)期內(nèi)沒有收到數(shù)據(jù),就認(rèn)為該設(shè)備離線,否則為在線。為避免誤判,可在連續(xù)多次檢查后再作出判斷。判斷在線與判斷離線所需檢查的次數(shù)通常不同,常見的判斷邏輯是:連續(xù)多次收不到該設(shè)備的數(shù)據(jù)包才判它離線,而隨時(shí)收到它的一包數(shù)據(jù)就可判在線。
在接口協(xié)議中對數(shù)據(jù)傳輸增加的確認(rèn)應(yīng)答,也能完成設(shè)備診斷,比如電力調(diào)度系統(tǒng)的遙控/遙調(diào)命令,在通信規(guī)約就規(guī)定有“選擇-返校-執(zhí)行”過程,其中的“選擇-返校”就可用作發(fā)命令前對信息通道和執(zhí)行設(shè)備狀態(tài)的一個(gè)診斷。
接口協(xié)議中也可以規(guī)定設(shè)備診斷專用的測試幀,運(yùn)行期間可定期插入測試幀和應(yīng)答幀,來執(zhí)行設(shè)備診斷,只有當(dāng)向某一設(shè)備發(fā)送測試幀,后又接收到該測試幀的應(yīng)答幀時(shí),才認(rèn)為該設(shè)備是在線的。
鏈路診斷:鏈路診斷,指在運(yùn)行環(huán)境下對連接的物理或邏輯通路進(jìn)行通斷狀態(tài)的檢查。與設(shè)備診斷一樣,鏈路狀態(tài)也是集成系統(tǒng)重要的實(shí)時(shí)信息,需要進(jìn)行持續(xù)、周期性快速診斷。
鏈路診斷通常由數(shù)據(jù)接收方執(zhí)行,原理也是檢查是否有通信數(shù)據(jù)。與設(shè)備診斷不同的是,鏈路診斷不關(guān)心數(shù)據(jù)來源,只要能收到正確數(shù)據(jù)包就判鏈路正常。
會話診斷:會話診斷,是檢查傳輸過程中是否有丟包、亂序等異常。這種異常會導(dǎo)致接口行為與協(xié)議規(guī)定不一致,引發(fā)通信功能紊亂。
該異常影響的是協(xié)議,診斷它也是從協(xié)議入手。一種方式是在協(xié)議的信息格式中設(shè)置報(bào)文序號、反轉(zhuǎn)標(biāo)志、匹配標(biāo)志等控制字節(jié),控制字節(jié)隨數(shù)據(jù)一同傳輸、并在接收端加以分析解析,識別出異常。也可以在協(xié)議中設(shè)置反饋校驗(yàn)(IRQ)機(jī)制,反饋校驗(yàn)也稱為回程校驗(yàn),信息接收方把收到的數(shù)據(jù)包反送給信息源發(fā)送端,信息源發(fā)送端比較發(fā)送數(shù)據(jù)與回送數(shù)據(jù),從而檢出是否發(fā)生錯(cuò)誤。
數(shù)據(jù)診斷:數(shù)據(jù)診斷是針對通信過程中的錯(cuò)誤數(shù)據(jù)包而言的,即數(shù)據(jù)包傳輸中發(fā)生的誤碼。常用的手段是附加各類校驗(yàn)碼,如奇偶校驗(yàn)碼、循環(huán)冗余校驗(yàn)碼等。(1)奇偶校驗(yàn)碼(Parity)是一種最基本的校驗(yàn)方法。奇偶校驗(yàn)碼是簡單地通過附加一個(gè)檢驗(yàn)位來使得碼字中"1"的個(gè)數(shù)保持為奇數(shù)或偶數(shù)的編碼方法。(2)循環(huán)冗余校驗(yàn)碼CRC(Cyclic Redundancy Code)是一種在計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)通信中用得最廣泛的檢錯(cuò)碼。
CRC具有良好的代數(shù)結(jié)構(gòu)。采用CRC校驗(yàn)時(shí),發(fā)送方和接收方用同一個(gè)生成多項(xiàng)式g(x),并且g(x)的首位和最后一位的系數(shù)必須為1。假設(shè)待發(fā)送的二進(jìn)制數(shù)據(jù)多項(xiàng)式表示為t(x),CRC的處理方法是:發(fā)送方以g(x)去除t(x),得到余數(shù)作為CRC校驗(yàn)碼。校驗(yàn)時(shí),以計(jì)算的校正結(jié)果是否為0為據(jù),判斷數(shù)據(jù)幀是否出錯(cuò)。
5.3.5 冗余容錯(cuò)措施
容錯(cuò)技術(shù)在于用增加額外資源的方法來換取系統(tǒng)的可靠性,這些額外資源,相對于系統(tǒng)為完成其功能所必須的資源而言,稱作冗余資源。
對重要的、失效概率高的接口應(yīng)設(shè)置冗余,使系統(tǒng)具有一定的容錯(cuò)能力。接口冗余,指設(shè)置兩套或多套的接口設(shè)備和連接線路,當(dāng)一處發(fā)生故障時(shí),備用部分能立即投入工作、接替原工作部進(jìn)行信息傳輸。
冗余只用在適合的地方。對通信控制器和通信線路,通常要實(shí)施冗余;對智能設(shè)備和I/O設(shè)備,則多數(shù)時(shí)不用冗余。
冗余結(jié)構(gòu)形式:在信息化集成系統(tǒng)總體設(shè)計(jì)中,為便于接口實(shí)施和管理,通常會設(shè)置一些專用作接口處理的設(shè)備,稱為通信控制器或前端處理機(jī)。這些接口處理設(shè)備可支持多種接口形式,包括以太網(wǎng)、串行點(diǎn)對點(diǎn)、串行總線、現(xiàn)場總線等,可以管理與多套智能設(shè)備和子系統(tǒng)的接口。在被集成和互聯(lián)的另一端,是大量的智能設(shè)備和一定數(shù)量的子系統(tǒng),它們有的是待建的、有的是已建的,單個(gè)個(gè)體使用的接口形式比較單一,個(gè)體能提供的連接端口數(shù)量也有限。
根據(jù)上述特點(diǎn),可列出經(jīng)濟(jì)合理的冗余方案原則:通信控制器可以冗余,被接入的設(shè)備和互聯(lián)的子系統(tǒng)通常不冗余,根據(jù)可用端口數(shù)和應(yīng)用需要可以確定鏈路是否冗余。
冗余功能模式:從功能角度看,接口冗余的模式可分為熱備冗余和并行冗余。熱備冗余是同時(shí)提供兩套接口設(shè)施,為主的那套承擔(dān)接口任務(wù),另一套也啟動起來隨時(shí)備用,一旦為主的設(shè)施失效,系統(tǒng)立即將接口任務(wù)切換到備用設(shè)施。
除熱備冗余外,集成系統(tǒng)也可能會用到并行冗余。并行冗余是指:兩套接口設(shè)施同時(shí)工作,無主備之分,同一時(shí)刻兩套設(shè)施均執(zhí)行接口任務(wù),將信息從源頭分兩路傳輸至目的地的端口。
在網(wǎng)絡(luò)環(huán)節(jié),并行冗余有如下優(yōu)點(diǎn):(1)雙網(wǎng)工作期間,如果一網(wǎng)瞬間通信失效,不會影響接口通信;(2)如果一網(wǎng)長期失效,則接口網(wǎng)可經(jīng)由另一網(wǎng)保持通信,其間不需等待故障檢測、診斷時(shí)間,以及切換時(shí)間;(3)雙網(wǎng)同時(shí)工作,仍可具備故障檢測、診斷功能,一旦發(fā)生故障可及時(shí)將故障網(wǎng)絡(luò)切除,同時(shí)通知維護(hù)人員,由于診斷結(jié)果不作為雙網(wǎng)動態(tài)切換的依據(jù),從而可避免故障檢測失誤造成錯(cuò)誤切換,避免雙網(wǎng)工作不穩(wěn)定造成頻繁互切換,進(jìn)而提高接口可靠性。
并行冗余不單純是硬件設(shè)施冗余,它會帶來信息冗余,即在目標(biāo)接口端會收到雙份信息,這種冗余信息有時(shí)可用作檢錯(cuò)和糾錯(cuò),多數(shù)時(shí)候接收端要將冗余信息過濾掉,保持信息源單一,避免產(chǎn)生歧義和不一致。過濾冗余信息的方法很簡單,可以像熱備冗余一樣選用其中一路,也可以用信息編號來撿出合用信息。
冗余實(shí)現(xiàn)技術(shù):接口冗余技術(shù),是在架構(gòu)層面上解決接口可靠性問題,所以它不是個(gè)局部技術(shù),而是一項(xiàng)全局性技術(shù),會影響到接口的方方面面,甚至?xí)绊懙郊上到y(tǒng)。要實(shí)現(xiàn)冗余,技術(shù)涉及到系統(tǒng)集成的計(jì)算機(jī)、通信、軟件設(shè)計(jì)、可靠性等多門類技術(shù),是一項(xiàng)高復(fù)雜度的工作。實(shí)現(xiàn)接口冗余特別需要軟件進(jìn)行大量事務(wù)處理,如:(1)信息同步:數(shù)據(jù)同步、狀態(tài)同步、通信隔離;(2)鏈路訪問沖突:備用靜默、交叉分時(shí)、主借備路;(3)數(shù)據(jù)一致性處理:冗余信息過濾、一致性核查;(4)故障診斷:對端設(shè)備故障診斷、鏈路故障診斷、本地設(shè)備自診斷、心跳監(jiān)測;(5)故障隔離:故障標(biāo)識、故障通報(bào);(6)主備仲裁:整機(jī)切換、單鏈路切換、單設(shè)備切換、陷阱逃脫原則;(7)系統(tǒng)狀態(tài)機(jī):主備“初始化、工作、故障”疊加“身份切換”;(8)主備切換:操作權(quán)交接、數(shù)據(jù)擾動、切換效率。
這部分軟件設(shè)計(jì)的關(guān)鍵是接口故障檢測、主備仲裁和主備切換,主要設(shè)計(jì)約束是切換效率。
不同系統(tǒng)集成商采用不同的集成平臺,設(shè)計(jì)目標(biāo)和各個(gè)技術(shù)環(huán)節(jié)采用的手段也不盡相同。以主備仲裁中的“選擇主”為例,有的采用故障點(diǎn)數(shù)比較策略,有的采用故障點(diǎn)加權(quán)比較策略,還有的采用局部活動局部待機(jī)策略,等等,這些策略都能保證單故障情形下接口功能不喪丟,同時(shí)還或多或少提供了交叉故障適應(yīng)能力,進(jìn)一步提高了系統(tǒng)可用性。
5.4 接口軟件開發(fā)
5.4.1 接口軟件結(jié)構(gòu)
接口軟件需求的特性要求接口軟件結(jié)構(gòu)與具體設(shè)備無關(guān)。開發(fā)接口軟件時(shí),應(yīng)首先搭建一個(gè)與設(shè)備無關(guān)的接口軟件框架,然后再基于此開發(fā)接口通信驅(qū)動程序。
如果不需要考慮集成系統(tǒng)接口數(shù)量眾多的特性,只要求將一兩個(gè)外圍設(shè)備接入到系統(tǒng)中,那么針對性地開發(fā)一項(xiàng)接口軟件,其難度本身并不大;然而,集成系統(tǒng)的主要特點(diǎn)恰恰就是接口設(shè)備數(shù)量多、類別雜,設(shè)備特性、接口形式、接口協(xié)議、接口信息多種多樣,系統(tǒng)集成商必須要面對這些難題,如果對此提不出有效解決辦法,就會陷入變更、性能、版本、工作量、人手等多方面問題的困境。
解決該問題的有效方法是將接口軟件分出層次:有的層次處理通用的、共性的問題,有的層次處理專用的、個(gè)性化的問題。通過通用層,提供計(jì)算機(jī)硬件資源和接口配置訪問的管理,提供對接口運(yùn)行的調(diào)度管理,提供接口數(shù)據(jù)統(tǒng)一處理的機(jī)制,包裝接口要面對的多數(shù)處理過程,如冗余、數(shù)據(jù)服務(wù)訪問接口等,由此形成平臺化接口的完整框架;在專用層,只需對具體協(xié)議進(jìn)行編碼,形成特定接口驅(qū)動,就能輕松接入特殊設(shè)備和子系統(tǒng)。
基于上述思路搭建起來的通信控制器接口軟件接口如圖3所示。
圖3 通信控制器接口軟件結(jié)構(gòu)示意
接口軟件共分?jǐn)?shù)據(jù)服務(wù)層、接口管理層、接口協(xié)議層、通用硬件層四個(gè)層次。其中,數(shù)據(jù)服務(wù)層為應(yīng)用系統(tǒng)提供數(shù)據(jù)服務(wù),接口管理層提供接口調(diào)度管理,這兩層是所有接口驅(qū)動共用的;通用硬件層提供可復(fù)用的硬件驅(qū)動,如串口驅(qū)動、以太網(wǎng)驅(qū)動等,任何接口驅(qū)動都可以直接使用這些資源;位于接口協(xié)議層的接口驅(qū)動才真正實(shí)現(xiàn)通信協(xié)議,控制報(bào)文收發(fā)和解析。為進(jìn)一步提高接口實(shí)施的效率和質(zhì)量,系統(tǒng)集成商逐步積累出一些標(biāo)準(zhǔn)接口的接口驅(qū)動,搭建出一個(gè)標(biāo)準(zhǔn)接口驅(qū)動庫。標(biāo)準(zhǔn)接口驅(qū)動與接口框架和接口驅(qū)動的關(guān)系如圖4所示。
圖4 接口軟件邏輯結(jié)構(gòu)
接口框架加接口驅(qū)動的軟件結(jié)構(gòu)具有以下優(yōu)點(diǎn):它能綜合平衡接口實(shí)施成本和軟件研制技術(shù)困難,能提高接口軟件的重用度,并保證集成系統(tǒng)的開放性;它能以一致的方式處理通信接口,能支持接口開發(fā)模式的統(tǒng)一,支持工程過程有序開展和工程過程的標(biāo)準(zhǔn)化。
接口驅(qū)動程序:接口驅(qū)動的功能,是按接口協(xié)議規(guī)定,使用規(guī)定的物理端口與外部設(shè)備/子系統(tǒng)進(jìn)行信息交換。歸結(jié)起來有兩項(xiàng)任務(wù):端口通信、協(xié)議處理。
(1)端口通信:通常借助平臺提供的通信硬件驅(qū)動庫來完成。通信硬件驅(qū)動庫中存有可復(fù)用的標(biāo)準(zhǔn)通信板卡驅(qū)動,如串口驅(qū)動、TCP/IP協(xié)議棧、現(xiàn)場總線板塊驅(qū)動等。為方便接口驅(qū)動程序使用,通信硬件驅(qū)動的訪問方式一致,僅通過配置就可切換要用的通信硬件。接口驅(qū)動基本與硬件形式無關(guān)。
按通信硬件與接口驅(qū)動之間的數(shù)據(jù)傳輸特點(diǎn),通信硬件驅(qū)動可分為兩類,串行類型驅(qū)動和板卡型驅(qū)動。串行類型驅(qū)動,指與接口協(xié)議層之間以串行數(shù)據(jù)流進(jìn)行交互的通信硬件驅(qū)動,串行數(shù)據(jù)流可以是類似RS485/USB等的無邊界數(shù)據(jù)流,也可以是類似TCP的有邊界數(shù)據(jù)流。這類驅(qū)動通常有統(tǒng)一定義的編程接口和訪問接口。板卡類型驅(qū)動,指與接口協(xié)議層之間以內(nèi)存映射、雙口RAM、特殊寄存器等形式進(jìn)行交互的通信硬件驅(qū)動,它通常針對特殊的硬件板卡。使用板卡類型驅(qū)動時(shí),需依據(jù)專用通信卡的使用要求,執(zhí)行一些專用的初始化、中斷設(shè)置、寄存器讀寫等操作,或調(diào)用專用的API函數(shù)來獲取采集數(shù)據(jù)和發(fā)送命令。
(2)協(xié)議處理:協(xié)議處理是接口驅(qū)動最主要的任務(wù),以完成最核心的接口傳輸功能。協(xié)議處理也是集成系統(tǒng)應(yīng)對設(shè)備差異的主要環(huán)節(jié)。
對主動傳送型協(xié)議,設(shè)備有主動上傳數(shù)據(jù)的能力,這是許多簡單接口常用的工作方式,接口驅(qū)動程序無需進(jìn)行會話調(diào)度,只要及時(shí)接收和解析數(shù)據(jù)就可以了。
對請求應(yīng)答型和混合型協(xié)議,從接口驅(qū)動發(fā)出請求,經(jīng)硬件通信端口傳遞給另一端的設(shè)備和子系統(tǒng),到設(shè)備和子系統(tǒng)響應(yīng)回來、經(jīng)通信端口提交給接口驅(qū)動程序,這種方式也不太復(fù)雜。接口驅(qū)動需要調(diào)度會話和發(fā)出請求,及時(shí)接收和解析應(yīng)答數(shù)據(jù),同時(shí)還要管理應(yīng)答的超時(shí)狀態(tài)。
實(shí)際應(yīng)用中,來自不同廠家的設(shè)備和系統(tǒng)性能會有所不同,不論使用主動傳送還是用請求應(yīng)答,都會有響應(yīng)快慢的差別。任何設(shè)備都可能隨時(shí)要傳輸信息,為避免響應(yīng)性差的設(shè)備對總體數(shù)據(jù)訪問造成影響,接口驅(qū)動應(yīng)為通信協(xié)議處理和應(yīng)用數(shù)據(jù)服務(wù)提供適度隔離。隔離時(shí),可采用基于數(shù)據(jù)交換區(qū)的前后分兩端結(jié)構(gòu):后端程序負(fù)責(zé)與接口管理的配合,支持?jǐn)?shù)據(jù)訪問服務(wù);前端程序負(fù)責(zé)按協(xié)議與設(shè)備通信,根據(jù)設(shè)備特性調(diào)整交互性能。
接口軟件配置(如圖5所示):針對具體接口的需求,實(shí)現(xiàn)接口軟件并非完全依賴接口驅(qū)動程序。事實(shí)上,接口的許多個(gè)性化是通過軟件配置實(shí)現(xiàn)的。
圖5 接口軟件配置
(1)調(diào)整接口的參數(shù)和形式:通過配置可以改變接口參數(shù)。通常接口的端口號、傳輸速率、校驗(yàn)方式等需要靈活配置,使工程設(shè)計(jì)實(shí)施中可隨時(shí)優(yōu)化和調(diào)整接口方案,以充分利用接口設(shè)備的資源。通過配置甚至可以改變接口形式。之所以能做到這一點(diǎn),是因?yàn)榻涌隍?qū)動以一致的方式使用通信硬件驅(qū)動,由配置指定具體使用何種通信硬件驅(qū)動。由于有這個(gè)能力,同一個(gè)協(xié)議就既能工作在RS232串口上,也能工作在TCP網(wǎng)絡(luò)上,極大提高了協(xié)議的利用率。(2)調(diào)整協(xié)議的參數(shù)和模式:通過配置可調(diào)整協(xié)議的參數(shù)和工作模式。可以通過配置改變接口框架對驅(qū)動程序的調(diào)度,如調(diào)高或降低該驅(qū)動的處理優(yōu)先級,改變它在冗余主從仲裁中的權(quán)重,啟用或終止某類硬件中斷等;通過配置還可以改變接口協(xié)議的交互過程,如禁用對某些類型信息的傳輸,拉長或縮短鏈路故障診斷周期,改變模擬量數(shù)據(jù)和數(shù)字量數(shù)據(jù)采集頻數(shù)的比率,等等。通過這些調(diào)整,可以改變接口性能,使之與對端設(shè)備和子系統(tǒng)獲得最佳配合。(3)信息含義和點(diǎn)表:完整的接口協(xié)議包括信息格式、信息含義和交互過程,其中交互過程和信息格式是在接口驅(qū)動程序用編碼方式實(shí)現(xiàn)的,但信息含義通常不用編碼來實(shí)現(xiàn)。比如說要傳輸哪些模擬量點(diǎn),這些點(diǎn)的量程限制等,接口驅(qū)動程序不把這些信息編到程序代碼中。之所以這樣,也是為了將專用性強(qiáng)的具體信息含義從接口驅(qū)動程序中剝離出來,增強(qiáng)接口驅(qū)動程序的靈活性,以便適用到更多場合中。
5.4.2 信息集成模式
在企業(yè)信息集成時(shí),不同應(yīng)用系統(tǒng)有不同的結(jié)構(gòu)和規(guī)范,這對信息集成有非常大影響。為了能夠既解決業(yè)務(wù)數(shù)據(jù)異構(gòu)性問題、實(shí)現(xiàn)信息共享和協(xié)同,又不增加集成復(fù)雜度,并具備進(jìn)一步擴(kuò)展能力,最實(shí)用的、也是最常用的做法是基于通用數(shù)據(jù)庫和數(shù)據(jù)源級別上進(jìn)行集成。基于通用數(shù)據(jù)庫和數(shù)據(jù)源級別上的集成有三種常用模式:數(shù)據(jù)復(fù)制、數(shù)據(jù)聯(lián)邦和基于接口的數(shù)據(jù)集成,它們分別表達(dá)了對多個(gè)異構(gòu)數(shù)據(jù)源透明、一致訪問的三種實(shí)現(xiàn)方法。三種常用的數(shù)據(jù)集成模式如圖6所示。
圖6 三種常用的數(shù)據(jù)集成模式
數(shù)據(jù)聯(lián)邦,是指不同應(yīng)用共同訪問一個(gè)全局虛擬數(shù)據(jù)庫,通過全局虛擬數(shù)據(jù)庫管理系統(tǒng)為不同應(yīng)用提供全局信息服務(wù),實(shí)現(xiàn)不同應(yīng)用和數(shù)據(jù)源之間的信息共享和數(shù)據(jù)交換。
數(shù)據(jù)復(fù)制,指通過底層應(yīng)用數(shù)據(jù)源之間的一致性復(fù)制,實(shí)現(xiàn)對基于不同數(shù)據(jù)的各類應(yīng)用之間的信息共享和互操作。
基于接口的信息集成,指不同應(yīng)用系統(tǒng)間利用適配器或接口代理,實(shí)現(xiàn)相互調(diào)用。適配器或接口代理提供應(yīng)用編程接口,通過這些開放接口可提取業(yè)務(wù)信息,供應(yīng)用系統(tǒng)共享和交換。接口調(diào)用方式可以采用同步調(diào)用方式,也可以采用基于消息中間件的異步方法來實(shí)現(xiàn)。
作者簡介:
魏曉東,1967年畢業(yè)于天津大學(xué)精儀系。1984~1991年任安徽工業(yè)大學(xué)自動化系副教授。1991年出版《分散型控制系統(tǒng)》( 上海科技文獻(xiàn)出版社) 。2000~2012年任北京和利時(shí)系統(tǒng)工程公司副總工、事業(yè)部總設(shè)計(jì)師,北京地鐵13號線、深圳地鐵一期工程、廣州地鐵3號線綜合監(jiān)控系統(tǒng)工程技術(shù)總負(fù)責(zé)人。2006、2010年出版《城市軌道交通自動化系統(tǒng)與技術(shù)》初版與第二版(電子工業(yè)出版社);2010年主編國家標(biāo)準(zhǔn)《城市軌道交通綜合監(jiān)控系統(tǒng)工程設(shè)計(jì)規(guī)范》(GB50636-2010)《城市軌道交通綜合監(jiān)控系統(tǒng)施工與質(zhì)量驗(yàn)收規(guī)范》(GB/T50732-2011);2010年主編關(guān)于兩化融合的國家標(biāo)準(zhǔn)《工業(yè)企業(yè)信息化集成系統(tǒng)規(guī)范》(GB/T26335-2010)。2013年至今任清華同方數(shù)字城市工程中心技術(shù)專家,住建部城市軌道交通標(biāo)注技術(shù)網(wǎng)Eu委員會委員,全國自動化系統(tǒng)與集成標(biāo)準(zhǔn)技術(shù)委員會委員。
摘自《自動化博覽》2017年9月刊