專利名稱:用于自動化技術的可編程控制器的制作方法
技術領域:
本發(fā)明涉及一種按照權利要求1的上位概念的可編程控制器。
背景技術:
可編程控制器——同時也以可編程邏輯控制器(PLC)或可存儲編程控制器(SPS)的概念公知——還用于自動化技術。這些控制器包含可相應編程的控制碼用以實施所期望的自動化功能。
通過相應的諸如Siemens公司的Step7這樣的工具可以建立自動化系統(tǒng),其中根據(jù)所期望的自動化系統(tǒng)來配置和規(guī)劃各自動化設備。為此通常采用非常抽象的編程語言,這些編程語言在過去逐步地與自動化技術中的非常特殊的要求相匹配。雖然編程語言對這種自動化系統(tǒng)的規(guī)劃人員來說是很熟悉的,但這種自動化系統(tǒng)的使用者卻無法理解這種編程語言和程序代碼。因此無法方便地在沒有詳細專業(yè)知識的情況下將該自動化系統(tǒng)與使用者相互適應。
因此過去也努力借助面向對象的編程語言如JAVA來建立自動化系統(tǒng)。面向對象的語言具有比較簡單并因此容易理解的優(yōu)點。但其缺點是與自動化技術中常用的編程語言相反不是確定性運行的,這最終可能使控制性能惡化。
在現(xiàn)有系統(tǒng)中出現(xiàn)的另一個問題是,為已認證的控制應用程序增添特定于客戶或應用的功能。大多數(shù)失去了認證,因為無法將已認證的基本功能與擴展功能區(qū)分開來。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是提供一種可編程控制器,其既實現(xiàn)了良好的控制性能又可以將自動化系統(tǒng)與用戶需求進行簡單的匹配。
該技術問題是通過具有權利要求1的特征的可編程控制器來解決的,其中該可編程控制器具有用于存儲和執(zhí)行自動化設備的控制代碼的第一區(qū),該控制代碼是用第一編程語言編程的,還具有通過至少一個接口與該第一區(qū)連接的第二區(qū),其中用不同于第一編程語言的編程語言對該第二區(qū)編程。
在此,優(yōu)選第一編程語言是自動化技術中常見的編程語言如Step 7,而第二編程語言是面向對象的編程語言,尤其是Java。公知的編程軟件Step 7提供了進一步實現(xiàn)自動化設備的良好控制性能的優(yōu)點。JAVA的優(yōu)點是作為面向對象的語言即使對應用者來說也比較容易理解并因此可以采用。因此根據(jù)本發(fā)明,在該可編程控制器上還以對自動化技術來說常見和合適的編程語言的形式產(chǎn)生控制代碼。此外還可以在該同一可編程控制器上以最簡單的方式由應用者建立另外的特定于應用的例程,如診斷功能或額外的自動化功能,并由此針對應用來補充該自動化系統(tǒng)。
這樣,尤其是通過將可編程控制器分為兩個區(qū),其中第一區(qū)包含針對特定數(shù)量的自動化設備得到認證并且無法被修改的控制代碼,而第二區(qū)可被任意編程,以最簡單的方式在第二區(qū)中編程出特定于應用的自動化功能或診斷功能,而無需更改實際上位于存放在第一安全區(qū)中的核心例程。由此可以保證不能簡單地更改為用于運行自動化系統(tǒng)的核心例程一次性產(chǎn)生和認證的控制代碼,因此必要時可去掉對可編程控制器的認證。
下面借助圖1詳細描述本發(fā)明的其它優(yōu)點。
圖1示意性示出具有第一區(qū)和第二區(qū)的可編程控制器。
具體實施例方式
圖1示意性示出具有第一區(qū)A和第二區(qū)B的可編程控制器S。兩個區(qū)A和區(qū)B在此都以虛線示出,以表明這兩個區(qū)在可編程控制器中不必非要從空間上相互分離。如圖所示,兩個區(qū)A和B通過至少一個內(nèi)部接口P、優(yōu)選通過高性能的高度專有的接口相互連接。可編程控制器S通過另一個接口D如自動化技術中公知的Profi總線DP而與相應的自動化設備I、O連接。這些自動化設備例如可以是自動化系統(tǒng)內(nèi)部的各執(zhí)行器或傳感器、整個設備或組件等,它們在運行時與可編程控制器以相應編程的方式相互通信并執(zhí)行所計劃的自動化功能。可以設置其它接口如接口N,用于例如通過以太網(wǎng)或互聯(lián)網(wǎng)將諸如用于操作和觀察的其它設備與可編程控制器連接。
根據(jù)本發(fā)明,只將一個可編程控制器分為兩個子區(qū)A和B,其中兩個子區(qū)可以不同的編程語言編程,尤其是第一區(qū)用自動化技術中常見的編程語言編程,而第二區(qū)用更為簡單的面向對象的編程語言編程。從而例如在A區(qū)中保證了所有對運行自動化系統(tǒng)來說重要的控制代碼并因此保證了與該自動化系統(tǒng)所連接的設備I、O之間的通信。該第一區(qū)A可防止未經(jīng)授權的更改,由此可以保證通過該可編程控制器可靠地控制該自動化設備。這最終也能對可編程控制器進行相應的認證。第二區(qū)B是可自由編程的,尤其是用諸如JAVA的面向對象的編程語言,以給予應用者盡可能簡單地補充另外的特定于應用的例程的可能性。由于通常這種特定于應用而產(chǎn)生的例程也會訪問來自實際控制器的A區(qū)的數(shù)據(jù),因此在A區(qū)和B區(qū)之間設置了高性能的專有接口P。通過該接口P例如在B區(qū)中特定于應用而產(chǎn)生的診斷例程可以訪問A區(qū)中已知的過程變量和過程數(shù)據(jù),以分析該數(shù)據(jù)。此外可以在B區(qū)中產(chǎn)生將來自A區(qū)的數(shù)據(jù)通過接口N傳送到其它設備C如Web服務器的例程。此外也可以在B區(qū)中產(chǎn)生實現(xiàn)完全特定于應用者的自動化功能的例程,但不必針對該例程來認證可編程控制器。
總而言之,利用本發(fā)明、即將可編程控制器劃分為松散地相互耦合的第一區(qū)A和第二區(qū)B,可以達到以下優(yōu)點可在B區(qū)中用任意程序語言簡單地補充特定于應用者的例程和自動化功能,而不必更改A區(qū)中的實際控制代碼。由此盡管可以進行涉及應用者的更改但可編程控制器仍保持了系統(tǒng)的完整性。從而應用者在B區(qū)中錯誤產(chǎn)生的程序也不會干擾A區(qū)中的控制代碼,因此不會導致自動化系統(tǒng)的整個控制器S的崩潰;與通過另外的設備(如另外的PC或網(wǎng)絡連接)實現(xiàn)特定于應用者的例程如診斷功能的系統(tǒng)不同,具有更好的性能;簡單的補充特定于應用者的例程,因為面向對象的編程工具如JAVA已廣泛使用。從而尤其是可以最簡單的方式通過相應的JAVA編程將標準Web服務設置在B區(qū)中,并由此集成到自動化系統(tǒng)中。
權利要求
1.一種用于自動化技術的可編程控制器(S),具有用于存儲和執(zhí)行自動化設備(I,O)的控制代碼的第一區(qū)(A),該控制代碼是用第一編程語言編程的,其特征在于,還具有通過至少一個接口(P)與該第一區(qū)(A)連接的第二區(qū)(B),其中對該第二區(qū)(B)用不同于第一編程語言的編程語言編程。
2.根據(jù)權利要求1所述的可編程控制器(S),其特征在于,所述第一編程語言是自動化技術中常見的編程語言,而第二編程語言是面向對象的編程語言,尤其是Java。
3.根據(jù)權利要求1或2所述的可編程控制器(S),其特征在于,所述第一區(qū)(A)包含針對特定自動化應用得到認證并且無法被修改的控制代碼,而第二區(qū)(B)可被任意編程。
全文摘要
本發(fā)明涉及一種用于自動化技術的可編程控制器(S),具有用于存儲和執(zhí)行自動化設備(I,O)的控制代碼的第一區(qū)(A),該控制代碼是用第一編程語言編程的,其中,還具有通過至少一個接口(P)與該第一區(qū)(A)連接的第二區(qū)(B),其中對該第二區(qū)(B)用不同于第一編程語言的編程語言編程。
文檔編號G05B19/05GK1961264SQ200580017813
公開日2007年5月9日 申請日期2005年5月20日 優(yōu)先權日2004年6月1日
發(fā)明者喬格·沃爾曼, 彼得·瓦格納 申請人:西門子公司