專利名稱:用于分布式控制系統(tǒng)的智能接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于分布式控制系統(tǒng)(DCS)的接口,并且更具體地涉及一種用于DCS的智能接口。
背景技術(shù):
DCS是針對(duì)工業(yè)過程的控制專用的系統(tǒng),其中該系統(tǒng)由控制模塊所組成,該控制模塊并未定位于中央而是代替為貫穿過程對(duì)其進(jìn)行分布,其中該工業(yè)過程的每個(gè)子過程由一個(gè)或多個(gè)控制模塊所控制。DCS的其它組件包括輸入和輸出(I/O)模塊和通信模塊。DCS內(nèi)的模塊之間的通信通常利用專有協(xié)議。對(duì)于具有專有通信協(xié)議的DCS而言,通常提供接口以使得諸如維護(hù)管理系統(tǒng)或監(jiān)管系統(tǒng)之類的外部應(yīng)用或系統(tǒng)能夠從DCS獲取信息并且另外與DCS進(jìn)行通信。常規(guī)的DCS接口利用DCS的靜態(tài)模型或配置。該配置使用通常被稱作“標(biāo)簽”的數(shù)據(jù)點(diǎn)進(jìn)行人工建立。標(biāo)簽包括輸入、輸出、設(shè)置點(diǎn)、所測(cè)量變量、控制器增益、模塊狀態(tài)等。用于DCS配置的標(biāo)簽以兩種方式之一進(jìn)行人工輸入。標(biāo)簽可以被直接輸入到接口之中或者標(biāo)簽可以從人工建立并驗(yàn)證的工程工作站數(shù)據(jù)庫(kù)輸入到接口之中。以任一種方式,用戶都必須人工輸入標(biāo)簽并且確保該配置是正確的且最新的。由于配置中的誤差會(huì)導(dǎo)致控制系統(tǒng)的不正確操作,所以這是非常重要的。除了以上內(nèi)容之外,常規(guī)的DCS接口通常沒有防止不正確或無效命令被發(fā)送至DCS的特征。因此,通過這種接口所發(fā)送的不正確或無效命令可能導(dǎo)致DCS的中斷或者甚至導(dǎo)致作為DCS —部分的某些設(shè)備的損壞?;谝陨蟽?nèi)容,需要一種便于構(gòu)建并且更好地保護(hù)DCS的有所改進(jìn)的DCS接口。本發(fā)明針對(duì)這樣的接口。
發(fā)明內(nèi)容
依據(jù)本發(fā)明,提供了一種用于將外部應(yīng)用連接至分布式控制系統(tǒng)(DCS)的方法和接口系統(tǒng)。該接口系統(tǒng)包括具有指令的計(jì)算機(jī)可讀介質(zhì),該指令用于使得計(jì)算機(jī)執(zhí)行該方法。依據(jù)該方法,對(duì)DCS進(jìn)行掃描以確定其配置。所確定的DCS的配置用于構(gòu)建DCS的拓?fù)淠P汀耐獠繎?yīng)用接收針對(duì)來自DCS中的模塊的數(shù)據(jù)的外部請(qǐng)求。使用該拓?fù)淠P鸵源_定該模塊是否能夠提供所請(qǐng)求的數(shù)據(jù)。
考慮到以下說明書、所附權(quán)利要求和附圖將更好地理解本發(fā)明的特征、方面和優(yōu)勢(shì),其中:圖1是具有多個(gè)過程控制單元的第一分布式控制系統(tǒng)(DCS)的示意圖;圖2是連接至對(duì)根據(jù)本發(fā)明所實(shí)施的智能接口進(jìn)行主控的工作站的第一 DCS和第_.DCS的不意圖3是智能接口的示意圖;圖4是智能接口的主例程的流程圖;圖5是智能接口的回路掃描子例程的流程圖;圖6是智能接口的節(jié)點(diǎn)掃描子例程的流程圖;以及圖7是用于存儲(chǔ)智能接口的拓?fù)淠P偷念惤Y(jié)構(gòu)。
具體實(shí)施例方式應(yīng)當(dāng)注意的是,在以下的詳細(xì)描述中,無論是否在本發(fā)明的不同實(shí)施例中示出,相同的組件具有相同的附圖標(biāo)記。還應(yīng)當(dāng)注意的是,為了清楚簡(jiǎn)明地公開本發(fā)明,附圖可以不必要按比例并且本發(fā)明的某些特征可以以稍微示意性的形式示出。現(xiàn)在參考圖1,示出了可以隨其使用本發(fā)明的DCS 10的示意圖。DCS 10包括回路12,回路12包括多個(gè)節(jié)點(diǎn)16、18、20、22、24與之相連接的一個(gè)或多個(gè)網(wǎng)絡(luò)線纜14。每個(gè)節(jié)點(diǎn)包括連接至回路12以便與回路12上的其它節(jié)點(diǎn)進(jìn)行通信的一個(gè)電子設(shè)備或多個(gè)電子設(shè)備。每個(gè)節(jié)點(diǎn)在回路上具有唯一的地址,并且每個(gè)節(jié)點(diǎn)通過終端單元(TU) 28連接至回路
12。雖然在圖1中僅示出了一個(gè)回路,但是應(yīng)當(dāng)意識(shí)到的是,DCS 10可以包括多個(gè)回路,諸如圖2中所示出的。在一個(gè)實(shí)施例中,回路12是以10兆赫或2兆赫的通信速率進(jìn)行工作的單向、聞速串行數(shù)據(jù)網(wǎng)絡(luò)。節(jié)點(diǎn)16、20分別包括過程控制單元(P⑶)30、32。如以下將更為詳細(xì)描述的,每個(gè)P⑶30、32包括網(wǎng)絡(luò)通信管理器(NCM)模塊35以及一個(gè)或多個(gè)用于對(duì)在諸如發(fā)電廠、造紙廠或者化學(xué)或制造車間之類的工業(yè)設(shè)施中的過程或子過程進(jìn)行控制的控制器。NCM模塊35監(jiān)視用于傳出數(shù)據(jù)至數(shù)據(jù)包控制器,并且將收到的數(shù)據(jù)路由且傳送至控制器。每個(gè)控制器可以是冗余的,并且POT可以包含在第二 TU 28上相連至網(wǎng)絡(luò)的冗余NCM模塊35。節(jié)點(diǎn)16、20中的每一個(gè)通過TU 28以及一個(gè)或多個(gè)NCM模塊35連接至回路12。節(jié)點(diǎn)18、22包括分別具有與之相連接的操作員工作站36、28的計(jì)算機(jī)接口單元(CIU) 340每個(gè)工作站36、38包括處理器和相關(guān)聯(lián)的存儲(chǔ)器以及用于顯示圖形用戶界面(⑶I)的監(jiān)視器,操作員可以通過該監(jiān)視器對(duì)設(shè)施中的過程和子過程進(jìn)行監(jiān)視和人工控制。每個(gè)工作站36、38通過CIU 34和TU 28連接至回路12。CIU 34可以獨(dú)立于工作站或者集成到工作站之中,但是作為DCS 10的一部分。為了便于說明,與工作站36、38相關(guān)聯(lián)的CIU34與工作站36、38集成。如以下將更為詳細(xì)描述的,智能接口系統(tǒng)44被存儲(chǔ)在工作站38的存儲(chǔ)器中并且由工作站38的一個(gè)或多個(gè)處理器所執(zhí)行。P⑶32包括連接至通信總線52的多個(gè)基于微處理器的控制器50,該通信總線52可以是具有類似以太網(wǎng)的協(xié)議的串行通信系統(tǒng)。每個(gè)控制器50包含用于對(duì)工業(yè)設(shè)施的一個(gè)或多個(gè)子過程(或回路)進(jìn)行控制的一個(gè)或多個(gè)控制程序(或配置)。該控制程序利用通過一個(gè)或多個(gè)I/O子系統(tǒng)54從現(xiàn)場(chǎng)設(shè)備所接收的操作數(shù)值。每個(gè)單獨(dú)控制器50或冗余控制器50的配對(duì)可以具有單獨(dú)的I/O子系統(tǒng)54。控制程序可以以五種IEC 61131-3標(biāo)準(zhǔn)的語言:梯形圖、結(jié)構(gòu)化文本、功能塊圖、指令表和順序功能圖中的一種或多種進(jìn)行編寫。此外,控制程序可以以諸如C的傳統(tǒng)編程語言進(jìn)行編寫。在本發(fā)明的一個(gè)實(shí)施例中,控制程序可以以功能塊圖進(jìn)行編寫。來自控制程序的輸出通過I/O子系統(tǒng)54而被傳送至現(xiàn)場(chǎng)設(shè)備的控制設(shè)備。I/O子系統(tǒng)54包括連接至I/O總線58的多個(gè)I/O模塊56。控制器50還連接至I/o總線58以從I/O模塊56接收操作數(shù)值。通常,P⑶30具有類似于P⑶32的配置,即P⑶30具有多個(gè)控制器、通信總線和I/O子系統(tǒng)。現(xiàn)在參考圖2,示出了本發(fā)明的一個(gè)實(shí)施例,其中企業(yè)具有(第一)DCS 10和第二DCS 70。此外,示出第一 DCS 10具有第二回路60,第二回路60具有類似于(第一)回路12的配置,即第二回路60具有一個(gè)或多個(gè)P⑶,每個(gè)P⑶具有多個(gè)控制器、通信總線和I/O子系統(tǒng)。第一和第二回路12、60由橋接模塊62所連接。第二 DCS 70具有類似于DCS 10的配置,即該DCS具有一個(gè)或多個(gè)回路,每個(gè)回路具有一個(gè)或多個(gè)PCU,每個(gè)PCU包括多個(gè)控制器、通信總線和I/O子系統(tǒng)。如所示出的,工作站38和運(yùn)行于其上的智能接口系統(tǒng)44連接至DCS 10和DCS 70兩者?,F(xiàn)在參考圖3,示出了智能接口系統(tǒng)44的示意性表示,該智能接口系統(tǒng)44是可操作以在一個(gè)或多個(gè)外部應(yīng)用和DCS 10、70之間自動(dòng)提供接口的軟件系統(tǒng)。如所示出的,智能接口系統(tǒng)44通常包括軟件應(yīng)用接口(API) 80、系統(tǒng)數(shù)據(jù)通道(SDA)服務(wù)器82和OPC服務(wù)器84。API 80是包括一組“C”語言子例程的低級(jí)接口,其提供對(duì)設(shè)置在CIU 34中的本地語言命令的通道。每個(gè)CIU 34由一個(gè)或多個(gè)硬件模塊所組成,該硬件模塊將基于微處理器的設(shè)備(諸如工作站36或38)或PCU(例如PCU 30或32)連接至回路(例如,回路12)。在一個(gè)實(shí)施例中,每個(gè)CIU 34包括網(wǎng)絡(luò)接口模塊以及網(wǎng)絡(luò)至計(jì)算機(jī)的傳輸模塊。在該實(shí)施例中,每個(gè)CIU 34可以處理四種信息類型:廣播、時(shí)間同步、組播和輪詢。此外,所有信息都包含回路冗余校驗(yàn)碼以及校驗(yàn)和以確保數(shù)據(jù)完整性。SDA服務(wù)器82可高度適配并且可以伴隨一個(gè)或多個(gè)DCS (例如,兩個(gè)、三個(gè)、四個(gè)DCS等)所使用。對(duì)于連接至SDA服務(wù)器82的每個(gè)DCS,創(chuàng)建API通道、API連接器、CIU監(jiān)視器和拓?fù)鋵ふ移?finder)的實(shí)例。此外,SDA服務(wù)器82包括API封裝器196和拓?fù)淠P蛿?shù)據(jù)庫(kù)88。在圖3所示的實(shí)施例中,SDA服務(wù)器82與兩個(gè)DCS相互聯(lián)系,兩個(gè)DCS即DCS 10和DCS 70,并且SDA服務(wù)器82包括用于DCSlO的拓?fù)鋵ふ移?5和用于DCS 70的拓?fù)鋵ふ移?6。每個(gè)拓?fù)鋵ふ移骺稍赟DA服務(wù)器82啟動(dòng)時(shí)可操作以發(fā)現(xiàn)其相關(guān)聯(lián)DCS的拓?fù)洳⑶覄?chuàng)建該DCS的拓?fù)淠P汀_@些拓?fù)淠P捅淮鎯?chǔ)在拓?fù)淠P蛿?shù)據(jù)庫(kù)88中。該拓?fù)淠P蛿?shù)據(jù)庫(kù)88包含SDA服務(wù)器82與之相連接的所有DCS的模型,所有的DCS在該情況下包括DCS10和DCS 70。如以下將更全面描述的,拓?fù)淠P蛿?shù)據(jù)庫(kù)88被用作內(nèi)部參考以控制能夠與任意所連接的DCS發(fā)生的通信的類型。拓?fù)鋵ふ移鞯闹骼?2在圖4中示出。在步驟96,主例程92調(diào)用回路掃描子例程110(圖5中所示)首先對(duì)智能接口系統(tǒng)44所屬的回路(即,本地回路)進(jìn)行掃描,該回路在圖3的實(shí)施例中為回路12。在步驟96完成之后,主例程92進(jìn)行至步驟98,其中主例程92調(diào)用節(jié)點(diǎn)掃描子例程112(圖6中所示)以掃描本地回路(例如,回路12)的節(jié)點(diǎn)(例如,節(jié)點(diǎn)16-24)。在掃描本地回路和本地回路的節(jié)點(diǎn)之后,主例程92進(jìn)行至步驟100,其中做出是否有另一個(gè)回路要掃描的檢查。如果有另一個(gè)回路要掃描,則主例程進(jìn)行至下一個(gè)回路(例如,回路60),并且在步驟102中調(diào)用回路掃描子例程對(duì)該下一個(gè)回路進(jìn)行掃描。在步驟102之后,主例程92進(jìn)行至步驟104,其中主例程92調(diào)用節(jié)點(diǎn)掃描子例程以掃描該下一個(gè)回路中的節(jié)點(diǎn)。重復(fù)步驟100-104直至再?zèng)]有回路要掃描或者確定API斷開連接。一旦DCS中的所有回路都已經(jīng)被掃描,完成該DCS的拓?fù)淠P筒⑶抑骼?2返回至步驟 106。主例程92的回路和節(jié)點(diǎn)掃描過程被定期執(zhí)行以更新DCS的拓?fù)淠P?。?dāng)計(jì)時(shí)器指示已經(jīng)過去了預(yù)定時(shí)間周期時(shí),主例程92從步驟106進(jìn)行通過多個(gè)步驟回至步驟96以再次執(zhí)行以上所描述的回路和節(jié)點(diǎn)掃描步驟。現(xiàn)在參考圖5,示出了回路掃描子例程110的流程圖。在步驟112中,回路掃描子例程110生成針對(duì)當(dāng)前回路的回路拓?fù)鋱?bào)告。該回路拓?fù)鋱?bào)告包括當(dāng)前回路中所有節(jié)點(diǎn)的列表并且包含針對(duì)每個(gè)節(jié)點(diǎn)的識(shí)別信息。例如,該識(shí)別信息可以包括節(jié)點(diǎn)的地址、節(jié)點(diǎn)的類型(例如,處理控制、計(jì)算機(jī)接口、橋接口、事件序列或其他)和每個(gè)節(jié)點(diǎn)在回路上的電/邏輯位置(節(jié)點(diǎn)順序)。在步驟114,回路掃描子例程110執(zhí)行診斷操作,其中對(duì)可用診斷信息進(jìn)行回顧以確定是否在任意回路中存在通信問題。如果在回路之一中存在通信問題,標(biāo)記(標(biāo)示)該問題以使得該問題可以在所連接外部應(yīng)用中的顯示中被視覺識(shí)別。在步驟114之后,回路掃描例程進(jìn)行至一系列步驟,其中使用該回路拓?fù)鋱?bào)告創(chuàng)建或更新拓?fù)淠P?取決于掃描是初始掃描還是更新掃描)。如果在回路拓?fù)鋱?bào)告中找到任何在現(xiàn)有拓?fù)淠P椭羞€沒有相對(duì)應(yīng)對(duì)象的節(jié)點(diǎn),創(chuàng)建新的節(jié)點(diǎn)以表示該節(jié)點(diǎn)并且將該節(jié)點(diǎn)添加至拓?fù)淠P汀H绻?jié)點(diǎn)恰好是到遠(yuǎn)程回路的橋,那么也創(chuàng)建新的回路對(duì)象并將新的回路添加至拓?fù)淠P汀H绻诨芈吠負(fù)鋱?bào)告中找到已經(jīng)在現(xiàn)有拓?fù)淠P椭兴硎镜墓?jié)點(diǎn),則將所發(fā)現(xiàn)節(jié)點(diǎn)的類型與現(xiàn)有拓?fù)淠P椭械墓?jié)點(diǎn)對(duì)象進(jìn)行比較。如果節(jié)點(diǎn)類型不匹配,則丟棄現(xiàn)有節(jié)點(diǎn)對(duì)象并且用表示當(dāng)前拓?fù)?如回路拓?fù)鋱?bào)告所表示的)的新的節(jié)點(diǎn)對(duì)象來代替。如果對(duì)應(yīng)于現(xiàn)有拓?fù)淠P椭械墓?jié)點(diǎn)對(duì)象的節(jié)點(diǎn)在當(dāng)前回路拓?fù)鋱?bào)告中不再出現(xiàn),則在步驟124中標(biāo)記該節(jié)點(diǎn)為離線。在步驟126中,離線比用戶可選的持續(xù)時(shí)間更長(zhǎng)的任何節(jié)點(diǎn)被當(dāng)做為將從DCS永久性移除,并且從拓?fù)淠P椭幸瞥南鄬?duì)應(yīng)的節(jié)點(diǎn)對(duì)象。該持續(xù)時(shí)間可以根據(jù)車間狀況進(jìn)行調(diào)節(jié)一在維護(hù)期間該持續(xù)時(shí)間可以是數(shù)周,但是在正常操作期間其通常小于10分鐘或重置節(jié)點(diǎn)所需的時(shí)間。當(dāng)從拓?fù)淠P椭幸瞥?jié)點(diǎn)對(duì)象時(shí),之前作為該節(jié)點(diǎn)對(duì)象的一部分的所有模塊對(duì)象也被移除?,F(xiàn)在參考圖6,示出了節(jié)點(diǎn)掃描子例程112的流程圖。節(jié)點(diǎn)掃描子例程112針對(duì)與特定節(jié)點(diǎn)相關(guān)聯(lián)的所有模塊掃描該節(jié)點(diǎn)。從該掃描所獲得的信息被用來創(chuàng)建或更新拓?fù)淠P?,這取決于該掃描是初始掃描還是更新掃描。節(jié)點(diǎn)掃描子例程112通過向特定節(jié)點(diǎn)中的每個(gè)可能模塊地址發(fā)送狀態(tài)請(qǐng)求消息而掃描該節(jié)點(diǎn)。如果從在特定地址處的模塊接收到良好響應(yīng),則該模塊被認(rèn)為存在并且在線。如果接收不到響應(yīng)或接收到不良響應(yīng),則確定目標(biāo)模塊不存在。如果在拓?fù)淠P椭信c由節(jié)點(diǎn)掃描子例程112所發(fā)現(xiàn)的模塊的相同地址處存在模塊對(duì)象,然后將該對(duì)象的模塊類型與所發(fā)現(xiàn)的模塊進(jìn)行比較。如果該對(duì)象的模塊類型與所發(fā)現(xiàn)的模塊不匹配,則在步驟130中刪除該對(duì)象并且在步驟132中用新的對(duì)象代替以表示所發(fā)現(xiàn)的模塊。作為步驟132的一部分,節(jié)點(diǎn)掃描子例程112在硬件能力數(shù)據(jù)庫(kù)215中查找所發(fā)現(xiàn)的模塊的模塊類型以確定模塊類型的已知能力并且將該信息連同拓?fù)淠P椭械哪K對(duì)象一起存儲(chǔ)在拓?fù)淠K數(shù)據(jù)庫(kù)88中。如果狀態(tài)請(qǐng)求消息被發(fā)送至與拓?fù)淠P椭械哪K對(duì)象相同地址處的模塊并且沒有接收到響應(yīng)或接收到不良響應(yīng),則在步驟134中該地址處的模塊將被標(biāo)記為“離線”。如果模塊保持離線長(zhǎng)于用戶可選擇的持續(xù)時(shí)間,則認(rèn)為該模塊要從DCS永久移除并且在步驟136中從拓?fù)淠P椭幸瞥湎鄬?duì)應(yīng)的模塊對(duì)象。該持續(xù)時(shí)間可以根據(jù)車間狀況進(jìn)行調(diào)節(jié)一在維護(hù)期間該持續(xù)時(shí)間可以是數(shù)周,但是在正常操作期間其通常小于5分鐘或?yàn)橹刂媚K所需的時(shí)間。在步驟132創(chuàng)建了新的模型對(duì)象之后,節(jié)點(diǎn)掃描子例程112進(jìn)行至步驟140,其中,如果該模塊可以支持模塊狀態(tài)異常報(bào)告標(biāo)簽(ModStat XR標(biāo)簽),該子例程在CIU 34中為對(duì)應(yīng)于新創(chuàng)建的模型對(duì)象的模塊創(chuàng)建ModStat XR標(biāo)簽。節(jié)點(diǎn)掃描子例程112基于模塊的類型來確定模塊是否能夠安全支持ModStat XR標(biāo)簽。例如,主控制器(諸如控制器50)能夠支持ModStat XR標(biāo)簽,但是備用控制器、一些通信模塊和I/O模塊則不能。然而,來自用于主控制器的ModStat XR的異常報(bào)告將包含與該控制器相關(guān)聯(lián)的備用控制器和I/O模塊相關(guān)的信息。并且來自智能通信模塊的ModStat XR將包含關(guān)于其配對(duì)的網(wǎng)絡(luò)接口模塊的信息。ModStat XR標(biāo)簽允許將從模塊收集相當(dāng)數(shù)量的信息并且在異常報(bào)告中報(bào)告該相當(dāng)數(shù)量的信息。這樣的信息包括模塊類型、模塊的操作狀態(tài)(例如,配置、執(zhí)行等)、模塊所使用的各種通信信道的錯(cuò)誤狀態(tài)以及模塊電源的問題。來自模塊的異常報(bào)告被臨時(shí)存儲(chǔ)在所連接的CIU 34中并且隨后被收集并存儲(chǔ)在拓?fù)淠P椭?。在CIU 34中,當(dāng)接收到來自點(diǎn)(過程值或模塊狀態(tài)標(biāo)簽)的異常報(bào)告時(shí),重寫之前的異常報(bào)告。因此,CIU 34被頻繁輪詢以獲得快速狀態(tài)變化。在一些實(shí)施例中,通過輪詢而不是異常報(bào)告來獲得狀態(tài)和過程信息。使用不同類的對(duì)象生成并存儲(chǔ)拓?fù)淠P蛿?shù)據(jù)庫(kù)88。現(xiàn)在參考圖7,示出了用于存儲(chǔ)拓?fù)淠P蛿?shù)據(jù)庫(kù)88的類結(jié)構(gòu)150。如所示出的,類結(jié)構(gòu)150包括模型類152、回路列表類154、節(jié)點(diǎn)列表類156和模塊列表類158。模型類152提供與用于企業(yè)的所有拓?fù)淠P拖嚓P(guān)的信息并且準(zhǔn)許這些拓?fù)淠P偷男薷?。模型?52能夠提供與企業(yè)中的所有DCS、回路、節(jié)點(diǎn)和模塊相關(guān)的信息并且使得能夠針對(duì)來自(多個(gè))拓?fù)淠P偷纳鲜鰧?duì)象的添加和移除。模型類152使用對(duì)DCS類162的調(diào)用而獲取關(guān)于DCS的信息并且使用對(duì)回路列表類154的調(diào)用而獲取與回路、節(jié)點(diǎn)和模塊相關(guān)的信息?;芈妨斜眍?54提供與企業(yè)中的所有回路、節(jié)點(diǎn)和模塊相關(guān)的信息并且準(zhǔn)許針對(duì)來自(多個(gè))拓?fù)淠P偷幕芈返膶?duì)象的添加和移除。回路列表類154使用對(duì)實(shí)體列表基礎(chǔ)類160的調(diào)用而獲取關(guān)于回路的信息并且使用對(duì)節(jié)點(diǎn)列表類156的調(diào)用而獲取與節(jié)點(diǎn)和模塊相關(guān)的信息。節(jié)點(diǎn)列表類156提供與企業(yè)中的所有節(jié)點(diǎn)和模塊相關(guān)的信息并準(zhǔn)許針對(duì)來自(多個(gè))拓?fù)淠P偷墓?jié)點(diǎn)的對(duì)象的添加和移除。節(jié)點(diǎn)列表類156使用對(duì)實(shí)體列表基礎(chǔ)類160的調(diào)用而獲取關(guān)于節(jié)點(diǎn)的信息并且使用對(duì)模塊列表類158的調(diào)用而獲取關(guān)于模塊的信息。模塊列表類158提供與企業(yè)中的所有模塊相關(guān)的信息并且準(zhǔn)許針對(duì)來自(多個(gè))拓?fù)淠P偷哪K的對(duì)象的添加和移除。模塊列表類158使用對(duì)實(shí)體列表基礎(chǔ)類160的調(diào)用而獲取關(guān)于模塊的信息。實(shí)體列表基礎(chǔ)類160通過實(shí)體基礎(chǔ)類162分別從回路類164、節(jié)點(diǎn)類166和模塊類168獲取與回路、節(jié)點(diǎn)和模塊相關(guān)的信息。進(jìn)而,模塊類168從模塊定義類170和模塊標(biāo)識(shí)符類172獲取有關(guān)模塊的詳細(xì)信息。拓?fù)淠P褪蔷€程安全的,即當(dāng)做出影響到數(shù)據(jù)的變化時(shí),不允許讀取數(shù)據(jù),并且反之亦然。類結(jié)構(gòu)150的結(jié)構(gòu)允許以累進(jìn)且粒度的方式實(shí)現(xiàn)該線程安全。更具體地,在類結(jié)構(gòu)150的每個(gè)類中實(shí)施讀/寫鎖。因此,在模型類152中的DCS對(duì)象上實(shí)施讀/寫鎖,用以(I)如果DCS對(duì)象被添加或者從企業(yè)的(多個(gè))拓?fù)淠P椭斜灰瞥龝r(shí),防止讀取任何關(guān)于DCS對(duì)象的信息,以及(2)如果正從DCS對(duì)象讀取信息時(shí),防止該DCS對(duì)象被添加或者從(多個(gè))拓?fù)淠P鸵瞥n愃频?,在回路列表?54中的回路對(duì)象上實(shí)施讀/寫鎖,用以(I)如果從企業(yè)的(多個(gè))拓?fù)淠P椭刑砑?、改變或移除該回路?duì)象,防止讀取任何關(guān)于回路對(duì)象的信息,以及(2)如果從該回路對(duì)象讀取信息,防止從(多個(gè))拓?fù)淠P吞砑?、改變或者移除該回路?duì)象。繼續(xù)向下的類層級(jí),分別在節(jié)點(diǎn)列表類156和模塊列表類158中的節(jié)點(diǎn)對(duì)象和模塊對(duì)象上放置類似的讀/寫鎖?;芈奉?64、節(jié)點(diǎn)類166和模塊類168中的讀/寫鎖提供甚至更具粒度的鎖定能力。例如,在模塊類168的每個(gè)對(duì)象實(shí)例上實(shí)施讀/寫鎖,用以(I)如果配置或更新模塊,防止讀取任何關(guān)于該模塊的任何信息,以及(2)如果讀取模塊,防止配置、更新或移除該模塊。從前述,應(yīng)當(dāng)意識(shí)到的是,類結(jié)構(gòu)150的配置提供了線程安全而沒有SDA服務(wù)器82的操作的不當(dāng)干擾。更具體地,該配置允許讀/寫鎖僅指向需要被鎖定的DCS部分。例如,如果僅有DCS回路中的兩個(gè)不同節(jié)點(diǎn)中的兩個(gè)模塊例如由于它們正在被配置而需要被鎖定,則僅在那兩個(gè)模塊上實(shí)施鎖定,而不是像如果模塊對(duì)象以簡(jiǎn)單分級(jí)方式進(jìn)行設(shè)置的情況下那樣,在兩個(gè)節(jié)點(diǎn)或者整個(gè)回路或者整個(gè)DCS上實(shí)施鎖定。返回參考圖3,除了拓?fù)淠P蛿?shù)據(jù)庫(kù)88和拓?fù)鋵ふ移?5、86之外,用于DCS 10,70的SDA服務(wù)器82的實(shí)施例還包括用于CIU 34a (DCS 10)的API連接器180、API通道182和CIU監(jiān)視器184,以及用于CIU 34b (DCS 170)的API連接器188、API通道190和CIU監(jiān)視器192。每個(gè)API連接器180、188經(jīng)由API 80建立到其相關(guān)聯(lián)的CIU 34的連接以及關(guān)閉該連接。此外,每個(gè)API連接器180、188包括點(diǎn)管理器對(duì)象,其分配并追蹤用于其相關(guān)聯(lián)的CIU 34中的點(diǎn)數(shù)據(jù)庫(kù)的標(biāo)記。無論CIU 34何時(shí)重啟,由于重啟CIU 34清空了點(diǎn)數(shù)據(jù)庫(kù),所以刪除了其相關(guān)聯(lián)的CPI連接器中的點(diǎn)管理器對(duì)象并且創(chuàng)建一個(gè)新的點(diǎn)管理器對(duì)象。每個(gè)CIU監(jiān)視器184、192與相關(guān)聯(lián)的API連接器進(jìn)行交互以建立、維護(hù)并且重啟其相關(guān)聯(lián)CIU 34中的連接。此外,CIU監(jiān)視器在所配置的間隙檢查連接狀態(tài)。在每個(gè)執(zhí)行周期期間,CIU監(jiān)視器從其相關(guān)聯(lián)的CIU 34獲取異常報(bào)告并且將檢查其相關(guān)聯(lián)的API連接器的狀態(tài)。如果其相關(guān)聯(lián)的API連接器被發(fā)現(xiàn)離線或斷開連接,則CIU監(jiān)視器將試圖在API連接器和CIU 34之間重新建立連接。每個(gè)API通道182、190以受控方式可操作用以通過其相關(guān)聯(lián)的CIU 34和API 80向其相關(guān)聯(lián)的DCS傳送請(qǐng)求并從其相關(guān)聯(lián)的DCS接收響應(yīng)。API通道可以被輕易修改以便可與除了 CIU 34之外的通信模塊以及除了 API 80之外的軟件應(yīng)用接口所使用。此外,API通道還可操作用以經(jīng)由CIU 34和API 80獲取診斷數(shù)據(jù)。診斷數(shù)據(jù)包括存儲(chǔ)器使用、錯(cuò)誤計(jì)數(shù)、通信度量、固件水平、程序執(zhí)行度量、錯(cuò)誤狀態(tài)。API通道具有針對(duì)相關(guān)聯(lián)API連接器的引用(指針),但是僅在該API連接器上執(zhí)行狀態(tài)讀取和更新。API通道使用控制通信速率的節(jié)流機(jī)制傳送請(qǐng)求。該節(jié)流機(jī)制使用輪詢周期,輪詢周期是請(qǐng)求的開始之間所需的時(shí)間。如果對(duì)API通道做出第二調(diào)用以在之前的第一調(diào)用的輪詢周期已經(jīng)過去(如從發(fā)起對(duì)API通道的調(diào)用的時(shí)間起所測(cè)量的)之前發(fā)出第二請(qǐng)求,則第二請(qǐng)求將被延遲直至第一調(diào)用的輪詢周期過去。此外,如果在之前的第一請(qǐng)求已經(jīng)完成之前對(duì)API通道做出針對(duì)第二請(qǐng)求的第二調(diào)用,則讀/寫鎖將防止該第二請(qǐng)求(以及任意后續(xù)請(qǐng)求)被發(fā)送直至第一請(qǐng)求完成。當(dāng)?shù)谝徽?qǐng)求完成時(shí),當(dāng)輪詢周期過去時(shí)釋放該讀/寫鎖,并且可使該讀/寫鎖對(duì)行線程中的下一個(gè)請(qǐng)求可用。SDA服務(wù)器82的組件(類)采用通用語言運(yùn)行時(shí)(CLR),其是微軟的.NETinitiative的核心組件。在CLR中,代碼以被稱作通用中間語言(CIL)的字節(jié)代碼的形式所表示。與SDA服務(wù)器82相對(duì)比,API 80使用本機(jī)的“C”庫(kù)。因此,提供API封裝器196并且將其連接至API連接器180、188和API通道182、190。API封裝器196將來自SDA服務(wù)器82的組件的請(qǐng)求轉(zhuǎn)換為本機(jī)的“C”調(diào)用以傳送至API 80,并且將從API 80所接收的本機(jī)的“C”結(jié)構(gòu)、陣列和指針轉(zhuǎn)換為SDA服務(wù)器82的組件所使用的本機(jī)的.NET數(shù)據(jù)類型。提供網(wǎng)絡(luò)服務(wù)器應(yīng)用200以使用簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)將SDA服務(wù)器82連接至任意網(wǎng)絡(luò)客戶端。然而,網(wǎng)絡(luò)服務(wù)器應(yīng)用200和客戶端之間的通信是加密的。此外,到網(wǎng)絡(luò)服務(wù)器應(yīng)用200的客戶端連接必須通過作為主控SDA服務(wù)器82的服務(wù)器(例如,工作站38)上的本地賬戶進(jìn)行連接而被驗(yàn)證。SDA服務(wù)器82能夠處理網(wǎng)絡(luò)服務(wù)器應(yīng)用200所接收的數(shù)據(jù)請(qǐng)求并且要求來自DCS中的多個(gè)目標(biāo)的信息。這樣的多目標(biāo)數(shù)據(jù)請(qǐng)求通常是診斷的并且僅需要來自每個(gè)目標(biāo)的少量數(shù)據(jù)(例如,來自塊讀取的單個(gè)浮點(diǎn)數(shù)值)。針對(duì)每個(gè)目標(biāo)實(shí)行所請(qǐng)求的動(dòng)作,并且所有所請(qǐng)求動(dòng)作的結(jié)果被同時(shí)返回至相關(guān)API通道(182或190)。在請(qǐng)求中指定多個(gè)目標(biāo)將延長(zhǎng)請(qǐng)求完成以及能夠返回結(jié)果之前的時(shí)間,但是其將導(dǎo)致較少的往返行程并因此導(dǎo)致較少的開銷。這在非常短的時(shí)間內(nèi)以其它方式需要許多讀取并且所產(chǎn)生的數(shù)據(jù)將非常小(例如,來自控制器模塊的請(qǐng)求塊讀取可以利用針對(duì)網(wǎng)絡(luò)服務(wù)器應(yīng)用200的單個(gè)請(qǐng)求而不是多個(gè)請(qǐng)求來完成)的情況下是有用的??梢员恢付ǖ哪繕?biāo)的數(shù)量并未被限制,并且由客戶端應(yīng)用進(jìn)行合理請(qǐng)求而定。由于節(jié)流由相關(guān)的API通道所執(zhí)行,所以具有大量目標(biāo)的請(qǐng)求將不會(huì)充斥CIU 34。針對(duì)請(qǐng)求大量數(shù)據(jù)(例如,回路拓?fù)鋱?bào)告)的網(wǎng)絡(luò)服務(wù)器應(yīng)用200的診斷數(shù)據(jù)請(qǐng)求通常僅被指向DCS中的單個(gè)目標(biāo)。OPC服務(wù)器84可操作以經(jīng)由OPC UA從SDA服務(wù)器82發(fā)布數(shù)據(jù)并且使用TCP和HTTP OPC UA通信棧兩者支持連接。OPC服務(wù)器84能夠執(zhí)行讀取和功能調(diào)用(在必須執(zhí)行操作的情況下)并且提供訂閱206。OPC服務(wù)器84實(shí)施定制節(jié)點(diǎn)管理器210和定制OPC數(shù)據(jù)模型212,其包括定制對(duì)象類型、定制復(fù)雜變量類型、定制列舉和方法。 OPC服務(wù)器84通過兩個(gè)接口連接至SDA服務(wù)器82。由SDA服務(wù)器82自主發(fā)現(xiàn)并監(jiān)視的數(shù)據(jù)(諸如異常報(bào)告)通過運(yùn)行時(shí)主接口 214而被推送至OPC服務(wù)器84。通過網(wǎng)絡(luò)服務(wù)器應(yīng)用200獲取必須從SDA服務(wù)器82進(jìn)行輪詢的數(shù)據(jù)。OPC服務(wù)器的定制節(jié)點(diǎn)管理器210能夠任選地啟動(dòng)IX數(shù)據(jù)處理器線程以將數(shù)據(jù)記錄至記事器(historian)。所記錄的數(shù)據(jù)將包括所有所發(fā)現(xiàn)的拓?fù)湫畔⒑妥兓?、異常?bào)告以及為了實(shí)現(xiàn)針對(duì)OPC服務(wù)器84或客戶端訂閱的讀取請(qǐng)求所需的任意診斷數(shù)據(jù)。OPC服務(wù)器的定制節(jié)點(diǎn)管理器210能夠任選地利用用戶標(biāo)簽管理器87組件以允許用戶安全配置他們明確希望揭示的過程標(biāo)簽。用戶標(biāo)簽管理器87從數(shù)據(jù)庫(kù)加載用戶所定義的標(biāo)簽信息。如發(fā)現(xiàn)DCS(例如,DCS 10或70)中的模塊時(shí),可以找到并識(shí)別一些支持用于過程數(shù)據(jù)的標(biāo)簽的模塊。在這樣的情況下,節(jié)點(diǎn)管理器210檢查用戶標(biāo)簽管理器87以確定用戶是否在所發(fā)現(xiàn)的模塊中明確配置了標(biāo)簽。如果是,則那些標(biāo)簽通過輪詢或異常報(bào)告經(jīng)過OPC服務(wù)器84向用戶進(jìn)行揭示。OPC節(jié)點(diǎn)管理器210可能需要對(duì)SDA服務(wù)器82進(jìn)行請(qǐng)求以便指示其在DCS中設(shè)置點(diǎn)或者從用戶所定義標(biāo)簽的模塊輪詢數(shù)值。這些請(qǐng)求中的每一個(gè)都將被SDA服務(wù)器82所篩選以確保目標(biāo)模塊能夠進(jìn)行所請(qǐng)求的動(dòng)作,并且處于其能夠?qū)υ搫?dòng)作進(jìn)行服務(wù)的狀態(tài)。因此,用戶不能對(duì)系統(tǒng)中會(huì)導(dǎo)致通信問題的無效標(biāo)簽進(jìn)行配置。用戶可以手工配置對(duì)于特定外部應(yīng)用非常重要的過程數(shù)據(jù)的標(biāo)簽以便確保過程數(shù)據(jù)被送至該外部應(yīng)用,原因在于DCS可能無法將所有過程數(shù)據(jù)發(fā)送至單個(gè)CIU 34或者可能無法以及時(shí)的方式向單個(gè)CIU 34提供對(duì)于所有過程數(shù)據(jù)的更新?,F(xiàn)在將關(guān)于DCS 10對(duì)智能接口系統(tǒng)44的操作進(jìn)行描述。一旦啟動(dòng)智能接口系統(tǒng)44 (并且特別是SDA服務(wù)器82),拓?fù)鋵ふ移?5發(fā)現(xiàn)DCS 10的拓?fù)洳⑶覍⑵涮砑又镣負(fù)淠P蛿?shù)據(jù)庫(kù)88。按照預(yù)定間隔定期更新拓?fù)淠P蛿?shù)據(jù)庫(kù)88,該間隔是可配置的。當(dāng)網(wǎng)絡(luò)服務(wù)器應(yīng)用200從DCS 10中的特定模塊(處于特定地址的)接收到針對(duì)數(shù)據(jù)的請(qǐng)求,該請(qǐng)求就被轉(zhuǎn)發(fā)至拓?fù)淠P蛿?shù)據(jù)庫(kù)88以便確定該地址(回路、節(jié)點(diǎn)、模型等)是否有效以及所請(qǐng)求的數(shù)據(jù)是否能夠從該地址處的特定模塊和/或節(jié)點(diǎn)所獲得(即,被其所支持)。如果拓?fù)淠P蛿?shù)據(jù)庫(kù)88確定了該地址有效并且能夠從處于該地址的模塊獲取所請(qǐng)求的數(shù)據(jù),則該請(qǐng)求被轉(zhuǎn)發(fā)至API通道182,其作用于該請(qǐng)求以通過API封裝器196、API 80和CIU 34a而從模塊獲取數(shù)據(jù),受到任意所要求的節(jié)流控制。來自該模塊的所請(qǐng)求數(shù)據(jù)隨后通過CIU34a、API 80、API封裝器196和API通道182而被傳送回網(wǎng)絡(luò)服務(wù)器應(yīng)用200。智能接口系統(tǒng)44提供了多種益處。不同于依賴于用戶來確保接口中存在有效的DCS配置,智能接口系統(tǒng)44在運(yùn)行時(shí)使用DCS組件的自動(dòng)發(fā)現(xiàn)而自行配置。這意味著由智能接口系統(tǒng)44所揭示的DCS設(shè)備已經(jīng)被識(shí)別并且實(shí)際存在。用戶無法針對(duì)并不存在的設(shè)備或者如果對(duì)其進(jìn)行訪問則會(huì)導(dǎo)致系統(tǒng)擾動(dòng)的設(shè)備配置標(biāo)簽或者發(fā)出命令。這也將用戶從手工驗(yàn)證DCS配置的繁重任務(wù)中解放了出來,并且允許智能接口系統(tǒng)44將利用現(xiàn)有系統(tǒng)快速被部署。另外,DCS發(fā)現(xiàn)和自行配置能夠被用來阻止并不被DCS中的任意目標(biāo)設(shè)備所支持的命令。由于一些命令僅被某些設(shè)備模型所支持,所以這通過防止用戶向設(shè)備發(fā)出不受支持的命令而進(jìn)一步保護(hù)DCS。在將服務(wù)于用戶請(qǐng)求的任意命令提交至DCS之前,針對(duì)在所發(fā)現(xiàn)的配置中的目標(biāo)設(shè)備執(zhí)行查找,該查找包括每個(gè)設(shè)備的能力的資料。如果目標(biāo)設(shè)備不支持命令,則用戶請(qǐng)求被中止。智能接口系統(tǒng)44進(jìn)一步的益處在于,智能接口系統(tǒng)44對(duì)導(dǎo)致向DCS施加以負(fù)載的請(qǐng)求進(jìn)行節(jié)流。通過驗(yàn)證要求并且導(dǎo)致向DCS發(fā)出命令的所有請(qǐng)求都受到該節(jié)流機(jī)制的影響,這限制了針對(duì)DCS的突出用戶請(qǐng)求并且強(qiáng)制最大的請(qǐng)求速率。所發(fā)起的新的請(qǐng)求可能被該節(jié)流機(jī)制所保持并延遲以便滿足這些要求。這導(dǎo)致了一種接口系統(tǒng),其針對(duì)行為不當(dāng)?shù)目蛻舳藨?yīng)用或無意或有意地試圖以將用大量所支持的命令而另外干擾到DCS的方式配置或使用客戶端應(yīng)用的用戶更具抵抗力。所要理解的是,上述(多個(gè))示例性實(shí)施例的描述旨在僅是說明性的,而并非是本發(fā)明的窮舉。本領(lǐng)域技術(shù)人員將能夠?qū)λ_主題的(多個(gè))實(shí)施例進(jìn)行某些添加、刪除和/或修改而并不背離本發(fā)明的精神或者其由所附權(quán)利要求所限定的范圍。
權(quán)利要求
1.一種用于將外部應(yīng)用連接至分布式控制系統(tǒng)(DCS)的接口系統(tǒng),所述接口系統(tǒng)包括具有指令的計(jì)算機(jī)可讀介質(zhì),所述指令用于使得計(jì)算機(jī)執(zhí)行方法,所述方法包括: 掃描所述DCS以確定其配置; 使用所述DCS的所述確定的配置來構(gòu)建所述DCS的拓?fù)淠P停? 從所述外部應(yīng)用接收針對(duì)來自所述DCS中的模塊的數(shù)據(jù)的外部請(qǐng)求;并且 使用所述DCS的所述拓?fù)淠P痛_定所述模塊是否能夠提供所述請(qǐng)求的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的接口系統(tǒng),其中所述方法進(jìn)一步包括: 如果確定所述模塊能夠提供所述請(qǐng)求的數(shù)據(jù),生成針對(duì)數(shù)據(jù)的內(nèi)部請(qǐng)求;并且 向所述模塊發(fā)送針對(duì)數(shù)據(jù)的所述內(nèi)部請(qǐng)求。
3.根據(jù)權(quán)利要求2所述的接口系統(tǒng),其中針對(duì)數(shù)據(jù)的所述外部請(qǐng)求包括所述模塊的地址。
4.根據(jù)權(quán)利要求3所述的接口系統(tǒng),其中所述確定步驟包括: 確定針對(duì)數(shù)據(jù)的所述外部請(qǐng)求中的所述地址是否是所述拓?fù)淠P椭械挠行У刂罚? 確定所述拓?fù)淠P椭兴龅刂诽幍乃瞿K的類型;以及 確定所述確定的模塊類型是否能夠提供所述請(qǐng)求的數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的接口系統(tǒng),其中如果在針對(duì)數(shù)據(jù)的所述外部請(qǐng)求中的所述地址是所述拓?fù)淠P椭械挠行У?址并且所述拓?fù)淠P椭械乃龅刂诽幍乃瞿K類型能夠提供所述請(qǐng)求數(shù)據(jù),所述方法確定所述模塊能夠提供所述請(qǐng)求的數(shù)據(jù)。
6.根據(jù)權(quán)利要求2所述的接口系統(tǒng),其中針對(duì)數(shù)據(jù)的所述外部請(qǐng)求是針對(duì)數(shù)據(jù)的第一外部請(qǐng)求,針對(duì)數(shù)據(jù)的所述內(nèi)部請(qǐng)求是針對(duì)數(shù)據(jù)的第二內(nèi)部請(qǐng)求,并且其中所述方法進(jìn)一步包括: 從所述外部應(yīng)用接收針對(duì)來自所述DCS的數(shù)據(jù)的第二外部請(qǐng)求; 使用所述DCS的所述拓?fù)淠P痛_定所述DCS是否能夠提供在針對(duì)數(shù)據(jù)的所述第二外部請(qǐng)求中所請(qǐng)求的數(shù)據(jù); 如果確定所述DCS能夠提供在針對(duì)數(shù)據(jù)的所述第二外部請(qǐng)求中所請(qǐng)求的數(shù)據(jù),生成針對(duì)數(shù)據(jù)的第二內(nèi)部請(qǐng)求; 確定自接受到針對(duì)數(shù)據(jù)的所述第一外部請(qǐng)求起是否已經(jīng)過去了預(yù)定時(shí)間段;以及 如果所述預(yù)定時(shí)間段還沒有過去,則保持針對(duì)數(shù)據(jù)的所述生成的第二內(nèi)部請(qǐng)求。
7.根據(jù)權(quán)利要求6所述的接口系統(tǒng),其中所述方法進(jìn)一步包括: 確定是否已經(jīng)向所述模塊發(fā)送了針對(duì)數(shù)據(jù)的所述第一內(nèi)部請(qǐng)求;以及如果還未對(duì)所述模塊發(fā)送針對(duì)數(shù)據(jù)的所述第一內(nèi)部請(qǐng)求,則保持針對(duì)數(shù)據(jù)的所述生成的第二內(nèi)部請(qǐng)求。
8.根據(jù)權(quán)利要求1的所述接口系統(tǒng),其中所述方法進(jìn)一步包括在多個(gè)類中存儲(chǔ)所述拓?fù)淠P?,并且其中在所述類的每個(gè)類中的對(duì)象上放置讀/寫鎖,對(duì)象上的每個(gè)讀/寫鎖防止在對(duì)所述對(duì)象進(jìn)行改變的同時(shí)從所述對(duì)象數(shù)據(jù)的讀取,并且反之亦然。
9.根據(jù)權(quán)利要求8所述的接口系統(tǒng),其中所述類包括回路類、節(jié)點(diǎn)類和模塊類,并且其中所述DCS包括回路、在所述回路上的多個(gè)節(jié)點(diǎn)以及每個(gè)節(jié)點(diǎn)中的多個(gè)模塊,并且其中用于所述回路的對(duì)象存儲(chǔ)在所述回路類中,用于所述節(jié)點(diǎn)的對(duì)象存儲(chǔ)在所述節(jié)點(diǎn)類中并且用于所述模塊的對(duì)象則存儲(chǔ)在所述模塊類中。
10.根據(jù)權(quán)利要求1所述的接口系統(tǒng),其中所述接口系統(tǒng)可操作以將所述外部應(yīng)用連接至多個(gè)分布式控制系統(tǒng)。
11.根據(jù)權(quán)利要求1所述的接口系統(tǒng),其中針對(duì)數(shù)據(jù)的所述外部請(qǐng)求包括針對(duì)來自所述模塊的診斷數(shù)據(jù)的請(qǐng)求。
12.根據(jù)權(quán)利要求11所述的接口系統(tǒng),其中所述診斷數(shù)據(jù)包括從由存儲(chǔ)器使用、錯(cuò)誤計(jì)數(shù)、通信度量、固件水平、程序執(zhí)行度量、錯(cuò)誤狀態(tài)以及以上所述的組合所構(gòu)成的群組中所選擇的數(shù)據(jù)。
13.根據(jù)權(quán)利要求1所述的接口系統(tǒng),其中所述DCS包括具有與之連接的多個(gè)節(jié)點(diǎn)的回路、包括連接至通信總線的多個(gè)基于微處理器的控制器的節(jié)點(diǎn),并且其中所述回路包括單向、高速串行數(shù)據(jù)網(wǎng)絡(luò)。
14.根據(jù)權(quán)利要求13所述的接口系統(tǒng),其中針對(duì)數(shù)據(jù)的所述外部請(qǐng)求是SOAP消息。
15.一種將外部應(yīng)用連接至分布式控制系統(tǒng)(DCS)的方法,所述方法包括: 掃描所述DCS以確定其配置; 使用所述DCS的所述確定的配置來構(gòu)建所述DCS的拓?fù)淠P停? 從所述外部應(yīng)用接收針對(duì)來自所述DCS中的模塊的數(shù)據(jù)的外部請(qǐng)求;以及 使用所述DCS的所述拓?fù)淠P痛_定所述模塊是否能夠提供所述請(qǐng)求的數(shù)據(jù)。
16.根據(jù)權(quán)利要求15所述的方法,進(jìn)一步包括: 如果確定所述模塊能夠提供所述請(qǐng)求的數(shù)據(jù),生成針對(duì)數(shù)據(jù)的內(nèi)部請(qǐng)求;以及 向所述模塊發(fā)送針對(duì)數(shù)據(jù)的所述內(nèi)部請(qǐng)求。
17.根據(jù)權(quán)利要求16所述的方法,其中針對(duì)數(shù)據(jù)的所述外部請(qǐng)求包括所述模塊的地址。
18.根據(jù)權(quán)利要求17所述的方法,其中所述確定步驟包括: 確定針對(duì)數(shù)據(jù)的所述外部請(qǐng)求中的所述地址是否是所述拓?fù)淠P椭械挠行У刂罚? 確定所述拓?fù)淠P椭兴龅刂诽幍乃瞿K的類型;以及 確定所述確定的模塊類型是否能夠提供所述請(qǐng)求的數(shù)據(jù)。
19.根據(jù)權(quán)利要求18所述的方法,其中如果在針對(duì)數(shù)據(jù)的所述外部請(qǐng)求中的所述地址是所述拓?fù)淠P椭械挠行У刂凡⑶宜鐾負(fù)淠P椭兴龅刂诽幍乃瞿K類型能夠提供所述請(qǐng)求的數(shù)據(jù),所述方法確定所述模塊能夠提供所述請(qǐng)求的數(shù)據(jù)。
20.根據(jù)權(quán)利要求15所述的方法,其中所述方法進(jìn)一步包括在多個(gè)類中存儲(chǔ)所述拓?fù)淠P停⑶移渲性谒鲱惖拿總€(gè)類中的對(duì)象上放置讀/寫鎖,對(duì)象上的每個(gè)讀/寫鎖防止在對(duì)所述對(duì)象進(jìn)行改變的同時(shí)從所述對(duì)象讀取數(shù)據(jù),反之亦然。
全文摘要
提供了一種用于將外部應(yīng)用連接至分布式控制系統(tǒng)(DCS)的智能接口系統(tǒng)。該接口系統(tǒng)可操作以自動(dòng)掃描DCS以確定其配置并且構(gòu)建該DCS的拓?fù)淠P汀T撏負(fù)淠P捅挥脕泶_定從該DCS中的模塊所請(qǐng)求的數(shù)據(jù)是否能夠由該模塊所提供。被構(gòu)建該拓?fù)淠P蜑榫€程安全。該接口系統(tǒng)中的節(jié)流機(jī)制保護(hù)該DCS免于遭受過多數(shù)據(jù)請(qǐng)求。
文檔編號(hào)H04L12/24GK103221891SQ201180055358
公開日2013年7月24日 申請(qǐng)日期2011年9月16日 優(yōu)先權(quán)日2010年10月12日
發(fā)明者T·M·森特喬治, D·M·卡尼, P·E·亨卡 申請(qǐng)人:Abb公司