專利名稱:自動(dòng)生成自動(dòng)化軟件的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于自動(dòng)生成自動(dòng)化軟件或尤其是諸如結(jié)構(gòu)等部分的裝置。本發(fā)明還涉及一種用于自動(dòng)生成這種自動(dòng)化軟件的方法。
背景技術(shù):
在較早的德國(guó)專利申請(qǐng)DE 10206691中,公開了一種由用戶使用至少一個(gè)存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中的服務(wù)的方法。在此,服務(wù)是指根據(jù)用戶特性提供軟件。用戶登錄對(duì)服務(wù)訪問進(jìn)行監(jiān)控的管理單元并描述所期望的服務(wù)。然后,管理單元為了調(diào)用對(duì)應(yīng)于該描述的服務(wù)確定所需的各個(gè)組成部分,并由這些組成部分生成軟件。此外,管理單元還為所需的每個(gè)單個(gè)組成部分在許可數(shù)據(jù)庫(kù)的對(duì)應(yīng)于該用戶的許可數(shù)據(jù)組中生成一個(gè)條目。
在較早的德國(guó)專利申請(qǐng)DE 10209640中,公開了一種借助生成器從HMI(人機(jī)界面)程序中生成自動(dòng)化程序的方法,其中所述生成器識(shí)別HMI程序的結(jié)構(gòu),并將該結(jié)構(gòu)轉(zhuǎn)換為自動(dòng)化程序的結(jié)構(gòu)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是簡(jiǎn)化在產(chǎn)生自動(dòng)化軟件過程中的流程。
這種在產(chǎn)生自動(dòng)化軟件時(shí)的流程簡(jiǎn)化是用權(quán)利要求1中給出的裝置實(shí)現(xiàn)的。為此,設(shè)置了一種自動(dòng)生成自動(dòng)化軟件的裝置,其具有一個(gè)包括至少一個(gè)軟件生成器和一個(gè)項(xiàng)目生成器的生成器,其中借助該軟件生成器利用可預(yù)先給定或預(yù)先給定的第一數(shù)據(jù),尤其是例如計(jì)劃數(shù)據(jù)、程序知識(shí)和管理知識(shí),可以生成一個(gè)開發(fā)環(huán)境,并且在應(yīng)用該開發(fā)環(huán)境的條件下借助項(xiàng)目發(fā)生器利用可預(yù)先給定或預(yù)先給定的第二數(shù)據(jù),尤其是例如計(jì)劃數(shù)據(jù)、經(jīng)驗(yàn)數(shù)據(jù)和硬件知識(shí),可以生成控制軟件。這種簡(jiǎn)化同樣可以由權(quán)利要求7中定義的對(duì)應(yīng)方法完成。
本發(fā)明基于以下認(rèn)識(shí),軟件的后續(xù)開發(fā)始終著眼于補(bǔ)充其它能夠使用戶想象地簡(jiǎn)化或加快解決實(shí)際任務(wù)的性能特征。但是,本發(fā)明將該任務(wù)置于突出的地位,并能自動(dòng)地、為解決該任務(wù)而優(yōu)化地生成自動(dòng)化軟件。在此,在訪問不同類型數(shù)據(jù)時(shí)充分利用目前存在的方法。借助有效的搜索算法,如在利用互聯(lián)網(wǎng)時(shí)用到的,可以針對(duì)可預(yù)先給定或預(yù)先給定的答案數(shù)據(jù)搜索到所存儲(chǔ)的數(shù)據(jù),如在描述按照諸如“啤酒廠”、“軋鋼廠”等答案數(shù)據(jù)形式的任務(wù)時(shí)獲得的數(shù)據(jù)。此外,還考慮到應(yīng)用標(biāo)準(zhǔn)化界面的趨勢(shì)。這些界面允許對(duì)按照如下形式的CAD數(shù)據(jù)進(jìn)行再處理,即借助該CAD數(shù)據(jù)和與這些CAD數(shù)據(jù)的各數(shù)據(jù)組邏輯連接的庫(kù)信息,可以獲得包含在待自動(dòng)化的技術(shù)過程中的全部組件,如電動(dòng)機(jī)、閥門、終端開關(guān)等。借助預(yù)先給定或可以預(yù)先給定的規(guī)則,每個(gè)部件都可以對(duì)應(yīng)于執(zhí)行器或傳感器的類型。為每個(gè)執(zhí)行器設(shè)置合適數(shù)量的自動(dòng)化硬件輸出端,為每個(gè)傳感器設(shè)置合適數(shù)量的輸入端,從而由此待處理的數(shù)據(jù)空間已初步形成,并尤其是可以根據(jù)諸如計(jì)算效率和存儲(chǔ)容量的原則選出中心自動(dòng)化設(shè)備。
相反,自動(dòng)化軟件可以利用市場(chǎng)上常見的、通用標(biāo)準(zhǔn)開發(fā)環(huán)境來產(chǎn)生。這種標(biāo)準(zhǔn)開發(fā)環(huán)境和成批生產(chǎn)的服裝一樣提供多種功能和服務(wù),而在此無(wú)需考慮單個(gè)用戶的個(gè)別需求。根據(jù)本發(fā)明,為了自動(dòng)生成自動(dòng)化軟件或尤其是諸如結(jié)構(gòu)等部分,首先生成單獨(dú)的開發(fā)環(huán)境,隨后在應(yīng)用該單獨(dú)生成的開發(fā)環(huán)境的條件下生成控制軟件。
控制軟件是指那些控制和/或監(jiān)控具體技術(shù)過程并在必要時(shí)包括借助操作和觀察系統(tǒng)或人機(jī)界面(HMI)進(jìn)行圖形用戶引導(dǎo)的自動(dòng)化軟件,所述技術(shù)過程例如是生產(chǎn)線,如軋機(jī)或一系列裝配自動(dòng)機(jī)床。
單獨(dú)的開發(fā)環(huán)境是指所有用于生成控制軟件所需的部件(如庫(kù)或庫(kù)的組成部分等)、用于控制特定過程或自動(dòng)化部件(如網(wǎng)絡(luò)連線、通信界面等)的驅(qū)動(dòng)程序以及根據(jù)編譯器、解釋器等的類型用于生成可在目標(biāo)硬件上執(zhí)行的控制軟件的轉(zhuǎn)換程序。
本發(fā)明的優(yōu)選結(jié)構(gòu)在從屬權(quán)利要求中給出。根據(jù)這些優(yōu)選結(jié)構(gòu),生成器還包括設(shè)備配置器,并且借助該設(shè)備配置器利用可預(yù)先給定或預(yù)先給定的第三數(shù)據(jù),尤其是例如硬件知識(shí),可以獲得自動(dòng)化硬件的配置。由此完成了自動(dòng)化軟件的自動(dòng)產(chǎn)生,其中首先生成開發(fā)環(huán)境并在應(yīng)用該開發(fā)環(huán)境的條件下生成實(shí)際的控制軟件,該控制軟件可以利用自動(dòng)化硬件的配置直接運(yùn)行。
下面借助附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行詳細(xì)描述。附圖中對(duì)應(yīng)的部件使用相同的附圖標(biāo)記。其中圖1是利用所需的數(shù)據(jù)自動(dòng)生成自動(dòng)化軟件的示意圖,圖2示出了自動(dòng)生成自動(dòng)化軟件時(shí)的各方法步驟,圖3示出了自動(dòng)生成自動(dòng)化軟件時(shí)的數(shù)據(jù)流向圖。
具體實(shí)施例方式
圖1以示意性概略圖示出具有軟件生成器11、項(xiàng)目生成器12和設(shè)備配置器13的生成器10。
軟件生成器11用于生成開發(fā)環(huán)境14和項(xiàng)目生成器12,以生成控制軟件15。設(shè)備配置器13用于確定適當(dāng)?shù)呐渲?6,以便在自動(dòng)化硬件上運(yùn)行控制軟件15。未示出的自動(dòng)化硬件是指單個(gè)自動(dòng)化設(shè)備,如存儲(chǔ)器可編程控制設(shè)備或過程計(jì)算機(jī),或這樣的設(shè)備與例如分散的外圍接入設(shè)備和/或具有例如生產(chǎn)計(jì)劃功能的控制計(jì)算機(jī)的連接。必要時(shí),設(shè)備配置器13也通過將各配置16,即配置數(shù)據(jù)發(fā)送到自動(dòng)化硬件,自己來進(jìn)行自動(dòng)化硬件的配置??刂栖浖?5控制自動(dòng)化硬件,并由此控制和/或監(jiān)控技術(shù)過程(未示出),如焊接線(汽車生產(chǎn)等等)或軋機(jī)(鋼材生產(chǎn))。
通過軟件生成器11來生成開發(fā)環(huán)境14借助可預(yù)先給定或預(yù)先給定的第一數(shù)據(jù)進(jìn)行,尤其是借助例如計(jì)劃數(shù)據(jù)17、程序知識(shí)18和管理知識(shí)19。計(jì)劃數(shù)據(jù)17包括諸如構(gòu)造數(shù)據(jù)的數(shù)據(jù),如由CAD系統(tǒng)處理或已經(jīng)生成的數(shù)據(jù)。此外,計(jì)劃數(shù)據(jù)17還可包括任務(wù)描述和/或問題描述和/或已經(jīng)進(jìn)行的項(xiàng)目的數(shù)據(jù)。程序知識(shí)18包括函數(shù)數(shù)據(jù),如性能范圍或可利用性、結(jié)構(gòu)、版本和/或例如各函數(shù)之間的相關(guān)性。管理知識(shí)19包括用于使用管理的數(shù)據(jù)、用于計(jì)算的數(shù)據(jù)和/或更新服務(wù)的數(shù)據(jù)。
借助軟件生成器11分析可供使用的各第一數(shù)據(jù)。借助例如構(gòu)造數(shù)據(jù)可以確定在技術(shù)過程中存在的頻率調(diào)節(jié)的驅(qū)動(dòng)。這樣的驅(qū)動(dòng)要求特殊的執(zhí)行器。這些執(zhí)行器又需要特殊的軟件來控制。由此作為按照要求所確定的軟件是要自動(dòng)產(chǎn)生的開發(fā)環(huán)境14的必要組成部分。借助任務(wù)或問題描述,特別是結(jié)合已進(jìn)行的項(xiàng)目的數(shù)據(jù),利用部分任務(wù)或部分問題,必要時(shí)在考慮已進(jìn)行項(xiàng)目中的處理的條件下,可以確定還有哪些組成部分對(duì)開發(fā)環(huán)境14是必要的。對(duì)每個(gè)開發(fā)環(huán)境14所需要的組成部分來說,借助程序知識(shí)18可以確定哪些組成部分,如軟件模塊、庫(kù)等等對(duì)開發(fā)環(huán)境14來說是必要的。為此,例如訪問功能范圍的數(shù)據(jù)或結(jié)構(gòu)的數(shù)據(jù)。通常,開發(fā)環(huán)境14需要的組成部分還需要接收其它組成部分,因?yàn)樵谒璧慕M成部分和其它每個(gè)組成部分之間存在相關(guān)性,例如導(dǎo)入關(guān)系。為此,例如訪問相關(guān)性數(shù)據(jù)或結(jié)構(gòu)數(shù)據(jù)。此外,必須保證進(jìn)入開發(fā)環(huán)境14的組成部分的兼容性。為此,例如訪問版本和/或相關(guān)性數(shù)據(jù)。最后,必須保證所需的各組成部分的可用性和必要時(shí)的更新。為此,需要訪問使用管理數(shù)據(jù)和/或更新服務(wù)數(shù)據(jù)。為了能計(jì)算所應(yīng)用的組成部分或組成部分的應(yīng)用,需要訪問計(jì)算數(shù)據(jù)。最后,在考慮所有可供使用的第一數(shù)據(jù)之后,產(chǎn)生與提出的各任務(wù)或問題匹配的開發(fā)環(huán)境14。
在應(yīng)用開發(fā)環(huán)境14的條件下,利用可預(yù)先給定或預(yù)先給定的第二數(shù)據(jù)通過項(xiàng)目生成器12來生成控制軟件15,尤其是利用例如計(jì)劃數(shù)據(jù)17以及經(jīng)驗(yàn)數(shù)據(jù)20和硬件知識(shí)21。借助計(jì)劃數(shù)據(jù)17,尤其是借助例如任務(wù)和問題描述,必要時(shí)結(jié)合已進(jìn)行的項(xiàng)目的數(shù)據(jù),可以針對(duì)所需功能和調(diào)用這些功能的順序來確定控制軟件15的結(jié)構(gòu)。已進(jìn)行的項(xiàng)目的數(shù)據(jù)越詳細(xì),就越能廣泛地利用程序指令來填充所確定的結(jié)構(gòu)。如果不能自動(dòng)生成這樣的程序指令,則可以至少利用這樣的信息(例如以注釋行的形式)來填充結(jié)構(gòu),該信息在后續(xù)的再處理過程中向程序員給出關(guān)于在控制軟件15的具體位置上有哪些操作的信息。
經(jīng)驗(yàn)數(shù)據(jù)20包括例如專家或分支領(lǐng)域知識(shí)的數(shù)據(jù)。這樣的數(shù)據(jù)也可以考慮當(dāng)前趨勢(shì)。借助這些數(shù)據(jù),例如可以自動(dòng)確定在臨界工業(yè)環(huán)境中設(shè)置爆炸保護(hù)的現(xiàn)場(chǎng)設(shè)備或具有特殊保護(hù)類型、例如IP65的現(xiàn)場(chǎng)設(shè)備。這些現(xiàn)場(chǎng)設(shè)備是相對(duì)于標(biāo)準(zhǔn)場(chǎng)設(shè)備為各供應(yīng)商提供的特殊解決方案。如果可以獲得例如具有1或2比特(數(shù)字I/O)的信道粒度的標(biāo)準(zhǔn)現(xiàn)場(chǎng)設(shè)備,則可提供只有很少配置例如8比特和16比特(數(shù)字I/O)的特殊現(xiàn)場(chǎng)設(shè)備。也就是說,在考慮分支領(lǐng)域或?qū)<抑R(shí)的條件下,可以給出現(xiàn)場(chǎng)設(shè)備的另一種配置,這種配置不同于在不考慮這些信息情況下的配置。如果確定一個(gè)或多個(gè)具有8個(gè)數(shù)字輸入/輸出信道的特殊現(xiàn)場(chǎng)設(shè)備作為需要的現(xiàn)場(chǎng)設(shè)備,則也需要對(duì)控制這些現(xiàn)場(chǎng)設(shè)備的控制軟件15進(jìn)行相應(yīng)的匹配。
此外或作為另一種選擇,經(jīng)驗(yàn)數(shù)據(jù)20還可以包括具有例如模板解決方案的制造商庫(kù)(Herstellerbibliothek)。借助這些模板解決方案,可以利用合適的程序指令來填充控制軟件15的自動(dòng)生成的結(jié)構(gòu),以例如保證具體現(xiàn)場(chǎng)設(shè)備的正確操作。
最后,經(jīng)驗(yàn)數(shù)據(jù)20還可以包括經(jīng)驗(yàn)數(shù)據(jù)庫(kù)。從這樣的經(jīng)驗(yàn)數(shù)據(jù)庫(kù)中可以提取出對(duì)于類似問題或部分問題或類似任務(wù)或部分任務(wù)產(chǎn)生的具體、必要時(shí)自動(dòng)生成的自動(dòng)化軟件的信息。由此,根據(jù)發(fā)展策略的類型,可以將適當(dāng)?shù)慕鉀Q方案與不適當(dāng)?shù)幕虿粔蜻m當(dāng)?shù)慕鉀Q方案區(qū)分開來。對(duì)于各控制軟件16,優(yōu)選對(duì)被認(rèn)為是適當(dāng)?shù)慕鉀Q方案檢查其可應(yīng)用性。
經(jīng)驗(yàn)數(shù)據(jù)20可以被連續(xù)更新,因?yàn)槊總€(gè)生成的控制軟件16都提供新的、可用于后續(xù)項(xiàng)目的經(jīng)驗(yàn)數(shù)據(jù)20。
控制軟件15中的各個(gè)程序指令都針對(duì)自動(dòng)化硬件的控制。為了保證自動(dòng)化硬件或自動(dòng)化硬件的各個(gè)自動(dòng)化部件的正確控制,例如從技術(shù)過程中接收數(shù)據(jù)或向技術(shù)過程發(fā)送控制信息的輸入/輸出組件,第二數(shù)據(jù)還包括硬件知識(shí)21。借助硬件知識(shí)21,例如可以確定哪些措施需要用于激活自動(dòng)化硬件的特定現(xiàn)場(chǎng)設(shè)備的特定輸出。由此,可以為控制軟件15自動(dòng)生成相應(yīng)的程序指令,以例如激活現(xiàn)場(chǎng)設(shè)備的第三輸出?,F(xiàn)場(chǎng)設(shè)備通常通過現(xiàn)場(chǎng)總線與中心自動(dòng)化設(shè)備、例如存儲(chǔ)器可編程控制設(shè)備連接。借助硬件知識(shí),可以為控制軟件15自動(dòng)生成將傳輸協(xié)議用于各應(yīng)用的現(xiàn)場(chǎng)總線的程序指令。
可以在應(yīng)用第三數(shù)據(jù)、例如硬件知識(shí)21的條件下通過設(shè)備配置器13自動(dòng)生成配置16。在生成控制軟件16的過程中,給出所需的自動(dòng)化硬件的類型和范圍。此后例如已知,必須通過哪些性能,例如處理速度或存儲(chǔ)容量來使用中心自動(dòng)化設(shè)備。由此,可以借助屬于硬件知識(shí)21的、必要時(shí)涉及制造商的目錄數(shù)據(jù)確定哪些自動(dòng)化設(shè)備滿足這些要求。在通過這種方式確定具體的自動(dòng)化設(shè)備之后,還可以借助其它硬件知識(shí)21確定如何和在哪些范圍內(nèi)配置自動(dòng)化設(shè)備。借助控制軟件15的要求,可以確定各所需的配置16,并在必要時(shí)按照合適的形式傳送到該自動(dòng)化設(shè)備。同樣,還從所需自動(dòng)化硬件的范圍和類型中給出,是否必須通過現(xiàn)場(chǎng)總線連接和按照什么樣的形式相互連接各自動(dòng)化部件?;诳山柚刂栖浖?5獲得的期望的數(shù)據(jù)空間,給出現(xiàn)場(chǎng)總線的數(shù)據(jù)傳輸率。數(shù)據(jù)傳輸率有時(shí)影響所使用的協(xié)議。通過這種方式確定的、針對(duì)協(xié)議和數(shù)據(jù)傳輸率的配置數(shù)據(jù)同樣被放入配置16中。然后,向各自動(dòng)化硬件的組件發(fā)送配置16還包括配置每個(gè)與現(xiàn)場(chǎng)總線連接的自動(dòng)化設(shè)備。
在所有這些步驟之后,產(chǎn)生了自動(dòng)生成的自動(dòng)化軟件,該軟件包括開發(fā)環(huán)境14、控制軟件15和必要時(shí)的配置16。在此,第一數(shù)據(jù)影響開發(fā)環(huán)境14的自動(dòng)生成。第二數(shù)據(jù)和開發(fā)環(huán)境14影響控制軟件15的自動(dòng)生成。第三數(shù)據(jù)和控制軟件15影響配置16的自動(dòng)生成。也就是說,為此第一數(shù)據(jù)的每次改變都會(huì)影響開發(fā)環(huán)境14,并因此至少間接地影響控制軟件15和配置16。相應(yīng)的,第二數(shù)據(jù)的每次改變都會(huì)影響控制軟件15并至少間接地影響配置16。最后,第三數(shù)據(jù)的每次改變都會(huì)影響配置16。作為第一、第二或第三數(shù)據(jù)的改變,應(yīng)理解為各數(shù)據(jù)的范圍和/或可利用性的改變,以及各數(shù)據(jù)的更新。上述改變當(dāng)然只在涉及那些在自動(dòng)生成時(shí)應(yīng)用或可以應(yīng)用的數(shù)據(jù)時(shí)才影響自動(dòng)生成的自動(dòng)化軟件。
借助圖2可以看出,一起給出在自動(dòng)生成自動(dòng)化軟件時(shí)的迭代過程。第一方法步驟22包括確定所應(yīng)用或可以應(yīng)用的第一、第二和第三數(shù)據(jù)。該第一方法步驟22包括通過描述將要自動(dòng)化的技術(shù)過程來手動(dòng)描述(例如計(jì)劃數(shù)據(jù)17)。此外或作為另一種選擇,該第一方法步驟22還包括導(dǎo)入可以導(dǎo)入的數(shù)據(jù)或提供一種導(dǎo)入這些數(shù)據(jù)的方法。最后,第一方法步驟22還可以包括對(duì)導(dǎo)入界面的選擇或確定,借助該界面可以導(dǎo)入第一、第二或第三數(shù)據(jù)。
第二方法步驟23包括自動(dòng)生成開發(fā)環(huán)境14、控制軟件15和必要時(shí)的配置16。第三方法步驟24包括借助開發(fā)環(huán)境14來處理和擴(kuò)展控制軟件15。在第四方法步驟25中,向自動(dòng)化硬件發(fā)送所生成的自動(dòng)化軟件,也就是控制軟件15和必要時(shí)的配置16。
使用者可以在每個(gè)方法步驟22-24中進(jìn)行更改,并接著重新自動(dòng)生成自動(dòng)化軟件。使用者可以頻繁實(shí)施各方法步驟以及其中需要的匹配或補(bǔ)充,直至最后得到完成的自動(dòng)化軟件。第一、第二和第三數(shù)據(jù)的范圍越廣泛,通過生成器10自動(dòng)生成的自動(dòng)化軟件就越詳細(xì)。使用者在第三方法步驟24中補(bǔ)充不能自動(dòng)生成的自動(dòng)化軟件的組成部分或序列。在此,使用者根據(jù)自動(dòng)設(shè)置到控制軟件15中的非自動(dòng)生成序列的方法來支持附加的注釋。這些注釋包含對(duì)非自動(dòng)生成序列的功能的說明以及優(yōu)選包含對(duì)用于非自動(dòng)生成序列的數(shù)據(jù)的說明。
生成器10產(chǎn)生單獨(dú)確定的自動(dòng)化軟件。對(duì)于例如新的功能,自動(dòng)更新所產(chǎn)生的自動(dòng)化軟件。也就是說在開發(fā)環(huán)境14中,可以利用該新功能,從而該新功能在必要時(shí)也會(huì)成為最后生成的控制軟件15的組成部分。由此用戶省去了軟件、項(xiàng)目和庫(kù)的管理任務(wù)。作為附加信息,要記錄哪些數(shù)據(jù)、也就是哪些功能是自動(dòng)生成自動(dòng)化軟件實(shí)際所需的。由此,借助實(shí)際投入的性能具體計(jì)算可能發(fā)生的許可費(fèi)用。自動(dòng)化軟件的供應(yīng)商,可能是用于產(chǎn)生自動(dòng)化軟件的開發(fā)環(huán)境的供應(yīng)商要避免這樣的必要性,即必須以不同的、通常還作為分散軟件包的版本維持和支持分別具有不同性能范圍和功能范圍的分散軟件包,因?yàn)樽詣?dòng)化軟件以及由此的各開發(fā)環(huán)境是根據(jù)使用者的具體要求而單獨(dú)生成的。
圖3示出在自動(dòng)生成自動(dòng)化軟件過程中的數(shù)據(jù)流圖。與圖1相似,在中心示出了具有軟件生成器、項(xiàng)目生成器12和設(shè)備配置器13的生成器10。生成器10處理輸入數(shù)據(jù)26并產(chǎn)生輸出數(shù)據(jù)27。輸入數(shù)據(jù)27包括第一、第二和第三數(shù)據(jù)。第一數(shù)據(jù)又包括計(jì)劃數(shù)據(jù)17、程序知識(shí)18和管理知識(shí)19。第二數(shù)據(jù)包括計(jì)劃數(shù)據(jù)17、經(jīng)驗(yàn)數(shù)據(jù)20和硬件知識(shí)21。第三數(shù)據(jù)至少包括硬件知識(shí)21。
借助可預(yù)先給定或預(yù)先給定的第一數(shù)據(jù),軟件生成器11生成開發(fā)環(huán)境14。借助可預(yù)先給定或預(yù)先給定的第二數(shù)據(jù)以及在應(yīng)用開發(fā)環(huán)境14的條件下,項(xiàng)目生成器12生成控制軟件15。設(shè)備配置器13最后借助可預(yù)先給定或預(yù)先給定的第三數(shù)據(jù)生成各自動(dòng)化硬件的配置16。
使用者可能的重要影響一方面在于提供和完整的適當(dāng)?shù)牡谝?、第二和第三?shù)據(jù),另一方面在于使用者可以輸入28的形式在每個(gè)方法步驟22-25(圖2)中通過手動(dòng)補(bǔ)充或修改來影響自動(dòng)生成。
為了處理輸入數(shù)據(jù)26,為生成器10設(shè)置了預(yù)處理器29。該預(yù)處理器29保證了導(dǎo)入第一、第二或第三數(shù)據(jù)的可能性,其中定義一個(gè)界面來訪問這些數(shù)據(jù),或者將這些數(shù)據(jù)轉(zhuǎn)換為適用于例如通過軟件生成器11或項(xiàng)目生成器12來進(jìn)一步處理的格式。
此外,預(yù)處理器29還考慮未單獨(dú)示出的規(guī)則數(shù)據(jù)庫(kù)的預(yù)先給定或可預(yù)先給定的規(guī)則,以及由此特別是可以更改和可以擴(kuò)展的規(guī)則。借助這些根據(jù)需要自動(dòng)選擇和應(yīng)用的規(guī)則,可以對(duì)第一、第二和第三數(shù)據(jù)進(jìn)行分析和處理。
一條這樣的規(guī)則例如是如果設(shè)置或需要分散的現(xiàn)場(chǎng)設(shè)備,則必須在該現(xiàn)場(chǎng)設(shè)備或每個(gè)分散的現(xiàn)場(chǎng)設(shè)備和中心自動(dòng)化設(shè)備之間進(jìn)行現(xiàn)場(chǎng)總線連接。而其它規(guī)則例如針對(duì)可達(dá)到的最大數(shù)據(jù)吞吐量而涉及現(xiàn)場(chǎng)總線連接的類型。另一些規(guī)則可能例如影響保護(hù)性的自動(dòng)化部件的應(yīng)用。一條這樣的規(guī)則例如可能是在連續(xù)的、尤其是不可中斷的過程中,必須設(shè)置保護(hù)性的或容錯(cuò)的自動(dòng)化組件。這樣的規(guī)則是一個(gè)可擴(kuò)展規(guī)則的例子,在該可擴(kuò)展規(guī)則中用戶例如可以給出用于提煉原油的化學(xué)過程是這種連續(xù)的、不可中斷的過程。當(dāng)前的技術(shù)過程是否是用于提煉原油的過程,這通過第一數(shù)據(jù),尤其是通過計(jì)劃數(shù)據(jù)例如任務(wù)或問題描述給出。
如果全部數(shù)據(jù)具有標(biāo)準(zhǔn)化的標(biāo)識(shí)并且該標(biāo)識(shí)可以被識(shí)別,則可以簡(jiǎn)化第一、第二和第三數(shù)據(jù)的自動(dòng)處理、相互之間存在關(guān)系的確定、匹配規(guī)則的選擇等等。這樣的標(biāo)識(shí)的格式優(yōu)選遵循已有或已描繪的標(biāo)準(zhǔn)。因此,例如W3C(萬(wàn)維網(wǎng)聯(lián)盟)針對(duì)消息格式和消息交換、用于存儲(chǔ)服務(wù)描述的目錄服務(wù)(UDDI)和用于服務(wù)描述的語(yǔ)言(WSDL)對(duì)萬(wàn)維網(wǎng)服務(wù),也就是在互聯(lián)網(wǎng)上提供或可調(diào)用的服務(wù)進(jìn)行了規(guī)范化。
這樣的規(guī)范也可以用于第一、第二和第三數(shù)據(jù)的識(shí)別和對(duì)應(yīng)性。
這樣,在計(jì)劃數(shù)據(jù)17內(nèi),為已進(jìn)行的項(xiàng)目的數(shù)據(jù)分配標(biāo)識(shí),該標(biāo)識(shí)給出利用哪些軟件功能來規(guī)劃各組成部分或序列的說明。如果現(xiàn)在考慮后面再將這些組成部分或序列用于新的控制軟件15,則借助該標(biāo)識(shí)可以確定,在開發(fā)環(huán)境14中必須設(shè)置哪些功能來操作可接管的組成部分或序列。
應(yīng)用標(biāo)準(zhǔn)化的標(biāo)識(shí)來識(shí)別和對(duì)應(yīng)用于自動(dòng)生成自動(dòng)化軟件的數(shù)據(jù)和信息的另一個(gè)例子涉及計(jì)劃數(shù)據(jù)17和更準(zhǔn)確地涉及構(gòu)造數(shù)據(jù),如由CAD程序提供的構(gòu)造數(shù)據(jù),和硬件知識(shí)21,如產(chǎn)品目錄數(shù)據(jù)(Katalogdaten)。如果構(gòu)造數(shù)據(jù)具有唯一的、給出含有信息的標(biāo)識(shí)以例如應(yīng)用和功能化各組件(例如電動(dòng)機(jī)、閥門、諸如探頭或光柵的傳感器等等),則可以根據(jù)對(duì)應(yīng)的特征搜索目錄數(shù)據(jù)或已進(jìn)行的項(xiàng)目,并在其中進(jìn)行針對(duì)目標(biāo)的選擇。
上述類型的標(biāo)識(shí)例如可以涉及-分支領(lǐng)域、應(yīng)用領(lǐng)域、產(chǎn)品,-制造原理(輸送帶、導(dǎo)管…),-項(xiàng)目結(jié)構(gòu)化(技術(shù)的、功能的、面向CPU的…),-編程語(yǔ)言或編程方法(面向流程的、連續(xù)的、聯(lián)系計(jì)劃、功能計(jì)劃)-規(guī)則算法、規(guī)則參數(shù),-分過程(輸送帶控制、攪拌、加熱、壓制、彎曲等等)-其它。
所有需要的數(shù)據(jù)都通過標(biāo)準(zhǔn)界面和標(biāo)準(zhǔn)網(wǎng)絡(luò)提供給生成器10。一個(gè)例子是可擴(kuò)展的聲明語(yǔ)言ebXML。ebXML用于在互聯(lián)網(wǎng)上開發(fā)商務(wù)過程。存在消息格式和消息更換、登錄服務(wù)和復(fù)位服務(wù)的規(guī)范以及特定商務(wù)對(duì)象和過程的模板。用萬(wàn)維網(wǎng)服務(wù)以及當(dāng)前用ebXML進(jìn)行消息發(fā)送的基礎(chǔ)都是簡(jiǎn)單對(duì)象存取協(xié)議(SOAP),這是一種基于XML、用于針對(duì)RPC或消息的通信協(xié)議,該協(xié)議通常用HTTP封裝,并保證可靠的消息交換。
W3C已針對(duì)消息格式和消息交換、用于存儲(chǔ)服務(wù)描述的目錄服務(wù)(UDDI)和用于服務(wù)描述的語(yǔ)言(WSDL)對(duì)萬(wàn)維網(wǎng)服務(wù)進(jìn)行了規(guī)范化。
在識(shí)別出開發(fā)環(huán)境和/或控制軟件15作為需要確定的組成部分之后,在第一、第二和第三數(shù)據(jù)中搜索這些組成部分,并選出合適的組成部分來使用。可使用的前提是軟件和各組成部分的細(xì)模塊化的結(jié)構(gòu),該結(jié)構(gòu)通過預(yù)先定義的界面允許軟件和各組成部分的組合。
為了進(jìn)一步生成控制軟件15,首先訪問計(jì)劃數(shù)據(jù)17內(nèi)已進(jìn)行的項(xiàng)目。在多個(gè)已進(jìn)行的項(xiàng)目中的選擇要著眼于盡可能多地與各具體要求一致來進(jìn)行。從已進(jìn)行的項(xiàng)目中接管的組成部分或序列形成將要產(chǎn)生的自動(dòng)化軟件的基礎(chǔ)。該基礎(chǔ)可以用從其他已進(jìn)行的項(xiàng)目、制造商庫(kù)、產(chǎn)品目錄等等中適當(dāng)獲得的組成部分來補(bǔ)充。
控制軟件15可以由單個(gè)的、可互不相關(guān)地生成并實(shí)施的程序組成。為了一起控制技術(shù)過程,通常需要在這些原理上不相關(guān)的程序之間進(jìn)行通信。各程序間可能的通信途徑是通過計(jì)劃數(shù)據(jù)17獲得的,并通過標(biāo)準(zhǔn)機(jī)制建立(.net,以太網(wǎng)等)。
最后,生成器10還包括用于記錄所應(yīng)用的數(shù)據(jù)的協(xié)議單元30。所記錄的數(shù)據(jù)還包括該軟件組成部分或每個(gè)所采用的軟件組成部分的數(shù)據(jù),以及在生成開發(fā)環(huán)境14或生成控制軟件15時(shí)是否應(yīng)用了這些軟件組成部分。借助這些數(shù)據(jù)可以在訪問維持在中心的服務(wù)器、尤其是可通過互聯(lián)網(wǎng)訪問的服務(wù)器上的管理系統(tǒng)31之后,在考慮所應(yīng)用的數(shù)據(jù)的條件下為使用者生成賬單32。
由此,本發(fā)明可以簡(jiǎn)短地描述如下本發(fā)明脫離了用于解決問題的死板的程序和庫(kù)以及補(bǔ)充輸入數(shù)據(jù)。與此相反,本發(fā)明提供合適的數(shù)據(jù)或?qū)@些數(shù)據(jù)的訪問,利用這些數(shù)據(jù)首先自動(dòng)生成單個(gè)的、針對(duì)具體自動(dòng)化問題的開發(fā)環(huán)境14,接著在應(yīng)用該開發(fā)環(huán)境14的條件下自動(dòng)生成實(shí)際的控制軟件15。在此,可以充分利用通過互聯(lián)網(wǎng)和標(biāo)準(zhǔn)化的程序或數(shù)據(jù)界面(例如XML)對(duì)迄今為止還本地保留的計(jì)劃工具等的信息和庫(kù)或存在的項(xiàng)目進(jìn)行數(shù)據(jù)訪問的可能性。在此,各自動(dòng)化計(jì)劃的邊界條件形成了自動(dòng)化軟件的單個(gè)的、自動(dòng)生成的元件的輸出,如實(shí)際的控制程序15、必要時(shí)補(bǔ)充的HMI程序和另外的設(shè)備配置16。
權(quán)利要求
1.一種用于自動(dòng)生成自動(dòng)化軟件的裝置,其具有一個(gè)包括至少一個(gè)軟件生成器(11)和一個(gè)項(xiàng)目生成器(12)的生成器(10),其中,-借助該軟件生成器(11)利用可預(yù)先給定或預(yù)先給定的第一數(shù)據(jù),尤其是例如計(jì)劃數(shù)據(jù)(17)、程序知識(shí)(18)和管理知識(shí)(19),生成開發(fā)環(huán)境(14),和-在應(yīng)用該開發(fā)環(huán)境(14)的條件下借助項(xiàng)目發(fā)生器(12)利用可預(yù)先給定或預(yù)先給定的第二數(shù)據(jù),尤其是例如計(jì)劃數(shù)據(jù)(17)、經(jīng)驗(yàn)數(shù)據(jù)(20)和硬件知識(shí)(21),生成控制軟件(15)。
2.根據(jù)權(quán)利要求1所述的裝置,其中,所述生成器(10)還包括設(shè)備配置器(13),并且借助該設(shè)備配置器(13)利用可預(yù)先給定或預(yù)先給定的第三數(shù)據(jù),尤其是例如硬件知識(shí)(21),可以獲得自動(dòng)化硬件的配置(16)。
3.根據(jù)權(quán)利要求1或2所述的裝置,其中,所述第一數(shù)據(jù)包括計(jì)劃數(shù)據(jù)(17)、程序知識(shí)(18)和/或管理知識(shí)(19)。
4.根據(jù)權(quán)利要求1或2所述的裝置,其中,所述第二數(shù)據(jù)包括計(jì)劃數(shù)據(jù)(17)、經(jīng)驗(yàn)數(shù)據(jù)(20)和/或硬件知識(shí)(21)。
5.根據(jù)權(quán)利要求1或2所述的裝置,其中,所述第三數(shù)據(jù)包括硬件知識(shí)(21)。
6.根據(jù)上述權(quán)利要求之一所述的裝置,其中,所述控制軟件(16)包括人機(jī)界面。
7.一種自動(dòng)生成自動(dòng)化軟件的方法,其利用一個(gè)包括至少一個(gè)軟件生成器(11)和一個(gè)項(xiàng)目生成器(12)的生成器(10),其中,-該軟件生成器(11)利用可預(yù)先給定或預(yù)先給定的第一數(shù)據(jù),尤其是例如計(jì)劃數(shù)據(jù)(17)、程序知識(shí)(18)和管理知識(shí)(19),生成一個(gè)開發(fā)環(huán)境(14),和-該項(xiàng)目發(fā)生器(12)在應(yīng)用該開發(fā)環(huán)境(14)的條件下利用可預(yù)先給定或預(yù)先給定的第二數(shù)據(jù),尤其是例如計(jì)劃數(shù)據(jù)(17)、經(jīng)驗(yàn)數(shù)據(jù)(20)和硬件知識(shí)(21),生成控制軟件(15)。
8.根據(jù)權(quán)利要求7所述的方法,其中,所述生成器(10)還包括設(shè)備配置器(13),并且該設(shè)備配置器(13)利用可預(yù)先給定或預(yù)先給定的第三數(shù)據(jù),尤其是例如硬件知識(shí)(21),確定并在必要時(shí)執(zhí)行自動(dòng)化硬件的配置(16)。
9.根據(jù)權(quán)利要求7或8所述的方法,其中,所述第一數(shù)據(jù)包括計(jì)劃數(shù)據(jù)(17)、程序知識(shí)(18)和/或管理知識(shí)(19)。
10.根據(jù)權(quán)利要求7或8所述的方法,其中,所述第二數(shù)據(jù)包括計(jì)劃數(shù)據(jù)(17)、經(jīng)驗(yàn)數(shù)據(jù)(20)和/或硬件知識(shí)(21)。
11.根據(jù)權(quán)利要求7或8所述的方法,其中,所述第三數(shù)據(jù)包括硬件知識(shí)(21)。
12.根據(jù)權(quán)利要求7至11中任一項(xiàng)所述的方法,其中,所述控制軟件(16)包括人機(jī)界面。
全文摘要
本發(fā)明涉及自動(dòng)生成自動(dòng)化軟件的裝置和方法,其中,包括至少一個(gè)軟件生成器(11)和一個(gè)項(xiàng)目生成器(12)的生成器(10),其中,借助該軟件生成器(11)利用可預(yù)先給定或預(yù)先給定的第一數(shù)據(jù),尤其是例如計(jì)劃數(shù)據(jù)(17)、程序知識(shí)(18)和管理知識(shí)(19),可以生成開發(fā)環(huán)境(14),和在應(yīng)用該開發(fā)環(huán)境(14)的條件下借助項(xiàng)目發(fā)生器(12)利用可預(yù)先給定或預(yù)先給定的第二數(shù)據(jù),尤其是例如計(jì)劃數(shù)據(jù)(17)、經(jīng)驗(yàn)數(shù)據(jù)(20)和硬件知識(shí)(21),生成控制軟件(15)。
文檔編號(hào)G06F9/44GK1647033SQ03807767
公開日2005年7月27日 申請(qǐng)日期2003年4月2日 優(yōu)先權(quán)日2002年4月2日
發(fā)明者沃納·霍夫勒, 邁克爾·蒂格爾坎普 申請(qǐng)人:西門子公司