亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

編譯模型的制作方法

文檔序號(hào):6580762閱讀:147來(lái)源:國(guó)知局
專利名稱:編譯模型的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及工業(yè)控制系統(tǒng),更為具體而言,涉及對(duì)與工業(yè)環(huán)境相關(guān)聯(lián)的資源進(jìn)行
通用編程。
背景技術(shù)
由于計(jì)算機(jī)技術(shù)的進(jìn)步,今天的行業(yè)與僅幾年前基本上相同的行業(yè)相比可以更為 有效地運(yùn)行。例如,內(nèi)部聯(lián)網(wǎng)使得公司雇員能夠通過(guò)電子郵件即時(shí)通信,快速地將數(shù)據(jù)文件 傳送到不同的雇員,操作數(shù)據(jù)文件,共享與項(xiàng)目有關(guān)的數(shù)據(jù)以減少在工作成果中的重復(fù)等。 此外,技術(shù)的進(jìn)步已經(jīng)使得工廠應(yīng)用變得部分或者完全自動(dòng)化。例如,曾經(jīng)要求工人親自接 近重型機(jī)器或者其他各種危險(xiǎn)狀況的操作現(xiàn)在可以在安全距離處完成。 此外,通過(guò)使用高精密機(jī)器使與人的動(dòng)作相關(guān)聯(lián)的不足最小化。許多這些工廠設(shè) 備將與制造有關(guān)的數(shù)據(jù)提供給數(shù)據(jù)庫(kù),這些數(shù)據(jù)庫(kù)可以由車間的項(xiàng)目管理器/過(guò)程/系統(tǒng) 訪問(wèn)。例如,傳感器和相關(guān)軟件可以檢測(cè)多個(gè)如下實(shí)例特定的機(jī)器完成了給定規(guī)定的時(shí)間 量的操作。此外,可以將來(lái)自傳感器的數(shù)據(jù)傳遞到與系統(tǒng)告警有關(guān)的處理單元。因而,工廠 自動(dòng)化系統(tǒng)可以檢查收集到的數(shù)據(jù)并且自動(dòng)和/或半自動(dòng)地調(diào)度設(shè)備的維護(hù)、設(shè)備的更換 和其他各種與對(duì)過(guò)程進(jìn)行自動(dòng)化有關(guān)的工序。 盡管已就工業(yè)過(guò)程的自動(dòng)化做出了各種改進(jìn),但是控制器的應(yīng)用和設(shè)計(jì)基本沒(méi)有 改變。更具體而言,已將工業(yè)控制器設(shè)計(jì)為有效地承擔(dān)實(shí)時(shí)控制。例如,傳統(tǒng)工業(yè)控制器從 傳感器接收數(shù)據(jù),并且基于接收到的數(shù)據(jù)控制執(zhí)行器、驅(qū)動(dòng)器等。這些控制器通過(guò)與源和/ 或目的地相關(guān)聯(lián)的符號(hào)和/或地址來(lái)識(shí)別數(shù)據(jù)的源和/或目的地。更具體而言,工業(yè)控制 器包括通信端口和/或適配器,并且將傳感器、執(zhí)行器、驅(qū)動(dòng)器等以通信的方式耦合到這樣 的端口 /適配器。因此,當(dāng)接收到數(shù)據(jù)時(shí),控制器可以識(shí)別設(shè)備身份并且進(jìn)一步將控制數(shù)據(jù) 傳遞到合適的設(shè)備。 不幸的是,在自動(dòng)化工業(yè)環(huán)境內(nèi)所使用的傳統(tǒng)控制器和設(shè)備已經(jīng)落后于近來(lái)針對(duì) 自動(dòng)化工業(yè)保持大步邁進(jìn)的技術(shù)進(jìn)步。傳統(tǒng)的控制器和設(shè)備呆板并且不靈活,使得必須對(duì) 與其相關(guān)聯(lián)的軟件進(jìn)行特定定制和/編程。換言之,每個(gè)控制器和/或設(shè)備通常需要特定的 代碼或者軟件以便在工業(yè)過(guò)程中使用。另外,在工業(yè)自動(dòng)化工業(yè)中,存在各種編程語(yǔ)言并且 可以實(shí)施各種編程語(yǔ)言以生成和使用這樣的過(guò)程。每種編程語(yǔ)言的固有好處和不利增加了 對(duì)控制器和設(shè)備進(jìn)行編程的復(fù)雜性,其中開(kāi)發(fā)者必須在編程語(yǔ)言中進(jìn)行選擇以創(chuàng)建過(guò)程。
—些軟件開(kāi)發(fā)程序向下將高級(jí)控制語(yǔ)言例如Ladder (梯形圖)或者SFC(順序功 能流程圖)編譯成目標(biāo)系統(tǒng)運(yùn)行的指令。通常,編譯是對(duì)更高級(jí)源代碼的編譯,該更高級(jí)源 代碼已經(jīng)翻譯成PLC(可編程邏輯控制器)目標(biāo)代碼例如編譯成C+可執(zhí)行格式的C+源代 碼。 一個(gè)問(wèn)題是這些系統(tǒng)通常是不靈活的,因?yàn)樗麄儍H支持一種類型的高級(jí)語(yǔ)言編譯。更 大的問(wèn)題是執(zhí)行性能。目標(biāo)級(jí)的編譯通常是低效率的并且遠(yuǎn)遠(yuǎn)脫離實(shí)際目標(biāo)硬件語(yǔ)言,該 實(shí)際目標(biāo)硬件語(yǔ)言是最大可能執(zhí)行格式的形式。

發(fā)明內(nèi)容
以下簡(jiǎn)要地概括了所要求保護(hù)的主題,以供對(duì)在此所描述的一些方面有基本理 解。該概括不非廣泛的概述,并且并未意圖將其視為關(guān)鍵的/重要的要素或者描述所要求 保護(hù)的主題的范圍。其唯一目的是以簡(jiǎn)化形式提出一些概念作為隨后提出的更詳細(xì)的描述 的序言。 本發(fā)明涉及用于對(duì)資源進(jìn)行通用編程的系統(tǒng)和/或方法,其有利于從多個(gè)語(yǔ)言特 定編譯器中生成中間語(yǔ)言。 一般地,本發(fā)明可以是編譯模型,該編譯模型可以減少實(shí)施較高 級(jí)控制解決方案所需的代碼量并且又增加了代碼執(zhí)行性能??梢允褂枚鄠€(gè)支持各種語(yǔ)言的 編輯器??梢酝ㄟ^(guò)匯編器部件將來(lái)自編輯器的輸出編譯成中間語(yǔ)言例如指令表??梢詫?IL(指令表)語(yǔ)言鏈接到目標(biāo)微處理器和/或資源所支持的高性能指令的二進(jìn)制格式。提 供定義終端用戶硬件環(huán)境的PLC定義,在終端用戶硬件環(huán)境中加載器可以提供目標(biāo)可執(zhí)行 代碼(TEC)程序,該目標(biāo)可執(zhí)行代碼程序是在考慮到在PLC定義中所描述的實(shí)際PLC硬件 限制的情況下已進(jìn)行適配的二進(jìn)制源。 為了完成上述和有關(guān)目標(biāo),這里結(jié)合以下描述和附圖描述了本發(fā)明的某些說(shuō)明性 方面。然而,這些方面表示了可使用本發(fā)明的原理的各種方式中的一些,并且本發(fā)明旨在包 括所有這樣的特點(diǎn)及其等同物。本發(fā)明的其他優(yōu)點(diǎn)和新穎特征由以下結(jié)合附圖考慮對(duì)本發(fā) 明進(jìn)行的詳細(xì)說(shuō)明變得明顯。



圖1示出了用于對(duì)資源進(jìn)行通用編程的便于由多個(gè)語(yǔ)言特定編譯器生成中間語(yǔ)
言的示例性系統(tǒng)的框圖。 圖2示出了示例性系統(tǒng)的框圖,該系統(tǒng)便于使用來(lái)自各種編譯器的中間語(yǔ)言以創(chuàng) 建TEC代碼格式控制應(yīng)用。 圖3示出了根據(jù)本發(fā)明的便于對(duì)過(guò)程進(jìn)行編譯的示例性系統(tǒng)的框圖。 圖4示出了便于在運(yùn)行時(shí)間期間向目標(biāo)實(shí)施TEC代碼格式控制應(yīng)用的示例性系統(tǒng)
的框圖。 圖5示出了根據(jù)本發(fā)明的便于利用通用模型的示例性系統(tǒng)的框圖。 圖6示出了用于對(duì)資源進(jìn)行通用編程的便于由多個(gè)語(yǔ)言特定編譯器生成中間語(yǔ)
言的示例性系統(tǒng)的框圖。 圖7示出了用于利用中間語(yǔ)言以實(shí)現(xiàn)針對(duì)工業(yè)環(huán)境中的多個(gè)設(shè)備進(jìn)行通用編程 的示例性方法。 圖8示出了便于使用來(lái)自各種編譯器的中間語(yǔ)言以創(chuàng)建TEC代碼格式控制應(yīng)用的 示例性方法。 圖9示出了示例性聯(lián)網(wǎng)環(huán)境,其中可以使用要求保護(hù)的主題的新特點(diǎn)。
圖10示出了可以根據(jù)要求保護(hù)的主題來(lái)使用的示例性操作環(huán)境。
具體實(shí)施例方式
現(xiàn)在參照附圖描述了要求保護(hù)的主題,其中相同的附圖標(biāo)記始終用來(lái)指相同的要 素。在以下的描述中,出于說(shuō)明目的,闡明了許多特定的細(xì)節(jié)以提供對(duì)要求保護(hù)的主題的全面理解。然而,可能明顯的是,可以實(shí)踐這樣的內(nèi)容而不需要這些特定的細(xì)節(jié)。在其他的實(shí)例中,以框圖的形式示出了眾所周知的結(jié)構(gòu)和設(shè)備以便于描述發(fā)明。 如在本申請(qǐng)中所使用的,術(shù)語(yǔ)"部件"、"系統(tǒng)"、"匯編器"、"鏈接器"、"加載器"、"編譯器"、"編輯器"、"設(shè)備"等是用來(lái)指與計(jì)算機(jī)有關(guān)的實(shí)體,即硬件、硬件和軟件的組合、軟件或者執(zhí)行中的軟件。例如,部件可以是但不限于在處理器上運(yùn)行的過(guò)程、處理器、對(duì)象、實(shí)例、可執(zhí)行的、執(zhí)行的線程、程序和/或計(jì)算機(jī)。舉例而言,在計(jì)算機(jī)上運(yùn)行的應(yīng)用和計(jì)算機(jī)都可以是部件。 一個(gè)或更多個(gè)部件可以存在于執(zhí)行的過(guò)程和/或線程中,并且可以將部件定位在一個(gè)計(jì)算機(jī)上和/或分布于兩個(gè)或更多個(gè)計(jì)算機(jī)之間。 此外,使用標(biāo)準(zhǔn)編程和/或工程技術(shù)可以將要求保護(hù)的主題實(shí)施為方法、裝置或者制造的物品以產(chǎn)生軟件、固件、硬件或者其任何組合來(lái)控制計(jì)算機(jī)以便實(shí)施所公開(kāi)的主題。這里所使用的術(shù)語(yǔ)"制造的物品"旨在包括可從任何計(jì)算機(jī)可讀設(shè)備、載體或者介質(zhì)存取的計(jì)算機(jī)程序。例如,計(jì)算機(jī)可讀介質(zhì)可以包括但不限于磁存儲(chǔ)設(shè)備(例如,硬盤(pán)、軟盤(pán)、磁帶)、光盤(pán)(例如,光盤(pán)(CD)、數(shù)字多功能光盤(pán)(DVD))、智能卡和閃存設(shè)備(例如,卡、棒、鍵驅(qū)動(dòng))。另外應(yīng)理解的是,可以使用載波來(lái)攜帶計(jì)算機(jī)可讀電子數(shù)據(jù)例如在發(fā)送和接收電子郵件中或者在訪問(wèn)網(wǎng)絡(luò)(例如互聯(lián)網(wǎng)或者局域網(wǎng)(LAN))中使用的數(shù)據(jù)。當(dāng)然,本領(lǐng)域的那些技術(shù)人員應(yīng)認(rèn)識(shí)到,可以對(duì)本配置進(jìn)行許多修改而不離開(kāi)要求保護(hù)的主題的范圍或者精神。另外,在此使用詞語(yǔ)"示例性"來(lái)表示作為示例、實(shí)例或者說(shuō)明。這里被描述為"示例性"的任何方面或者設(shè)計(jì)不一定要解釋為相對(duì)于其他特點(diǎn)或者設(shè)計(jì)是優(yōu)選的或者有利的。
現(xiàn)在轉(zhuǎn)到附圖,圖1示出了用于對(duì)資源進(jìn)行通用編程的便于由多個(gè)語(yǔ)言特定編譯器生成中間語(yǔ)言的系統(tǒng)100。系統(tǒng)100可以包括匯編器部件102,該匯編器部件可以生成用于語(yǔ)言特定編譯代碼的中間語(yǔ)言,其中中間語(yǔ)言可以獨(dú)立于硬件和/或處理器,也可以用于特定的資源、目標(biāo)、處理器、硬件等。換言之,匯編器部件102可以接收語(yǔ)言特定代碼或者應(yīng)用并且可以創(chuàng)建可以通用地用于任何合適目標(biāo)(例如,處理器、硬件、設(shè)備、平臺(tái)等)而不管類型、制造、模型、品牌等的部分?jǐn)?shù)據(jù)(例如,中間語(yǔ)言等)。另外,通過(guò)使用這種中間語(yǔ)言,系統(tǒng)100可以提高執(zhí)行速度,也可以維持實(shí)施目標(biāo)獨(dú)立代碼的能力。
具體而言,至少一個(gè)語(yǔ)言編輯器104可以實(shí)現(xiàn)代碼或者應(yīng)用的一部分的創(chuàng)建。應(yīng)理解的是,可以存在任何適當(dāng)數(shù)量的語(yǔ)言編輯器104,例如語(yǔ)言編輯器工到語(yǔ)言編輯器,,其中N是正整數(shù)。另外,語(yǔ)言編輯器104可以與任何適當(dāng)?shù)木幊陶Z(yǔ)言相關(guān)聯(lián),編程語(yǔ)言例如是(但不限于)梯形圖(LD)、功能塊圖(FBD)、結(jié)構(gòu)文本(ST)、指令表(IU、順序功能流程圖(SFC) 、61499、任何與標(biāo)準(zhǔn)相關(guān)聯(lián)的適當(dāng)?shù)木幊陶Z(yǔ)言、任何與工業(yè)過(guò)程相關(guān)聯(lián)的適當(dāng)?shù)木幊陶Z(yǔ)言等。至少一個(gè)語(yǔ)言編輯器104可以包括相應(yīng)語(yǔ)言特定編譯器,例如至少一個(gè)編譯器106。應(yīng)理解的是,可以存在任何適當(dāng)數(shù)量的編譯器106,例如編譯器工到編譯器m,其中M是正整數(shù)。 匯編器部件102可以接收來(lái)自至少一個(gè)語(yǔ)言特定編譯器106的、以特定語(yǔ)言編譯的代碼或者應(yīng)用的部分(例如,來(lái)自至少一個(gè)語(yǔ)言編輯器104的以特定語(yǔ)言創(chuàng)建的部分?jǐn)?shù)據(jù))。匯編器部件102可以提供用于編譯過(guò)的代碼或者應(yīng)用的中間語(yǔ)言,其中中間語(yǔ)言例如可以是指令表(IL)。所生成的IL可以是通配的(generic)并且通用地創(chuàng)建,其又允許中間語(yǔ)言獨(dú)立于目標(biāo)(例如,處理器、硬件等)。鏈接器108可以提供用于中間語(yǔ)言(例如,指令表等)的任何適當(dāng)?shù)逆溄踊蛘哧P(guān)聯(lián)。匯編部件102和/或鏈接器108可以將中間語(yǔ)言(這
5里為指令表)匯編成二進(jìn)制指令表(IL)。該目標(biāo)獨(dú)立二進(jìn)制IL可以通過(guò)鏈接器108與任 何適當(dāng)?shù)臄?shù)據(jù)和/或硬件鏈接。系統(tǒng)100還可以包括加載器110,該加載器可以對(duì)至少一個(gè) 特定運(yùn)行時(shí)間目標(biāo)112使用二進(jìn)制IL。 —般來(lái)說(shuō),系統(tǒng)100允許生成語(yǔ)言并且將語(yǔ)言編譯成中間語(yǔ)言(例如,指令表),其 中可以將這樣的指令表關(guān)聯(lián)到匯編代碼??梢酝ㄟ^(guò)即時(shí)(JIT)編譯來(lái)完成至匯編代碼的關(guān) 聯(lián)。因此,語(yǔ)言特定代碼可以被編譯成IL,IL可以被匯編成二進(jìn)制IL,并且可以將獨(dú)立于目 標(biāo)的二進(jìn)制文件提供給鏈接。例如,二進(jìn)制文件可以是針對(duì)IL虛擬處理器的完整應(yīng)用。即 時(shí)轉(zhuǎn)換器或者匯編器可以針對(duì)要運(yùn)行該代碼的特定目標(biāo)處理器(例如,運(yùn)行時(shí)間目標(biāo)112) 來(lái)轉(zhuǎn)換二進(jìn)制文件或者程序。系統(tǒng)100實(shí)現(xiàn)即時(shí)匯編代碼與中間代碼的匹配,這可以在維 持具有目標(biāo)獨(dú)立代碼的能力的同時(shí)提高執(zhí)行速度。 此外,可以利用庫(kù)(未示出),其中庫(kù)可以在IL側(cè)上。庫(kù)可以是通配的而不是對(duì) 個(gè)別處理器特定的。因此,庫(kù)可以獨(dú)立于硬件而不具有對(duì)個(gè)別平臺(tái)或者處理器特定的數(shù)據(jù) (例如,硬件特定數(shù)據(jù)等)。 另外,系統(tǒng)100可以包括任何適當(dāng)?shù)暮?或必要的接口部件(未示出),該接口部 件提供各種適配器、連接器、通道、通信路徑等以便將匯編器部件102集成到實(shí)際任何操作 和/或數(shù)據(jù)庫(kù)系統(tǒng)。另外,接口部件可以提供各種適配器、鏈接器、通道、通信路徑等,它們 提供與匯編器部件102的相互作用。 圖2示出了系統(tǒng)200,該系統(tǒng)有利于使用來(lái)自各種編譯器的中間語(yǔ)言以創(chuàng)建TEC 代碼格式控制應(yīng)用。系統(tǒng)200可以根據(jù)編譯過(guò)的語(yǔ)言特定代碼的一部分創(chuàng)建數(shù)據(jù)的中間 部分,以便實(shí)現(xiàn)對(duì)于任何適當(dāng)?shù)奶幚砥骱?或硬件可通用適用代碼。系統(tǒng)200可以利用編 譯模型,在該編譯模型中可以將已編譯過(guò)的語(yǔ)言特定代碼生成獨(dú)立于目標(biāo)的中間語(yǔ)言(例 如,指令表)。 —般來(lái)說(shuō),本發(fā)明可以利用配置、資源、語(yǔ)言和實(shí)時(shí)操作系統(tǒng)。例如,配置可以是用 于資源、節(jié)點(diǎn)、目標(biāo)的硬件平臺(tái)或者IEC61499中的設(shè)備。資源可以是項(xiàng)目的獨(dú)立自足的控 制子系統(tǒng)。資源可以執(zhí)行TEC代碼格式的控制應(yīng)用。在執(zhí)行時(shí),資源可以稱為虛擬機(jī)(VM) 并且可以基本相似于PLC循環(huán)。可以用編程語(yǔ)言對(duì)資源編程,其中編程語(yǔ)言可以與包括流 程圖(FC)語(yǔ)言的IEC61131-3有關(guān)。另外,虛擬機(jī)可以在實(shí)時(shí)操作系統(tǒng)上運(yùn)行。資源可以 包括功能、程序、功能塊、參數(shù)、趨勢(shì)、告警、變量、輸入、輸出等。另外,功能可以是多入單出 (例如,非保持的(non-retentive))。程序可以是IEC61131-3和流程圖程序。功能塊可以 包括多入多出(例如,保持的(retentive))。變量可以包括功能和功能塊變量。
系統(tǒng)200可以包括各種對(duì)各種編程語(yǔ)言特定的語(yǔ)言編輯器。應(yīng)理解的是,所示的 編程語(yǔ)言僅僅是出于說(shuō)明性的目的,而本發(fā)明并不限于這里所列出的或者所討論的這種編 程語(yǔ)言。以下的語(yǔ)言編輯器可以提供語(yǔ)言特定代碼或者應(yīng)用的創(chuàng)建指令表(IL)編輯器 202、結(jié)構(gòu)文本(ST)編輯器204、順序功能流程圖(SFC)編輯器206、梯形圖(LD)編輯器208、 功能塊圖(FBD)編輯器210和任何適當(dāng)?shù)木庉嬈?212,其中N是正整數(shù)。特定語(yǔ)言編輯器可 以包括對(duì)應(yīng)的編譯器,例如IL編譯器214、 ST編譯器216、 SFC編譯器218、 LD編譯器220、 FBD編譯器和任何適當(dāng)?shù)木幾g器M222,其中M是正整數(shù)。 可以將編譯過(guò)的代碼或者應(yīng)用存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器226中(IL文件226),其中可以 將編譯過(guò)的代碼生成中間語(yǔ)言例如指令表。IL匯編器228(例如,其可以與匯編器部件102基本類似)可以將IL文件生成匯編代碼和/或?qū)⒅虚g語(yǔ)言關(guān)聯(lián)到匯編代碼(也稱作目標(biāo) 代碼)??梢詫⒛繕?biāo)代碼存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器230 (例如,.0230)上。鏈接器236可以接收來(lái) 自數(shù)據(jù)存儲(chǔ)器230 (.0230)的數(shù)據(jù),例如根據(jù)指令表數(shù)據(jù)創(chuàng)建的匯編代碼。另外,鏈接器可 以接收或者訪問(wèn)來(lái)自數(shù)據(jù)存儲(chǔ)器234(. LIB234,與中間語(yǔ)言有關(guān)的代碼或者數(shù)據(jù)的庫(kù))或 者數(shù)據(jù)存儲(chǔ)器232(.0232,與中間語(yǔ)言有關(guān)的對(duì)象數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)器)的數(shù)據(jù)。鏈接器236 可以根據(jù)中間語(yǔ)言(例如,指令表)創(chuàng)建二進(jìn)制指令表文件??梢詫⒍M(jìn)制指令表文件存 儲(chǔ)在數(shù)據(jù)存儲(chǔ)器238 (. BIN238)中,其中加載器240可以利用這種二進(jìn)制指令表文件和/或 PLC定義(例如,經(jīng)由存儲(chǔ)PLC定義的數(shù)據(jù)存儲(chǔ)器242),以便生成存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器244 (. TEC244)上的目標(biāo)可執(zhí)行代碼(TEC)應(yīng)用或者程序。 文件格式可以包括以下細(xì)節(jié)。 一個(gè)編譯器可以與語(yǔ)言類型相關(guān)聯(lián)。IL程序格式 可以基于IEC61131標(biāo)準(zhǔn)。IL對(duì)象可以是匯編器的輸出并且可以被重定位。IL二進(jìn)制可以 是鏈接器輸出并且可以獨(dú)立于目標(biāo)。IL TEC可以是目標(biāo)可執(zhí)行代碼并且可以獨(dú)立于目標(biāo)。 TEC可以是匯編器本機(jī)代碼。TEC可以是由處理器直接可執(zhí)行的并且在處理速度方面可以 極為有效且快速。PLC和PAC定義內(nèi)容可以包括IL轉(zhuǎn)換代碼(例如,交叉匯編器)。另夕卜, 每個(gè)處理器類型可以有一個(gè)PLC定義文件。 對(duì)象文件可以包括以下細(xì)節(jié)。應(yīng)用bin可以包括用戶特定應(yīng)用,該用戶特定應(yīng) 用可以包括任何用戶應(yīng)用對(duì)象和IL對(duì)象。IL對(duì)象可以包括但不限于IEC61131_FNCT. o、 IEC61131_FB. o、 IEC61499_FB. o、 AdvancedControl_FB. o、 Math, o、 Modbus. o、 CIP. o、 System, o禾口 /或Third_party. o。 對(duì)象和/或二進(jìn)制文件格式可以包括以下細(xì)節(jié)名稱(例如,33個(gè)字節(jié),文件的無(wú) 效終止名稱)、日期(例如,12個(gè)字節(jié),AA匪JJHHMMSS)、版本(例如,4個(gè)字節(jié),版本號(hào))、標(biāo)識(shí) (例如,文件標(biāo)識(shí))、配置大小(例如,4個(gè)字節(jié),配置段大小)、P0U (程序組織單元-Program 0rganizationUnit)大小(例如,4個(gè)字節(jié),程序組織單元段大小)、數(shù)據(jù)大小(例如,4個(gè)字 節(jié),數(shù)據(jù)段大小)、初始大小(例如,4個(gè)字節(jié),數(shù)據(jù)初始化段大小)、代碼大小(例如,4個(gè) 字節(jié),代碼段大小)、配置段(例如,S個(gè)字節(jié)大小,配置段、參數(shù)定義,S是正整數(shù))、P0U段 (例如,T個(gè)字節(jié),P0U段、功能(function)、功能塊、程序表,T是正整數(shù))、數(shù)據(jù)段(例如,U 個(gè)字節(jié),數(shù)據(jù)段、變量說(shuō)明,U是正整數(shù))、初始段(例如,V個(gè)字節(jié),初始化段、變量初始值,V 是正整數(shù))、代碼段(例如,Q個(gè)字節(jié),代碼段、二進(jìn)制邏輯,Q是正整數(shù))和CRC(例如,4個(gè) 字節(jié),文件的CRC32)。 另外,系統(tǒng)200可以包括數(shù)據(jù)存儲(chǔ)器(例如,數(shù)據(jù)存儲(chǔ)器226、數(shù)據(jù)存儲(chǔ)器230、數(shù) 據(jù)存儲(chǔ)器232、數(shù)據(jù)存儲(chǔ)器234、數(shù)據(jù)存儲(chǔ)器238、數(shù)據(jù)存儲(chǔ)器242和數(shù)據(jù)存儲(chǔ)器244),它 們可以存儲(chǔ)數(shù)據(jù)、代碼、應(yīng)用、軟件的部分、中間語(yǔ)言數(shù)據(jù)、指令表、匯編代碼、二進(jìn)制文件、 二進(jìn)制指令表、處理器數(shù)據(jù)、目標(biāo)特定數(shù)據(jù)、PLC定義、對(duì)象數(shù)據(jù)、庫(kù)數(shù)據(jù)、對(duì)象數(shù)據(jù)、二進(jìn)制 數(shù)據(jù)、TEC應(yīng)用等。數(shù)據(jù)存儲(chǔ)器可以是例如,易失性存儲(chǔ)器或者非易失性存儲(chǔ)器,或者可以 包括易失性和非易失性存儲(chǔ)器。舉例而言而非限制,非易失性存儲(chǔ)器可以包括只讀存儲(chǔ) 器(ROM)、可編程R0M(PR0M)、電可編程R0M(EPR0M)、電可擦除可編程R0M(EEPR0M)或者閃 存。易失性存儲(chǔ)器可以包括用作外部緩存的隨機(jī)存取存儲(chǔ)器(RAM)。舉例而言而非限制, RAM可以以多種形式供使用,例如靜態(tài)RAM (SRAM)、動(dòng)態(tài)RAM (DRAM)、同步DRAM (SDRAM)、雙 數(shù)據(jù)率SDRAM (DDR SDRAM)、增強(qiáng)SDRAM (ESDRAM)、同步鏈接(Synchl ink) DRAM (SLDRAM)、存儲(chǔ)器總線式直接RAM (RDRAM)、直接存儲(chǔ)器總線式動(dòng)態(tài)RAM(DRDRAM)和存儲(chǔ)器總線式動(dòng)態(tài) RAM (RDRAM)。本系統(tǒng)和方法的數(shù)據(jù)存儲(chǔ)器旨在包括而不限于這些和任何其他適當(dāng)類型的存 儲(chǔ)器。另外,應(yīng)理解的是,數(shù)據(jù)存儲(chǔ)器可以是服務(wù)器、數(shù)據(jù)庫(kù)、硬驅(qū)動(dòng)器等。
圖3示出了根據(jù)本發(fā)明的便于對(duì)過(guò)程進(jìn)行編譯的系統(tǒng)300。系統(tǒng)300可以在提高 處理器的執(zhí)行速度的同時(shí)實(shí)現(xiàn)目標(biāo)獨(dú)立過(guò)程的創(chuàng)建。 一般來(lái)說(shuō),系統(tǒng)300可以允許將來(lái)自 任何適當(dāng)?shù)木幊陶Z(yǔ)言的部分?jǐn)?shù)據(jù)生成中間語(yǔ)言(例如,指令表),并且可以針對(duì)特定資源對(duì) 這種中間語(yǔ)言進(jìn)行匯編、鏈接和/或加載。 可以利用工作臺(tái)開(kāi)發(fā)平臺(tái)306來(lái)接收來(lái)自至少一個(gè)數(shù)據(jù)存儲(chǔ)器的符號(hào)表302或者 程序文件304中的至少一個(gè)。工作臺(tái)開(kāi)發(fā)306可以通過(guò)網(wǎng)絡(luò)310與通信層308通信以便與 語(yǔ)言編譯器106互相作用。語(yǔ)言編譯器106可以在數(shù)據(jù)存儲(chǔ)器226內(nèi)創(chuàng)建指令表程序。IL 匯編器228可以在數(shù)據(jù)存儲(chǔ)器230內(nèi)創(chuàng)建指令表對(duì)象。鏈接器236可以在數(shù)據(jù)存儲(chǔ)器238 內(nèi)創(chuàng)建指令表二進(jìn)制。加載器240可以利用來(lái)自數(shù)據(jù)存儲(chǔ)器242的至少一個(gè)PLC定義,以 便在數(shù)據(jù)存儲(chǔ)器244內(nèi)創(chuàng)建用于資源、設(shè)備、目標(biāo)等的TEC程序。 應(yīng)理解的是,系統(tǒng)300可以提供對(duì)用于任何適當(dāng)?shù)哪繕?biāo)平臺(tái)的過(guò)程的編譯。例如, 平臺(tái)可以是但不限于uCOS、 RTX、 Li皿x、 QNX、基于window的操作系統(tǒng)和/或任何其他適當(dāng) 的實(shí)時(shí)操作系統(tǒng)。目標(biāo)可以包括以下特征中的至少一個(gè)快速執(zhí)行的TEC代碼、針對(duì)嵌入 式系統(tǒng)占用很少的資源(small foot print)(例如,8位、16位、32位或者64位CPU)、高 度可移植代碼(例如,虛擬機(jī)(VM))、模塊化和可擴(kuò)展性、關(guān)于事件的PLC循環(huán)或者周期、 每個(gè)配置多個(gè)資源、分布式架構(gòu)、完全在線改變、C代碼、加入的定制C功能和功能塊、系統(tǒng) 硬件抽象層(例如,消息隊(duì)列、信號(hào)量、存儲(chǔ)器、定時(shí)器、套接字等)、字對(duì)準(zhǔn)兼容性(word alignmentcompatible)、輸入/輸出驅(qū)動(dòng)器、通信驅(qū)動(dòng)器、雙重冗余和/或Endian兼容性。
本發(fā)明可以提供用于資源的如上按照將指令表二進(jìn)制加載到TEC程序的即時(shí)編 譯所述的運(yùn)行時(shí)間架構(gòu)。運(yùn)行時(shí)間架構(gòu)可以包括單個(gè)資源和/或多個(gè)資源。運(yùn)行時(shí)間架構(gòu) 還可以用在分布式環(huán)境中(例如,配置1、配置2到配置X,其中X是正整數(shù))。
本發(fā)明還可以使用資源管理器模型。可以使用如下資源管理器模型,在該資源管 理器模型中可以包括以下的內(nèi)容任務(wù)應(yīng)用可編程接口 (API)、命令管理器、任務(wù)加載器、 變量管理器、任務(wù)調(diào)度程序、定時(shí)器管理器、中斷管理器、存儲(chǔ)器管理器和硬件抽象層。本發(fā) 明還可以包括編程模型、輸入/輸出驅(qū)動(dòng)器模型或者通信驅(qū)動(dòng)器模型中的至少一個(gè)。任務(wù) 可以包括TEC程序、輸入/輸出、co亂、Math, tec、 fnct. tec、 fb. tec、 System, tec或者任 務(wù)核、定制C功能、定制功能塊、資源管理器API或者硬件抽象層中的至少一個(gè)。
圖4示出了有利于在運(yùn)行時(shí)間期間向目標(biāo)實(shí)施TEC代碼格式控制應(yīng)用的系統(tǒng)400。 系統(tǒng)400可以包括匯編器部件102,該匯編器部件可以根據(jù)由特定語(yǔ)言編譯器106編譯的部 分?jǐn)?shù)據(jù)來(lái)匯編中間語(yǔ)言對(duì)象(例如,指令表對(duì)象),其中特定語(yǔ)言編譯器106可以接收由至 少一個(gè)語(yǔ)言特定編輯器104創(chuàng)建的應(yīng)用或者代碼。鏈接器108可以根據(jù)指令表對(duì)象創(chuàng)建指 令表二進(jìn)制文件,其中加載器110可以根據(jù)指令表二進(jìn)制文件創(chuàng)建TEC程序用于使用于至 少一個(gè)運(yùn)行時(shí)間目標(biāo)112。 系統(tǒng)400還包括運(yùn)行時(shí)間部件402,該運(yùn)行時(shí)間部件有利于向至少一個(gè)運(yùn)行時(shí)間 目標(biāo)112實(shí)施TEC程序的一部分。運(yùn)行時(shí)間部件402可以提供執(zhí)行模型,該執(zhí)行模型實(shí)現(xiàn) 掃描循環(huán)(例如,第一程序)、事件(例如,第二程序)或者中斷(例如,第三程序)??梢杂蛇\(yùn)行時(shí)間部件402實(shí)施掃描循環(huán),其中運(yùn)行時(shí)間執(zhí)行周期根據(jù)以下方式來(lái)執(zhí)行掃描輸 入設(shè)備;使用約束變量;執(zhí)行TEC代碼;產(chǎn)生約束變量;更新輸出設(shè)備;保存保留值;和/或 休眠直到下一周期??梢杂蛇\(yùn)行時(shí)間部件402實(shí)施事件,其中運(yùn)行時(shí)間引擎可以在接收諸 如如下的事件之后執(zhí)行等待事件;掃描輸入設(shè)備;使用約束變量;執(zhí)行TEC代碼;產(chǎn)生約 束變量;更新輸出設(shè)備;和/或保存保留值。可以由運(yùn)行時(shí)間部件402處理中斷,其中運(yùn)行 時(shí)間引擎可以在中斷發(fā)生時(shí)執(zhí)行以下內(nèi)容等待中斷;掃描輸入設(shè)備;使用約束變量;執(zhí)行 TEC代碼;產(chǎn)生約束變量;更新輸出設(shè)備;和/或保存保留值。 本發(fā)明還可以提供在線改變、冗余、綁定和/或命令管理中的至少一個(gè)??梢匀缦?提供在線改變l)掃描輸入設(shè)備;2)使用約束變量;3)執(zhí)行TEC代碼;4)產(chǎn)生約束變量; 5)更新輸出設(shè)備;6)保存保留值;7)休眠直到下一周期;和8)如果在線改變則轉(zhuǎn)到第二 程序,否則轉(zhuǎn)到1)??梢酝ㄟ^(guò)以下方式提供冗余1)等待有效同步信號(hào);2)掃描輸入設(shè)備; 3)使用約束變量;4)執(zhí)行TEC代碼;5)如果有效正常,則轉(zhuǎn)到1),否則將備用設(shè)為有效;6) 產(chǎn)生約束變量;7)更新輸出設(shè)備;8)保存保留值;和9)休眠直到下一周期??梢酝ㄟ^(guò)以下 方式提供綁定1)掃描輸入設(shè)備;2)使用約束變量;3)執(zhí)行TEC代碼;4)產(chǎn)生約束變量;5) 更新輸出設(shè)備;6)保存保留值;和7)休眠直到下一周期??梢匀缦碌靥峁┟罟芾?)下 載;2)上傳;3)開(kāi)始/停止對(duì)象;4)讀取/寫(xiě)入訪問(wèn)變量;5)調(diào)試;6)監(jiān)視;7)存儲(chǔ)/保存 保留變量;8)讀取日志文件/狀態(tài);9)配置參數(shù);和10)在線改變。 圖5示出了根據(jù)本發(fā)明的便于集成利用通用模型的系統(tǒng)500。系統(tǒng)500是開(kāi)發(fā) 平臺(tái),該開(kāi)發(fā)平臺(tái)可以使用通配的編程模型,以便在有利于代碼在基本上任何類型的終端 硬件平臺(tái)上使用和執(zhí)行的同時(shí)使開(kāi)發(fā)者能夠以抽象設(shè)置設(shè)計(jì)控制解決方案。在一方面,例 如,可以從公共基本模型解決方案或者標(biāo)準(zhǔn)例如IEC61131和61499獲得抽象自動(dòng)化模型 (AAM)502。盡管任何編程標(biāo)準(zhǔn)都可以用于底層模型,但是61131和61499支持目前世界上 的多數(shù)自動(dòng)化語(yǔ)言。AAM502可以定義代表通配的或者抽象的數(shù)據(jù)對(duì)象的控制結(jié)構(gòu),這些數(shù) 據(jù)對(duì)象具有配置、資源、程序等屬性。AAM502可以定義保證結(jié)構(gòu)完整性例如樹(shù)形結(jié)構(gòu)(例 如,父類到子類)或者控制資源的項(xiàng)目主機(jī)配置等的完整性規(guī)則。模型也可以定義操作以 更新或者查詢數(shù)據(jù)。AAM502可以允許控制軟件設(shè)計(jì)透明地并且在所利用的開(kāi)發(fā)軟件的特定 版本或者類型之外發(fā)生。 作為較大框架或者開(kāi)發(fā)環(huán)境的部分,具體自動(dòng)化模型(CAM)504可以提供與 AAM502的一般數(shù)據(jù)對(duì)象相關(guān)聯(lián)并且根據(jù)不同開(kāi)發(fā)環(huán)境的指定的項(xiàng)目格式的數(shù)據(jù)接口。例 如,開(kāi)發(fā)程序的不同版本可以具有相關(guān)的CAM,這些CAM將各版本鏈接或者映射到AAM502的 底層抽象。在另一示例中,特定硬件供應(yīng)商可以提供特定類型的編程接口的CAM,該編程接 口對(duì)各供應(yīng)商是唯一的。通過(guò)提供AAM502的抽象并且經(jīng)由CAM映射到不同編程環(huán)境的任 何特定細(xì)微差別,開(kāi)發(fā)者可以根據(jù)由AAM502提供的一般編程模型而迅速地加入新特征,但 是有效地支持和轉(zhuǎn)換成基本上任何可供使用的開(kāi)發(fā)程序。AAM502可以接收來(lái)自多個(gè)編程 版本506(例如,ISaGRAF 1、2、3. ..6, RSLogix等)的程序命令,其中每個(gè)版本經(jīng)由相關(guān)的 CAM504接合到AAM502??梢杂蓛?nèi)部或者第三方開(kāi)發(fā)者通過(guò)利用插入式接口 508來(lái)提供插件 開(kāi)發(fā)支持以增加AAM502的功能。同樣,在為公知的工業(yè)解決方案設(shè)計(jì)或者預(yù)包裝的AAM502 中也可以支持市場(chǎng)應(yīng)用(例如,市場(chǎng)510)。當(dāng)控制解決方案已開(kāi)發(fā)時(shí),可以通過(guò)利用調(diào)試 接口和現(xiàn)場(chǎng)總線通信512來(lái)編譯AAM以運(yùn)行在基本上任何控制平臺(tái)上。調(diào)試接口和現(xiàn)場(chǎng)總線通信512可以使各種設(shè)備104能夠無(wú)縫地并且通用地與AAM502互相作用,而不管設(shè)備類 型、制造、模型、位置等。另外,應(yīng)理解的是,可以存在從設(shè)備工到設(shè)備M的任何適當(dāng)數(shù)量的設(shè) 備,其中M是正整數(shù)。 —般來(lái)說(shuō),本發(fā)明可以允許數(shù)據(jù)的任何適當(dāng)?shù)木幾g過(guò)的部分而不管編程語(yǔ)言生成 中間語(yǔ)言(例如,指令表),其中這種中間語(yǔ)言可以在獨(dú)立于平臺(tái)的同時(shí)增加執(zhí)行速度,但 是可以是針對(duì)特定資源、目標(biāo)、處理器和/或設(shè)備而具體地配置。匯編器部件102、鏈接器 108和/或加載器110還可以與圖5所示的平臺(tái)結(jié)合地使在這種編程語(yǔ)言和/或經(jīng)編過(guò)的 過(guò)程之間實(shí)現(xiàn)通用相互作用。 圖6闡明了用于對(duì)資源進(jìn)行通用編程的利用智能以利于由多個(gè)語(yǔ)言特定編譯器 生成中間語(yǔ)言的系統(tǒng)600。系統(tǒng)600可以包括匯編器部件102、鏈接器108、至少一個(gè)語(yǔ)言編 輯器104、至少一個(gè)編譯器106和加載器IIO,它們都可以與前面的附圖中所描述的相應(yīng)部 件、鏈接器、編輯器、編譯器和加載器基本類似。系統(tǒng)600還包括智能部件602。匯編器部件 102、鏈接器108、加載器110、語(yǔ)言編輯器104和/或編譯器106中的至少一個(gè)可以使用智 能部件602以便于根據(jù)過(guò)程或編譯過(guò)的代碼的一部分來(lái)生成指令表,其中可以將該指令表 創(chuàng)建成目標(biāo)特定TEC程序。例如,智能部件602可以推斷編程語(yǔ)言、編譯信息、中間語(yǔ)言、指 令表程序數(shù)據(jù)、指令表對(duì)象數(shù)據(jù)、指令表二進(jìn)制文件數(shù)據(jù)、TEC程序數(shù)據(jù)、PLC定義、對(duì)象和/ 或二進(jìn)制文件格式、冗余、綁定、命令管理、在線改變、用戶設(shè)置、基于平臺(tái)最優(yōu)的配置、基于 編程語(yǔ)言最優(yōu)的設(shè)定等。 此外,對(duì)于操作者作用(role)和/或位置,智能部件602可以便于利用材料的消 耗和這種材料的狀況。例如,智能部件602可以推斷在特定工業(yè)自動(dòng)化過(guò)程和/或系統(tǒng)的 生產(chǎn)中所使用的原材料的消耗。這樣的推論至少部分可以基于與材料消耗、材料的狀況和/ 或供應(yīng)等有關(guān)的歷史數(shù)據(jù)。此外,可以將這樣的材料的消耗和狀況傳送到操作者和/或操 作者的角色(role)。 應(yīng)理解的是,智能部件602可以提供用于根據(jù)經(jīng)由事件和/或數(shù)據(jù)所捕獲的觀測(cè) 的集合來(lái)推理出或推斷系統(tǒng)、環(huán)境和/或用戶的狀態(tài)。例如,推論可以用來(lái)識(shí)別特定的背景 或動(dòng)作,或者可以生成關(guān)于狀態(tài)的概率分布。推論可以是概率性的(即,基于數(shù)據(jù)和事件的 考慮計(jì)算關(guān)于感興趣的狀態(tài)的概率分布)。推論也可以指用于由事件和/或數(shù)據(jù)的集合組 成更高級(jí)事件的技術(shù)。這種推論導(dǎo)致根據(jù)所觀察的事件和/或所存儲(chǔ)的事件數(shù)據(jù)的集合構(gòu) 建新事件或者動(dòng)作,無(wú)論這些事件是否是以時(shí)間上緊密接近地關(guān)聯(lián),以及這些事件和數(shù)據(jù) 是否來(lái)自一個(gè)或幾個(gè)事件和數(shù)據(jù)源。結(jié)合執(zhí)行與要求保護(hù)的主題有關(guān)的自動(dòng)的和/或推斷 的動(dòng)作而使用各種分類(顯式和/或隱式訓(xùn)練的)方案和/或系統(tǒng)(例如,支持向量機(jī)、神 經(jīng)網(wǎng)絡(luò)、專家系統(tǒng)、貝葉斯信念網(wǎng)絡(luò)、模糊邏輯、數(shù)據(jù)融合引擎)。 分類器是將輸入屬性向量x = (xl, x2, x3, x4, xn)映射到該輸入屬于類的置信度 的函數(shù),即f (x) = confidence (class)。這樣的分類可以使用概率性的和/或基于統(tǒng)計(jì)的 分析(例如,分解因子為分析效用和成本)來(lái)預(yù)測(cè)或者推斷用戶期望自動(dòng)執(zhí)行的動(dòng)作。支 持向量機(jī)(SVM)是可以使用的分類器的示例。SVM通過(guò)在可能輸入的空間中找到超曲面 (hypersurface)來(lái)運(yùn)行,其中超曲面試圖從非觸發(fā)事件分離觸發(fā)標(biāo)準(zhǔn)。直觀地,這使得分類 對(duì)于與訓(xùn)練數(shù)據(jù)接近但不相同的測(cè)試數(shù)據(jù)是正確的。其它定向和無(wú)向的模型分類方法包括 例如樸素貝葉斯、貝葉斯網(wǎng)絡(luò)、決策樹(shù)、神經(jīng)網(wǎng)絡(luò)、模糊邏輯模型,并且可以使用提供不同模
10式的無(wú)關(guān)性(ind印endence)的概率分類模型。這里所使用的分類也包括用于開(kāi)發(fā)優(yōu)先權(quán) 模型的統(tǒng)計(jì)回歸。 顯示部件604可以提供各種類型的用戶界面以便于用戶和任何耦合到匯編器部 件102的部件之間的相互作用。如所描述的,顯示部件604是可以與匯編器部件102 —起 使用的單獨(dú)實(shí)體。然而,應(yīng)理解的是,顯示部件604和/或類似的視圖部件可以合并到匯 編器部件102和/或獨(dú)立單元。顯示部件604可以提供一個(gè)或更多個(gè)圖形用戶界面(GUI) 和命令行界面等。例如,可以使GUI向用戶提供區(qū)域或者裝置以對(duì)數(shù)據(jù)進(jìn)行加載、輸入、讀 取等,并且GUI可以包括顯示這種結(jié)果的區(qū)域。這些區(qū)域可以包括公知的文本和/或圖形 區(qū)域,該圖形區(qū)域包括對(duì)話框、靜態(tài)控制、下拉菜單、列表框、彈出菜單、編輯控制(as edit control)、組合框、單選按鈕、復(fù)選框、按鈕和圖形框。此外,可以使用便于顯示的工具(例 如用于導(dǎo)航的垂直和/或水平滾動(dòng)條和工具條按鈕)以確定區(qū)域?qū)⑹欠窨梢?jiàn)。例如,用戶 可以與一個(gè)或更多個(gè)耦合到匯編器部件102的部件互相作用。 例如,用戶也可以與這些區(qū)域相互作用以經(jīng)由各種設(shè)備(諸如鼠標(biāo)、滾動(dòng)球、小鍵 盤(pán)、鍵盤(pán)、筆和/或語(yǔ)音激活)來(lái)選擇并提供信息。典型地,在輸入信息后,可以使用機(jī)構(gòu)例 如鍵盤(pán)上的回車鍵或按鈕,以便開(kāi)始搜索。但是,應(yīng)理解的是,要求保護(hù)的主題并不限于此。 例如,僅僅突出顯示復(fù)選框就可以開(kāi)始信息傳遞。在另一個(gè)示例中,可以使用命令行界面。 例如,命令行界面可以經(jīng)由提供文本消息向用戶提示信息(例如,經(jīng)由顯示器上的文本消 息和音頻音調(diào))。隨后,用戶可以提供適當(dāng)?shù)男畔?,例如?duì)應(yīng)于界面提示中提供的選項(xiàng)的字 母數(shù)字輸入或?qū)μ崾局刑岢龅膯?wèn)題的回答。應(yīng)理解的是,可以結(jié)合GUI和/或API來(lái)使用 命令行界面。此外,可以結(jié)合硬件(例如,視頻卡)和/或具有有限圖形支持和/或低帶寬 通信頻道的顯示器(例如,黑白和EGA)來(lái)使用命令行界面。 參照?qǐng)D7至圖8,闡明了根據(jù)要求保護(hù)的主題的不同方面的方法。然而出于說(shuō)明的 簡(jiǎn)潔的目的,將這些方法顯示和描述為一系列動(dòng)作,應(yīng)理解的是,要求保護(hù)的主題并不限于 該動(dòng)作順序,因?yàn)槟承﹦?dòng)作可以以與此處示出和描述的順序不同的順序和/或與其它動(dòng)作 同時(shí)發(fā)生。例如,本領(lǐng)域技術(shù)人員將理解并意識(shí)到,可替選地可以將方法表示為一系列相關(guān) 的狀態(tài)或事件(例如以狀態(tài)圖)。此外,可以不需要所有闡明的動(dòng)作以實(shí)施根據(jù)要求保護(hù)的 主題的方法。此外,還應(yīng)理解的是,能夠?qū)⒃谙挛闹泻拓灤┍菊f(shuō)明書(shū)所公開(kāi)的方法存儲(chǔ)在制 造的物品上,以便于將這樣的方法傳送和傳遞到計(jì)算機(jī)。此處使用的術(shù)語(yǔ)制造的物品旨在 包括可以從任何計(jì)算機(jī)可讀設(shè)備、載體或介質(zhì)存取的計(jì)算機(jī)程序。 圖7闡明用于利用中間語(yǔ)言來(lái)實(shí)現(xiàn)針對(duì)在工業(yè)環(huán)境內(nèi)的多個(gè)設(shè)備進(jìn)行通用編程 的方法700。在附圖標(biāo)記702處,可以接收編譯過(guò)的數(shù)據(jù)的一部分。例如,語(yǔ)言編輯器可以 創(chuàng)建過(guò)程的一部分或者代碼的一部分,而相應(yīng)的語(yǔ)言編譯器可以編譯數(shù)據(jù)的一部分。應(yīng)理 解的是,任何適當(dāng)?shù)木幊陶Z(yǔ)言可以與至少一個(gè)語(yǔ)言編輯器和相應(yīng)的編譯器相關(guān)聯(lián)。換言之, 每種編程語(yǔ)言可以包括針對(duì)這種編程語(yǔ)言的對(duì)應(yīng)編譯器。編程語(yǔ)言可以是但不限于梯形 圖、功能塊圖、結(jié)構(gòu)文本、指令表、順序功能流程圖、61499、與標(biāo)準(zhǔn)相關(guān)聯(lián)的任何適當(dāng)?shù)木幊?語(yǔ)言、與工業(yè)過(guò)程相關(guān)聯(lián)的任何適當(dāng)?shù)木幊陶Z(yǔ)言等。 在附圖標(biāo)記704處,可以根據(jù)編譯過(guò)的數(shù)據(jù)的一部分匯編指令表對(duì)象。應(yīng)理解的 是,指令表對(duì)象可以獨(dú)立于目標(biāo)并且是中間語(yǔ)言,該中間語(yǔ)言可以通用地且無(wú)縫地應(yīng)用于 各種對(duì)目標(biāo)、設(shè)備、資源、處理器等而與平臺(tái)無(wú)關(guān)。在附圖標(biāo)記706處,可以根據(jù)指令表對(duì)象創(chuàng)建包括至少一個(gè)鏈接的指令表二進(jìn)制文件。在附圖標(biāo)記708處,可以利用(leverage)PLC
定義以根據(jù)指令表二進(jìn)制文件生成對(duì)于運(yùn)行時(shí)間對(duì)象特定的目標(biāo)可執(zhí)行代碼(TEC)程序。 圖8闡明了便于使用來(lái)自各種編譯器的中間語(yǔ)言來(lái)創(chuàng)建TEC代碼格式控制應(yīng)用的
方法800。在附圖標(biāo)記802處可以接收由兩種或更多種編程語(yǔ)言編譯過(guò)的部分?jǐn)?shù)據(jù)。數(shù)據(jù)
的該部分可以是以第一語(yǔ)言編譯過(guò)的第一代碼部分和以第二語(yǔ)言編譯過(guò)的第二代碼部分。
在附圖標(biāo)記804處,可以根據(jù)編譯過(guò)的數(shù)據(jù)的該部分匯編指令表對(duì)象。 在附圖標(biāo)記806處,可以利用具有至少一個(gè)獨(dú)立于目標(biāo)的指令表對(duì)象的庫(kù)。換言
之,可以生成并在庫(kù)中存儲(chǔ)指令表對(duì)象,以實(shí)現(xiàn)訪問(wèn)來(lái)自數(shù)據(jù)的各種編譯過(guò)的部分的多個(gè)
指令表對(duì)象。在附圖標(biāo)記808處,可以根據(jù)指令表對(duì)象創(chuàng)建指令表二進(jìn)制文件。在附圖標(biāo)
記810處,根據(jù)指令表二進(jìn)制文件可以在運(yùn)行時(shí)間期間利用PLC定義來(lái)生成對(duì)于目標(biāo)特定
的TEC程序。 為了提供用于實(shí)施要求保護(hù)的主題的不同方面的附加背景,圖9至圖10和以下討 論旨在提供對(duì)可以實(shí)施本發(fā)明的不同方面的適當(dāng)?shù)挠?jì)算環(huán)境的簡(jiǎn)潔、概括的描述。盡管以 上以計(jì)算機(jī)程序的計(jì)算機(jī)可執(zhí)行指令為一般背景描述了要求保護(hù)的主題(計(jì)算機(jī)程序運(yùn) 行在本地計(jì)算機(jī)和/或遠(yuǎn)程計(jì)算機(jī)上),但是本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,也可以結(jié)合其它 程序模塊實(shí)施本發(fā)明。通常,程序模塊包括例行程序、程序、部件、數(shù)據(jù)結(jié)構(gòu)等,其執(zhí)行特定 任務(wù)和/或?qū)嵤┨囟ǖ某橄髷?shù)據(jù)類型。 此外,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,可以用其他計(jì)算機(jī)系統(tǒng)配置實(shí)施本發(fā)明的方法, 計(jì)算機(jī)系統(tǒng)配置包括單處理器或多處理器計(jì)算機(jī)系統(tǒng)、微型計(jì)算機(jī)、大型計(jì)算機(jī),也包括個(gè) 人計(jì)算機(jī)、手持計(jì)算設(shè)備和基于微處理器的和/或可編程的用電電子裝置等,每個(gè)計(jì)算機(jī) 系統(tǒng)配置可以以操作的方式與一個(gè)或更多個(gè)相關(guān)聯(lián)的設(shè)備通信。也可以在分布式計(jì)算環(huán)境 中實(shí)現(xiàn)要求保護(hù)的主題的所闡明的方面,其中由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行某 些任務(wù)。然而,可以在單機(jī)計(jì)算機(jī)上實(shí)現(xiàn)本發(fā)明的某些(如果不是全部)方面。在分布式 計(jì)算環(huán)境中,程序模塊可以位于本地和/或遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。 圖9是可以與要求保護(hù)的主題相互作用的樣本計(jì)算環(huán)境900的示意性框圖。系統(tǒng) 900包括一個(gè)或更多個(gè)客戶端910。客戶端910可以是硬件和/或軟件(例如,線程、過(guò)程、 計(jì)算設(shè)備)。系統(tǒng)900也包括一個(gè)或更多個(gè)服務(wù)器920。服務(wù)器920可以是硬件和/或軟 件(例如,線程、過(guò)程、計(jì)算設(shè)備)。例如,服務(wù)器920可以通過(guò)使用本發(fā)明來(lái)載入線程以進(jìn) 行轉(zhuǎn)換。 在客戶端910和服務(wù)器920之間的一個(gè)可能的通信可以以用于在兩個(gè)或更多個(gè)計(jì) 算機(jī)過(guò)程之間傳送的數(shù)據(jù)包的形式。系統(tǒng)900包括可以用來(lái)利于在客戶端910和服務(wù)器920 之間通信的通信框架940。將客戶端910以可操作的方式連接到一個(gè)或更多個(gè)客戶端數(shù)據(jù) 存儲(chǔ)器950,客戶端數(shù)據(jù)存儲(chǔ)器可以用來(lái)將信息本地存儲(chǔ)到客戶端910。類似地,將服務(wù)器 920以可操作的方式連接到一個(gè)或更多個(gè)服務(wù)器數(shù)據(jù)存儲(chǔ)器930,服務(wù)器數(shù)據(jù)存儲(chǔ)器930可 以用來(lái)將信息本地存儲(chǔ)到服務(wù)器920。 參照?qǐng)DIO,用于實(shí)施要求保護(hù)的主題的不同方面的示例性環(huán)境1000包括計(jì)算機(jī) 1012。計(jì)算機(jī)1012包括處理單元1014、系統(tǒng)存儲(chǔ)器1016和系統(tǒng)總線1018。系統(tǒng)總線1018 將包括但不限于系統(tǒng)存儲(chǔ)器1016的系統(tǒng)部件耦合到處理單元1014。處理單元1014可以是 可供使用的不同處理器中的任意處理器。雙微處理器和其它多處理器架構(gòu)也可以用作處理
12單元1014。 系統(tǒng)總線1018可以是包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線或外部總線 和/或局部總線的若干類型的總線結(jié)構(gòu)中的任何總線結(jié)構(gòu),總線結(jié)構(gòu)使用包括但不限于 以下可供使用的總線架構(gòu)的任何總線架構(gòu)工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)、微通道架構(gòu)(MSA)、擴(kuò)展 ISA (EISA)、智能驅(qū)動(dòng)電子裝置(IDE)、VESA局部總線(VLB)、外設(shè)部件互聯(lián)標(biāo)準(zhǔn)(PCI)、卡總 線、通用串行總線(USB)、加速圖形接口 (AGP)、個(gè)人計(jì)算機(jī)存儲(chǔ)卡國(guó)際協(xié)會(huì)總線(PCMCIA)、 火線(IEEE 1394)和小型計(jì)算機(jī)系統(tǒng)接口 (SCSI)。 系統(tǒng)存儲(chǔ)器1016包括易失性存儲(chǔ)器1020和非易性失存儲(chǔ)器1022。在非易 失性存儲(chǔ)器1022中存儲(chǔ)基本輸入/輸出系統(tǒng)(BIOS),其包含例如在啟動(dòng)期間在計(jì)算 機(jī)1012內(nèi)的元件之間傳遞信息的基本例行程序。舉例而言而非限制,非易失性存儲(chǔ)器 1022可以包括只讀存儲(chǔ)器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除可 編程ROM(EEPROM)或閃存。易失性存儲(chǔ)器1020包括隨機(jī)存取存儲(chǔ)器(RAM),其用作外部 高速緩存。舉例而言而非限制,RAM可以以許多形式可供使用,例如靜態(tài)RAM(SRAM)、動(dòng)態(tài) RAM (DRAM)、同步DRAM (SDRAM)、雙數(shù)據(jù)率SDRAM (DDR SDRAM)、增強(qiáng)型SDRAM (ESDRAM)、同步 鏈接DRAM(SLDRAM)、存儲(chǔ)器總線式直接RAM (RDRAM)、直接存儲(chǔ)器總線式動(dòng)態(tài)RAM(DRDRAM) 和存儲(chǔ)器總線式動(dòng)態(tài)RAM (RDRAM)。 計(jì)算機(jī)1012也包括可移除/不可移除的、易失性/非易失性的計(jì)算機(jī)存儲(chǔ)介質(zhì)。 例如圖10闡明了磁盤(pán)存儲(chǔ)1024。磁盤(pán)存儲(chǔ)1024包括但不限于諸如磁盤(pán)驅(qū)動(dòng)器、軟盤(pán)驅(qū)動(dòng) 器、磁帶驅(qū)動(dòng)器、Jaz驅(qū)動(dòng)器、Zip驅(qū)動(dòng)器、LS-100驅(qū)動(dòng)器、閃存卡或記憶棒的設(shè)備。此外,磁 盤(pán)存儲(chǔ)1024可以單獨(dú)包括存儲(chǔ)介質(zhì)或與其它存儲(chǔ)介質(zhì)組合,其他存儲(chǔ)介質(zhì)包括但不限于 諸如光盤(pán)ROM驅(qū)動(dòng)器(CD-ROM) 、CD可記錄驅(qū)動(dòng)器(CD-R驅(qū)動(dòng)器)、CD可重寫(xiě)驅(qū)動(dòng)器(CD-RW 驅(qū)動(dòng)器)或數(shù)字多功能磁盤(pán)ROM驅(qū)動(dòng)器(DVD-ROM)的光盤(pán)驅(qū)動(dòng)器。為了便于將磁盤(pán)存儲(chǔ)設(shè) 備1024連接到系統(tǒng)總線1018,通常使用可移除或不可移除的接口例如接口 1026。
應(yīng)理解的是,圖10描述了用作在在適當(dāng)?shù)牟僮鳝h(huán)境1000中所描述的基本計(jì)算機(jī) 資源和用戶之間的媒介的軟件。這樣的軟件包括操作系統(tǒng)1028??梢源鎯?chǔ)在磁盤(pán)存儲(chǔ)1024 上的操作系統(tǒng)1028用于控制并分配計(jì)算機(jī)系統(tǒng)1012的資源。通過(guò)存儲(chǔ)在系統(tǒng)存儲(chǔ)器1016 或磁盤(pán)存儲(chǔ)1024上的程序模塊1032和程序數(shù)據(jù)1034,系統(tǒng)應(yīng)用1030利用由操作系統(tǒng)1028 所進(jìn)行的資源管理。要意識(shí)到的是,可以用各種操作系統(tǒng)或操作系統(tǒng)的組合來(lái)實(shí)施要求保 護(hù)的主題。 用戶通過(guò)輸入設(shè)備1036將命令或信息輸入進(jìn)計(jì)算機(jī)1012。輸入設(shè)備1036包括但 不限于諸如鼠標(biāo)的指向設(shè)備、軌跡球、觸針(stylus)、觸摸板、鍵盤(pán)、麥克風(fēng)、操縱桿、游戲搖 桿、衛(wèi)星天線、掃描儀、TV調(diào)諧卡、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)和網(wǎng)絡(luò)攝像頭等。這些和其它輸入 設(shè)備通過(guò)系統(tǒng)總線1018經(jīng)由接口端口 1038連接到處理單元1014。接口端口 1038包括例 如串行端口、并行端口、游戲端口和通用串行總線(USB)。輸出設(shè)備1040使用某些與輸入設(shè) 備1036相同類型的端口 。從而,例如USB端口可以用于向計(jì)算機(jī)1012提供輸入,并從計(jì)算 機(jī)1012向輸出設(shè)備1040輸出信息。提供輸出適配器1042來(lái)闡明在其它輸出設(shè)備1040中 存在一些需要特別適配器的輸出設(shè)備1040(諸如監(jiān)視器、揚(yáng)聲器和打印機(jī))。舉例而言而非 限制,輸出適配器1042包括視頻卡和聲卡,其提供在輸出設(shè)備1040和系統(tǒng)總線1018之間 的連接裝置。應(yīng)該注意的是,其它設(shè)備和/或設(shè)備系統(tǒng)提供輸入和輸出能力,例如遠(yuǎn)程計(jì)算
13機(jī)1044。 計(jì)算機(jī)1012可以使用至一個(gè)或更多個(gè)遠(yuǎn)程計(jì)算機(jī)(例如遠(yuǎn)程計(jì)算機(jī)1044)的邏 輯連接而在網(wǎng)絡(luò)化環(huán)境中運(yùn)行。遠(yuǎn)程計(jì)算機(jī)1044可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng) 絡(luò)PC、工作站、基于微處理器的裝置、對(duì)等設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點(diǎn)等,并且通常包括許多 或全部關(guān)于計(jì)算機(jī)1012所描述的元件。出于簡(jiǎn)潔的目的,關(guān)于遠(yuǎn)程計(jì)算機(jī)1044僅闡明了 存儲(chǔ)器存儲(chǔ)設(shè)備1046。遠(yuǎn)程計(jì)算機(jī)1044與計(jì)算機(jī)1012通過(guò)網(wǎng)絡(luò)接口 1048邏輯連接,并 隨后經(jīng)由通信連接1050物理連接。網(wǎng)絡(luò)接口 1048包括有線和/或無(wú)線通信網(wǎng)絡(luò)例如局域 網(wǎng)(LAN)和廣域網(wǎng)(WAN)。 LAN技術(shù)包括光纖分布式數(shù)據(jù)接口 (FDDI)、銅線分布式數(shù)據(jù)接 口 (CDDI)、以太網(wǎng)、令牌環(huán)等。WAN技術(shù)包括但不限于點(diǎn)對(duì)點(diǎn)鏈接、電路交換網(wǎng)絡(luò)(例如綜 合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)及其變形)、分組交換網(wǎng)絡(luò)和數(shù)字用戶線路(DSL)。
通信連接1050指的是用于將網(wǎng)絡(luò)接口 1048連接到總線1018的硬件/軟件。盡 管為了清晰闡明而在計(jì)算機(jī)1012內(nèi)部示出通信連接1050,但是它也可以在計(jì)算機(jī)1012外 部。僅出于示例性的目的,用于連接到網(wǎng)絡(luò)接口 1048所需的硬件/軟件包括內(nèi)部和外部技 術(shù)例如調(diào)制解調(diào)器、ISDN適配器和以太網(wǎng)卡,該調(diào)制解調(diào)器包括常規(guī)電話級(jí)調(diào)制解調(diào)器、線 纜調(diào)制解調(diào)器和DSL調(diào)制解調(diào)器。 以上所述的內(nèi)容包括本發(fā)明的示例。當(dāng)然,不可能出于描述要求保護(hù)的主題的目 的而描述部件或方法的每種能想到的組合,但是本領(lǐng)域的普通技術(shù)人員應(yīng)認(rèn)識(shí)到,本發(fā)明 的很多另外的組合與排列是可能的。因此,要求保護(hù)的主題旨在包含落入所附權(quán)利要求的 精神和范圍內(nèi)的所有這樣的替換、修改和變化。 特別是并且就由上述的部件、設(shè)備、電路和系統(tǒng)等執(zhí)行的各種功能而言,除非另外 指出,用于描述這些部件的術(shù)語(yǔ)(包括對(duì)"裝置"的引用)的意思是對(duì)應(yīng)于執(zhí)行所描述的部 件的指定功能的任何部件(例如,功能上等同),即使在結(jié)構(gòu)上不等同于所公開(kāi)的結(jié)構(gòu),所 述結(jié)構(gòu)執(zhí)行要求保護(hù)的主題在此所闡明的示例性特點(diǎn)的功能。為此,同樣會(huì)認(rèn)為,本發(fā)明包 括系統(tǒng),也包括具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述指令用于執(zhí)行要求保護(hù)的 主題內(nèi)容的各種方法的動(dòng)作和/或事件。 此外,盡管僅就幾個(gè)實(shí)施中的一個(gè)實(shí)施公開(kāi)了本發(fā)明的特定的特征,但這些特征
可以與其它實(shí)施的一個(gè)或更多個(gè)其它特征組合,所述其它實(shí)施對(duì)于任何給定的或特定的應(yīng)
用可以是所期望的并且有利的。此外,就在詳細(xì)描述或者權(quán)利要求中使用術(shù)語(yǔ)"包括"和"包
含"及其變形而言,這些術(shù)語(yǔ)以類似于術(shù)語(yǔ)"包括"的方式意指包含在內(nèi)的。
方案1 :一種便于創(chuàng)建用于工業(yè)環(huán)境的可執(zhí)行代碼的系統(tǒng),包括語(yǔ)言編輯器,其
在編程語(yǔ)言內(nèi)實(shí)現(xiàn)對(duì)部分?jǐn)?shù)據(jù)進(jìn)行編程;編譯器,其在所述編程語(yǔ)言內(nèi)編譯所述部分?jǐn)?shù)據(jù);
匯編器部件,其利用中間語(yǔ)言以將所述部分?jǐn)?shù)據(jù)轉(zhuǎn)換為部分匯編對(duì)象代碼,所述匯編對(duì)象
代碼獨(dú)立于目標(biāo);鏈接器,其根據(jù)所述部分匯編對(duì)象代碼創(chuàng)建二進(jìn)制文件,所述二進(jìn)制文件
獨(dú)立于目標(biāo);以及加載器,其通過(guò)利用至少一個(gè)可編程邏輯控制器定義為目標(biāo)資源對(duì)所述
二進(jìn)制文件進(jìn)行特定定制,所述加載器在運(yùn)行時(shí)創(chuàng)建目標(biāo)可執(zhí)行代碼(TEC)程序。
方案2 :如方案1所述的系統(tǒng),中間語(yǔ)言是指令表。 方案3.如方案1所述的系統(tǒng),匯編對(duì)象代碼是指令表對(duì)象。
方案4 :如方案1所述的系統(tǒng),二進(jìn)制文件是指令表二進(jìn)制文件。
方案5 :如方案1所述的系統(tǒng),還包括兩個(gè)或更多個(gè)語(yǔ)言編輯器,每個(gè)語(yǔ)言編輯器對(duì)于編程語(yǔ)言是特定的。 方案6 :如方案5所述的系統(tǒng),還包括兩個(gè)或更多個(gè)編譯器,每個(gè)編譯器對(duì)于語(yǔ)言 編輯器是特定的。 方案7 :如方案1所述的系統(tǒng),編程語(yǔ)言是梯形圖(LD)、功能塊圖(FBD)、結(jié)構(gòu)文本 (ST)、指令表(IU、順序功能流程圖(SFC)、61499、與標(biāo)準(zhǔn)相關(guān)聯(lián)的編程語(yǔ)言或與工業(yè)過(guò)程 相關(guān)聯(lián)的編程語(yǔ)言中的至少一種。 方案8 :如方案l所述的系統(tǒng),目標(biāo)資源是設(shè)備、處理器、硬件部分、軟件部分、資 源、平臺(tái)、工業(yè)環(huán)境或目標(biāo)中的至少一個(gè)。 方案9 :如方案1所述的系統(tǒng),編譯器包括與編程語(yǔ)言一比一的比例。
方案10 :如方案1所述的系統(tǒng),可編程邏輯控制器定義包括與處理器類型一比一
的比例。 方案11 :如方案1所述的系統(tǒng),目標(biāo)資源與至少一個(gè)平臺(tái)相關(guān)聯(lián),所述平臺(tái)是 uC0S、基于Windows的操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)、RTX、 Li皿x、 Integrity、 CE、 VxWorks、 0SE 或QNX中的至少一種。 方案12 :如方案1所述的系統(tǒng),目標(biāo)可執(zhí)行代碼程序在保持對(duì)兩個(gè)或更多個(gè)不同 目標(biāo)資源的通用適配和目標(biāo)特定的實(shí)施的同時(shí)提高執(zhí)行速度。 方案13 :如方案1所述的系統(tǒng),還包括數(shù)據(jù)存儲(chǔ)器,該數(shù)據(jù)存儲(chǔ)器存儲(chǔ)中間語(yǔ)言、 數(shù)據(jù)部分、匯編對(duì)象代碼、二進(jìn)制文件、目標(biāo)可執(zhí)行代碼程序或可編程邏輯控制器定義中的 至少一個(gè)。 方案14 :如方案1所述的系統(tǒng),還包括庫(kù),該庫(kù)包括由鏈接器利用以創(chuàng)建二進(jìn)制文 件的兩個(gè)或更多個(gè)匯編對(duì)象代碼部分。 方案15 :—種生成控制系統(tǒng)可執(zhí)行代碼的方法,包括接收部分編譯過(guò)的數(shù)據(jù);根 據(jù)所述部分編譯過(guò)的數(shù)據(jù)來(lái)匯編指令表對(duì)象;根據(jù)所述指令表對(duì)象來(lái)創(chuàng)建包括至少一個(gè)鏈 接的指令表二進(jìn)制文件;根據(jù)所述指令表二進(jìn)制文件利用可編程邏輯控制器定義來(lái)生成對(duì) 運(yùn)行時(shí)間目標(biāo)特定的目標(biāo)可執(zhí)行代碼(TEC)程序。 方案16 :如方案15所述的方法,在運(yùn)行時(shí)或者在開(kāi)發(fā)時(shí)中的至少一個(gè)期間生成 TEC程序,其中將結(jié)果代碼下載到所述目標(biāo)。 方案17 :如方案15所述的的方法,所述部分編譯過(guò)的數(shù)據(jù)與至少一個(gè)與工業(yè)環(huán)境 相關(guān)聯(lián)的編程語(yǔ)言有關(guān)。 方案18 :如方案17所述的的方法,編程語(yǔ)言是梯形圖(LD)、功能塊圖(FBD)、結(jié)構(gòu) 文本(ST)、指令表(IU、順序功能流程圖(SFC)、61499、與標(biāo)準(zhǔn)相關(guān)聯(lián)的編程語(yǔ)言或與工業(yè) 過(guò)程相關(guān)聯(lián)的編程語(yǔ)言中的至少一種。 方案19 :如方案15所述的的方法,其還包括利用庫(kù),該庫(kù)包括至少一個(gè)獨(dú)立于 目標(biāo)的指令表對(duì)象;以及鏈接來(lái)自該庫(kù)的至少一個(gè)指令表對(duì)象以生成所述指令表二進(jìn)制文 件。 方案20 :如方案15所述的的方法,還包括接收來(lái)自一個(gè)或更多個(gè)高級(jí)控制系統(tǒng) 語(yǔ)言的輸入;根據(jù)控制系統(tǒng)語(yǔ)言生成中間語(yǔ)言;定義針對(duì)目標(biāo)操作環(huán)境的硬件定義;以及 根據(jù)所述中間語(yǔ)言和所述硬件定義來(lái)生成可執(zhí)行語(yǔ)言。
方案21 :如方案15所述的的方法,還包括將指令表對(duì)象存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器;將
15指令表二進(jìn)制文件存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器中;將可編程邏輯控制器定義存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器中; 以及將TEC程序存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器中。 方案22 :如方案21所述的的方法,還包括訪問(wèn)來(lái)自數(shù)據(jù)存儲(chǔ)器的指令表對(duì)象以 創(chuàng)建指令表二進(jìn)制文件;訪問(wèn)來(lái)自數(shù)據(jù)存儲(chǔ)器的指令表二進(jìn)制文件以創(chuàng)建目標(biāo)可執(zhí)行代碼 程序;以及訪問(wèn)來(lái)自數(shù)據(jù)存儲(chǔ)器的可編程邏輯控制器定義以創(chuàng)建目標(biāo)可執(zhí)行代碼程序。
方案23 :—種便于創(chuàng)建用于工業(yè)環(huán)境的可執(zhí)行代碼的計(jì)算機(jī)實(shí)施系統(tǒng),包括用 于在編程語(yǔ)言內(nèi)實(shí)現(xiàn)部分?jǐn)?shù)據(jù)編程的裝置;用于在編程語(yǔ)言內(nèi)編譯所述部分?jǐn)?shù)據(jù)的裝置; 用于利用指令表語(yǔ)言來(lái)將所述部分?jǐn)?shù)據(jù)轉(zhuǎn)換為部分指令表對(duì)象代碼的裝置,所述匯編對(duì)象 代碼獨(dú)立于目標(biāo);用于根據(jù)所述部分匯編對(duì)象代碼來(lái)創(chuàng)建指令表二進(jìn)制文件的裝置,所述 二進(jìn)制文件獨(dú)立于目標(biāo);以及用于通過(guò)利用至少一個(gè)可編程邏輯控制器定義來(lái)為目標(biāo)資 源對(duì)所述指令表二進(jìn)制文件進(jìn)行特定定制的裝置,加載器在運(yùn)行時(shí)創(chuàng)建目標(biāo)可執(zhí)行代碼 (TEC)程序。 方案24 :如方案23所述的計(jì)算機(jī)實(shí)施系統(tǒng),編程語(yǔ)言是梯形圖(LD)、功能塊圖 (FBD)、結(jié)構(gòu)文本(ST)、指令表(IU、順序功能流程圖(SFC)、61499、與標(biāo)準(zhǔn)相關(guān)聯(lián)的編程語(yǔ) 言或與工業(yè)過(guò)程相關(guān)聯(lián)的編程語(yǔ)言中的至少一種。 方案25 :如方案23所述的計(jì)算機(jī)實(shí)施系統(tǒng),還包括用于利用包括兩個(gè)或更多個(gè)指 令表對(duì)象的庫(kù)的裝置。 方案26 :如方案23所述的計(jì)算機(jī)實(shí)現(xiàn)系統(tǒng),其還包括用于接收來(lái)自一個(gè)或更多 個(gè)高級(jí)控制系統(tǒng)語(yǔ)言的輸入的裝置;用于根據(jù)控制系統(tǒng)語(yǔ)言創(chuàng)建中間語(yǔ)言的裝置;用于針 對(duì)目標(biāo)操作環(huán)境定義硬件定義的裝置;以及用于根據(jù)中間語(yǔ)言和硬件定義生成可執(zhí)行語(yǔ)言 的裝置。
權(quán)利要求
一種便于創(chuàng)建用于工業(yè)環(huán)境的可執(zhí)行代碼的系統(tǒng),包括語(yǔ)言編輯器,其在編程語(yǔ)言內(nèi)實(shí)現(xiàn)對(duì)部分?jǐn)?shù)據(jù)進(jìn)行編程;編譯器,其在所述編程語(yǔ)言內(nèi)編譯所述部分?jǐn)?shù)據(jù);匯編器部件,其利用中間語(yǔ)言以將所述部分?jǐn)?shù)據(jù)轉(zhuǎn)換為部分匯編對(duì)象代碼,所述匯編對(duì)象代碼獨(dú)立于目標(biāo);鏈接器,其根據(jù)所述部分匯編對(duì)象代碼創(chuàng)建二進(jìn)制文件,所述二進(jìn)制文件獨(dú)立于目標(biāo);以及加載器,其通過(guò)利用至少一個(gè)可編程邏輯控制器定義為目標(biāo)資源對(duì)所述二進(jìn)制文件進(jìn)行特定定制,所述加載器在運(yùn)行時(shí)創(chuàng)建目標(biāo)可執(zhí)行代碼(TEC)程序。
2. 根據(jù)權(quán)利要求1所述的系統(tǒng),中間語(yǔ)言是指令表。
3. 根據(jù)權(quán)利要求1所述的系統(tǒng),匯編對(duì)象代碼是指令表對(duì)象。
4. 根據(jù)權(quán)利要求1所述的系統(tǒng),二進(jìn)制文件是指令表二進(jìn)制文件。
5. 根據(jù)權(quán)利要求1所述的系統(tǒng),還包括兩個(gè)或更多個(gè)語(yǔ)言編輯器,每個(gè)語(yǔ)言編輯器對(duì) 于編程語(yǔ)言是特定的。
6. 根據(jù)權(quán)利要求l所述的系統(tǒng),編程語(yǔ)言是梯形圖(LD)、功能塊圖(FBD)、結(jié)構(gòu)文本 (ST)、指令表(IU、順序功能流程圖(SFC)、61499、與標(biāo)準(zhǔn)相關(guān)聯(lián)的編程語(yǔ)言或與工業(yè)過(guò)程 相關(guān)聯(lián)的編程語(yǔ)言中的至少一種。
7. —種生成控制系統(tǒng)可執(zhí)行代碼的方法,包括 接收部分編譯過(guò)的數(shù)據(jù);根據(jù)所述部分編譯過(guò)的數(shù)據(jù)來(lái)匯編指令表對(duì)象;根據(jù)所述指令表對(duì)象來(lái)創(chuàng)建包括至少一個(gè)鏈接的指令表二進(jìn)制文件; 根據(jù)所述指令表二進(jìn)制文件利用可編程邏輯控制器定義來(lái)生成對(duì)運(yùn)行時(shí)間目標(biāo)特定 的目標(biāo)可執(zhí)行代碼(TEC)程序。
8. 根據(jù)權(quán)利要求7所述的方法,編程語(yǔ)言是梯形圖(LD)、功能塊圖(FBD)、結(jié)構(gòu)文本 (ST)、指令表(IU、順序功能流程圖(SFC)、61499、與標(biāo)準(zhǔn)相關(guān)聯(lián)的編程語(yǔ)言或與工業(yè)過(guò)程 相關(guān)聯(lián)的編程語(yǔ)言中的至少一種。
9. 一種便于創(chuàng)建用于工業(yè)環(huán)境的可執(zhí)行代碼的計(jì)算機(jī)實(shí)施系統(tǒng),包括 用于在編程語(yǔ)言內(nèi)實(shí)現(xiàn)部分?jǐn)?shù)據(jù)編程的裝置; 用于在編程語(yǔ)言內(nèi)編譯所述部分?jǐn)?shù)據(jù)的裝置;用于利用指令表語(yǔ)言來(lái)將所述部分?jǐn)?shù)據(jù)轉(zhuǎn)換為部分指令表對(duì)象代碼的裝置,所述匯編 對(duì)象代碼獨(dú)立于目標(biāo);用于根據(jù)所述部分匯編對(duì)象代碼來(lái)創(chuàng)建指令表二進(jìn)制文件的裝置,所述二進(jìn)制文件獨(dú) 立于目標(biāo);以及用于通過(guò)利用至少一個(gè)可編程邏輯控制器定義來(lái)為目標(biāo)資源對(duì)所述指令表二進(jìn)制文 件進(jìn)行特定定制的裝置,加載器在運(yùn)行時(shí)創(chuàng)建目標(biāo)可執(zhí)行代碼(TEC)程序。
10. 根據(jù)權(quán)利要求9所述的計(jì)算機(jī)實(shí)施系統(tǒng),編程語(yǔ)言是梯形圖(LD)、功能塊圖(FBD)、 結(jié)構(gòu)文本(ST)、指令表(IU、順序功能流程圖(SFC)、61499、與標(biāo)準(zhǔn)相關(guān)聯(lián)的編程語(yǔ)言或與 工業(yè)過(guò)程相關(guān)聯(lián)的編程語(yǔ)言中的至少一種。
全文摘要
本發(fā)明涉及一種便于創(chuàng)建用于工業(yè)環(huán)境的可執(zhí)行代碼的系統(tǒng)和/或方法。語(yǔ)言編輯器可以在編程語(yǔ)言內(nèi)實(shí)現(xiàn)對(duì)部分?jǐn)?shù)據(jù)的編程。編譯器可以在編程語(yǔ)言內(nèi)編譯部分?jǐn)?shù)據(jù)。匯編器部件可以利用中間語(yǔ)言將部分?jǐn)?shù)據(jù)轉(zhuǎn)換成匯編對(duì)象代碼部分,其中匯編對(duì)象代碼獨(dú)立于目標(biāo)。鏈接器可以根據(jù)匯編對(duì)象代碼部分創(chuàng)建二進(jìn)制文件,其中二進(jìn)制文件獨(dú)立于目標(biāo)。加載器可以通過(guò)利用至少一個(gè)可編程邏輯控制器定義針對(duì)目標(biāo)資源對(duì)二進(jìn)制文件進(jìn)行特定地定制,其中加載器在運(yùn)行時(shí)或在開(kāi)發(fā)時(shí)創(chuàng)建目標(biāo)可執(zhí)行代碼(TEC)程序。
文檔編號(hào)G06F9/45GK101763280SQ20091017765
公開(kāi)日2010年6月30日 申請(qǐng)日期2009年9月30日 優(yōu)先權(quán)日2008年9月30日
發(fā)明者丹尼斯·拉瓦萊, 吉勒斯·布魯內(nèi)特, 奧列弗·拉魯什, 莊占達(dá), 弗雷德里克·達(dá)爾沃, 朱利恩·喬伊納德, 讓-弗朗索瓦·拉利貝特 申請(qǐng)人:Ics三重自動(dòng)化軟件有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1