用於工業自動化的應用構建器的製作方法
2023-05-18 03:53:56 5
專利名稱:用於工業自動化的應用構建器的製作方法
技術領域:
要求保護的主題內容一般涉及工業控制系統,並且更具體地涉及一種採用語言無
關模型來幫助自動化軟體設計的開發工具。
背景技術:
工業控制器是用來控制工業過程、製造設備以及其他工廠自動化的專用計算機,
例如,數據收集或網絡化系統。控制器通常與其他計算機系統協同工作,以形成發生大部分
現代化和自動化的製造操作的環境。這些操作涉及諸如鋼材生產的材料前端加工到諸如汽
車生產的更複雜的製造過程,該製造過程涉及先前加工過的材料的裝配。通常,諸如在汽車
的情況下,可以利用輔助工業控制過程的高科技機器人來製造複雜的裝配件。 在包括諸如食物、飲料和藥物的日用品的基本生產的很多自動化過程中,複雜的
狀態邏輯通常由系統工程師來設計和編程或者在某些情況下由自動化設備製造商提供。該
邏輯通常用普通的PLC梯形邏輯或由順序功能圖(SFC)支持的更高級的語言進行編程。可
以對諸如材料移動和運送操作、包裝操作的多個任務採用順序邏輯,或者採用順序邏輯作
為裝配過程本身的一部分,其中裝配的各個階段一個接一個地順序進行,直至發生最後的
裝配。可以理解,需要大量的計劃和設計以實現這樣的自動化生產過程,其可能涉及幾百臺
機器、計算機以及用於幫助各個序列的正確操作的程序邏輯。 各種軟體平臺可以從實現諸如梯形邏輯和SFC的語言的很多不同控制製造商獲得。很多控制軟體開發平臺作為獨立的實體存在,然而在該平臺可以由開發團體利用之前,其需要很多人年的開發和測試。由於這種平臺的特性,它們通常以不靈活的方式進行設計,其中不支持較新版本的軟體範例和模型,除非設計新平臺來支持該版本。
發明內容
下面的概述呈現了簡化的概覽,以提供對這裡描述的某些方面的基本理解。該概述既不是詳盡的概覽,也不旨在標識關鍵元件或者界定這裡描述的方面的範圍。該概述的唯一目的是以簡化形式呈現某些特徵以作為後面呈現的更詳細描述的前言。
—種靈活且可擴展的架構揭示了自動化協作框架的底層控制模型和特徵,還提供了一種熟悉的用於創建新的特徵和功能的軟體設計環境。設計外殼被適配成支持用於控制和工業自動化平臺的快速軟體開發。這種外殼可以根據可用的Windows技術進行適配,但是可以根據諸如UNIX、 Java、Li皿x等類似地構造基本上任何類型的外殼。該外殼提供根據控制系統設計者的需要而裁剪的接口開發平臺。 開發平臺採用抽象編程模型,其使開發者能夠在抽象設置中設計控制解決方案,同時有助於代碼在基本上任何類型的最終硬體平臺上的部署和執行。在一方面,例如,從公共基本模型解決方案或標準如IEC 61131和61499派生抽象自動化模型(AbstractAutomation Model, AAM)。雖然任何編程標準可以用於底層模型,但是61131和61499支持現今世界中的大部分已知的自動化語言。AAM定義了這樣的控制結構,其表示具有配置、
3資源、程序等屬性的抽象數據對象。作為更大的框架或開發環境的一部分,具體自動化模型(Concrete Automation Model,CAM)與一般性數據對象相關聯地且根據不同開發環境的指定工程格式來提供數據接口。例如,各種版本的開發程序可以具有關聯的CAM,該CAM將各個版本連結或映射到AAM的底層抽象。 為了實現前述和相關目標,下面的描述和附圖詳細地闡述某些說明性方面。這些方面表示可以僅僅採用這裡描述的基本原理的各種方式中的一些方式。其他優點和新穎特徵可以從下面的結合附圖考慮的詳細描述中變得清楚。
圖l是示出採用抽象自動化模型以幫助控制環境中的軟體開發的外殼接口的示意性框圖; 圖2示出了示例平臺架構; 圖3是示出示例系統核心和權限組件的圖; 圖4是示出用戶角色管理器的組件的圖; 圖5示出了用於工業自動化開發工具的外殼的組件; 圖6示出了用於自動化開發平臺的應用構建器接口的示例組件; 圖7示出了用於自動化開發平臺的文檔生成器的示例對話接口 ; 圖8示出了用於自動化開發平臺的示例語言模板和跟蹤顯示; 圖9示出了用於自動化開發平臺的示例比較器接口 ; 圖10示出了用於自動化開發平臺的示例調用樹和交叉引用組件; 圖11示出了用於自動化開發平臺的示例字典視圖; 圖12示出了用於自動化開發平臺的偵探列表; 圖13示出了用於自動化開發平臺的分級結構視圖和綁定組件; 圖14示出了這樣的流程圖,其示出用於利用具有抽象模型的外殼應用的過程。
具體實施例方式
提供了一種軟體開發平臺,其採用抽象模型,以支持基本上任何類型的控制語言,但是不將設計者約束於任何特定的語言格式或接口。在一方面,提供了一種控制系統開發平臺。該平臺包括被適配成支持控制系統應用程式(application)的開發的外殼組件。抽象模型與外殼組件相關聯,以幫助控制系統應用程式的開發。 注意,諸如"組件"、"模塊"、"外殼"、"模型"等術語在本申請中使用時,旨在引用被應用於用於工業控制的自動化系統的與計算機相關的實體,其是硬體、硬體和軟體的結合、軟體、或者執行中的軟體。例如,組件可以是但不限於運行在處理器上的進程、處理器、對象、可執行體、執行線程、程序和計算機。作為示例,運行在伺服器上的應用程式以及伺服器都可以是組件。 一個或多個組件可以駐留在執行的進程或線程中,並且組件可以被本地化在一個計算機上或者分布在兩個或更多個計算機、工業控制器或與其通信的模塊之間。
首先參考圖l,提供了外殼接口 100,其採用抽象自動化模型以幫助控制環境中的軟體開發。如圖所示,外殼100針對幫助控制系統解決方案的快速開發、調試和部署的各種特徵而被適配。這些特徵包括用於允許軟體的修訂控制的版本控制組件110。與語言字典118—起,在114提供了人機接口 (Human machine interface, HMI)支持。提供了各種編 輯器122-130,並且在下面對其進行更詳細的描述。包括了設備目錄(devicecontent)組件 134以及I/0配置能力138。除了工程比較器146和修改歷史組件150之外,在142還提供 了依賴關係樹支持。軟體調試工具包括設備視圖154、錯誤輸出158、交叉引用162、跟蹤工 具166、以及腳本模塊170、偵探列表174和結果搜索工具178。在182和184提供了工程控 制,包括導入和導出能力184。在186-196提供了庫和屬性配置。下面將更詳細地描述這裡 簡短提及到的所有特徵110-196。 —般而言,接口 IOO提供了靈活且可擴展的架構,其揭示了自動化協作框架的底 層控制模型和特徵,還提供了熟悉的用於創建新的特徵和功能的軟體設計環境。設計外殼 IOO被適配成支持用於控制和工業自動化平臺的快速軟體開發。這種外殼IOO可以根據可 用的Windows技術進行適配,但是可以根據諸如UNIX、 Java、 Li皿x等類似地構造基本上任 何類型的外殼。外殼100提供了根據控制系統設計者的需要而裁剪的接口開發平臺。
開發平臺和外殼100採用抽象編程模型,其使開發者能夠在抽象設置中設計控制 解決方案,同時有助於代碼在基本上任何類型的最終硬體平臺上的部署和執行。在一方面, 例如,從公共基本模型解決方案或標準如IEC 61131和61499派生抽象自動化模型(AAM)。 雖然任何編程標準可以用於底層模型,但是61131和61499支持現今世界中大多數已知的 自動化語言。AAM定義了這樣的控制結構,其表示具有配置、資源、程序等屬性的抽象數據對 象。作為更大的框架或開發環境的一部分,具體自動化模型(CAM)與一般性數據對象相關 聯地且根據不同開發環境的指定工程格式來提供數據接口。例如,各種版本的開發程序可 以具有關聯的CAM,該CAM將各個版本連結或映射到AAM的底層抽象。 注意,與接口 100相關聯的組件可以包括對諸如以下能夠在網絡上交互的各種計 算機或網絡組件的支持伺服器、客戶端、控制器、工業控制器、可編程邏輯控制器(PLC)、 批處理控制器或伺服器、分布式控制系統(DCS)、通信模塊、移動計算機、無線組件、控制組 件等等。類似地,這裡所使用的術語控制器或PLC可以包括可以在多個組件、系統或網絡上 共享的功能性。例如, 一個或多個控制器可以在網絡上與各種網絡設備進行通信和協作。這 可以包括基本上任何類型的控制、通信模塊、計算機、1/0設備、傳感器、人機接口 (HMI),其 經由包括控制、自動化或公用網絡的網絡進行通信。控制器還可以與各種其他設備進行通 信和對其進行控制,例如,包括模擬、數字、程序/智能1/0模塊的輸入/輸出模塊、其他可 編程控制器、通信模塊、傳感器、輸出設備等等。 網絡可以包括諸如網際網路、內聯網的公用網絡以及諸如包括設備網和控制網 的控制和信息協議(CIP)網絡的自動化網絡。其他網絡包括乙太網、DH/DH+、遠程I/O、 Fieldbus、Modbus、Profibus、無線網絡、串行協議等等。另外,網絡設備可以包括各種可能 性(硬體或軟體組件)。它們包括諸如以下組件具有虛擬區域網(VLAN)能力的交換機、 LAN、 WAN、代理、網關、路由器、防火牆、虛擬專用網絡(VPN)設備、伺服器、客戶端、計算器、 配置工具、監控工具或其他設備。 現在返回到圖2,示出了示例平臺架構200。架構200還被稱為應用構建器,其包 括核心210和公共命名空間220。核心210對與系統相關的可復用組件進行分組,例如,下 面描述的日誌器、權限管理器和外殼。公共命名空間220組合可復用的應用構建器數據、服 務和視圖。圖2的下部還標識了支持多個工程格式230和附加件240。應用構建器200還
5提供了一般化編輯器250(例如,為控制而適配的可視工作室(Visual Studio, VS)),以更 容易地執行工程格式文件和公共視圖的互連。 核心權限命名空間(下面描述)定義了主要的主動安全機制。安全性減輕了工程 數據劫持和破壞的可能性。在一方面,提供了組件保護。這包括確保使用安全角色來保護業 務組件。例如,當角色(例如,管理者、技術人員、工程師)未被授權時,方法調用失敗。每 個角色與許可特徵相關聯。該特徵命名策略應當允許對每個組件方法進行細粒度的角色分 配。 在運行時受保護的方法應當使用基於.Net角色的聲明屬性或使用算法前導碼 (algorithm preamble)來查詢其角色準許。算法前導碼具有對諸如解析原始碼文件或生成 目標執行映象的密集處理禁用安全驗證的優點。此測試的失敗被記入日誌並且導致安全異常。 在另一安全方面,提供了角色映射。這包括採用基於業務規則、進程上下文或用戶 角色的動態角色映射。角色映射受下面更詳細描述的特徵矩陣的控制。特徵矩陣將角色映 射到準許集合上。該集合委託(delegate)其子準許中的每個並且保持最受限的訪問。還 可以提供豐富的客戶端認證,包括採用.Net主線程原理而不是通過對象發送用戶名/密碼 憑證。線程原理將角色驗證連接到特徵矩陣上。通過特徵矩陣映射的上下文準許對象由具 體模型的每個實例託管(host)。 還可以提供安全審計。這包括部署安全日誌記錄和審計機制(審計攔截器),以記 錄和提供對失敗的直接訪問企圖、策略違例、未定義的用戶角色成員關係以及異常進行標 識和審計的手段。在一方面,安全審計是可選的。平常的日誌記錄可以被配置成將日誌條 目重定向到控制臺上,以引起特殊的警報。數據驗證包括在用於處理數據格式和業務數據 的業務組件中採用良好定義的驗證過程。這確保數據完整性並且防止惡意的數據注入。對 輸入參數和所分配的屬性值執行數據驗證。算法前導碼塊執行斷言測試。各個測試的失敗 被記入日誌並且導致無效的參數異常。 在另一安全方面,可以限制部署組件。例如,不將未使用的組件存儲在生產環境 中。例如,可以將每個授權的組件存儲在特定彙編DLL中。生產隊伍還可以避免構建具有 未使用的組件的版本。安全性還包括保護編輯者的智慧財產權。例如,不提供可以容易地替 換或反彙編的DLL或EXE。典型地,所有存儲的DLL或EXE被籤名,以避免黑客可以進行容 易替換而從正常行為中進行劫持。反彙編可以通過代碼混淆而更困難。即使在開發過程中 也可以系統地應用籤名。混淆只能應用於發布版本。 現在參考圖3,示出了示例系統核心組件300和系統權限組件310。在312, Log4net 是Apache 1og4j框架到.Net運行時的埠 。核心組件300還包括外殼和權限組件316。 日誌記錄框架312遵循記錄日誌(或者相反,不記錄日誌)的速度是重要的考慮因素。它被 設計成日誌語句可以保留在發行的代碼中而不招致高的性能成本。日誌過濾器可以被配置 成根據諸如以下準則來避免日誌記錄事件映射診斷上下文(M即ped DiagnosticContext, MDC)、嵌套診斷上下文(Nested Diagnostic Context,NDC)、錯誤級別匹配等等。可以創建 新的過濾器類型以允許更多任意的過濾。 框架312將日誌事件寫到多個輸出,例如,資料庫、使用例如.Net遠程的遠程接收 器、web服務、具有或不具有多路復用的平面文本文件等等。可以創建新的目標類型以將事件重定向到某些其他輸出中。 框架312支持分等級的日誌記錄。這適合於基於組件的開發,其中每個組件具有 其自己的日誌器。當單獨測試時,可以根據開發者的要求來設置這些日誌器的屬性。當與 其他組件組合時,日誌器繼承由這些組件的集成者確定的屬性。可以選擇性地提高一個組 件的日誌記錄優先級,而不影響其他組件。這可以通過配置文件來實現。框架312可以使 用XML配置文件進行配置。配置信息可以如.Net配置規範所描述的那樣嵌入在其他XML 配置文件內。框架312還可以通過編程進行配置。 權限命名空間316基於許可證管理器320、用戶角色管理器320和特徵矩陣340。
特徵矩陣340組合有關特徵的約束並且將所得到的準許提供給其他產品或模塊。 許可證管理器320包括許可證對象,其遵循.Net組件模型的許可規範。它是命令
特徵的準許和約束的序列化集合。命令特徵是在數據對象上允許的最簡單的動作單位。系
統可以對在特徵下分組的數千特徵進行計數。所示分級結構為基本編輯操作提供特徵包和
特徵關係的示例,例如下面的示例 編輯_資源(Edit_Resource) 編輯_POU (Edit_POU) 特徵可以可選地與諸如計數器範圍的約束相關。約束在下面的可能性之中指定設 置特徵的可用性狀態的條件完全、只讀或拒絕。在緊接於該相關特徵的許可證對象中對約 束進行序列化。 許可證還定義時間和委託類型。例如,當發生某種許可變化例如被拔掉的USB設 備或網線時,可以通知其他組件。許可證提供者遵循組件模型的權限規範。它提供許可證序 列化服務。許可證對象本身可以被序列化到存儲於主機文件系統或經籤名的USB密鑰中的 文件。它還可以由許可證伺服器提供。在這種情況下,許可證提供者連接到可以從其檢索 許可證的許可證伺服器。許可證提供者有方法從共同網站(corporate web site)激活許 可證密鑰。在這種情況下,提供者發送許可證密鑰並且檢索許可證對象。所檢索的許可證 被序列化到提供者的存儲位置。提供者使用遵循.Net配置規範的設置機制來檢索許可證 存儲位置數據。許可證編輯器是.Net用戶控制項。它提供用戶接口以顯示可用的特徵準許 和約束。該編輯器還提供許可證密鑰激活UI和許可證對象編輯。如圖所示,權限組件310 包括服務組件350、抽象模式組件360和公共視圖組件370。 圖4示出了支持用戶角色管理器400的示例組件。400用於工業控制系統。用戶 角色管理器400採用抽象數據模型410以用於用戶角色和認證以及角色與特徵的映射,其 中用戶角色存儲與工程格式相關。抽象模型410的接口定義通常歸屬於用戶角色管理的屬 性和方法。某些接口可以定義事件和委託類型以提供變化通知。服務420是用戶角色管理 服務。它們定義基於抽象模型410的用戶角色數據處理。大部分服務420將組與認證機制 相關聯。服務還工作以將角色與由許可證管理器提供的特徵以及來自特徵矩陣的自定義特 徵相關聯。用戶角色編輯器可以是.Net用戶控制項。它提供用戶接口以顯示可用的用戶組, 設置組認證,並且關聯從許可證提供者460檢索的特徵與特徵矩陣440。
特徵矩陣440是從不同源動態地更新特徵準許的決策表。該矩陣用於應用程式的 至少三個區域 1.在菜單和工具欄的命令更新;
7
2.在公開方法調用和屬性"setters";
3.在表單驗證方法內; 特徵矩陣440將所有特徵映射到訪問準許對象上。特徵的結構擴展在.Net安全 規範中定義的準許對象。該擴展添加下面三個命令狀態標誌的組合 [OO51 ] 1.全部(對特徵的讀寫訪問權) [OO52] 2.只讀(對特徵的讀訪問權) [OO53] 3.拒絕(沒有對特徵的訪問權) 特徵矩陣為裝載的模塊所聲明的每個特徵創建準許集合。在最初的特徵聲明中, 它從許可證提供者460檢索特徵狀態。該集合聚集許可證、用戶角色或元素狀態準許對象。 任何模塊、工程格式、或附加件可以將附加的準許對象註冊到該集合。任何未知特徵名稱被 認為是自定義,並且矩陣440假定它們是啟用的。在這種情況下,許可驗證受該擴展的控 制。通過標準命令更新處理器和經許可的方法來使用準許集合。經許可的方法調用準許的 "Demand"方法,其在命令狀態不是"啟用"時,引發安全異常。命令更新處理器分配準許集 合的命令狀態。 圖5示出了用於工業自動化開發工具的外殼500的組件。外殼500是用於用戶接 口服務和集成開發環境(IDE) 510的主機(host)。服務提供用於列出所安裝模塊、顯示關於 框530或啟動頁540的方法。它還提供對權限管理服務的訪問。關於組件530提供用於激 活顯示產品名稱和版本的對話框的方法。關於對話框530提供其從外殼服務520檢索模塊 而來的詳細產品和模塊。 調試器引擎550將調試命令委託到下面描述的現場總線(Field Bus)協議實例, 其將事件通知委託回到調試器引擎550。調試器引擎550還管理多個資源連接。引擎550 提供用於使局部項、觀察和調用堆棧工具窗口工作的組件接口。局部項和觀察工具窗口間 接地預訂Field Bus協議變量組並且將用戶變化反映到協議的預訂接口上。調用堆棧工具 窗口還間接地從協議連接查詢堆棧幀。還由引擎550翻譯斷點和步進命令和事件。
啟動導航窗口 540以"網頁"風格的窗格填充客戶設計區域,該窗格枚舉關於最近 打開的解決方案、工程、文檔的快捷方式,用於創建新設計的其他快捷方式,以及其他指定 "指引"幫助主題。它是用於向新用戶介紹、使應用構建器能夠更易於使用以及提供通告相 關產品和服務的營銷平臺的適合工具。 啟動編輯器窗格560是在啟動時打開的文檔。用戶可以使用選項頁來禁用它。該 編輯器裝載通過配置文件指示的頁視圖。 在570,考慮工程類型。包a通過允許對由IDE框架使用的相同工具和組件的訪 問而直接在IDE 510中提供深入的集成。沒有提供對創建新工程類型進行處理的管理包框 架(MPF)的部分作為套件(assembly)的一部分。提供了工程類型包套件所包括的被稱為 "ProjectBase"的原始碼。工程類型包570在工程文件擴展名和被管理類GUID之間進行關 聯。IDE在工程文件打開時將實例化該類。該包類還是用於註冊公共工具窗口和命令的適 當位置。最少,該包應當註冊和處理關於框查詢命令。 實現工程類型意味著根據期望的行為來管理工程文件系統分級結構樹。以工程類 型570定義的外殼服務特殊化(specialization)提供用於集成包的服務方法。工程包實 例化該特殊化,以從未裝載的包和附加件檢索模塊信息。不同的工程類型表示每個所支持的程式語言。除了工程類型之外,IDE定義解決方案,其是很多工程的聚集。.Net的跨語言
能力是通過解決方案而不是通過工程來提供的。 注意,IDE可用於下面兩種模式 集成模式_集成應用與其他語言和工具共享公共的平臺;以及 孤立模式-使集成應用在帶烙印(branded)的IDE容器中可用,其中該IDE容器
是沒有公共語言和工具的服務中的一個。 如圖所示,還可以提供外殼控制器580和現場總線組件590。現場總線組件590提 供用於管理關於目標的對話、下載、上載以及在線變化的公共API。該API應當可擴展成支 持任何自動化協議。現場總線命名空間定義與目標進行通信的抽象接口。這意味著用於管
理對話框的外表(fa^ade)接口和一組子服務接口 。抽象服務以.Net異常模式統一通信錯
誤消息。在協議違例異常時,協議的消息代碼被轉換為現場總線的對應物,被打包和引發回 到調用者(不是目標信道)。 抽象服務結構具有某些與OPC DA和EA伺服器的相似性。更具體地說,它提供用 於預訂一組變量並且設置或鎖定/解鎖變量值的方法。任何設置或鎖定/解鎖的變量值被 委託到協議的特定語言和信道。從協議信道發生的值變化通知在事件參數中打包,並通過 事件通知回到組的預訂者。抽象服務結構還具有某些與調試引擎的相似性。更具體地說, 它提供用於執行逐步調試、管理斷點通知和堆棧幀的方法。從協議信道發生的斷點通知在 事件參數中打包,並且通過事件通知回到引擎的預訂者。堆棧幀構造佔據事件打包的一部 分。如果目標不支持該特徵,則可以設置空的堆棧幀對象。現場總線抽象服務最後提供用 於支持下載、上載和在線變化的方法。這些操作是異步的並且將進展狀態提供到客戶端應 用程序。 圖6示出了應用構建器接口 600的示例組件。應用構建器600以多個通用用戶接 口來支持現有的功能性。數據和功能性被提出採用幾乎相同的格式而與工程格式無關。用 戶交互並獲得相同的用於任何工程格式的菜單、視圖和列印報告。應用構建器架構600允 許集成大量的工程格式。伴侶還可以根據明確的需要而加入值或減少功能性。可以更替或 撤銷IDE容器以在另一系統中集成應用構建器。 應用構建器600提供用於管理自動化工程的公共數據模型、UI組件以及處理服務 集合。該命名空間定義可復用類而與特定IDE框架沒有任何關係。圖6提供了應用構建器 公共命名空間的架構 在該圖中,表示了應用構建器提供3層架構 1.抽象模型610捕獲自動化領域的常用數據結構。它對程序接口進行分組,其中 每一個反映在自動化工程的數據中可以揭示的可能方面。 2.伺服器620是使用或改變由抽象模型610揭示的數據的處理單元。 3.視圖630是用於向用戶呈現數據的用戶接口控制項。它們使用數據抽象接口或間
接通過服務620來使用或改變由抽象模型610揭示的數據。 模型610是一組抽象接口。每個接口定義以相關的基本編輯方法來定義工程元素 的方面。該抽象層應當疊加在具體工程格式數據模型上並且將變化反映在特定的工程結構 上。具體模型的工程元素實現.Net接口 IServiceProvider。這提供遵循.NET服務規範的 上下文服務提供者。抽象模型的接口定義通常歸屬於IEC 61131或IEC 61499元素的屬性和方法。某些接口可以定義用於提供變化通知的事件和委託類型。 服務620是數據處理組件。應當理解,不是應用構建器最終可以提供的所有可能 服務都被示出。然而,可以枚舉某些示例服務。每個服務具有抽象接口 640。具體模型實現 並且公布其服務,以使它們在適當的上下文中工作。 文檔生成器650根據用戶偏好和章節選擇來產生格式化的文檔。文檔格式化是基 於模板的。文檔可以例如以諸如PDF的普通格式來生成,或者可以直接被發送到印表機。 生成器使用用於圖和圖表的視圖列印方法。所生成的畫面被切片以適合所生成文檔的頁布 局。該服務具有用於指定文檔生成參數的對話框。圖7示出了示例對話框700。
返回參考圖6,導入/導出組件654是抽象控制器外表,用於如.Net服務規範所定 義的那樣標準化調用並且使其可用於服務提供者。導入包括使用抽象接口解析檔案文件以 填充模型。導出包括使用抽象接口從模型生成檔案文件。導入控制器與解析器協同工作。 它進行諸如解壓縮的預備操作,並且啟動解析器670以填充模型。導出控制器與生成器674 協同工作。它啟動生成器並且執行諸如壓縮的後操作。 解析器控制器670執行源文件的分析並且將結果反映在具體工程格式模型中。工 程格式定義補充的抽象模型以完善通用抽象模型。解析器670使用這些抽象接口來間接地 填充具體工程格式模型。 生成器控制器674根據工程格式寫入格式化的文件。該生成器遍歷通過抽象模型 和工程格式的補充抽象模型使得可用的數據。該服務可以用來提供工程格式之間的互操作 性。生成器應當生成不帶其工程格式補充抽象模型的文件。在這種情況下,生成器674使 用預設值來維持與所生成文件的目標的兼容性。 全局查找/替換控制器680定義抽象外表接口 。預設控制器執行抽象模型中的樹 遍歷。它委託每個被訪問的上下文查找/替換控制器。提供通用元素查找/替換控制器。 工程格式還可以擴展或者甚至替換它。每個上下文服務提供者存儲該控制器的實例。交叉 引用控制器684在抽象模型640內執行樹遍歷。其保留從抽象語法樹(Abstract Syntax Tree, AST)派生的類型用法、功能塊實例、以及功能塊調用和功能調用。
除了圖命名空間之外,視圖630是.Net用戶控制項,但是可以提供其他類型的控制項。 它們可以委託服務或者使用抽象對象接口來修改或查詢數據。部署產生指定工程元素之間 的連接的文件。它可以採取具有各種工程元素和通信設備的網絡圖的外觀。
圖8示出示例語言模板和跟蹤顯示。語言模板窗口 800是由語言模板元素填充的 導航欄。自動化工程師使用該服務,以通過將所提供的圖片拖放到打開文檔的窗口的簡單 操作對控制應用程式進行配置或編程。語言模板組件(未示出)從圖命名空間檢索語言模 板。它從圖命名空間請求語言模板並且配置導航欄。 跟蹤工具和顯示810用於將信號顯示在曲線圖中。其按時接收信號變化通知,並 且將該變化反映在圖表上。它應當允許實時跟蹤並且可以對歷史數據進行序列化。
圖9示出了示例比較器900。比較器900允許至少2個相同類型的工程元素的圖 形或文本比較。該組件900可以從命令行或從應用構建器啟動。塊選擇器是功能塊和實例 過濾視圖。它用於插入功能塊功能塊調用。變量選擇器是變量過濾視圖。其用於將變量使 用插入代碼模塊內。 圖IO示出了用於自動化開發平臺的調用樹IOOO以及交叉引用組件IOIO。元素和調用樹組件1000創建和瀏覽依賴關係樹。它通過示出P0U之間的調用而給予理解應用程 序順序的可能性。交叉引用組件1010列出變量使用和工程的POU以進行導航。選擇項目 指引用戶觀察引用變量的位置。 圖ll示出了用於自動化開發平臺的示例字典視圖1100。字典視圖IIOO是網格 風格的瀏覽器變量、參數、派生數據類型和已定義的詞。該網格使得能夠對符號進行查看、 排序和分組。例如,視圖1100還允許管理變量的拖放操作,以便更容易地進行變量、聯繫 (contact)或巻(coil)創建。預設地,視圖1100可以在相同區域中作為文檔被打開,但是 用戶可以使其為停靠(docked)窗口或浮動窗口。所顯示的列可以依賴於所瀏覽對象的類 型而改變。以下面的示例枚舉可用列 名稱-變量名稱 類型-變量類型 初始值_變量初始值 組-變量所屬組 屬性-變量屬性
方向-變量的方向(輸入、輸出、輸入-輸出、內部) 維-數組變量的維
最大-類型STRING的最大字符串長度 別名-變量的別名 範圍-所定義的變量範圍 變量連接到的信道
4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.
保留_將變量保存到備份存儲器上
用戶地址-用於Modbus的網絡地址 注釋-最多255字符的變量注釋 用戶_可以由用戶填充的作為STRING的用戶欄位 強制-鎖定或未鎖定 圖12示出了用於自動化開發平臺的偵探列表1200。當應用構建器在線時,採用偵 探列表來設置和顯示變量或參數值。偵探列表1200可以由用戶創建並且應當顯示在最後 使用配置(last usage disposition)中。該視圖由於區別邏輯和物理值而不同於局部項 和觀察列表。而且,偵探列表1200顯示變量和實例的簡短描述。用戶可以拖放變量或參數 以從字典或編輯器進行偵探。還可以拷貝和粘貼以登記被偵探的變量或參數。用戶還可以 直接在列表上鍵入變量或參數名,以執行相同的操作。 圖13示出了用於自動化開發平臺的分級結構視圖1300和綁定組件1310。工程分 級結構將工程的內容反映在樹視圖上。它提供諸如創建、刪除或重命名元素、顯示屬性等等 普通編輯命令。元素之間的分級關係取決於主機工程結構。分級結構樹反映與由工程提供 的結構相同的結構。庫分級結構將所有檢測到的庫反映到樹視圖上。在由配置文件提供的 目錄中檢測庫。它提供與工程分級結構相同的編輯命令以及用於廣播或搜索所配置目錄之 外的庫的補充命令。元素之間的分級關係取決於主機工程結構。分級結構樹反映與由工程 提供的結構相同的結構。應用構建器在同一樹中管理所有庫,並且將庫名稱放置在樹根處。
1/0配置組件(未示出)瀏覽樹結構中的硬體設備並且提供直接1/0變量地址。與上述字典視圖合作,1/0配置組件允許將直接I/0變量與符號變量映射。該映射應當從 1/0配置和字典兩者均可見。該組件是工程模型和特徵矩陣服務的客戶端。在某些情形下, 用戶可以從字典執行變量的拖放,並且在這種情況下,該組件也變為字典組件的客戶端。
在1310,示出了綁定組件。該組件設置所有變量以在資源之間進行交換。該組件 裝載綁定生產者和消費者組或變量。它在幫助用戶組對的視圖中枚舉它們,以便將資源的 生產者連接到另一資源的消費者。 可以提供圖編輯器(未示出)以用於自動化部署和編程。它提供編輯表面,以顯 示來自語言模板的形狀,並且應用形狀的語義規則和在線行為。構成圖的形狀按語言或圖 類型進行分組。在編輯器表面,畫圖區域混合相同組的形狀,並且可以連結這些區域以交換 數據。語言模板設計者(未示出)允許創建要呈現在通用多層編輯器中的新的圖形狀。形 狀被保存在被稱為語言模板的文件中,並且通過圖命名空間使得可用。 圖14是示出以用於工業控制軟體開發的抽象模型來適配外殼的方法1400的流程 圖。雖然為了簡化說明的目的而將方法作為一系列動作進行示出和描述,但是應當理解和 明白,由於與這裡所示和所述的相比,某些動作可以以不同次序發生或與其他動作同時發 生,因此方法不受動作次序的限制。例如,本領域的技術人員應當理解和明白,可以可替選 地將方法表示為諸如狀態圖中的一系列相互關聯的狀態或事件。而且,對於實現這裡所述 的方法,不是所有示出的行為都是必需的。 前進到1410,定義抽象模型。如前所述,可以在抽象設置中提供抽象編程模型, 同時有助於代碼在基本上任何類型的最終硬體平臺上的部署和執行。在一方面,從公共基 本模型解決方案派生抽象自動化模型(AAM)。雖然任何編程標準可以用於底層模型,但是 61131和61499支持現今世界中的大部分已知自動化語言。AAM定義控制接口,其表示具有 配置、資源、程序等等屬性的抽象數據對象。作為更大的框架或開發環境的一部分,另一抽 象模型是具體自動化模型(CAM),其與一般性數據對象相關聯地並且根據不同開發環境的 指定工程格式提供數據接口。在1420,修改設計外殼以支持用於控制和工業自動化平臺的 軟體開發。該外殼可以從基本上任何類型的外殼進行適配,並且可以根據諸如UNIX、 Java、 Li皿x等的技術來構造。該外殼提供根據控制系統設計者的需要而裁剪的接口開發平臺。
在1430,針對幫助控制系統解決方案的快速開發、調試和部署的各種控制軟體功 能對外殼進行適配。如前所述,這些特徵包括用於允許軟體的修訂控制的版本控制組件以 及人機接口 (HMD支持。其他特徵包括語言字典和各種編輯器。包括了設備目錄組件以及 1/0配置能力。除了工程比較器和修改歷史組件之外,還提供了依賴關係樹支持。軟體調試 工具包括設備視圖、錯誤輸出、交叉引用、跟蹤工具以及腳本模塊、偵探列表和結果搜索工 具。工程控制包括導入和導出能力。還提供了庫和屬性配置。在1440,提供了各種用戶接 口來訪問在1430提供的控制軟體功能。
根據本發明實施例,提供了以下方案。 方案1. 一種控制系統開發平臺,包括外殼組件,被適配成支持控制系統應用程 序的開發;以及抽象模型,與所述外殼組件相關聯,以幫助所述控制系統應用程式的開發。
方案2.如方案l所述的系統,所述抽象模型提供一組使用相關方法定義工程元素 的抽象接口。 方案3.如方案2所述的系統,還包括用於將數據處理加入所述抽象模型的服務組
12
方案4.如方案3所述的系統,所述服務組件還包括用於根據用戶偏好產生格式化的設計文檔的文檔生成器。 方案5.如方案3所述的系統,所述服務組件還包括用於填充模型或者生成檔案文件的導入或導出工具。 方案6.如方案3所述的系統,所述服務組件還包括用於執行源文件分析的解析器。 方案7.如方案3所述的系統,所述服務組件還包括用於根據工程格式寫入文件的生成器控制器。 方案8.如方案7所述的系統,所述生成器控制器提供工程格式之間的互操作性。
方案9.如方案3所述的系統,所述服務組件還包括用於搜索或替換工程元素的全局查找或替換組件。 方案10.如方案3所述的系統,所述服務組件還包括用於在抽象模型內執行樹遍歷的交叉引用組件。 方案11.如方案3所述的系統,所述服務組件還包括用於修改或查詢數據的視圖組件。 方案12.如方案3所述的系統,所述服務組件還包括生成工程元素之間的連接的部署組件。 方案13.如方案3所述的系統,所述服務組件還包括用於標示圖形或文本之間的差別的比較器。 方案14.如方案3所述的系統,所述服務組件還包括用於瀏覽變量、參數、數據類型或已定義詞的字典組件。 方案15.如方案14所述的系統,所述字典組件包括名稱、類型、初始值、組、屬性、方向、維、字符串長度、別名、範圍、連線、保留變量、用戶地址、注釋、用戶或強制條件中的至少一個。 方案16.如方案3所述的系統,所述服務組件還包括用於設置變量以在資源之間交換的綁定組件。 方案17. —種用於提供控制開發平臺的方法,包括定義外殼,以與工業控制開發平臺接口 ;將所述外殼與描述所述工業控制平臺的一般性特徵的一個或多個抽象模型接口 ;以及採用所述抽象模型,以與特定的控制應用程式接口。 方案18.如方案17所述的方法,還包括提供輸入/輸出配置組件,以與所述抽象模型接口。 方案19.如方案17所述的方法,還包括生成模板編輯器,以創建自定義圖形狀。
方案20. —種工業控制開發平臺,包括用於生成一個或多個與控制軟體設計環境有關的抽象模型的裝置;用於將所述抽象模型與所述控制軟體設計環境接口的裝置;以及用於生成設計服務以支持所述抽象模型的裝置。 如上所述的主題內容包括各種示例性的方面。然而,應當理解,不可能為了描述這些方面的目的而描述每一個想得到的組件或方法。本領域的普通技術人員可以認識到其他組合或置換是可能的。可以採用各種方法或架構來實現本發明、其變型、變化或等
13同方案。因此,這裡描述的方面的所有這樣的實現意欲包含權利要求的範圍和精神。此外,對於在詳細描述或權利要求中使用術語"includes(包括)",該術語意欲是以與術語"comprising(包括)"在權利要求中用作過渡詞時所解釋的那樣類似的方式的包括。
權利要求
一種控制系統開發平臺,包括外殼組件,被適配成支持控制系統應用程式的開發;以及抽象模型,與所述外殼組件相關聯,以幫助所述控制系統應用程式的開發。
2. 如權利要求1所述的系統,所述抽象模型提供一組使用相關方法定義工程元素的抽 象接口。
3. 如權利要求2所述的系統,還包括用於將數據處理加入所述抽象模型的服務組件。
4. 如權利要求3所述的系統,所述服務組件還包括用於根據用戶偏好產生格式化的設 計文檔的文檔生成器。
5. 如權利要求3所述的系統,所述服務組件還包括用於填充模型或者生成檔案文件的 導入或導出工具。
6. 如權利要求3所述的系統,所述服務組件還包括用於執行源文件分析的解析器。
7. —種用於提供控制開發平臺的方法,包括 定義外殼,以與工業控制開發平臺接口 ;將所述外殼與描述所述工業控制平臺的一般性特徵的一個或多個抽象模型接口 ;以及 採用所述抽象模型,以與特定的控制應用程式接口。
8. 如權利要求7所述的方法,還包括提供輸入/輸出配置組件,以與所述抽象模型接□。
9. 如權利要求7所述的方法,還包括生成模板編輯器,以創建自定義圖形狀。
10. —種工業控制開發平臺,包括用於生成一個或多個與控制軟體設計環境有關的抽象模型的裝置; 用於將所述抽象模型與所述控制軟體設計環境接口的裝置;以及 用於生成設計服務以支持所述抽象模型的裝置。
全文摘要
本發明涉及用於工業自動化的應用構建器。提供了一種控制系統開發平臺。該平臺包括被適配成支持控制系統應用程式的開發的外殼組件。抽象模型與外殼組件相關聯以幫助控制系統應用程式的開發。
文檔編號G05B19/02GK101788791SQ20091017765
公開日2010年7月28日 申請日期2009年9月30日 優先權日2008年9月30日
發明者丹尼斯·拉瓦萊, 吉勒斯·布魯內特, 奧列弗·拉魯什, 莊佔達, 弗雷德裡克·達爾沃, 朱利恩·喬伊納德, 讓-弗朗索瓦·拉利貝特 申請人:Ics三重自動化軟體有限公司