專利名稱:用于在控制系統(tǒng)中將順序功能圖作為功能塊執(zhí)行的方法
技術(shù)領(lǐng)域:
本文公開的主題涉及控制系統(tǒng),并且更具體地說涉及在可編程控制器上設計和執(zhí) 行邏輯。
背景技術(shù):
用于過程、裝置和設備的控制系統(tǒng)可包括各種邏輯,以配置控制系統(tǒng)如何監(jiān)測和 控制過程、裝置和設備。控制系統(tǒng)可包括一個或多個可編程控制器。為了實現(xiàn)用于控制器的 邏輯的設計和提供更容易的配置,控制系統(tǒng)邏輯可以各種形式呈現(xiàn)于圖形用戶界面(GUI) 上。圖形用戶界面(GUI)對于用戶是可訪問的,并且用戶可由GUI設計邏輯和配置控 制器。GUI可通過以標準格式和/或程序設計語言來表現(xiàn)邏輯而呈現(xiàn)控制邏輯的設計。順 序功能圖(SFC)是根據(jù)國際電工委員會(IEC)61131-3標準而定義的一種編程語言。這種 SFC控制邏輯可能不能被控制器的某些可編程控制系統(tǒng)所執(zhí)行或理解。
發(fā)明內(nèi)容
與最初要求保護的本發(fā)明的范圍相稱的某些實施例可概括如下。這些實施例并不 意圖限制要求保護的本發(fā)明的范圍,相反這些實施例僅僅意圖提供本發(fā)明的可能形式的簡 要概括。實際上,本發(fā)明可包含各種可與下述實施例相似或不同的形式。在第一實施例中,方法包括在物理計算裝置上接收SFC邏輯,其中SFC邏輯包括步 驟和過渡(transition,或稱變換),并在物理計算裝置上將步驟和過渡轉(zhuǎn)換成功能塊。該 方法還包括將功能塊邏輯從物理計算裝置上載到控制器上。在第二實施例中,物理計算裝置包括有形的機器可讀介質(zhì),其包括適合于為用戶 提供SFC編輯器的代碼,接收包括SFC模型的第一程序代碼,將第一程序代碼轉(zhuǎn)換成包括塊 件(blockware)的第二程序代碼,并輸出第二程序代碼。在第三實施例中,系統(tǒng)包括可編程邏輯控制器,可編程邏輯控制器包括可執(zhí)行的 功能塊以執(zhí)行一個或多個控制功能,其中功能塊是通過塊庫由順序功能圖模型轉(zhuǎn)換而來。
當參照附圖閱讀以下詳細說明時,將更好地理解本發(fā)明的這些以及其它特征、方 面和優(yōu)勢,其中在所有附圖中相同的標號表示相同的部件,其中圖1是根據(jù)本發(fā)明的一個實施例的控制系統(tǒng)的一種實現(xiàn)的示意圖;圖2是根據(jù)本發(fā)明一個實施例的用于為控制器的設計和配置控制邏輯的系統(tǒng)的 示意圖;圖3描繪了根據(jù)本發(fā)明一個實施例的包括塊件編譯器的設計程序的一個實施例;圖4是根據(jù)本發(fā)明一個實施例的SFC邏輯圖表和由編譯器所產(chǎn)生的相對應的塊件 的示意圖;和
圖5是根據(jù)本發(fā)明一個實施例的從SFC邏輯產(chǎn)生塊件的過程的流程圖。標號列表10系統(tǒng);12控制系統(tǒng);14過程;16渦輪;18發(fā)電部件;20傳感器;22促動器/馬 達;24接口 ;26控制器;30系統(tǒng);32用戶;34計算機;36設計程序;31存儲器;33輸入裝置; 35顯示器;37處理器;38網(wǎng)絡;39固件;40圖表編輯器;42編譯器;44功能塊;46塊庫;47 SFC數(shù)據(jù)模型;48箭頭;49箭頭;50塊件(blockware) ;52 SFC邏輯圖表;54相對應的塊件; 56開始塊;58輸入;60產(chǎn)生輸出;62邏輯部件;63箭頭;64功能塊;66輸入;68輸出;70邏 輯部件;69箭頭;72功能塊;74輸入;76輸出;78邏輯部件;80過程;82塊;84任務程序代 碼;86傳統(tǒng)塊件程序代碼;88傳統(tǒng)塊件圖表編輯器。
具體實施例方式以下將描述本發(fā)明的一個或多個特定實施例。為了提供這些實施例的簡明描述, 在說明書中可能沒有完全描述實際實施的所有特征。應該懂得,在任何這種實際實施的研 究中,如同在任何工程或設計項目中一樣,必須做出許多實施特有的決策,以實現(xiàn)研究者的 特定目的,例如符合與系統(tǒng)及商業(yè)相關(guān)的約束,其可能根據(jù)實施而變化。此外,應該懂得這 種研究工作可能是復雜且耗時的,但對于受益于本發(fā)明公開的普通技術(shù)人員仍然是其承擔 設計、構(gòu)造和制造的日常事務。當介紹本發(fā)明的各種實施例的元件時,冠詞“一”、“一個”、“這個”和“所述”都意
圖表示有一個或多個元件。詞語“包括”、“包含”和“具有”都是包括性的并意味著除了列 出的元件之外,還可以有其它元件。本發(fā)明的實施例包括用于在可編程控制器中將順序功能圖(SFC)作為塊件(例如 功能塊)而執(zhí)行的技術(shù)。實施例包括接收包含步驟和過渡的順序功能圖(SFC)邏輯,將順 序功能圖(SFC)邏輯的步驟和過渡轉(zhuǎn)換成功能塊邏輯,并且將功能塊邏輯從物理計算裝置 上載到控制器。這些步驟和過渡可根據(jù)SFC規(guī)范(IEC61131-3)進行設計。功能塊邏輯的 功能塊通常包括輸入(例如輸入變量)、輸出(例如輸出變量)和邏輯運算符(例如布爾運 算符、數(shù)字運算符等等)。在一些實施例中,可提供塊庫,其包括專門的功能塊,它們提供了 對SFC邏輯的步驟和過渡進行轉(zhuǎn)換的機制。圖1描繪了根據(jù)本發(fā)明的一個實施例的系統(tǒng)10,系統(tǒng)10聯(lián)接到控制系統(tǒng)12。系統(tǒng) 10可包括例如過程14、渦輪16、發(fā)電部件18或任何其它部件或其組合。過程14可包括各 種操作部件,例如電動馬達、閥門、促動器、傳感器或各種制造、處理、材料搬運以及其它應 用。此外,過程14可包括用于通過自動化和/或觀測而調(diào)整過程變量的控制和監(jiān)測設備。 渦輪16可包括蒸汽渦輪、燃氣渦輪、風力渦輪、水力渦輪或其任意組合。例如,渦輪16可包 括具有燃氣渦輪、蒸汽渦輪和熱回收蒸汽發(fā)生(HRSG)系統(tǒng)的聯(lián)合循環(huán)。此外,渦輪16可驅(qū) 動發(fā)電部件18,其可包括發(fā)電機。作為備選,在一些實施例中,渦輪16和/或發(fā)電部件可 以是太陽能驅(qū)動的。渦輪16和發(fā)電部件18可包括任意數(shù)量的操作部件,例如馬達、旋轉(zhuǎn)部 件、功率電子裝置、傳感器、促動器等等。所示的過程14、渦輪16和發(fā)電部件18可包括任意數(shù)量的傳感器20和促動器/馬 達22。傳感器20可包括任意數(shù)量的適合于提供關(guān)于過程條件的信息的裝置。例如,傳感 器20可監(jiān)測溫度、壓力、速度、流體流速、振動、噪聲、廢氣排放、功率輸出、間隙或任何其它合適的參數(shù)。促動器22可類似地包括任意數(shù)量的適合于響應輸入信號而執(zhí)行機械動作的 裝置。例如,促動器22可控制燃料噴射速率、稀釋劑或水的噴射速率、冷卻劑速率、功率輸 出水平、速度、流速、間隙等等。如圖所示,這些傳感器20和促動器22例如通過接口 24而與控制系統(tǒng)12通信。 控制系統(tǒng)12可包括一個、兩個、三個或更多個控制器26 (例如可編程邏輯控制器),其可以 任何適合于監(jiān)測和控制系統(tǒng)10的方式進行操作。例如,這種系統(tǒng)可被稱為單工(一個控制 器)、雙工(兩個控制器)、三模冗余(三個控制器并被稱為“TMR”),并可提供任何合適的 冗余模型。傳感器20和促動器22可與任何或所有控制器26直接通信。這些裝置可被用 來操作過程設備。事實上,可在由控制系統(tǒng)12和控制器26監(jiān)測并控制的過程循環(huán)中利用 它們。在某些實施例中,控制器26可以是單獨的和/或與過程14、渦輪16、和/或發(fā)電部 件18 —體的。圖2是根據(jù)本發(fā)明一個實施例的用于為控制器26設計控制邏輯的系統(tǒng)30的示意 圖。用戶32可與計算機34交互,計算機34執(zhí)行用于控制邏輯的設計程序36。計算機34 可包括用于儲存設計程序36和/或任何其它數(shù)據(jù)或程序的存儲器31 (例如有形的機器可 讀介質(zhì))。用戶32可通過聯(lián)接在計算機34上的輸入裝置33而與計算機34交互。輸入裝 置33可以是鼠標、跟蹤球、鍵盤、觸摸屏、語音識別系統(tǒng)、任何合適的輸入裝置或其任意組
I=I ο計算機34可以是任何合適的計算機,例如筆記本、臺式機、服務器等等。在其它實 施例中,計算機34可以是任何能夠執(zhí)行設計程序36的便攜式電子裝置。計算機34可包括 顯示器35,從而將設計程序36的各個部分或屏幕顯示給用戶32。顯示器35可包括CRT顯 示器、IXD顯示器、OLED顯示器、LED顯示器或任何合適的顯示器或其組合。此外,計算機34 可包括一個或多個處理器37,其可與存儲器31通信,并執(zhí)行計算機34上的設計程序36和 任何其它程序。計算機34可通過網(wǎng)絡38聯(lián)接在控制器26上。網(wǎng)絡38可包括任何有線網(wǎng)絡、無 線網(wǎng)絡或其組合,例如以太網(wǎng)、無線以太網(wǎng)等等。控制器26可包括固件39,其通常負責解 釋、編譯和/或執(zhí)行從計算機34通過網(wǎng)絡38下載到控制器26中的任何控制邏輯。為了創(chuàng)建用于控制器26的控制邏輯,用戶32可在設計程序36中起動新的邏輯 設計或加載現(xiàn)存的邏輯設計。在一個實施例中,設計程序36可為用戶32提供順序功能圖 (SFC)圖表編輯器40,其利用IEC61131-3標準(被稱為“SFC”)來設計邏輯。如以下進一 步所述,由用戶32創(chuàng)建的SFC邏輯(其可被稱為SFC “數(shù)據(jù)模型”)可包括各種“步驟”和 “過渡”以限定監(jiān)測和控制系統(tǒng)10的邏輯。在這樣一個實施例中,控制器26的固件39可能不能解釋、編譯和/或執(zhí)行由設計 程序36的SFC設計編輯器40所產(chǎn)生的SFC邏輯程序代碼。例如,控制器26可能只能夠解 釋、編譯和/或執(zhí)行“塊件”程序代碼,例如根據(jù)功能塊限定的邏輯,而非由用戶32利用SFC 設計程序40所創(chuàng)建的SFC邏輯(SFC數(shù)據(jù)模型)。圖3描繪了根據(jù)本發(fā)明一個實施例的包括SFC-塊件編譯器42的設計程序36的 一個實施例。如圖3中所描繪的實施例中所示,編譯器42是設計程序36的一部分。然而, 在其它實施例中,編譯器42可以是能夠接收來自設計程序36的輸出的單獨程序。編譯器 42可產(chǎn)生功能塊44,并可包括塊庫46以有利于功能塊44的產(chǎn)生。以下將進一步詳細描述塊庫46。如上所述,用戶32可在SFC設計編輯器40上設計和編輯SFC數(shù)據(jù)模型47 (SFC邏 輯)。當用戶32已經(jīng)完成所需的SFC數(shù)據(jù)模型47時,編譯器42可自動地執(zhí)行。在一些實 施例中,編譯器42可在SFC模型47的任何變化之后執(zhí)行。在其它實施例中,編譯器42可在 完成整個新的SFC模型47之后執(zhí)行。在另一些其它實施例中,編譯器42可由用戶32的啟 動來執(zhí)行。在上載開始時,可將SFC數(shù)據(jù)模型47提供給編譯器42 (如箭頭48所示)。編譯 器42通過例如利用塊庫46而將SFC數(shù)據(jù)模型47 (SFC邏輯)編譯成功能塊44 (即塊件)。 如以下所述,編譯器42可將SFC數(shù)據(jù)模型47的各個步驟和過渡轉(zhuǎn)換成功能塊44。這些功 能塊44以可由控制器26的固件39解釋、編譯且執(zhí)行的格式描述了 SFC數(shù)據(jù)模型47的邏 輯。如箭頭49所示,編譯器42從設計程序36輸出塊件50 (包括功能塊邏輯44)。塊件50 可通過網(wǎng)絡38而上載至控制器26。圖4是根據(jù)本發(fā)明一個實施例的SFC邏輯圖表52和由編譯器42所產(chǎn)生的相對應 的塊件54的示意圖。應該懂得,SFC邏輯圖表52和塊件54是出于舉例說明的目的而顯示 的簡化示例,并且編譯器42可從由用戶32創(chuàng)建的任何SFC邏輯圖表52而產(chǎn)生任何詳細且 復雜的塊件54。如圖4中所示,SFC邏輯圖表52可包括任意數(shù)量的由用戶32規(guī)定的步驟和過渡。 從初始步驟塊開始,SFC邏輯圖表包括步驟0,其通過過渡0連接到步驟1 ;步驟1通過過渡 1連接到步驟2和步驟3 ;步驟2通過過渡2連接到步驟4 ;步驟3通過過渡3連接到步驟 4,并且最后終止于步驟4。應該懂得,各個步驟和過渡可基于傳感器20、促動器/馬達22 或系統(tǒng)10的任何其它部件和過程14、渦輪16以及發(fā)電部件18而限定特定的邏輯和所使用 的相對應的動作。這些步驟和過渡限定了用于系統(tǒng)10的操作邏輯,從而實現(xiàn)系統(tǒng)10的監(jiān) 測和控制。如上所述,在用戶32創(chuàng)建SFC邏輯圖表52之后,可選擇SFC邏輯圖表52用于上 載至控制器46中。編譯器42將SFC邏輯圖表52中所描繪的SFC數(shù)據(jù)模型(SFC邏輯)編 譯成功能塊56,如塊件圖表54所示。如圖4中所示,各個功能塊56可接收輸入58并產(chǎn)生輸出60,并且可包括任意數(shù) 量的邏輯部件62,例如邏輯門、布爾運算器、數(shù)字運算器等等。例如,如箭頭63所示,可將 步驟0轉(zhuǎn)換成具有輸入66、輸出68和邏輯部件70的功能塊64。類似地,如箭頭69所示, 可將過渡0轉(zhuǎn)換成具有輸入74、輸出76和邏輯部件78的功能塊72等等。通過這種方式, SFC邏輯圖表52中所描繪的SFC邏輯的各個步驟或過渡轉(zhuǎn)換成適合于控制器26的固件39 解釋、編譯和執(zhí)行的功能塊56。另外,SFC模型47的各個步驟和過渡的轉(zhuǎn)換可包括使用塊庫46。塊庫46可包括 任意數(shù)量的特定功能塊,其從SFC模型47的轉(zhuǎn)換的SFC邏輯來看提供了用于塊件50的機 制。例如,塊庫46的各個塊可實現(xiàn)一個或多個SFC功能,并限定用于執(zhí)行這些一個或多個 功能的相對應的輸入與輸出。以下在表1中提供了塊庫46的一個實施例 表 1應該懂得,一些實施例可使用任何或所有上述塊庫46。另外,在一些實施例中,可 將補充塊添加到塊庫46,以有利于將SFC數(shù)據(jù)模型47編譯成塊件50。在其它實施例中,上 述塊庫46的塊的輸入和/或輸出可針對特定的SFC的實現(xiàn)形式進行修改。圖5是根據(jù)本發(fā)明一個實施例的從上述SFC邏輯產(chǎn)生塊件,例如功能塊的過程80 的流程圖。過程80的任何步驟或所有步驟可在硬件、軟件(例如存儲在有形的機器可讀介 質(zhì)中的代碼)或其組合中實現(xiàn)。最初,可將SFC邏輯接口,例如SFC圖表編輯器40提供給 用戶32。來自SFC圖表編輯器40的輸出是SFC數(shù)據(jù)模型47。SFC數(shù)據(jù)模型47可以是限定 SFC數(shù)據(jù)模型47的SFC邏輯的程序代碼。SFC數(shù)據(jù)模型47被提供給編譯器42。如上所述,編譯器42可訪問和使用塊庫 46,以便例如通過將SFC數(shù)據(jù)模型47的步驟和過渡轉(zhuǎn)換成如圖4中所示的功能塊56,從而 將SFC數(shù)據(jù)模型47編譯成塊件程序代碼。如塊82中所示,將塊件程序代碼下載到控制器 26 (例如從計算機34上載)。塊件程序代碼82包括從SFC數(shù)據(jù)模型47編譯的SFC塊件任務程序代碼84。另 外,在一些實施例中,塊件程序代碼82可包括傳統(tǒng)的塊件程序代碼86,例如不是從SFC數(shù)據(jù) 模型47編譯的代碼。例如,從傳統(tǒng)的塊件圖表編輯器88,即塊件邏輯接口可創(chuàng)建傳統(tǒng)的塊 件程序代碼86,在計算機34上執(zhí)行。最后,在例如由控制器固件48解釋、編譯和/或執(zhí)行 之后,下載的塊件82可作為控制器運行時88的一部分來執(zhí)行。有利的是,不需要修改控制 器26的固件39即可使用SFC數(shù)據(jù)模型47。本發(fā)明的技術(shù)效果包括將IEC61131-3SFC邏輯轉(zhuǎn)換成用于控制器使用的功能塊 邏輯。其它技術(shù)效果包括塊庫的使用,其限定了用于將SFC邏輯轉(zhuǎn)換成功能塊邏輯的特定 功能塊機制。本文使用示例來公開本發(fā)明,包括最佳模式,并且還可使本領(lǐng)域中的技術(shù)人員能 夠?qū)嵺`本發(fā)明,包括制造和利用任何裝置或系統(tǒng),并執(zhí)行任何所含方法。本發(fā)明可取得專利 的范圍由權(quán)利要求限定,并且可包括本領(lǐng)域中的技術(shù)人員想到的其它示例。如果這些其它 示例具有并非不同于權(quán)利要求語言的結(jié)構(gòu)元件,或者如果其包括與權(quán)利要求語言無實質(zhì)差 異的等效的結(jié)構(gòu)元件,那么這些其它示例都屬于權(quán)利要求的范圍內(nèi)。
權(quán)利要求
一種方法(80),包括在物理計算裝置(34)上接收包括步驟和過渡的順序功能圖(SFC)邏輯(47);在所述物理計算裝置(34)上將所述順序功能圖邏輯(47)的步驟和過渡轉(zhuǎn)換成功能塊邏輯(82);以及將所述功能塊邏輯(82)從所述物理計算裝置(34)上載到控制器(26)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,包括為所述物理計算裝置(34)的用戶提 供SFC編輯器(40)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,包括為所述物理計算裝置(34)的用戶提 供功能塊編輯器(88)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,轉(zhuǎn)換所述SFC邏輯(47)的步驟和過渡包 括利用儲存在所述物理計算裝置(34)上的塊庫(46)將所述順序功能圖邏輯(47)的步驟 和過渡轉(zhuǎn)換成功能塊邏輯(82)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述塊庫(46)包括起作用的控制塊,起 作用的步驟時間塊,過渡控制塊,SFC控制接口塊,過渡激勵控制塊,重要動作控制塊或其組I=I O
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,包括在所述物理計算裝置(34)的顯示器 (35)上顯示所述SFC邏輯(47)。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,上載所述功能塊邏輯(82)包括利用所述 功能塊邏輯(82)對所述控制器(26)進行編程。
8.一種系統(tǒng)(30),包括包括功能塊(39)的可編程邏輯控制器(26),所述功能塊(39)可被執(zhí)行以執(zhí)行一個或 多個控制功能,其中,所述功能塊(39)通過塊庫(46)由順序功能圖邏輯(47)轉(zhuǎn)換而來。
9.根據(jù)權(quán)利要求8所述的系統(tǒng)(30),其特征在于,包括通過網(wǎng)絡(38)而聯(lián)接在所述可編程邏輯控制器(26)上的計算機(34),其中,所述計算 機(34)包括處理器(37);有形的機器可讀介質(zhì)(31);和儲存在有形的機器可讀介質(zhì)(31)上并可由所述處理器(37)執(zhí)行的程序(36),其中,所 述程序(36)配置成為用戶提供順序功能圖編輯器(40),并輸出包括SFC邏輯(47)的第一 程序代碼,并且所述程序配置成將所述第一程序代碼轉(zhuǎn)換成包括可由所述可編程邏輯控制 器(26)執(zhí)行的功能塊(44)的第二程序代碼。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述功能塊(56)限定了一個或多個輸入 (58),一個或多個輸出(60),以及作用于所述一個或多個輸入(58)上以產(chǎn)生所述一個或多 個輸出(60)的邏輯運算符(62)。
全文摘要
本發(fā)明提供了用于將順序功能圖(SFC)邏輯(47)轉(zhuǎn)換成由可編程控制器(26)執(zhí)行的功能塊邏輯(82)的系統(tǒng)(30)和方法(80)。在一個實施例中,方法包括在物理計算裝置(34)上接收包括步驟和過渡的順序功能圖(SFC)邏輯(47),在物理計算裝置(34)上將順序功能圖邏輯(47)的步驟和過渡轉(zhuǎn)換成功能塊邏輯(47),并將功能塊邏輯(47)從物理計算裝置(34)上載到控制器(26)。
文檔編號G05B19/05GK101881951SQ20101016530
公開日2010年11月10日 申請日期2010年4月14日 優(yōu)先權(quán)日2009年4月14日
發(fā)明者J·M·卡拉法 申請人:通用電氣公司