專利名稱:用于識別程序流程的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及程序流程的識別、尤其是自動化技術(shù)中的程序的識別。可以圖像化地顯示出程序流程的識別。該程序尤其是自動化裝置的可循環(huán)運(yùn)行的程序。自動化裝置的實(shí)例為存儲程序控制器(SPS)、運(yùn)動控制裝置(尤其是用于調(diào)節(jié)和/或控制運(yùn)動流程)、整流器、主機(jī)(例如,用于印刷機(jī)),例如用于生產(chǎn)帯、煉鋼廠、機(jī)床、包裝機(jī)、玻璃成型機(jī)等等??梢栽谶@種裝置上運(yùn)行程序并且例如借助工程系統(tǒng)對程序進(jìn)行編程。隨之例如將機(jī)床的應(yīng)用程序在機(jī)床的運(yùn)行時(shí)間系統(tǒng)中使用。
背景技術(shù):
對于自動化系統(tǒng)的用戶、例如,操作員或程序員而言,重要的是能夠識別程序的流程。為此可以使用調(diào)試器。在此,缺點(diǎn)例如在于,程序流程會由于停止點(diǎn)而被停止或僅僅將已存儲的字母數(shù)字程序值提供給用戶進(jìn)行分析。在ST程序(在結(jié)構(gòu)化文本中編寫的程序)中,對用戶而言例如可能的是,激活DEBUG-機(jī)構(gòu)。在第一個(gè)視窗中為其顯示出ST源,而在另ー個(gè)窗口中可以為循環(huán)運(yùn)行的程序編碼,對于相應(yīng)的運(yùn)行過程而言固定地顯示出應(yīng)用在程序編碼中的變量的值。因此,用戶可以在循環(huán)的SPS功能性的情況下實(shí)現(xiàn)文本格式的診斷和程序調(diào)試。雖然除了 ST-編程之外,基于圖像化對象的編程也是可能的,但是調(diào)試功能仍要基于文本的顯示。
發(fā)明內(nèi)容
本發(fā)明的目的在于改進(jìn)程序流程的識別并且使分析對用戶而言變得更加簡単。該目的根據(jù)ー種具有根據(jù)權(quán)利要求I至9中任一項(xiàng)所述的特征的方法來實(shí)現(xiàn)。該自動化系統(tǒng)特別具有用于參數(shù)化、設(shè)計(jì)以及運(yùn)行控制系統(tǒng)的裝置和/或用于利用對控制程序進(jìn)行編輯的編輯裝置來生成優(yōu)選是循環(huán)的控制程序的裝置以及特別是用于編譯控制程序的編譯裝置。為此可以使用工程系統(tǒng)。為了基于控制程序來對系統(tǒng)進(jìn)行時(shí)間上的控制,自動化系統(tǒng)可以具有用于處理編譯好的、優(yōu)選是循環(huán)的控制程序的微處理器裝置。為了調(diào)試、參數(shù)化以及運(yùn)行控制系統(tǒng)以及為了生成適當(dāng)?shù)目刂瞥绦?,在存儲程序控制器中更多地使用了工程系統(tǒng)。為了接收工程系統(tǒng)的數(shù)據(jù)以及為了對控制程序進(jìn)行相應(yīng)的處理,例如使用了運(yùn)行時(shí)間系統(tǒng)。在此,在自動化系統(tǒng)裝置運(yùn)行時(shí),該運(yùn)行時(shí)間系統(tǒng)也可以與工程系統(tǒng)通信連接。因此,在程序運(yùn)行的過程中可以在工程系統(tǒng)中顯示、處理和/或存儲數(shù)據(jù)。為了進(jìn)行存儲,該運(yùn)行時(shí)間系統(tǒng)和/或工程系統(tǒng)可以具有軌跡。可以在與運(yùn)行時(shí)間系統(tǒng)相同的硬件上或也在與該硬件相分離的硬件上安裝該工程系統(tǒng)。特別在循環(huán)運(yùn)行的控制程序中,可以有利地借助圖像化顯示來觀察變量、程序狀態(tài)以及對指令的處理。在此,該圖像化顯示特別是基于流程圖。用戶可以在監(jiān)控器上跟蹤程序流程并且例如觀看SPS循環(huán)是如何進(jìn)行的。由此,可以在控制程序運(yùn)行的過程中輕松地觀察系統(tǒng)參數(shù)。流程圖通常也被視作為圖像化的編程界面的視圖,該編程界面不單獨(dú)依賴于ASCII碼,而且還以圖像為基礎(chǔ)。在用于顯示程序流程的方法的一個(gè)實(shí)施方式中,將程序圖像化地顯示成流程圖,其中,根據(jù)運(yùn)行中的程序的或運(yùn)行完畢的程序的狀態(tài)數(shù)據(jù)來標(biāo)記流程圖的元素。這基于由運(yùn)行時(shí)間系統(tǒng)所提供的信息。程序例如可以是機(jī)床的控制程序、機(jī)床的子程序、生產(chǎn)型機(jī)床的控制程序、包裝機(jī)的控制程序、印刷機(jī)的控制程序等等。該流程圖是程序流程圖(PAP),該程序流程圖也可以被稱作程序框圖(flowchart)或程序結(jié)構(gòu)圖。借助圖像化顯示可以將算法轉(zhuǎn)化成計(jì)算機(jī)程序。在此可以將計(jì)算機(jī)程序進(jìn)ー步理解成這樣的程序,例如在エ業(yè)設(shè)備中的控制裝置(例如存儲程序控制器(SPS))或調(diào)節(jié)裝置(例如,運(yùn)動控制裝置)上的在處理器上所運(yùn)行的程序。通過該圖像化顯示能以直觀的方式來描述用于實(shí)現(xiàn)該目的的操作順序。
例如,在DIN 66001中描述了用于程序流程圖中的元素的可能符號。在此,還將信息流圖的符號定義為另ー種流程圖。程序流程圖也可以不取決于計(jì)算機(jī)程序而用于顯示過程和工作。流程圖的另ー實(shí)施例是Nassi-Shneiderman流程圖(結(jié)構(gòu)化流程圖)。在通過UML對面向?qū)ο蟮某绦蛟O(shè)計(jì)進(jìn)行描述時(shí)也應(yīng)用了擴(kuò)展的流程圖。由ISO 5807信息處理中對流程圖的符號和協(xié)定進(jìn)行了描述。例如,被顯示為流程圖的程序借助圖像化的編程面、也就是說根據(jù)現(xiàn)有的流程圖來編寫。為了隨后在流程圖中圖像化地顯示,還可以將程序生成為文本形式。同樣,編寫成KOP(梯形圖)或FUP(功能圖)的程序也可以在流程圖中進(jìn)行描述。這種程序可以被翻譯成機(jī)器語言,其中提出,在機(jī)器上運(yùn)行程序時(shí)會產(chǎn)生可以對應(yīng)于流程圖的ー個(gè)元素的數(shù)據(jù)。如果隨之在程序流程中例如狀態(tài)變量隨后發(fā)生了變化或者子程序被調(diào)用或處理,那么就可以實(shí)現(xiàn)向流程圖的元素之一的分配。這種分配例如在線地、特別是實(shí)時(shí)地、或是在附加過程中實(shí)現(xiàn),特別是通過使用軌跡來實(shí)現(xiàn)。在軌跡中,用于元素的數(shù)據(jù)被存儲在流程圖中,以便在程序處理完畢之后對其進(jìn)行評估。可以根據(jù)運(yùn)行中的程序的或運(yùn)行完畢的程序的狀態(tài)數(shù)據(jù)來標(biāo)記流程圖的元素。狀態(tài)數(shù)據(jù)特別說明了 程序中的哪個(gè)點(diǎn)正在被處理或已經(jīng)處理完畢。狀態(tài)值(例如,變量,真值或類似值)會通過處理而變化,這種變化也是可以被顯示出來的。也可以將這些元素描繪成橢圓形、矩形、菱形等等。根據(jù)DIN 66001,例如描繪出了開始點(diǎn)、結(jié)束點(diǎn)或通過橢圓形描繪出了極限點(diǎn)。箭頭和線條說明了與隨后的元素的關(guān)系。矩形表示的是ー個(gè)操作,其中,帶有雙垂直線的矩形表示的是子程序調(diào)用。借助菱形描述的是分支,由此表示出真實(shí)性檢查。輸入和輸出可以例如表示為平行四邊形。除了開始元素、結(jié)束元素、極限點(diǎn)元素、操作元素、用于調(diào)用或執(zhí)行ー個(gè)或多個(gè)子程序的元素、分支元素、輸入元素或輸出元素以外,在流程圖中還可以實(shí)現(xiàn)其它元素。在該方法的一個(gè)實(shí)施方式中,程序是循環(huán)程序。恰巧在循環(huán)程序中很難顯示出程序的相應(yīng)的狀態(tài)。這個(gè)難點(diǎn)尤其在干,處理器的時(shí)鐘頻率非常高,而這個(gè)時(shí)鐘頻率使得該循環(huán)程序流程在一秒鐘內(nèi)多次運(yùn)行。對此可以例如通過軌跡(信息存儲器)來幫助進(jìn)行評估。在該方法的一個(gè)實(shí)施方式中,程序具有多個(gè)分支,也就是具有至少兩個(gè)分支。如果在循環(huán)程序流程中多次運(yùn)行ー個(gè)分支,也就是說在較長時(shí)間(例如,一秒以上)內(nèi)不斷重復(fù)該分支,那么因此在高時(shí)鐘頻率的情況下,流程圖的元素狀態(tài)的在線顯示也將引起關(guān)于程序處理的說明。如果例如將恰好在程序流程中處理完畢的元素標(biāo)記成彩色的,并且一直選擇在分支點(diǎn)(分支元素)之后的特定分支,那么監(jiān)控人員就可以在線實(shí)時(shí)觀看程序的哪些分支已經(jīng)被處理完畢或還未進(jìn)行處理。因此,即使是毎秒對循環(huán)的程序進(jìn)行例如上百次的處理,也可以實(shí)現(xiàn)上述功能。如果不同分支的處理變換的頻繁程度是人眼能夠分辨的(例如,十分之一秒或十分之一分鐘),則監(jiān)控人員仍然可以在線地觀看流程圖,該流程圖的元素與正在運(yùn)行的程序數(shù)據(jù)技術(shù)地連接,可以看到程序處于哪一個(gè)處理步驟中并且特別是恰好在使用哪ー個(gè)處理分支。不僅可以在線地從正在運(yùn)行的程序中也可以在后續(xù)過程中從跟蹤數(shù)據(jù)中得到狀態(tài)數(shù)據(jù),根據(jù)這些狀態(tài)數(shù)據(jù),至少ー些流程圖元素改變其圖像化的示意圖。利用該軌跡可以將正在運(yùn)行的程序中的數(shù)據(jù)存儲起來。
圖像化的示意圖可以通過例如以下的ー個(gè)或多個(gè)措施進(jìn)行改變-改變元素的顏色;-改變元素的線條色彩濃度;-改變元素的灰度;-改變元素的標(biāo)記;-改變元素的顏色飽和度;-使元素閃爍;以及-其它方式。在該方法的一個(gè)實(shí)施方式中,標(biāo)記的顯示時(shí)間比狀態(tài)存在的時(shí)間更長,通過該狀態(tài)引起了標(biāo)記。該更長時(shí)間的顯示也可以有利地由用戶暫時(shí)進(jìn)行調(diào)整和改變,從而使得例如狀態(tài)變化的顯示時(shí)間比其存在的時(shí)間長I秒,2秒,3秒或更長。因此也可以更好地為人們顯示出短時(shí)間的變化。這種設(shè)置在程序中特別是有利的,其中可以在一秒內(nèi)多次重新計(jì)算狀態(tài)數(shù)據(jù)以及也可以改變狀態(tài)數(shù)據(jù)。該圖像化顯示出的程序是例如機(jī)床的子程序。恰好在機(jī)床中,在循環(huán)的程序流程中存在分支,其中,機(jī)床的操縱人員需要知道機(jī)床恰好處在程序處理過程的哪個(gè)分支中。程序處理過程的分支在此例如取決于,正在加工的是哪種エ件。通過該實(shí)時(shí)的圖像化顯示,機(jī)床的操縱人員可以得知處理的是否是正確的程序分支。所描述的方法通常也可以被使用在用于控制運(yùn)動流程的程序中。這例如設(shè)計(jì)裝配機(jī)器、軟袋包裝機(jī)、起重機(jī)等等。
下面示例性聯(lián)系顯示為流程圖的附圖描述本發(fā)明和有利的實(shí)施方式。
具體實(shí)施例方式該圖示出的是流程圖I。橢圓3表示的是所示程序的開始點(diǎn)。通過線12連接至下面的元素4。該元素4是矩形并且表示ー個(gè)操作。元素4代表的是例如輸出端的復(fù)位。元素4通過連接線12與元素15相連接。元素15是菱形并且代表的是分支。當(dāng)條件為真吋,將隨后通過真連接(true) 14對元素5進(jìn)行處理。當(dāng)元素的條件15被識別為“假”(false)時(shí),將通過假連接13處理元素6。因此,通過分支元素15得到了兩個(gè)處理支路。第一個(gè)處理支路24具有元素5,而第二處理支路26具有元素6。同吋,只能執(zhí)行這兩個(gè)支路25,26中的ー個(gè)。利用元素5和6例如可以設(shè)定輸出值。第一支路24的元素5將輸出值A(chǔ)l設(shè)定成例如值X,而第二支路25的元素6將輸出值A(chǔ)l設(shè)定成例如值y。在元素7之前,箭頭連接22以及線將這兩個(gè)支路24,25重新組合在一起。元素7涉及的是軸釋放電路(Achsfreigabeschaltung)。用于輸入指令碼的元素8在元素7后面。在元素16中經(jīng)歷另一次條件詢問之后,又出現(xiàn)了ー個(gè)分支、即圖中的第二分支。第二分支中的第一支路26具有元素9,而第二分支的第二支路27具有元素10。如果元素16的條件顯示為真(true),那么對元素9 (例如是變量分配)進(jìn)行處理。如果元素16的條件顯示為假(false),那么對元素10 (其例如也是變量分配)進(jìn)行處理。這兩個(gè)支路26和27都在代表了子程序調(diào)用的元素11中結(jié)束。從圖中的所示內(nèi)容可以看出,元素4,15,6,7和8是被標(biāo)記過的。路徑25也被執(zhí)行了至少一次或也被循環(huán)地執(zhí)行。根據(jù)用于顯示程序流程的方法,例如,在工程系統(tǒng)或診斷系統(tǒng)中設(shè)有可以使用戶借助流程像化地觀察尤其是連續(xù)地進(jìn)行處理的程序的功能。在所示的流程圖中,可以將處理完畢的指令涂上顏色。假如一再持續(xù)相繼地執(zhí)行特定的分支路徑的話,那么就獲得一種蹤跡,從其中可以讀出所選擇的分支。由于循環(huán)的處理過程進(jìn)行的極為迅速并且由此 只能有條件地進(jìn)行顯示,所以在循環(huán)處理的程序中,在某些情況下用戶可見的顔色與實(shí)際的程序流程并不一致。但是如果存在一定程度的后顏色延遲的話(這可能也是可調(diào)節(jié)的,例如,O. 5秒或3秒),那么在狀態(tài)改變了很長一段時(shí)間時(shí)用戶還是可以看見該顏色的。用戶還會注意到,例如,流程圖中的元素的處理過程也只不過持續(xù)了不到一秒(一秒的很小一部分)而已。根據(jù)所描述的方法,用戶可以在循環(huán)地處理的圖像化程序中獲得關(guān)于程序是如何執(zhí)行的相關(guān)信息。在此,用戶通過可視化的信息獲得例如提示,即應(yīng)該在哪里接通其它功能、例如狀態(tài)程序。在一種實(shí)施方式中,也可以將關(guān)于圖像化程序流程的減少的信息一起加載在流程系統(tǒng)中,并且將流程系統(tǒng)中的圖像化指令順序的流程實(shí)時(shí)地記錄到存儲器(軌跡)中。這些信息將回饋給工程系統(tǒng)來實(shí)現(xiàn)可視化。工程系統(tǒng)在圖像中相應(yīng)地為通過CPU處理的圖像化指令塊標(biāo)上顔色,該指令塊就是流程圖的元素。由此,即使在快速處理程序的過程中用戶也能夠跟蹤到實(shí)際的程序是如何執(zhí)行的。通過選擇程序元素,用戶可以自行決定其想要觀察的流程圖元素。由此可以將復(fù)雜的流程減少為幾個(gè)被顯示和被觀察的元素。在該方法的一個(gè)實(shí)施方式中,元素一旦被標(biāo)記就一直保持被標(biāo)記的狀態(tài)。由此得到一種光跡,該光跡顯示出了處理過程和分支。通過用戶的行為,例如重新擦除彩色標(biāo)記,可以實(shí)現(xiàn)重置標(biāo)記。利用所描述的顯示程序流程的方法可以實(shí)現(xiàn)直接在圖像化的程序圖中對圖像化程序的循環(huán)處理進(jìn)行跟蹤。通過對執(zhí)行的程序步驟或程序塊進(jìn)行圖像化上色,可以形成一種光跡。該光跡例如通過與循環(huán)運(yùn)行中頻率相應(yīng)的顏色強(qiáng)化來獲得。也可以為個(gè)別的執(zhí)行過程設(shè)置特定的標(biāo)記。通過對運(yùn)行時(shí)間系統(tǒng)中的程序處理過程以及隨后的信息到工程系統(tǒng)中的傳輸過程進(jìn)行記錄,使得整個(gè)流程無論是在通過實(shí)時(shí)記錄快速處理圖像化元素/指令塊的情況下,還是在循環(huán)程序處理過程中都是可視的。還可以通過上色來更好地實(shí)現(xiàn)圖像化程序中的程序流程的可視化。
權(quán)利要求
1.一種用于顯示程序流程的方法,其中,將所述程序圖像化地顯示成流程圖(1),并且根據(jù)運(yùn)行中的程序的或運(yùn)行完畢的程序的狀態(tài)數(shù)據(jù)來標(biāo)記所述流程圖(I)的元素(3,4,5,6,7,8,9,10,11,15,16)。
2.根據(jù)權(quán)利要求I所述的方法,其中,所述程序是循環(huán)程序。
3.根據(jù)權(quán)利要求I所述的方法,其中,所述程序具有多個(gè)分支(15,16)。
4.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的方法,其中,所述狀態(tài)數(shù)據(jù)是跟蹤數(shù)據(jù)。
5.根據(jù)權(quán)利要求I至4中任一項(xiàng)所述的方法,其中,標(biāo)記的顯示時(shí)間比 狀態(tài)存在的時(shí)間更長。
6.根據(jù)權(quán)利要求I至5中任一項(xiàng)所述的方法,其中,所述程序是機(jī)床的子程序。
7.根據(jù)權(quán)利要求I至5中任一項(xiàng)所述的方法,其中,所述程序是用于控制運(yùn)動流程的程序。
8.根據(jù)權(quán)利要求I至7中任一項(xiàng)所述的方法,其中,所述程序是其狀態(tài)數(shù)據(jù)在一秒之內(nèi)被多次重新計(jì)算的程序。
9.根據(jù)權(quán)利要求I至8中任一項(xiàng)所述的方法,其中,所述程序具有至少ー個(gè)以下的元素開始元素(3)、停止元素、極限點(diǎn)元素、操作元素、子程序元素(11)、分支元素(15,16)、輸入元素或輸出元素,其中,尤其是所述流程圖的ー個(gè)部分是可選的,并且在所述被挑選出來的流程圖部分中,根據(jù)所述狀態(tài)數(shù)據(jù)有區(qū)別地顯示出元素(3,4,5,6,7,8,9,10,11,15,16)。
全文摘要
本發(fā)明涉及一種用于顯示程序流程的方法,根據(jù)該方法將程序圖像化地顯示成流程圖(1),其中,根據(jù)運(yùn)行中的程序的或運(yùn)行完畢的程序的狀態(tài)數(shù)據(jù)來標(biāo)記流程圖(1)的元素(3,4,5,6,7,8,9,10,11,15,16)。
文檔編號G06F9/44GK102693124SQ20111043984
公開日2012年9月26日 申請日期2011年12月23日 優(yōu)先權(quán)日2010年12月23日
發(fā)明者彼得·瓦格納, 沃爾夫?qū)せ舳? 約爾格·辛格 申請人:西門子公司