專利名稱:用于創(chuàng)建安全控制裝置的應(yīng)用程序的方法和裝置的制作方法
用于創(chuàng)建安全控制裝置的應(yīng)用程序的方法和裝置本發(fā)明涉及用于創(chuàng)建安全控制裝置的應(yīng)用程序的方法和裝置,其構(gòu)建為控制具有多個(gè)傳感器和多個(gè)執(zhí)行器的自動(dòng)化設(shè)備。在本發(fā)明的意義下的安全控制裝置是如下設(shè)備或裝置,其記錄由傳感器提供的輸入信號(hào)并且由此通過邏輯鏈接和可能通過其他信號(hào)或數(shù)據(jù)處理步驟產(chǎn)生輸出信號(hào)。輸出信號(hào)于是可以被輸送給執(zhí)行器,執(zhí)行器根據(jù)輸入信號(hào)在受控的設(shè)備中引起動(dòng)作或反應(yīng)。這種安全控制裝置的一個(gè)優(yōu)選的應(yīng)用領(lǐng)域是對(duì)在機(jī)器安全領(lǐng)域中的應(yīng)急關(guān)斷按鍵、雙手控制裝置、安全門或光柵的監(jiān)控。這樣的傳感器被使用來(lái)保護(hù)例如如下機(jī)器,在工作中由該機(jī)器導(dǎo)致對(duì)人或材料物品的危險(xiǎn)。在打開安全門的情況下或在操作應(yīng)急關(guān)斷按鍵的情況下相應(yīng)產(chǎn)生信號(hào),該信號(hào)作為輸入信號(hào)被輸送給安全控制裝置。對(duì)此反應(yīng)地,安全控制裝置于是例如借助執(zhí)行器來(lái)關(guān)斷機(jī)器的帶來(lái)危險(xiǎn)的部分。與“正常的”控制裝置相比,安全控制裝置的特性是安全控制裝置本身即使在故障出現(xiàn)在其中或與其連接的設(shè)備中時(shí)也始終保證了帶來(lái)危險(xiǎn)的設(shè)備或機(jī)器的安全狀態(tài)。因此,在安全控制裝置中對(duì)實(shí)際安全性提出了極高的要求,這導(dǎo)致在開發(fā)和制造時(shí)的極高的開銷。通常,安全控制在其使用之前需要通過主管監(jiān)管局如在德國(guó)為職業(yè)協(xié)會(huì)或者 τ ν的特別許可。在此,安全控制裝置必須遵守預(yù)先給定的安全標(biāo)準(zhǔn),其例如記錄在歐洲標(biāo)準(zhǔn)EN卯4-1或者類似的標(biāo)準(zhǔn),例如標(biāo)準(zhǔn)IEC61508或者標(biāo)準(zhǔn)EN ISO 13849-1中。因此, 在下文中安全控制裝置理解為如下設(shè)備或者裝置,其至少滿足所提及的歐洲標(biāo)準(zhǔn)EN 954-1 的安全類型3或其安全整體水平(SIL)至少達(dá)到根據(jù)所述的標(biāo)準(zhǔn)IEC 61508的第2級(jí)。可編程的安全控制裝置提供給應(yīng)用者如下可能性根據(jù)其需要借助軟件、所謂的應(yīng)用程序單獨(dú)地確定邏輯鏈接和在必要情況下其他的信號(hào)處理步驟或者數(shù)據(jù)處理步驟。由此得到了與以前的解決方案相比大的靈活性,在以前的解決方案中通過在不同的安全部件之間的限定的接線產(chǎn)生邏輯鏈接。應(yīng)用程序例如可以借助在市面上可獲得的個(gè)人計(jì)算機(jī) (PC)并且通過使用相應(yīng)設(shè)置的軟件程序來(lái)創(chuàng)建。如已提及的那樣,安全控制裝置在其應(yīng)用之前需要由主管監(jiān)管局的特別許可。在這樣的許可的情況下,應(yīng)用程序的安全相關(guān)的環(huán)境被檢驗(yàn)。應(yīng)用程序的安全相關(guān)的環(huán)境是安全指令,其對(duì)于由安全控制裝置要解決的安全任務(wù)是必要的。對(duì)于安全指令的處理,故障安全地處理安全相關(guān)的程序變量。在成功檢驗(yàn)之后針對(duì)應(yīng)用程序的安全相關(guān)的環(huán)境尤其是針對(duì)機(jī)器代碼的安全相關(guān)的環(huán)境確定校驗(yàn)和,并且以校驗(yàn)和證明安全相關(guān)的環(huán)境。根據(jù)校驗(yàn)和,監(jiān)管局可以在進(jìn)行批準(zhǔn)之后識(shí)別在應(yīng)用程序的安全相關(guān)的環(huán)境上進(jìn)行的改變。這樣, 例如對(duì)應(yīng)用程序的安全相關(guān)的環(huán)境的不允許的操縱被確定如果在監(jiān)管局進(jìn)行許可之后對(duì)現(xiàn)有的應(yīng)用程序的安全相關(guān)的環(huán)境進(jìn)行改變,例如以便使在受控的設(shè)備上運(yùn)行的應(yīng)用最優(yōu)化,則需要監(jiān)管局對(duì)改變的應(yīng)用程序進(jìn)行重新許可。由于應(yīng)用程序的安全相關(guān)的環(huán)境也包括診斷指令,所以在事后僅僅對(duì)這樣的診斷指令進(jìn)行改變時(shí)則重新的許可也是必要的。在此情況下并非不常用的是,在進(jìn)行許可之后對(duì)診斷指令進(jìn)行改變。例如,首先基于設(shè)備的測(cè)試運(yùn)行得到如下認(rèn)識(shí)要求診斷指令的匹配。由于診斷指令本身與安全控制裝置指令相比并非安全相關(guān)的,所以不利的是,在已經(jīng)進(jìn)行許可之后事后僅對(duì)診斷指令進(jìn)行改變時(shí)需要監(jiān)管局重新許可。這與提高的時(shí)間開銷和附加的成本相關(guān)聯(lián)。此外,這限制了要控制的設(shè)備的規(guī)劃時(shí)的靈活性并且因此限制了在創(chuàng)建應(yīng)用程序時(shí)的靈活性。因此,本發(fā)明的任務(wù)是改進(jìn)開頭所述的類型的方法和裝置,以便提高在創(chuàng)建應(yīng)用程序時(shí)的靈活性和因此提高了在實(shí)現(xiàn)安全控制裝置時(shí)的靈活性,以便因此能夠?qū)崿F(xiàn)更快和更成本低廉地對(duì)安全控制裝置編程。因此,該任務(wù)通過開頭提及的類型的方法來(lái)解決,其中實(shí)施以下步驟-創(chuàng)建應(yīng)用程序的源代碼,其中源代碼包括多個(gè)用于控制執(zhí)行器的控制指令和多個(gè)用于產(chǎn)生診斷報(bào)告的診斷指令,其中故障安全地處理安全相關(guān)的程序變量來(lái)處理控制指令,-根據(jù)源代碼產(chǎn)生機(jī)器代碼,-確定至少一個(gè)校驗(yàn)和,其中針對(duì)機(jī)器代碼的至少一部分確定校驗(yàn)和,并且其中在確定校驗(yàn)和時(shí)不考慮診斷指令。此外,該任務(wù)通過如下裝置來(lái)解決,其具有如下單元用于創(chuàng)建應(yīng)用程序的源代碼的單元,其中源代碼包括用于控制執(zhí)行器的多個(gè)控制指令和用于產(chǎn)生診斷報(bào)告的多個(gè)診斷指令,其中故障安全地處理安全相關(guān)的程序變量來(lái)處理控制指令;用于根據(jù)源代碼產(chǎn)生機(jī)器代碼的單元;以及用于確定至少一個(gè)校驗(yàn)和的單元,其中針對(duì)機(jī)器代碼的至少一部分確定校驗(yàn)和,并且其中在確定校驗(yàn)和時(shí)不考慮診斷指令。該新方法和新裝置所基于的是,在確定校驗(yàn)和時(shí)不考慮診斷指令。校驗(yàn)和因此僅僅針對(duì)安全控制指令來(lái)確定。因此,也在由監(jiān)管局許可的范圍中所確定的校驗(yàn)和的情況下不考慮診斷指令。因此可能的是,在進(jìn)行許可之后可以對(duì)診斷指令進(jìn)行改變,而這對(duì)檢驗(yàn)?zāi)康囊獎(jiǎng)?chuàng)建的校驗(yàn)和沒有影響。因此,在進(jìn)行許可或批準(zhǔn)之后可以對(duì)已經(jīng)在許可之前存在的診斷指令進(jìn)行補(bǔ)充。但也可考慮的是,在進(jìn)行許可之后首先創(chuàng)建診斷指令。這提高了應(yīng)用程序創(chuàng)建時(shí)的靈活性。由于對(duì)診斷指令的改變并不要求監(jiān)管局之一對(duì)應(yīng)用程序重新許可, 因此減小了時(shí)間開銷并且也因此減小了用于創(chuàng)建應(yīng)用程序和因此對(duì)安全控制裝置編程的開銷。上述任務(wù)因此完全被解決。在本發(fā)明的另一擴(kuò)展方案中,對(duì)診斷指令進(jìn)行標(biāo)記。標(biāo)記的診斷指令可以明確地識(shí)別。因此保證診斷指令在確定校驗(yàn)和時(shí)被識(shí)別并且因此確定地不被考慮。該措施實(shí)現(xiàn)了根據(jù)本發(fā)明的方法和根據(jù)本發(fā)明的裝置可靠地工作。優(yōu)選地,診斷標(biāo)記在創(chuàng)建源代碼時(shí)通過用于創(chuàng)建應(yīng)用程序的計(jì)算機(jī)程序自動(dòng)地標(biāo)記。因此,應(yīng)用程序的程序員自己并不不必做這。該措施解決時(shí)間并且因此節(jié)約成本。此夕卜,該措施保證了根據(jù)本發(fā)明的方法和根據(jù)本發(fā)明的裝置的高可靠性。優(yōu)選地,通過分別前置和后置診斷標(biāo)記來(lái)對(duì)診斷指令進(jìn)行標(biāo)記。診斷指令因此嵌入兩個(gè)診斷標(biāo)記中或由其加框。但也可以考慮其他措施來(lái)標(biāo)記診斷指令。這樣,每個(gè)單個(gè)的診斷指令例如可以通過添加為此設(shè)計(jì)的特殊符號(hào)來(lái)標(biāo)記。在本發(fā)明的另一擴(kuò)展方案中,機(jī)器代碼包括第一安全代碼和第二安全代碼,其中針對(duì)兩個(gè)安全代碼的每個(gè)分別確定校驗(yàn)和。該措施能夠?qū)崿F(xiàn)關(guān)于可能在監(jiān)管局進(jìn)行許可之后進(jìn)行的改變方面的特別高的靈活性。例如,如果僅僅進(jìn)行了影響安全控制裝置的兩個(gè)通道之一的改變,對(duì)于應(yīng)用程序的與通道相關(guān)的環(huán)境需要重新許可。在本發(fā)明的另一擴(kuò)展方案中,機(jī)器代碼包括第一安全代碼和第二安全代碼,其中在產(chǎn)生第一安全代碼時(shí)考慮診斷指令,而在產(chǎn)生第二安全代碼時(shí)不考慮診斷指令。該措施具有如下優(yōu)點(diǎn)安全控制裝置的兩個(gè)通道之一完全不含診斷指令。因此,對(duì)診斷指令的改變對(duì)該通道影響最小。因此,另外的診斷指令可以添加到已存在的診斷指令或完全首次創(chuàng)建診斷指令,而這對(duì)該通道沒有影響。應(yīng)理解的是,上文所述的和下文還要闡述的特征可以不僅以分別所說(shuō)明的組合而且以其他組合或單獨(dú)地應(yīng)用,而不離開本發(fā)明的范圍。本發(fā)明的實(shí)施例在附圖中示出并且在以下的描述中更為詳細(xì)地予以闡述。其中
圖1示出了要控制的設(shè)備的示意性視圖;圖2示出了用于闡述機(jī)器代碼的產(chǎn)生和對(duì)校驗(yàn)和的確定的示意圖。在圖1中,根據(jù)本發(fā)明的裝置在其整體上用附圖數(shù)字10表示。裝置10包含傳統(tǒng)的計(jì)算機(jī)12,其帶有顯示單元14。在計(jì)算機(jī)12上運(yùn)行計(jì)算機(jī)程序16。計(jì)算機(jī)程序16能夠?qū)崿F(xiàn)創(chuàng)建安全控制裝置的應(yīng)用程序。因此,計(jì)算機(jī)程序16按專業(yè)術(shù)語(yǔ)通常也稱作編程工具。計(jì)算機(jī)12可以實(shí)施為PC并且顯示單元14可以實(shí)施為監(jiān)控
ο在圖1中示出了在其整體上用附圖數(shù)字18表示的安全電路,其具有安全控制裝置 20,其構(gòu)建為控制在其整體上用附圖數(shù)字22表示的自動(dòng)化設(shè)備。自動(dòng)化設(shè)備22包括多個(gè)執(zhí)行器M和多個(gè)傳感器26。示例性地示出了在設(shè)備22中包含的負(fù)載觀,其例如可以是機(jī)器人。安全控制裝置20雙通道冗余地構(gòu)建以便實(shí)現(xiàn)必要的故障安全性以控制安全關(guān)鍵的過程或應(yīng)用。對(duì)于雙通道結(jié)構(gòu)代表性地在圖1中示出了兩個(gè)彼此分離的處理器,即第一處理器30和第二處理器32。兩個(gè)處理器30、32通過雙向通信接口 ;34彼此連接,以便能夠相對(duì)彼此地控制和交換數(shù)據(jù)。優(yōu)選地,安全控制裝置20的兩個(gè)通道和兩個(gè)處理器30、32是多樣性的,即彼此不同地構(gòu)建,以便在很大程度上排除系統(tǒng)錯(cuò)誤。用附圖標(biāo)記36表示輸入/輸出單元,其與兩個(gè)處理器30、32的每個(gè)連接。輸入/ 輸出單元36記錄來(lái)自多個(gè)傳感器沈的多個(gè)控制輸入信號(hào)38并且將其以匹配的數(shù)據(jù)格式轉(zhuǎn)發(fā)給兩個(gè)處理器30、32的每個(gè)。此外,輸入/輸出單元36根據(jù)處理器30、32產(chǎn)生多個(gè)控制輸出信號(hào)40,借助其激勵(lì)多個(gè)執(zhí)行器M。用附圖標(biāo)記42表示程序存儲(chǔ)器,在該程序存儲(chǔ)器中以機(jī)器代碼形式存儲(chǔ)應(yīng)用程序。機(jī)器代碼借助裝置10來(lái)創(chuàng)建。如果程序存儲(chǔ)器42構(gòu)建為芯片卡,這能夠?qū)崿F(xiàn)簡(jiǎn)單地交換機(jī)器代碼并且因此簡(jiǎn)單交換應(yīng)用程序,而不直接連接到計(jì)算機(jī)12上??商孢x地,程序存儲(chǔ)器42也可以構(gòu)建為固定地安裝在安全控制裝置20中的存儲(chǔ)器,例如EEPR0M。計(jì)算機(jī)程序16在顯示單元14上提供用戶界面44。用戶界面44使編程員能夠創(chuàng)建應(yīng)用程序。程序員通過如下方式創(chuàng)建應(yīng)用程序其通過連接到其上的輸入單元為計(jì)算機(jī) 12輸送輸入。輸入單元例如可以是按鍵或鼠標(biāo)。根據(jù)用于創(chuàng)建應(yīng)用程序的編程語(yǔ)言,輸入方案彼此不同。如果結(jié)構(gòu)化文本或指令表用作編程語(yǔ)言,則應(yīng)用程序通過文本的輸入來(lái)創(chuàng)建。而如果將程序模塊圖用作編程語(yǔ)言,則程序員通過如下方式創(chuàng)建應(yīng)用程序,程序員通過使用鼠標(biāo)來(lái)選擇預(yù)先定義的程序模塊,其例如借助圖形符號(hào)在用戶界面44上被表征。計(jì)算機(jī)程序16包括顯示模塊46。由程序員通過輸入單元進(jìn)行的輸入借助顯示模塊46來(lái)檢測(cè)和分析。一方面,顯示模塊46產(chǎn)生表征相應(yīng)輸入的源代碼環(huán)境48,其存儲(chǔ)在源代碼存儲(chǔ)器50中。另一方面,顯示模塊46使圖形符號(hào)顯示在用戶界面44上。圖形符號(hào)表征由程序員進(jìn)行的輸入并且因此表征由顯示模塊46產(chǎn)生的源代碼環(huán)境48。在程序員進(jìn)行所有對(duì)應(yīng)用程序所需的輸入時(shí),在源代碼存儲(chǔ)器50中存在源代碼 52。源代碼52包括第一源代碼部分M和第二源代碼部分56。第一源代碼部分M代表安全指令,其對(duì)于由安全控制裝置20要解決的安全任務(wù)是必要的。安全指令是用于控制執(zhí)行器的第一控制指令58。為了處理第一控制指令58故障安全地處理安全相關(guān)的程序變量。 第一控制指令也可以稱作安全控制指令。此外,安全指令是第一診斷指令60,用于產(chǎn)生診斷報(bào)告。第一診斷指令也可以稱作安全診斷指令。第二源代碼部分56表征標(biāo)準(zhǔn)指令,其對(duì)于由安全控制裝置20要解決的標(biāo)準(zhǔn)任務(wù)而言是必要的。標(biāo)準(zhǔn)指令是用于控制執(zhí)行器的第二控制指令62。對(duì)于處理第二控制指令62而言,處理非安全相關(guān)的程序變量,其中對(duì)于非安全相關(guān)的程序變量并不需要故障安全的處理。第二控制指令也可以稱作標(biāo)準(zhǔn)控制指令。此夕卜,標(biāo)準(zhǔn)指令是用于產(chǎn)生診斷報(bào)告的第二診斷指令64。第二診斷指令也可以稱作標(biāo)準(zhǔn)診斷指令。根據(jù)在源代碼存儲(chǔ)器50中包含的源代碼52借助兩個(gè)編譯器66、68產(chǎn)生機(jī)器代碼 70。機(jī)器代碼70通過網(wǎng)關(guān)72傳輸給安全控制裝置20并且在那里存儲(chǔ)在程序存儲(chǔ)器42中。 機(jī)器代碼70如下產(chǎn)生源代碼52被輸送給第一編譯器66。第一編譯器66包括第一機(jī)器代碼產(chǎn)生單元 74和第一校驗(yàn)和確定單元76。借助第一機(jī)器代碼產(chǎn)生單元74產(chǎn)生第一機(jī)器代碼部分78。 第一機(jī)器代碼部分78包括第一安全代碼80和標(biāo)準(zhǔn)代碼82。第一安全代碼80根據(jù)第一源代碼部分M產(chǎn)生。第一安全代碼80包括第三控制指令84 (所謂的安全控制指令)和第三診斷指令86 (所謂的安全診斷指令)。在產(chǎn)生第一安全代碼80時(shí),因此第一源代碼部分M 完全轉(zhuǎn)換成機(jī)器代碼,即不僅第一控制指令58而且第一診斷指令60轉(zhuǎn)換成機(jī)器代碼。適用于如下相關(guān)性源代碼側(cè)的第一控制指令58對(duì)應(yīng)于機(jī)器代碼側(cè)存在的第三控制指令84。 源代碼側(cè)存在的第一診斷指令60對(duì)應(yīng)于機(jī)器代碼側(cè)存在的第三診斷指令86。標(biāo)準(zhǔn)代碼82根據(jù)第二源代碼部分56來(lái)產(chǎn)生。標(biāo)準(zhǔn)代碼82包括第四控制指令88, 所謂的標(biāo)準(zhǔn)控制指令,和第四診斷指令90,所謂的標(biāo)準(zhǔn)診斷指令。在產(chǎn)生標(biāo)準(zhǔn)代碼82時(shí),因此第二源代碼部分56完全轉(zhuǎn)換成機(jī)器代碼,即不僅第二控制指令62而且第二診斷指令64 都轉(zhuǎn)換成機(jī)器代碼。如下相關(guān)性適用源代碼側(cè)存在的第二控制指令62對(duì)應(yīng)于機(jī)器代碼側(cè)存在的第四控制指令88。源代碼側(cè)存在的第二診斷指令64對(duì)應(yīng)于機(jī)器代碼側(cè)存在的第四診斷指令90。此外,源代碼52被輸送給第二編譯器68。第二編譯器68包括第二機(jī)器代碼產(chǎn)生單元92和第二校驗(yàn)和確定單元94。借助第二機(jī)器代碼產(chǎn)生單元92產(chǎn)生第二機(jī)器代碼部分 96。第二機(jī)器代碼部分96包括第二安全代碼98。第二安全代碼98根據(jù)第一源代碼部分討來(lái)產(chǎn)生。第二源代碼部分56不被考慮。第二安全代碼98包括僅僅第五控制指令100,所謂安全控制指令。第二安全代碼98不包括診斷指令。在產(chǎn)生第二安全代碼98時(shí)因此不將完全的第一源代碼部分M轉(zhuǎn)換成機(jī)器代碼。僅僅第一安全指令58轉(zhuǎn)換成機(jī)器代碼。第一診斷指令60不被考慮。借助第一校驗(yàn)和確定單元76確定第一安全代碼80的第一校驗(yàn)和102。當(dāng)然,第一校驗(yàn)和102僅僅針對(duì)在第一安全代碼80中包含的第三控制指令84被確定。在第一安全代碼80中包含的第三診斷指令86在此不被考慮。第一校驗(yàn)和102同樣通過網(wǎng)關(guān)72傳輸給安全控制裝置20并且存儲(chǔ)在程序存儲(chǔ)器42中。借助第二校驗(yàn)和確定單元94確定第二安全代碼98的第二校驗(yàn)和104。由于第二安全代碼98并不包含診斷指令,所以在確定第二校驗(yàn)和104時(shí)僅僅考慮控制指令,具體而言為第五控制指令100。第二校驗(yàn)和104同樣通過網(wǎng)關(guān)72傳輸給安全控制裝置20并且存儲(chǔ)在程序存儲(chǔ)器42中。根據(jù)兩個(gè)存儲(chǔ)并且因此寄存在安全控制裝置20中的的校驗(yàn)和102、104在任何時(shí)候都可以檢驗(yàn)安全控制裝置20所實(shí)施的應(yīng)用程序是否與安全相關(guān)的環(huán)境相同,該環(huán)境由監(jiān)管局許可時(shí)檢驗(yàn)并且通過那時(shí)確定的校驗(yàn)和來(lái)證明。優(yōu)選地,在許可的范圍中所確定的校驗(yàn)和也存儲(chǔ)在安全控制裝置20中。有利地,兩個(gè)機(jī)器代碼產(chǎn)生單元74、92和兩個(gè)校驗(yàn)和確定單元76、96多樣性地構(gòu)建。但也可以考慮的是,兩個(gè)校驗(yàn)和確定單元76、94相同地構(gòu)建。此外,也考慮的是,僅僅設(shè)置單個(gè)的校驗(yàn)和確定單元。借助其于是不僅針對(duì)通過機(jī)器代碼產(chǎn)生單元74產(chǎn)生的第一安全代碼80而且針對(duì)借助機(jī)器代碼產(chǎn)生單元92產(chǎn)生的第二安全代碼98分別確定校驗(yàn)和??傊瑱C(jī)器代碼70由第一安全代碼80、標(biāo)準(zhǔn)代碼82和第二安全代碼98組成,其中第一安全代碼80和標(biāo)準(zhǔn)代碼82與第一處理器30相關(guān)。第二安全代碼98與第二處理器 32相關(guān)。由程序員創(chuàng)建的應(yīng)用程序總體上通過源代碼52和機(jī)器代碼70來(lái)表征。根據(jù)應(yīng)用程序的處理進(jìn)行在第一處理器30中一方面處理第一當(dāng)前安全指令106 而另一方面處理當(dāng)前標(biāo)準(zhǔn)指令108。基本上同時(shí)地在第二處理器32中處理第二當(dāng)前安全指令110。第一當(dāng)前安全指令106可以是在第三控制指令84中包含的安全控制指令或是在第三診斷指令86中包含的安全診斷指令。當(dāng)前標(biāo)準(zhǔn)指令108可以是在第四控制指令88 中包含的標(biāo)準(zhǔn)控制指令或在第四診斷指令90中包含的標(biāo)準(zhǔn)診斷指令。第二當(dāng)前安全指令 110是在第五控制指令100中包含的安全控制指令。安全控制指令也稱作安全相關(guān)的控制指令。標(biāo)準(zhǔn)控制指令也稱作非安全的控制指令。如果當(dāng)前標(biāo)準(zhǔn)指令108是標(biāo)準(zhǔn)控制指令,則第一非安全相關(guān)的數(shù)據(jù)112在第一處理器30與輸入/輸出單元36之間被交換。在此情況下,通過使用程序輸入變量將數(shù)據(jù)輸送第一處理器30,其中其瞬時(shí)值表征非安全相關(guān)的控制輸入信號(hào)114的值,其由非安全相關(guān)的傳感器116產(chǎn)生。非安全相關(guān)性的傳感器116是如下傳感器,其例如檢測(cè)對(duì)驅(qū)動(dòng)調(diào)節(jié)所需的輸入量。在此情況下,例如可以是轉(zhuǎn)速、角度或速度。非安全相關(guān)的傳感器116非故障安全地構(gòu)建。輸入/輸出單元36通過使用編程輸出變量被輸送數(shù)據(jù),其中其瞬時(shí)值表征非安全相關(guān)的控制輸出信號(hào)118的值,其被輸送給非安全相關(guān)的執(zhí)行器120,用于其激勵(lì)。 非安全相關(guān)的執(zhí)行器120例如可以是電動(dòng)機(jī)或調(diào)節(jié)氣缸。非安全相關(guān)的程序輸出變量的瞬時(shí)值根據(jù)按照標(biāo)準(zhǔn)指令的非安全相關(guān)的程序輸入變量來(lái)確定。如果當(dāng)前標(biāo)準(zhǔn)指令108是標(biāo)準(zhǔn)診斷指令,則第二非安全相關(guān)的數(shù)據(jù)122在第一處理器30與輸入/輸出單元36之間被交換。例如,為第一處理器30同樣被輸送非安全相關(guān)的控制輸入信號(hào)114的瞬時(shí)值和/或非安全相關(guān)的控制輸出信號(hào)118的瞬時(shí)值。根據(jù)所輸CN 102460397 A說(shuō)明書6/8 頁(yè)
送的瞬時(shí)值,于是可以確定的是,存在要控制的設(shè)備22的何種處理狀態(tài)。相應(yīng)的診斷報(bào)告借助診斷顯示單元1 來(lái)顯示。如果第一當(dāng)前安全指令106是安全控制指令,則第一安全相關(guān)的數(shù)據(jù)1 在第一處理器30與輸入/輸出單元36之間被交換。在此情況下,第一處理器30被通過使用安全相關(guān)的程序輸入變量來(lái)輸送數(shù)據(jù),其中其瞬時(shí)值表征安全相關(guān)的控制輸入信號(hào)128的值, 其由安全相關(guān)的傳感器130來(lái)產(chǎn)生。安全相關(guān)的傳感器130例如是應(yīng)急關(guān)斷按鍵、雙手控制裝置、安全門、轉(zhuǎn)速監(jiān)控設(shè)備或用于記錄安全相關(guān)的參數(shù)的其他傳感器。輸入/輸出單元 36被通過使用安全相關(guān)的程序輸出變量來(lái)輸送數(shù)據(jù),其中其瞬時(shí)值表征安全相關(guān)的控制輸出信號(hào)132的值,其被輸送給安全相關(guān)的執(zhí)行器134,用于其激勵(lì)。安全相關(guān)的執(zhí)行器134 例如是所謂的接觸器、其工作接觸部設(shè)置在電流供給裝置136和負(fù)載觀之間的連接中。通過安全相關(guān)的執(zhí)行器134可以關(guān)斷負(fù)載觀的電流供給裝置136,由此可能的是在出現(xiàn)相應(yīng)的故障時(shí)至少將負(fù)載觀過渡至安全狀態(tài)中。安全相關(guān)的程序輸出變量的瞬時(shí)值根據(jù)按照安全控制指令的安全相關(guān)的程序輸入變量來(lái)確定。如果第一當(dāng)前安全指令106是安全診斷指令,則第二安全相關(guān)的數(shù)據(jù)138在第一處理器30與輸入/輸出單元36之間被交換。例如,為第一處理器30同樣輸送安全相關(guān)的控制輸入信號(hào)128的瞬時(shí)值和/或安全相關(guān)的控制輸出信號(hào)132的瞬時(shí)值。根據(jù)所輸送的瞬時(shí)值于是可以確定的是,存在要控制的設(shè)備22的何種處理狀態(tài)。相應(yīng)的診斷報(bào)告借助診斷顯示單元1 來(lái)顯示。第二當(dāng)前的安全指令110是安全相關(guān)指令,其中根據(jù)在第一處理器30中處理的第一當(dāng)前安全指令106進(jìn)行處理。在第二當(dāng)前安全指令110方面使用第三安全相關(guān)的數(shù)據(jù) 140,其對(duì)應(yīng)于第一安全相關(guān)的數(shù)據(jù)126。根據(jù)其不僅由第一處理器30而且由第二處理器32產(chǎn)生安全相關(guān)的控制輸出信號(hào) 132的值的前述實(shí)施并不意味著由這兩個(gè)處理器30、32產(chǎn)生的值同時(shí)作為控制輸出信號(hào) 132輸出。前述實(shí)施僅僅要反映在要解決的安全任務(wù)方面冗余的安全控制裝置20的結(jié)構(gòu)。 兩個(gè)處理器30、32構(gòu)建為確定控制輸出信號(hào)132的值。在安全控制裝置20無(wú)故障運(yùn)行期間僅僅輸出由處理器例如第一處理器30確定的值,作為控制輸出信號(hào)132。通過輸入/輸出單元36在安全控制裝置20與安全相關(guān)的傳感器130、安全相關(guān)的執(zhí)行器134以及診斷顯示單元IM之間交換測(cè)試信號(hào)142。借助測(cè)試信號(hào)142可以在安全控制裝置20中確定連接到其上的部件是否無(wú)故障地工作,這是必要的,因?yàn)橹灰c安全控制裝置20連接的設(shè)備出現(xiàn)故障就必須保證要控制的設(shè)備22的安全狀態(tài)。在圖2中示出了用于根據(jù)源代碼產(chǎn)生機(jī)器代碼的方法,其中僅僅關(guān)注第一源代碼 54和因此源代碼和應(yīng)用程序的安全相關(guān)的環(huán)境。第一源代碼部分M包括用附圖標(biāo)記160表示的第一安全控制指令FSSA1QC。所使用的術(shù)語(yǔ)在此具有如下意義FS代表“故障安全”并且因此顯示出,其為安全相關(guān)的控制指令。SA —般而言代表“控制指令”。通過后置數(shù)字1得到了安全控制指令的標(biāo)志,借助該標(biāo)志可以將該安全控制指令在多個(gè)安全控制指令識(shí)別出。QC顯示出,其為源代碼側(cè)的安全控制指令。術(shù)語(yǔ)在圖2中統(tǒng)一地使用。用附圖標(biāo)記162標(biāo)識(shí)第二安全控制指令FSSA2QC。兩個(gè)安全控制指令FSSA1QC和 FSSA2QC包含在第一指令58中。用附圖標(biāo)記164、166標(biāo)識(shí)第一安全診斷指令FSDA1QC和第二安全診斷指令FSDA2QC。DA在此一般而言代表“診斷指令”。通過后置例如數(shù)字1得到了標(biāo)志,借助其可以將安全診斷指令在多個(gè)安全診斷指令中識(shí)別出。兩個(gè)安全診斷指令FSDA1QC和FSDA2QC被用附圖標(biāo)記168表示的第二診斷標(biāo)記 FSDM1QC和用附圖標(biāo)記170表示的第二診斷標(biāo)記FSDM2QC包圍或加框或被其包含。DM在此一般而言代表“診斷標(biāo)記”。通過后置數(shù)字1例如得到標(biāo)志,借助其可以識(shí)別診斷標(biāo)記。借助兩個(gè)診斷標(biāo)記FSDM1QC和FSDM2QC可以在進(jìn)行編譯時(shí)識(shí)別安全診斷指令,其包含在第一源代碼部分討中。兩個(gè)安全診斷指令FSDA1QC和FSDA2QC以及兩個(gè)診斷標(biāo)記FSDM1QC和 FSDM2QC包含在第一診斷指令60中。第一源代碼部分M被輸送給第一編譯器66,這通過箭頭172表示。用第一編譯器 66產(chǎn)生第一通道數(shù)據(jù)174。第一通道數(shù)據(jù)174與包含有第一處理器30的通道相關(guān)。用第一機(jī)器代碼產(chǎn)生單元74產(chǎn)生第一安全代碼80,其包括第三控制指令84。第三控制指令84 是用附圖標(biāo)記176表示的第三安全控制指令FSSA1MCA和用附圖標(biāo)記178表示的第四安全控制指令FSSA2MCA。MC顯示出,其為機(jī)器代碼側(cè)的安全控制指令。字母A顯示出,安全控制指令分配給第一處理器30并且因此分配給通道A。在源代碼側(cè)的安全單元控制指令與機(jī)器代碼側(cè)的安全控制指令之間適用如下相關(guān)性機(jī)器代碼側(cè)的第三安全控制指令FSSA1MCA 與源代碼側(cè)的第一安全控制指令FSSA1QC相關(guān)。機(jī)器代碼側(cè)的第四安全控制指令FSSA2MCA 與源代碼側(cè)的第二安全控制指令FSSA2QC相關(guān)。此外,第一安全代碼80包括第三診斷指令86。第三診斷指令86是用附圖標(biāo)記180 表示的第三安全診斷指令FSDA1MCA和用附圖標(biāo)記182表示的第四安全診斷指令FSDA2MCA。 在源代碼側(cè)的安全診斷指令與機(jī)器代碼側(cè)的安全診斷指令之間適用如下相關(guān)性機(jī)器代碼側(cè)的第三安全診斷指令FSDA1MCA與源代碼側(cè)的第一安全診斷指令FSDA1QC相關(guān)。機(jī)器代碼側(cè)的第四安全診斷指令FSDA2MCA與源代碼側(cè)的第二安全診斷指令FSDA2QC相關(guān)。借助第一校驗(yàn)和確定單元76確定用附圖標(biāo)記102表示的用于第一安全代碼80的第一校驗(yàn)和CRCFSA。字母CRC (循環(huán)冗余校驗(yàn))表示所述的校驗(yàn)和確定根據(jù)CRC方法來(lái)進(jìn)行。在創(chuàng)建第一校驗(yàn)和CRCFSA時(shí),僅僅考慮在第一安全代碼80中包含的安全控制指令, 即兩個(gè)安全控制指令FSSA1MCA和FSSA2MCA。不考慮在第一安全代碼80中包含的安全診斷指令,即兩個(gè)安全診斷指令FSDA1MCA和FSDA2MCA。第一校驗(yàn)和確定單元76于是構(gòu)建為在第一源代碼部分M中包含的安全診斷指令在確定第一校驗(yàn)和CRCFSA時(shí)不被考慮。為此,第一校驗(yàn)和確定單元76識(shí)別在第一源代碼部分M中包含的診斷標(biāo)記。通過兩個(gè)診斷標(biāo)記FSDM1QC和FSDM2QC針對(duì)第一校驗(yàn)和確定單元76來(lái)確定,使得在這兩個(gè)診斷標(biāo)記之間設(shè)置的安全指令在創(chuàng)建第一校驗(yàn)和CRCFSA時(shí)不被考慮。此外,第一源代碼部分M輸送給第二編譯器68,這通過箭頭184來(lái)表示。借助第二編譯器68產(chǎn)生第二通道數(shù)據(jù)186。第二通道數(shù)據(jù)186指定于包含有第二處理器32的通道。借助第二機(jī)器代碼產(chǎn)生單元92產(chǎn)生第二安全代碼98。第二安全代碼98包括第五控制指令100。第五控制指令100是用附圖標(biāo)記188表示的第五安全控制指令FSSA1MCB和用附圖標(biāo)記190表示的第六安全控制指令FSSA2MCB。字母B顯示出,這些安全控制指令分配給第二處理器32和因此分配給通道B。在此在源代碼側(cè)的安全控制指令與機(jī)器代碼側(cè)的安全控制指令之間適用如下相關(guān)性機(jī)器代碼側(cè)的第五安全控制指令FSSA1MCB與源代碼側(cè)的第一安全控制指令FSSA1QC相關(guān)。機(jī)器代碼側(cè)的第六安全控制指令FSSA2MCB與源代碼側(cè)的第二安全控制指令FSSA2QC相關(guān)。第二機(jī)器代碼產(chǎn)生單元92在此構(gòu)建為不考慮在第一源代碼部分M中包含的安全診斷指令,即兩個(gè)安全診斷指令FSDA1QC和FSDA2QC。為此,第二機(jī)器代碼產(chǎn)生單元92識(shí)別在第一源代碼部分中包含的診斷標(biāo)記,即兩個(gè)診斷標(biāo)記FSDMlQC^n FSDM2GC。通過兩個(gè)診斷標(biāo)記FSDM1QC和FSDM2GC針對(duì)第二機(jī)器代碼產(chǎn)生單元92來(lái)確定在這兩個(gè)診斷標(biāo)記之間設(shè)置的安全指令在創(chuàng)建第一安全代碼98時(shí)不被考慮。兩個(gè)診斷標(biāo)記將在其間設(shè)置的安全指令表示為安全診斷指令。通過第二校驗(yàn)和確定單元94確定第二安全代碼98的用附圖標(biāo)記104表示的第二校驗(yàn)和CRCFSB。由于第二安全代碼98僅僅包含安全控制指令,所以在確定第二校驗(yàn)和 CRCFSB的情況下不考慮安全診斷指令。由于這兩個(gè)機(jī)器代碼側(cè)的安全診斷指令FSDA1MCA和FSDA2MCA在確定第一校驗(yàn)和 CRCFSA的情況下不被考慮,所以這兩個(gè)代碼側(cè)的安全診斷指令FSDA1QC和FSDA2QC在此情況下不被考慮。
權(quán)利要求
1.一種用于創(chuàng)建安全控制裝置00)的應(yīng)用程序的方法,該安全控制裝置構(gòu)建為控制自動(dòng)化設(shè)備(22),該自動(dòng)化設(shè)備帶有多個(gè)傳感器06)和多個(gè)執(zhí)行器(M),該方法具有如下步驟-創(chuàng)建應(yīng)用程序的源代碼(52),其中源代碼(5 包括多個(gè)用于控制執(zhí)行器04)的控制指令(160,162)和多個(gè)用于產(chǎn)生診斷報(bào)告的診斷指令(164,166),其中按故障安全的方式處理安全相關(guān)的程序變量來(lái)處理控制指令(160,162),-根據(jù)源代碼(5 產(chǎn)生機(jī)器代碼(70),-確定至少一個(gè)校驗(yàn)和(102,104),其中針對(duì)機(jī)器代碼(80,98)的至少一部分確定校驗(yàn)和(102,104),并且其中在確定校驗(yàn)和(102,104)時(shí)不考慮診斷指令(164,166)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,診斷指令(164,166)被標(biāo)記。
3.根據(jù)上述權(quán)利要求之一所述的方法,其特征在于,機(jī)器代碼(70)包括第一安全代碼 (80)和第二安全代碼(98),其中針對(duì)兩個(gè)安全代碼(80,98)的每個(gè)分別確定校驗(yàn)和(102, 104)。
4.根據(jù)上述權(quán)利要求之一所述的方法,其特征在于,機(jī)器代碼(70)包括第一安全代碼 (80)和第二安全代碼(98),其中在產(chǎn)生第一安全代碼(80)的情況下考慮診斷指令(164, 166)并且在產(chǎn)生第二安全代碼(98)的情況下不考慮診斷指令(164,166)。
5.一種用于創(chuàng)建安全控制裝置00)的應(yīng)用程序的裝置,該安全控制裝置構(gòu)建為控制自動(dòng)化設(shè)備(22),該自動(dòng)化設(shè)備帶有多個(gè)傳感器06)和多個(gè)執(zhí)行器04),具有用于創(chuàng)建應(yīng)用程序的源代碼(52)的單元(12,14,16),其中源代碼(52)包括用于控制執(zhí)行器04)的多個(gè)控制指令(160,162)和用于產(chǎn)生診斷報(bào)告的多個(gè)診斷指令(164, 166),其中按故障安全的方式處理安全相關(guān)的程序變量來(lái)處理安全指令(160,162),以及具有用于根據(jù)源代碼(5 來(lái)產(chǎn)生機(jī)器代碼(70)的單元(72,92),具有用于確定至少一個(gè)校驗(yàn)和(102,104)的單元(76,94),其中針對(duì)機(jī)器代碼(80, 98)的至少一部分確定校驗(yàn)和(102,104),并且其中在確定校驗(yàn)和(102,104)時(shí)不考慮診斷指令(164,166)。
6.一種計(jì)算機(jī)程序,其具有程序代碼裝置,其在計(jì)算機(jī)程序(16)在計(jì)算機(jī)(1 上執(zhí)行時(shí)實(shí)施根據(jù)權(quán)利要求1至4之一所述的方法。
全文摘要
本發(fā)明涉及一種用于創(chuàng)建安全控制裝置(20)的應(yīng)用程序的方法,該安全控制裝置構(gòu)建為控制自動(dòng)化設(shè)備(22),其帶有多個(gè)傳感器(26)和多個(gè)執(zhí)行器(24),該方法具有如下步驟創(chuàng)建應(yīng)用程序的源代碼(52),其中源代碼(52)包括多個(gè)用于控制執(zhí)行器(24)的控制指令(160,162)和多個(gè)用于產(chǎn)生診斷報(bào)告的診斷指令(164,166),其中故障安全地處理安全相關(guān)的程序變量來(lái)處理控制指令(160,162),根據(jù)源代碼(52)產(chǎn)生機(jī)器代碼(70),確定至少一個(gè)校驗(yàn)和(102,104),其中針對(duì)機(jī)器代碼(80,98)的至少一部分確定校驗(yàn)和(102,104),并且其中在確定校驗(yàn)和(102,104)時(shí)不考慮診斷指令(164,166)。此外,本發(fā)明還涉及相應(yīng)的裝置和計(jì)算機(jī)程序。
文檔編號(hào)G05B19/042GK102460397SQ201080027502
公開日2012年5月16日 申請(qǐng)日期2010年4月20日 優(yōu)先權(quán)日2009年4月20日
發(fā)明者彼得·莫斯曼, 馬蒂亞斯·羅伊施 申請(qǐng)人:皮爾茨公司