| 當今的冶金、石化、化工、電力、水泥、汽車、製藥、食品與飲料等工業的自動化係統,幾乎毫無例外的采用分布式控製係統。隨著電子技術、通訊技術和軟件技術的發展,分布式係統也發生了很大的變化,下麵就這個題目進行一些探討。 集中式係統 早(zao)期(qi)的(de)儀(yi)表(biao)控(kong)製(zhi)係(xi)統(tong)和(he)電(dian)氣(qi)控(kong)製(zhi)係(xi)統(tong)都(dou)是(shi)集(ji)中(zhong)式(shi)的(de),原(yuan)因(yin)是(shi)工(gong)業(ye)化(hua)大(da)規(gui)模(mo)生(sheng)產(chan)線(xian)還(hai)未(wei)形(xing)成(cheng),控(kong)製(zhi)的(de)物(wu)理(li)麵(mian)積(ji)比(bi)較(jiao)小(xiao),所(suo)以(yi)沒(mei)有(you)這(zhe)種(zhong)需(xu)求(qiu)。設(she)備(bei)的(de)控(kong)製(zhi)都(dou)是(shi)獨(du)立(li)的(de),控(kong)製(zhi)係(xi)統(tong)都(dou)安(an)裝(zhuang)在(zai)設(she)備(bei)附(fu)近(jin),輸(shu)入(ru)/輸出的走線距離,通常不會超過二十米,而且設備與設備之間、設備與車間/廠級之間也沒有通信要求,設備與操作人員通過按鈕、指示燈來進行交互,功能比較簡單,設備的加工和製造的產品,屬於“大批量,少品種”的狀態。因此,自動化的控製水平處於初級階段。
 圖1:典型遠程輸入/ 輸出係統 分布式係統輸入/輸出係統 隨著流水線、自動線、生產線的發展和擴大,對自動化控製係統的要求也隨之提高。因為原來的輸入、輸出的走線距離為十幾米、幾十米,後來的要求提高到上百米,甚至幾百米,所以帶來的問題有兩個:一是輸入、輸出的距離過遠,信號衰減過大,導致了誤動作,甚至無法工作(現在的接線距離通常限製在四百米以內);二是輸入、輸出線都采用並行接法,隨著距離的增加,電纜的費用也不斷增加,而且給後來的校線、調試、運行和維護都帶來問題,所以使得項目的整體擁有成本(TOC)大大的提高了。 為了解決上述問題,自動化製造廠家推出了結構稱為遠程輸入/輸出係統(Remote Input/Output System),它的特點是CPU機架與輸入/輸出模塊(輸入/輸出機架)先進行物理上的分離,也就是用於遠程輸入/輸出點的輸入/輸出模塊不再安裝於本地機架,而是安裝於遠程機架。本地機架與遠程機架采用遠程通訊電纜來連接,遠程機架的輸入/輸出模塊再連接周圍的輸入/輸出點。這樣就把原先的並行電纜,改變成現在的串行電纜(遠程電纜),減少了接線成本。(理論上講,把並行連接改為串行連接,係統的可靠性是下降了,這也是結構變化所要付出的代價吧) 我wo們men要yao知zhi道dao,這zhe種zhong結jie構gou上shang的de變bian化hua是shi有you技ji術shu含han量liang的de。因yin為wei遠yuan程cheng輸shu入ru模mo塊kuai在zai了le輸shu入ru信xin號hao後hou,要yao經jing過guo處chu理li,先xian把ba它ta們men轉zhuan換huan成cheng數shu字zi信xin號hao,再zai把ba它ta們men變bian成cheng一yi種zhong數shu據ju幀zhen,常chang被bei稱cheng之zhi為wei某mou種zhong特te定ding的de“協議”,具有規定的格式,然後經過遠程分站模塊、遠程通訊電纜,到遠程主站模塊,傳送到CPU站進行處理,處理後的結果再經過遠程主站模塊、遠程電纜,傳回給遠程分站模塊,經“翻譯”後,由遠程站上的輸出模塊輸出給執行機構。 我們即得益於遠程係統,也受製於遠程係統。遠程係統中的遠程主站模塊、遠程電纜、遠程分站模塊成了整個係統的軟肋,所以要格外重視。我們考慮問題的原則是:擔心哪部分弱,容易出問題,就加強哪部分的實力。比如說:擔心遠程主站出問題,我們就對主站模塊做冗餘;擔心電纜出問題,就對電纜進行冗餘;擔心分站出問題,就對分站模塊冗餘。應該說這種係統都是可以實現的,考慮到係統的造價問題,很多廠家采取了折衷的方案:遠程主站、遠程分站各為一個模塊,但有單口和雙口之分,用於連接一根或兩根遠程電纜,實現了電纜冗餘。 冗餘的電纜也有不同的工作方式,無外乎有以下幾種方式:兩纜同時工作,把信號比較後,再進行輸出;兩纜同時工作,僅取一個信號進行輸出;兩纜一用一備,直到用的一根出了問題,才進行切換;lianglanyiyongyibei,anshijianjiangejinxingqiehuan。yongyubeideqiehuanwanquanyouxitongkongzhi,zidongjinxing,yonghuyibanwuxurenhecaozuo。zhiyuchangjiacaiyongnazhongfangshi,jiyaokaolvshixiandejishunandu,yeyaokaolvshixiandeshangyechengben。gezidouyougezidedaoli,zhejiushiyizhongxuanzeba,yeshiyizhongchayihuajingzheng。zongzhi,duiyuyonghueryan,shuanglanzongshibidanlanyaokekaoxinggao,xinlijiaozhetashi。 以上談的是硬件部分,下麵再說說軟件部分。因為工業現場的環境比較惡劣,比如:灰塵、震動、衝擊、電壓波動等,最大影響就是來自現場的大設備,如:大電機的啟動和停止,會帶來一係列的連鎖反應:接觸器的吸合與斷開,軟驅動器啟動和停止,變頻器的運行和停止。還有一些高壓、中(zhong)壓(ya)開(kai)關(guan)櫃(gui)的(de)運(yun)行(xing)等(deng),都(dou)帶(dai)有(you)很(hen)強(qiang)的(de)電(dian)氣(qi)幹(gan)擾(rao)和(he)電(dian)磁(ci)輻(fu)射(she)。而(er)它(ta)們(men)通(tong)常(chang)也(ye)都(dou)與(yu)自(zi)動(dong)化(hua)係(xi)統(tong)的(de)控(kong)製(zhi)櫃(gui)放(fang)在(zai)一(yi)起(qi),而(er)它(ta)們(men)非(fei)常(chang)容(rong)易(yi)對(dui)低(di)電(dian)平(ping)的(de)通(tong)訊(xun)信(xin)號(hao)產(chan)生(sheng)影(ying)響(xiang)。因(yin)此(ci),抗(kang)幹(gan)擾(rao)就(jiu)成(cheng)了(le)工(gong)業(ye)通(tong)訊(xun)要(yao)解(jie)決(jue)的(de)首(shou)要(yao)難(nan)題(ti)。 為了解決現場的幹擾問題,除了在物理上要采用帶屏蔽的電纜、屏蔽線單端接地、信號線兩端加接終端電阻、動力線與信號線分開布線或者保持一定的間隔、自動化係統與其他係統分開接地外,還要在通信的協議上下功夫。前麵提到:遠程協議都有規定的幀格式,而其中的一部分就是要對傳送數據的周期性進行檢驗,確保傳輸的過程準確無誤,這部分內容被稱為FCS(Frame Check Sequence)-幀檢測序列,它是一種檢測算法,專門用於通訊數據的檢查。常用的算法有兩種:循環冗餘碼校驗(CRC:Cyclic Redundancy Check),和縱向冗餘碼校驗(LRC:Longitudinal Redundancy Check),有8位、16位和32位之分,位數越多,校驗能力就越強。 校驗的基本原理是:發送數據之前,在發送端係統要對傳送的數據幀中的數據進行計算,比如CRC的運算,把得出的結果放在FCS段,使之成為一個數據幀進行傳送;數shu據ju經jing過guo傳chuan送song,並bing被bei目mu的de站zhan接jie收shou後hou,在zai接jie收shou站zhan對dui接jie收shou數shu據ju幀zhen的de數shu據ju進jin行xing運yun算suan,當dang然ran是shi和he出chu發fa時shi的de相xiang同tong運yun算suan,得de出chu的de結jie果guo再zai和he接jie收shou數shu據ju幀zhen中zhong的deFCS內容進行比較,如果一致則說明傳輸無誤,這一幀的傳送任務完成,進行下一步的工作;如果不一致,則說明傳輸有誤,告訴傳送源請求數據重發。發送端通常會有一個重發的次數限製,比如3次,如果連續發生錯誤就說明線路有嚴重故障,甚至已經斷開,係統會停止再試,馬上向CPU和上位機操作員報警。 集散控製係統 在過程控製行業,也稱為儀表控製行業,也從分立的儀表控製發展到了集成的控製係統,被稱之為dcs(Distributed Control System)係統。我國在引進這種技術時,為了闡述分散控製、集中管理這個理念,把它翻譯成:集散控製係統,而不是分布式控製係統。但我們從英文的內容看到:DCS是分布式控製係統的簡稱,強調的是“分布”的概念。 什(shen)麼(me)是(shi)分(fen)布(bu)的(de)真(zhen)正(zheng)含(han)義(yi)呢(ne)?從(cong)概(gai)念(nian)上(shang)說(shuo),所(suo)謂(wei)分(fen)布(bu)就(jiu)是(shi)要(yao)分(fen)散(san)危(wei)險(xian),也(ye)就(jiu)是(shi)說(shuo),不(bu)能(neng)因(yin)為(wei)係(xi)統(tong)中(zhong)的(de)某(mou)個(ge)元(yuan)件(jian)或(huo)部(bu)件(jian)出(chu)問(wen)題(ti),而(er)造(zao)成(cheng)整(zheng)個(ge)係(xi)統(tong)的(de)癱(tan)瘓(huan)。從(cong)結(jie)構(gou)來(lai)看(kan),就(jiu)是(shi)把(ba)控(kong)製(zhi)係(xi)統(tong)比(bi)較(jiao)重(zhong)要(yao)的(de)部(bu)分(fen),如(ru)CPU,分散到幾個CPU來實現;如存儲器,分散到多個模塊執行;如總線,變成冗餘的網絡進行;如操作係統,變成基於實時網絡、多任務操作係統。 下麵就對比我們非常熟悉的PC機,來理解DCS係統的結構。當老師介紹PC機的構成時,可以知道是由中央處理器(CPU),內部存儲器(RAM),外部存儲器(硬盤),內部總線(ISA,VESA,PCI等)和輸入設備(鍵盤、鼠標、光驅、攝像頭等),輸出設備(顯示器、打印機、繪圖儀等)等構成;而DCS係統就是把上述的部件,變成網絡中的一個節點單元(每個都相當於獨立運行的PC機),來分散風險。 比如:DCS係統中的過程控製器和邏輯控製器,相當於兩個CPU,分別完成儀表控製和電氣控製;應用數據管理器相當於內部存儲器;曆史數據管理器相當於外部存儲器;操作員站和工程師站相當於部分輸入/輸出單元;而所有的節點單元都通過實時的局域控製網絡――相當於PC內部在線,連接在一起,構成了基本的DCS係統。可以看出:DCS係統是PC經過放大了的係統。但從係統的實現上,發生了質的變化:不因為某個節點單元發生故障,而造成整個係統的失效。不像我們的PC機:經常死機,需要重新驅動! DCS係統不光分散了危險,也分散了CPU的負載。PC機中的所有工作都由一個CPU來做,而DCS係統中,則由多個CPU來實現,從而降低了每個CPU的工作量。應該說,這也是非常有意義的,因為CPU的負載超過某個值時,如80%,可能會造成過熱、死機等問題,就是說:具有發生故障的潛在可能性。這也就是為什麼很多遊戲玩家,用“極品飛車”來測試CPU的性能,實際上,這是一種超負荷測試,來檢驗CPU的能力。從另外一個角度來說,僅僅使用集成度和時鍾頻率來提高CPU的性能的方法,遇到了物理和材料方麵的極限,所以,無論是英特爾,還是AMD都采用雙核與多核技術來提高CPU的性能。這也從反方向證明了:通過多CPU的方法可以提高整個係統能力。
 圖2:典型的DCS 結構 現場總線係統 前麵介紹了遠程輸入/輸(shu)出(chu)係(xi)統(tong)的(de)基(ji)本(ben)概(gai)念(nian)和(he)結(jie)構(gou),如(ru)果(guo)再(zai)仔(zai)細(xi)分(fen)析(xi)就(jiu)會(hui)發(fa)現(xian),雖(sui)然(ran)係(xi)統(tong)解(jie)決(jue)了(le)本(ben)地(di)到(dao)遠(yuan)程(cheng)的(de)接(jie)線(xian)問(wen)題(ti),可(ke)到(dao)了(le)遠(yuan)程(cheng)機(ji)架(jia),還(hai)是(shi)采(cai)用(yong)傳(chuan)統(tong)的(de)機(ji)架(jia)、傳統的模塊、傳統的並行接線。我們會問:有沒有可能從根本上改變傳統的接線方式?有沒有不用並行連接,而隻用串行連接的傳感器/執行器?這個答案就是:使用現場總線! 現場總線的曆史可以追溯到上世紀的八十年代,由於工業自動化界缺少IT界類似於IBM和微軟、英特爾這樣的重量級大腕,一時間,現場總線的種類多如牛毛,有點象春秋戰國時代的封建諸侯,各自為政,多達數十種,就連IEC通過的品種也有十八類。比如常用的有:Asi,Can,Modbus,InterBus,Profibus,FF,HART等。
 圖3:Asi 典型配置 現場總線對於工業控製和自動化的最大貢獻是:它徹底顛覆了傳統的接線方式,並把智能分配給了傳感器和執行器。 第di一yi,前qian麵mian提ti到dao,傳chuan統tong的de接jie線xian方fang式shi是shi並bing行xing的de,而er現xian場chang總zong線xian一yi律lv采cai用yong串chuan行xing方fang式shi。隻zhi是shi考kao慮lv對dui傳chuan統tong接jie線xian方fang式shi的de兼jian容rong,才cai允yun許xu在zai某mou些xie節jie點dian上shang,可ke以yi轉zhuan成cheng並bing行xing方fang式shi接jie線xian。從cong拓tuo撲pu結jie構gou上shang看kan,有you些xie現xian場chang總zong線xian除chu了le支zhi持chi總zong線xian方fang式shi之zhi外wai,還hai支zhi持chi樹shu形xing、星形、環形和混合形的方式。從距離上看,從100米到1000米、數千米不等;從速度上說,低的有9600波特率,高的有幾兆、十幾兆的波特率。如果把以太網技術也納入到現場總線裏來的話,距離可以到幾十到上百公裏,速度可以達到千兆和萬兆! 第二,傳感器和執行器的智能化。現場總線不光能夠傳送傳統的物理量的值,如:離散量、模擬量、脈衝量等,還可以傳送傳感器和執行器的狀態量。應該說:這是一次質的飛躍!因為這是一個從前非現場總線不可能完成的任務! 試想一下,很多傳感器裝在平常人難於觸及的地方,如:煙囪、地下、核he實shi施shi等deng,如ru果guo傳chuan感gan器qi能neng夠gou自zi己ji主zhu動dong把ba運yun行xing狀zhuang態tai告gao知zhi控kong製zhi係xi統tong,那na真zhen是shi現xian場chang維wei護hu人ren員yuan的de喜xi訊xun,大da大da減jian少shao了le係xi統tong維wei護hu的de費fei用yong。具ju了le解jie,某mou個ge廠chang家jia的de變bian送song器qi的de診zhen斷duan參can數shu多duo達da37個,什麼斷線啦、溫度超限啦、yuanjianxuhanla,tongtongyiwangdajin。keyishuo,zhiyaoniguanxindewenti,tamenquandoubaokuo。shiyongzhezhongbiansongqideyonghu,shifouhuiyinweizhezhongchanpindegongnengershuangdailene? 智(zhi)能(neng)傳(chuan)感(gan)器(qi)的(de)出(chu)現(xian),也(ye)為(wei)維(wei)護(hu)人(ren)員(yuan)對(dui)設(she)備(bei)的(de)維(wei)護(hu),由(you)被(bei)動(dong)轉(zhuan)為(wei)了(le)主(zhu)動(dong)。試(shi)舉(ju)一(yi)例(li)來(lai)說(shuo)明(ming)之(zhi)。每(mei)種(zhong)傳(chuan)感(gan)器(qi)都(dou)是(shi)有(you)壽(shou)命(ming)的(de),比(bi)較(jiao)重(zhong)要(yao)的(de)參(can)數(shu)是(shi):產品的電氣壽命和機械壽命,一來這兩個參數是不一樣的;二來到了壽命不一定這個傳感器就不能用了,可能還能持續一段時間,但具有潛在失效的可能性。傳統的維護方法有兩種,一種為:直(zhi)到(dao)該(gai)傳(chuan)感(gan)器(qi)出(chu)了(le)故(gu)障(zhang),不(bu)能(neng)用(yong)或(huo)者(zhe)影(ying)響(xiang)生(sheng)產(chan)時(shi),才(cai)來(lai)查(zha)找(zhao)問(wen)題(ti)發(fa)生(sheng)的(de)故(gu)障(zhang)源(yuan),找(zhao)到(dao)後(hou),更(geng)換(huan)該(gai)產(chan)品(pin),這(zhe)勢(shi)必(bi)影(ying)響(xiang)生(sheng)產(chan),帶(dai)來(lai)延(yan)時(shi)和(he)產(chan)品(pin)質(zhi)量(liang)的(de)損(sun)失(shi);另一種為:按時更換所有的傳感器產品,以防因為傳感器故障影響生產,但這種方式維護的費用比較高,有些產品甚至怎麼用就更換,比較浪費。 我們再來看看什麼是主動的維護方法。充分利用傳感器的智能——處理器和存儲器,對其狀態進行監視。講一個最簡單的方法,傳感器不是有使用壽命嗎?比如說明書上標注的是:20萬次。那就對它的使用次數進行計數,快要達到這個次數時,如18萬次,就馬上提醒維護人員,告訴他們趕快更換這個傳感器,否則要發生故障了。這樣就可以把故障處理在它可能發生之前!dangranle,jishiguzhangyouyuqitadeyuanyinfashengle,namezhazhaoqilaiyebichuantongdechuanganqirongyideduo,yinweitadeguzhangzhuangtaiyijingxianshizaicaozuoyuandepingmushangle。 全分布式係統 前麵介紹的分布式輸入/輸出係統,由於曆史的原因,主站節點單元都放於環境較好的主機房裏,通常還帶有空調係統,確保室內的溫度。這主要擔心CPU是有源元件,集成度不高,容易出問題。而輸入/輸出從站節點單元位於較為惡劣的現場,考慮的是輸入/輸出模塊大多數為無源的電阻、電容等元件構成,所以抗幹擾的能力比較強,這就組成了傳統的遠程輸入/輸出的係統結構。
 圖4:典型全分布式方案 今天再看這種係統結構,也還是有很大的問題:第一,過分倚賴遠程網絡,所有的輸入信號不管是否使用,不管時間長短,不管是否變化,每個掃描周期都要通過網絡送向主站;而經過運算的結果,再通過網絡,送向遠程分站,線路繁忙,效率低下。第二,過分倚賴主站CPU的作用,所有的運算都由它來完成,負擔較重,負載較大,而且一旦出現問題(包括CPU、網絡),因為這是一種主從結構,分站是波動的接受方,所以即使知道也無能為力,隻能聽天由命。 為了克服上述問題,全分布式係統更多地強調平衡、和諧和主動。改變的方式如下:在遠程分站,把通訊適配器改換成一個小CPU,把(ba)原(yuan)來(lai)遠(yuan)程(cheng)主(zhu)站(zhan)單(dan)元(yuan)向(xiang)遠(yuan)程(cheng)分(fen)站(zhan)發(fa)送(song)數(shu)據(ju)的(de)單(dan)向(xiang)傳(chuan)送(song),變(bian)為(wei)既(ji)可(ke)以(yi)主(zhu)站(zhan)往(wang)分(fen)站(zhan)送(song),又(you)可(ke)以(yi)分(fen)站(zhan)單(dan)元(yuan)往(wang)主(zhu)站(zhan)發(fa)送(song)的(de)雙(shuang)向(xiang)通(tong)訊(xun)。另(ling)外(wai),分(fen)站(zhan)的(de)CPU也可以運行一些程序,分擔主站CPU的負載。 這種結構的優點是: ■ 遠程分站的CPU可以分擔主站CPU的部分工作,這個百分比可以由用戶來決定。比如:主站CPU和分站CPU各自執行50%的程序。這樣就降低了主站CPU的負載。在最糟糕的情況,如主CPU停機或者遠程通訊完全中斷時,分站CPU承擔所有工作,係統仍然可以正常運行。 ■ 因為有了分站CPU,分站的處理能力加強,可以按照應用需求減少遠程網絡的傳送數據,因為不是每個數據,每個掃描周期都要傳送給主站單元。比如:有些數字量在掃描周期裏沒有變化,對程序沒有影響,就不用傳送;有(you)些(xie)模(mo)擬(ni)量(liang)變(bian)化(hua)非(fei)常(chang)緩(huan)慢(man),我(wo)們(men)可(ke)以(yi)給(gei)它(ta)們(men)設(she)置(zhi)一(yi)個(ge)死(si)區(qu),在(zai)這(zhe)個(ge)區(qu)域(yu)內(nei),我(wo)們(men)認(ren)為(wei)它(ta)沒(mei)有(you)變(bian)化(hua),所(suo)以(yi)也(ye)不(bu)用(yong)傳(chuan)送(song)。這(zhe)樣(yang)就(jiu)降(jiang)低(di)了(le)網(wang)絡(luo)的(de)負(fu)載(zai)。 ■ 原來的結構,分站因為沒有CPU,完(wan)全(quan)處(chu)於(yu)被(bei)動(dong),狀(zhuang)態(tai)是(shi)主(zhu)站(zhan)發(fa),分(fen)站(zhan)收(shou),是(shi)一(yi)種(zhong)單(dan)向(xiang)通(tong)訊(xun)。用(yong)現(xian)在(zai)的(de)新(xin)結(jie)構(gou),除(chu)了(le)原(yuan)來(lai)的(de)方(fang)式(shi)外(wai),還(hai)可(ke)以(yi)增(zeng)加(jia)分(fen)站(zhan)主(zhu)動(dong)向(xiang)主(zhu)站(zhan)發(fa)送(song)或(huo)索(suo)要(yao)信(xin)息(xi),構(gou)成(cheng)了(le)一(yi)個(ge)反(fan)向(xiang)通(tong)訊(xun)。這(zhe)樣(yang)分(fen)站(zhan)就(jiu)增(zeng)加(jia)了(le)主(zhu)動(dong)性(xing),可(ke)以(yi)根(gen)據(ju)主(zhu)站(zhan)、網絡的情況,決定自己做什麼工作,做多少工作,使得整個控製係統更加趨於平衡。運行更加趨於合理。 ■ 在設備冗餘的主站係統中,主站CPU進行切換時,如果沒有分站的CPU,可能會發生兩種情況:有擾動切換和無擾動切換。這種擾動是由於分布式網絡運行周期與主站CPU的掃描周期不同步而造成的,如果兩者同步就不會產生擾動,如果不同步就有可能產生擾動。而新結構增加了CPU,可以判斷主站的工作情況,然後采取對應的策略,所以可以消除不必要的擾動。 從以上分析可以看出,從集中式I/O到分布式I/O(遠程I/O),從集中式CPU到本地分布式CPU(dcs),從遠程嵌入式CPU(現場總線),到遠程分布式CPU(新分布式係統),有著一種符合其規律的發展過程,這也是伴隨著芯片製造技術的提高,分站CPU抗幹擾能力的增強,以及處理器價格的降低帶來結果。因此我們的項目設計人員、項目執行人員、項目谘詢人員和最終使用人員,應該與時俱進,轉變固有概念,把自動化係統構建的更為高效,更為合理,更為平衡,更為和諧。 |