專利名稱:對自動化設備的工業(yè)控制器編程的方法和裝置的制作方法
技術領域:
本發(fā)明涉及一種對用于控制自動化設備的工業(yè)控制器進行編程的方法,所述設備 包括用于提供代表所述設備的實際系統(tǒng)狀態(tài)的傳感器數(shù)據的至少一個傳感器和用于按照 所述實際系統(tǒng)狀態(tài)來起 作用的至少一個致動器,并且所述控制器包括用于存儲所述傳感器 數(shù)據的數(shù)據存儲器和用于存儲機器代碼程序的程序存儲器,所述方法包括以下步驟-提供具有程序編輯器、調試工具和編譯器的編程工具,-使用所述程序編輯器創(chuàng)建高級控制程序,所述高級控制程序包括多個高級控制 指令,-使用所述編譯器編譯所述高級控制程序,以便創(chuàng)建包括用于反復讀取和處理所 述傳感器數(shù)據的機器代碼指令的機器代碼程序,-向所述程序存儲器中加載所述機器代碼程序,以及-啟用用于調試所述高級控制程序的所述調試工具,其中所述高級控制指令在所 述程序編輯器中示出。本發(fā)明還涉及一種用于對自動化設備的工業(yè)控制器進行編程的裝置,所述裝置包 括用于提供代表所述設備的實際系統(tǒng)狀態(tài)的傳感器數(shù)據的至少一個傳感器和用于按照所 述實際系統(tǒng)狀態(tài)來起作用的至少一個致動器,并且所述控制器包括用于存儲所述傳感器數(shù) 據的數(shù)據存儲器和用于存儲機器代碼程序的程序存儲器,所述裝置包括程序編輯器,用于 創(chuàng)建高級控制程序,所述高級控制程序包括多個高級控制指令;編譯器,用于編譯所述高級 控制程序,以便創(chuàng)建包括用于反復讀取和處理所述傳感器數(shù)據的機器代碼指令的機器代碼 程序;接口,用于向所述控制器的所述程序存儲器中加載所述機器代碼程序;以及調試工 具,用于調試所述高級控制程序,其中所述高級控制指令在所述程序編輯器中示出。
背景技術:
例如由EP1184758 A2已知一種該類型的方法和設備。在當今世界,許多技術過程都是自動化或者至少部分自動化地運行。不僅在工業(yè) 制造場所和生產車間,而且在日常生活情形(機場行李認領處、滑雪勝地中的滑雪纜車、游 樂場中的過山車等)中都能發(fā)現(xiàn)例子。這種設備的機器和其它部件由工業(yè)控制器操縱,所 述工業(yè)控制器接收和處理來自設備中的傳感器的傳感器數(shù)據并產生用于驅動設備中的致 動器的控制信號。例如,可以根據代表機械手的瞬時位置的傳感器數(shù)據和根據由控制程序 限定的機械手的期望軌跡來自動控制機械手的操作位置。由控制器生成的控制信號對在期 望方向上移動機械手的電驅動裝置進行激勵。用于控制機械手的控制操作可能很復雜。然 而,希望在控制過程中具有高靈活性。因此,通常使用可編程控制器,即其中控制邏輯由通 常被稱為應用程序的軟件確定的控制器。有通常用于對工業(yè)控制器進行編程的多種專用編程語言。具體而言,國際標準 IEC61131定義了多種編程語言。因為由這些編程語言不能獲得可在特定控制器上執(zhí)行的機 器代碼程序,所以就本發(fā)明而言它們是高級編程語言。相反,為了可在特定控制器上執(zhí)行以高級編程語言編寫的程序,必須將其轉譯成較低級的機器代碼程序。轉譯過程可以包括多 個階段,這些階段包括中間級程序代碼。為求簡化,在這里用術語“編譯器”表示包括逐行轉 譯器(解釋器)和其它種類的轉譯器的任意一種適當?shù)霓D譯器。類似地,在這里用術語“機 器代碼程序”表示所有的較低級的程序代碼,這些較低級的程序代碼是轉譯過程的結果并 且可以在控制器或者能夠提供來自受控過程或設備的實際傳感器數(shù)據的等效機器上運行。因為高級編程語言提供多個高級控制指令,這些指令允許程序員專注于控制問題 和控制邏輯而不是控制器的特定硬件上的實際實施,所以對高級編程語言的使用極大地推 動對工業(yè)控制器進行編程的過程。因此,高級編程語言被廣泛地使用。然而,用于現(xiàn)代高度自動化控制應用的控制程序可能很復雜,并且常常難以識別 編程錯誤。因此普遍使用調試工具。調試工具或者調試器是在發(fā)現(xiàn)其它程序(如應用程 序)中的編程錯誤的過程中使用的專用計算機程序。通常,調試工具允許以逐步模式(單 步)和/或使用被稱為斷點的模式運行待調試的應用程序。斷點是不在應用程序的正常進 程中使用的專用中止命令,該中止命令允許在斷點處中止和暫停所檢查的應用程序,從而 程序員可以有充足時間檢查在所述斷點處通過應用程序所達到的狀態(tài)。上文提到的EP1184758 A2公開了一種用于調試用于工業(yè)控制器的應用程序的方 法,其中可不僅在機器代碼級別而且在高級編程語言級別并且具體在流程圖級別上使用單 步模式和/或斷點模式。因而可在不同級別查尋編程錯誤,這被認為有助于錯誤檢測。DE102004062852 A1公開了一種具有綜合調試功能的工業(yè)控制器。該綜合調試器 允許如上文所述的逐步和/或使用斷點運行應用程序。然而可能存在其中不能中斷受控過 程,以便例如避免不受控制的機器動作的情形。因此,DE102004062852 A1提出了可被選擇 性地啟用或者停用的斷點。DE102004062852 A1因此解決了例如與調試用于桌面應用的計算機程序相比,對 于調試用于工業(yè)控制器的應用程序而言特有的基本問題,即由于不能在任何時刻停止受控 設備所導致的限制。未嘗不普遍的是僅能在模擬運行(即沒有實際移動或者控制設備)中 調試用于工業(yè)控制器的復雜控制程序。另外,使用現(xiàn)有調試工具來調試用于工業(yè)控制器的復雜控制程序仍然可能是非常 耗時和累人的過程。
發(fā)明內容
鑒于這一背景,本發(fā)明的目的在于提供一種用于對工業(yè)控制器進行編程的替代方 法和裝置,該方法和裝置包括用于復雜應用程序的快速調試的增強調試特征。根據本發(fā)明的一個方面,這一目的通過如開篇提及的方法來實現(xiàn),在該方法中,在 啟用調試工具的同時在控制器上執(zhí)行機器代碼程序,而調試工具確定運行于控制器上的機 器代碼與程序編輯器中示出的至少一個高級控制指令之間的逆向關系,調試工具從數(shù)據存 儲器讀取傳感器數(shù)據,且調試工具向至少一個高級控制指令分配來自數(shù)據存儲器的傳感器 數(shù)據,從而將至少一個高級控制指令與執(zhí)行機器代碼程序期間的實際系統(tǒng)狀態(tài)聯(lián)系起來。根據本發(fā)明的另一方面,這一目的通過如開篇提及的裝置來實現(xiàn),在該裝置中,調 試工具被配置為啟動機器代碼程序在控制器上的執(zhí)行,調試工具被配置為確定運行于控制 器上的機器代碼與程序編輯器中示出的至少一個高級控制指令之間的逆向關系,調試工具還被配置為從數(shù)據存儲器讀取傳感器數(shù)據,且調試工具被配置為向至少一個高級控制指令 分配來自數(shù)據存儲器的傳感器數(shù)據,從而將至少一個高級控制指令與執(zhí)行機器代碼程序期 間的實際系統(tǒng)狀態(tài)聯(lián)系起來。盡管在適當時也可以使用這些常規(guī)調試功能,但新方法和裝置的調試工具不依賴 于使用斷點和/或逐步模式。然而,核心方面在于建立實際運行于控制器上的機器代碼與 程序編輯器中示出的至少一個優(yōu)選為多個的高級控制指令之間的逆向關系。建立這一逆向 關系包括識別控制器上執(zhí)行的哪一組機器代碼指令對應于某個特定的高級控制指令,從而 可將程序編輯器中示出的至少一個高級控制指令與執(zhí)行機器代碼程序期間的實際系統(tǒng)狀 態(tài)聯(lián)系起來。確定逆向關系可以在一定程度上包括對機器代碼程序進行反編譯以便將機器 代碼指令重譯成至少一個高級控制指令的步驟。然而,可以有無需反編譯步驟的實施方式。 例如,通過將適當?shù)囊眉傻綑C器代碼中,逆向關系的基礎可以已經設定在編譯過程中。建立逆向關系允許將高級控制指令和受控設備的特定系統(tǒng)狀態(tài)聯(lián)系起來,該特定 系統(tǒng)狀態(tài)是由所述高級控制指令啟動的控制操作的結果。換而言之,新調試工具將至少一 個高級控制指令與它對受控設備的實際系統(tǒng)狀態(tài)的影響關聯(lián)起來。新調試工具自動地并且 優(yōu)選地針對應用程序的任何高級控制指令建立新逆向關系。新調試工具的另一方面在于向由于逆向關系而識別出的至少一個高級控制指令 分配從控制器的數(shù)據存儲器讀取出的實際傳感器數(shù)據。這兩個方面一起提供在控制過程期 間的具體時刻的實際系統(tǒng)狀態(tài)與導致這一具體系統(tǒng)狀態(tài)的高級控制指令之間的聯(lián)系。應認識到因為程序員可以容易地檢查具體的高級控制指令對受控設備的實際影 響,所以新調試工具有助于高效調試過程。建立在實際系統(tǒng)狀態(tài)與特定高級控制指令之間 的新聯(lián)系揭示了在高級控制程序與受控設備之間的因果鏈中的原因。應用程序越復雜,新 調試工具就越有助于調試過程。從而完全實現(xiàn)上述目的。在本發(fā)明的一個優(yōu)選改進中,當在控制器上執(zhí)行機器代碼程序時,調試工具從數(shù) 據存儲器反復讀取傳感器數(shù)據。根據這一改進,調試工具提供不僅在執(zhí)行控制程序期間的具體時刻而是更長時間 段的最新傳感器數(shù)據??梢栽谡{試過程中更容易地考量受控設備行為的長期變化。根據另一優(yōu)選改進,在控制器上實時執(zhí)行機器代碼程序。根據這一改進,既不以斷點也不以特定的逐步模式執(zhí)行機器代碼程序。相反,基本 上以與在實際控制過程中執(zhí)行機器代碼程序相同的方式執(zhí)行它。在現(xiàn)實生活條件下執(zhí)行機 器代碼程序提供了控制過程的逼真畫面,因此還進一步增強了調試過程。這對于必須應對 自然力(如重力)的應用程序和控制操作尤為成立,因為這些力無法被停止或者減緩。在另一改進中,向至少一個高級控制指令分配從數(shù)據存儲器讀取的傳感器數(shù)據歷 史。除此之外或者取而代之,調試工具從數(shù)據存儲器讀取傳感器數(shù)據,并且根據預定觸發(fā)條 件將其分配給至少一個高級控制指令。這兩種改進可以在如下情況下有助于用戶對收集的傳感器數(shù)據的分析在機器代 碼程序執(zhí)行于控制器上之時和/或在正在檢查的程序循環(huán)中傳感器數(shù)據很快變化。傳感器 數(shù)據歷史可以是數(shù)據集合的任何形式,該數(shù)據集合示出了傳感器數(shù)據在時間進程中的當前 和先前(歷史)值。預定觸發(fā)條件是為了識別讀取期望的傳感器數(shù)據的某個時刻而可以由 用戶限定或者自動限定的任何條件。因此,預定條件提供用于讀取向至少一個高級控制指
6令分配的傳感器數(shù)據的觸發(fā)信號。然而在另一改進中,以逐步方式在控制器上執(zhí)行機器代碼程序可以是有利的。如果在調試過程中(比如在很復雜的受控場景中)必須監(jiān)測和考慮大量傳感器數(shù) 據,則這一改進是有利的。在實際生活場景中如果可能則利用控制程序的逐步執(zhí)行,這有助 于程序員對所有相關傳感器數(shù)據的查看。在另一改進中,高級控制程序包括順序與執(zhí)行機器代碼程序期間的時間順序對應 的多個高級控制指令,而調試工具根據該時間順序向至少一個高級控制指令分配來自數(shù)據 存儲器的傳感器數(shù)據。根據這一改進,取決于高級程序變量在高級控制程序內的使用位置,程序編輯器 中示出的同一高級程序變量可以在基本上同一時間(或者至少在相同操作周期中)具有不 同值。例如,布爾變量可以在已經執(zhí)行至少一個高級控制指令之后具有“真”值,而相同布 爾變量可以在執(zhí)行所述高級控制指令之前具有“假”值。本改進反映高級程序變量的值由 于執(zhí)行機器代碼程序期間的時間順序所致的改變。這一改進還進一步有助于根據機器代碼 程序在控制器上的計時行為或者時間順序,通過運用實際傳感器數(shù)據來高效調試復雜的高 級控制程序。換而言之,這一改進之所以有利,是因為它考慮了調試過程中受控設備的計時 行為。根據又一改進,從多個高級控制指令中選擇有限數(shù)目的高級控制指令,并且調試 工具僅確定運行于控制器上的機器代碼與這些有限數(shù)目的高級控制指令之間的逆向關系。在這一改進中,僅有限數(shù)目的高級控制指令可用于新調試過程。該限制可能乍一 眼看似不利,但其已經表明可以更高效地操作調試工具,因為用于建立逆向關系所需的處 理時間更少了。換而言之,使調試工具專注于特別令人感興趣的有限數(shù)目的高級控制指令, 并且僅針對那些所選的控制指令確定逆向關系。可以針對有限數(shù)目的控制指令快很多地建 立逆向關系。在另一改進中,至少一個高級控制指令包括高級程序變量,而調試工具向高級程 序變量分配來自數(shù)據存儲器的傳感器數(shù)據。這一改進實現(xiàn)了實際傳感器數(shù)據向至少一個高級控制指令的很簡單和直接明了 的分配。因而,這一改進允許新調試工具的相當簡單的實施方式。然而在另一改進中,調試 工具可以向包括程序命令和程序變量的復雜控制指令分配來自數(shù)據存儲器的傳感器數(shù)據。 這后一改進提高了新調試工具的靈活性和性能。根據又一改進,至少一個高級控制指令對應于來自數(shù)據存儲器的多個傳感器數(shù) 據,其中調試工具根據多個傳感器數(shù)據來確定復雜數(shù)據變量,該復雜數(shù)據變量代表設備的 高級系統(tǒng)狀態(tài),并且其中調試工具向高級控制指令分配復雜數(shù)據變量。這一改進為高效調試過程提供十分靈活、高性能的方法。將多個不同傳感器數(shù)據 組合成復雜數(shù)據變量并且向高級控制指令分配所述復雜數(shù)據變量,這允許在調試過程中專 注于總體系統(tǒng)行為而不是詳細地監(jiān)測多個傳感器數(shù)據。例如,復雜數(shù)據變量可以表示機械 手的位置(上或者下、左或者右),其中定性的或者一般化(概括)的考慮可以對應于從機 器人的多個軸上的多個不同的位置編碼器而來的多個傳感器數(shù)據。如果在調試過程中主要 關注機器人的大致位置,則在調試過程中對復雜數(shù)據變量的使用允許監(jiān)測機械手的大致位 置,這比監(jiān)測多個不同傳感器數(shù)據更容易和更高效。
根據另一改進,調試工具在程序編輯器中在接近高級程序指令的位置顯示傳感器 數(shù)據(特別是復雜數(shù)據變量)。因為程序員可以同時(即用一個界面)看見高級控制指令和相應指令對實際設備 的影響,所以這一改進允許實現(xiàn)很方便和高效的調試過程。將實際傳感器數(shù)據反映到高級 程序代碼中,這使得很易于識別編程錯誤。根據另一改進,調試工具包括數(shù)據庫,該數(shù)據庫包括各自圖示出設備的多個預定 系統(tǒng)狀態(tài)之一的多個圖形符號,而調試工具根據分配的傳感器數(shù)據在接近高級程序指令的 位置顯示多個圖形符號中的一個(或者多個)圖形符號。如果復雜數(shù)據變量被用來將高級系統(tǒng)狀態(tài)反映到程序代碼中,則這一改進尤為有 利。例如,示出機械手在上方或者下方的機器人的圖形符號可被用來象征機械手的對應系 統(tǒng)狀態(tài)。然而這一改進也可以用于復雜度較低的傳感器數(shù)據,比如可以僅由1位(bit)表 示的接通/關斷開關。因為以很直觀方式將實際傳感器數(shù)據表示的實際系統(tǒng)狀態(tài)反映到高 級程序代碼中,所以這一改進為程序員提供很方便的易用接口。這極大地有助于調試用于 控制自動化設備的控制程序。
無需贅言,上文說明的特征和下文有待說明的特征可以不僅在它們的相應組合中 而且在其它組合中或者獨自地加以運用而不脫離本發(fā)明的范圍。下文將參照以下
本發(fā)明實施例的更多特征和細節(jié)圖1示出了根據本發(fā)明的包括可編程控制器的自動化設備的一個實施例,圖2在簡化圖示中示出了新方法和新裝置的一個實施例,圖3示出了根據圖2的方法和裝置的包括高級控制指令的程序編輯器,圖4根據一個優(yōu)選實施例將圖3的程序編輯器與實際傳感器數(shù)據一起示出,以及圖5示出了程序編輯器的另一優(yōu)選實施例,該程序編輯器包括高級控制指令和代 表實際系統(tǒng)數(shù)據的機器人的符號。
具體實施例方式圖1示出了根據本發(fā)明一個優(yōu)選實施例來控制和編程的設備10的簡化圖示。舉 例而言,設備10包括具有可移動機械手12的機器人11。機械手12的動作由可編程控制器 14控制??刂破?4從傳感器接收信號,這些傳感器被配置為測量或者檢測代表實際系統(tǒng)狀 態(tài)的物理量,該系統(tǒng)狀態(tài)例如是機械手12在給定時刻的位置或者速度。向控制器14傳送 傳感器信號,從而控制器14接收由傳感器測量或者檢測到的表示相應實際系統(tǒng)狀態(tài)的傳 感器數(shù)據。舉例而言,在圖1中示出了與旋轉驅動器18鄰近的傳感器16。傳感器16被配 置為檢測驅動器18的瞬時動作位置。驅動器18被配置為響應于來自控制器14的控制信 號來移動機械手12??刂破?4按照根據本發(fā)明編程的控制指令并且按照從傳感器16接收 的傳感器數(shù)據來控制驅動器18。無需贅言,設備10可以包括多種類型的多個傳感器和致動
o在本實施例中,控制器14也從被配置為監(jiān)測防護門22的閉合位置的防護門開關 20接收信號。防護門開關20是在現(xiàn)代自動化設備中用來避免危險情形的與安全有關的傳
8感器的典型例子。其它與安全有關的傳感器可以包括緊急關閉按鈕、光柵或者故障保護相 機系統(tǒng)(比如本受讓人的SafetyEYE 相機系統(tǒng))。根據本發(fā)明的優(yōu)選實施例,控制器14 被配置為處理與安全有關的傳感器數(shù)據和非與安全有關的(標準)傳感器數(shù)據,以便根據 這兩類信息來控制機器人11。在本實施例中,控制器14不僅控制驅動器18而且在需要時控制接觸器24、26,這 些接觸器被配置為響應于來自與安全有關的傳感器(如防護門開關20)的傳感器數(shù)據來中 斷向機器人11的供電以提供安全中止。然而應認識到本發(fā)明也可以用于不處理與安全有 關的傳感器數(shù)據的可編程控制器。圖2示出了用于對控制器14進行編程的編程工具30的一個優(yōu)選實施例。也更詳 細地示出了可編程控制器14。如從圖2可見,控制器14在這里包括兩個冗余微處理器32、34。微處理器32、34 被配置為以兩個通道的冗余度處理控制指令和傳感器數(shù)據。兩個微處理器比較它們的相 應處理結果并相互監(jiān)測,以便提供與安全有關的控制操作所需的故障保護。毋庸贅言,控 制器14可以具有三個通道的冗余度和/或其它種類的內置測試功能,以便符合歐洲標準 EN954-1的3類或4類對用來控制與安全有關的控制操作的控制器有關的要求,或者國際標 準IS013849-1或者IEC61508的類似要求。然而,如上文已經表明的那樣,新方法和裝置也 可以用于不符合安全控制器要求的控制器進行編程——雖然優(yōu)選使用安全控制器,因為新 方法和裝置尤其很適合于調試與安全有關的控制程序。控制器14包括用于接收包括多個機器代碼指令40的機器代碼程序38的程序存 儲器36。可想到程序存儲器36可以包括用于存儲多個冗余機器代碼程序的多個冗余程序 存儲器,每個冗余微處理器32、34—個程序存儲器。然而為求簡化,這里僅示出為兩個微處 理器32、34提供機器代碼程序的一個程序存儲器36。控制器14也包括用于存儲傳感器數(shù)據和用于存儲致動器數(shù)據的數(shù)據存儲器38。 從傳感器16、20接收傳感器數(shù)據,并且冗余微處理器32、34根據存儲于程序存儲器36中的 機器代碼指令來處理該傳感器數(shù)據。由于該數(shù)據處理,生成并且向遠程致動器18、24、26發(fā) 送致動器數(shù)據以便適當?shù)仳寗又聞悠?8、24、26。應認識到存儲于數(shù)據存儲器38中的傳感 器數(shù)據也可以包括預處理過的傳感器數(shù)據,比如從預處理2位冗余傳感器獲得的1位數(shù)據。編程工具30包括優(yōu)選地實施于通用個人計算機(PC)上的程序編輯器42。程序編 輯器42允許編寫和編輯包括多個高級控制指令46的高級控制程序44。根據優(yōu)選實施例, 程序編輯器42允許以國際標準IEC61131中限定的一種或者多種高級編程語言進行編程。編程工具30也包括用于編譯高級控制程序44以便創(chuàng)建機器代碼程序38的編譯 器48。然后經由接口 50向程序存儲器36中傳送機器代碼程序38,該接口可以是允許在基 于PC的編程工具30與控制器14之間傳送數(shù)據的任何合適的接口。如本領域技術人員應認識到的那樣,編譯器48和接口 50可以包括同樣提供程序 編輯器42的PC硬件部件和/或軟件部件。編程工具30還包括調試工具52,該調試工具在優(yōu)選實施例中也在PC上實施為軟 件和/或硬件部件。調試工具52被配置為經由通信鏈路54從數(shù)據存儲器38中讀取代表 設備的實際系統(tǒng)狀態(tài)的傳感器數(shù)據。在一些實施例中,調試工具52能夠在規(guī)定時限內反復 讀取傳感器數(shù)據,從而如標識數(shù)字55表明的那樣實際上讀取了傳感器數(shù)據歷史。
調試工具52也被配置為經由通信鏈路56識別當前在微處理器32上執(zhí)行哪些機 器代碼指令40。在一個實施例中,在微處理器32和/或34上執(zhí)行的機器代碼可以被配置 為向數(shù)據存儲器38中和/或向單獨存儲器(這里未示出)中寫入標識當前執(zhí)行的機器代 碼的標識符,從而調試工具可以容易地基于經由鏈路56讀取的標識符來識別當前機器代 碼指令。可想到調試工具52可以被配置為提供用于限定觸發(fā)條件的域57,該觸發(fā)條件觸 發(fā)跨鏈路54和/或56的讀取過程。優(yōu)選地,域57可由程序員用來限定觸發(fā)條件(例如 “如果機械手12在左邊為真(left = true),則從存儲器38讀取傳感器數(shù)據”)。以在下文中更詳細說明的方式,調試工具52將來自數(shù)據存儲器38的傳感器數(shù)據 與程序編輯器42中示出的高級控制指令46相互聯(lián)系起來。調試工具52因此被配置為同 時確定當前運行于微處理器32上的機器代碼與程序編輯器42中示出的高級控制指令之間 的逆向關系。在優(yōu)選實施例中,調試工具52被連接到包括多個圖形符號的數(shù)據庫58,每個 圖形符號圖示出機器人11的多個預定系統(tǒng)狀態(tài)之一。例如,數(shù)據庫58可以包括示出機械 手12在不同位置(上、下、左、右等)的機器人11的圖形符號。調試工具52可以被配置為 根據經由通信鏈路54接收到的實際傳感器數(shù)據來從多個圖形符號中選擇一個,以便如例 如圖3至圖5中所示將機器人11的當前系統(tǒng)狀態(tài)符號化地反映到高級控制程序44中。圖3示出了包括多個高級控制指令46的程序編輯器42。多個高級控制指令46形 成在本實施例中以文本語言編寫的高級控制程序。然而也可想到使用圖形編程語言,比如 已知的在國際標準IEC61131中定義的功能框圖(Function Block Diagram)。圖3示出了 停用調試工具52即沒有新調試功能的程序編輯器42。圖4示出了相同的程序編輯器42但啟用有限數(shù)目的高級控制指令46和調試工具 52的情況。如從圖4可見,文字數(shù)字符號60、62和圖形符號64、66與高級控制指令46 —起 顯示。符號60、62顯示高級程序變量68的當前值,在所示實施例中該變量為被稱為STATE 的變量。調試工具52根據當前傳感器數(shù)據確定程序變量68的當前值。如可從圖4中的圖示所見,由于控制操作的運行,和/或由于傳感器數(shù)據因其它 原因而產生的變化,在控制過程的進程中程序變量68可以具有不同值。調試工具52根據 與控制過程中的控制指令的時間序列69對應的時間線來顯示程序變量68的相應當前值。 因此,如在圖4中的符號60、62所示,程序變量68可以在一個高級控制指令中具有當前值 “5”,而它可以在其后的控制指令中具有當前值“6”。符號60、62顯示字母數(shù)字值,這用于字節(jié)(BYTE)、字(WORD)、整型(INTEGER)或者 實數(shù)型(REAL)類型的高級程序變量可能是有用的,這些數(shù)據類型在根據IEC61131的編程 語言中為通用數(shù)據類型。相反,符號64、66是圖形符號,優(yōu)選地可用于顯示布爾變量的當前 狀態(tài)。在圖4中示出的實施例中,符號64、66代表可以是“接通”或者“關斷”的“綠燈”。然 而由符號64、66象征的任何布爾程序變量的當前狀態(tài)同樣根據控制操作的時間序列和根 據實際傳感器數(shù)據來確定。圖5示出了包括高級控制程序44的程序編輯器42的另一例子,所述程序44包括 高級控制指令46。程序44包括兩個布爾變量70、72,并且在這里,控制程序的進程中的每個 程序變量70、72的相應當前狀態(tài)通過示出機械手12的象形圖的圖形符號74、76表示???想到圖形符號74、76可示出根據多個不同傳感器數(shù)據確定的機械手12的當前位置。調試工具52可以被配置為根據多個傳感器數(shù)據來確定復雜數(shù)據變量。例如,復雜數(shù)據變量可以 對應于表示機械手12的各關節(jié)的多個位置信息的多個傳感器數(shù)據。符號74、76可以是機 械手12在相應位置的畫面,每個畫面代表不同位置并從而代表復雜數(shù)據變量的不同值。
在優(yōu)選實施例中,在控制器14上無斷點且實時地執(zhí)行機器代碼程序38。然而也可 想到在適當時除了新調試理念之外還可以使用逐步模式和/或使用斷點。
權利要求
一種對用于控制自動化設備(10)的工業(yè)控制器(14)進行編程的方法,所述設備包括用于提供表示所述設備的實際系統(tǒng)狀態(tài)的傳感器數(shù)據的至少一個傳感器(16,20)和用于按照所述實際系統(tǒng)狀態(tài)來起作用的至少一個致動器(18,24,26),并且所述控制器(14)包括用于存儲所述傳感器數(shù)據的數(shù)據存儲器(38)和用于存儲機器代碼程序(38)的程序存儲器(36),所述方法包括以下步驟-提供具有程序編輯器(42)、調試工具(52)和編譯器(48)的編程工具(30),-使用所述程序編輯器(42)創(chuàng)建高級控制程序(44),所述高級控制程序(44)包括多個高級控制指令(46),-使用所述編譯器(48)編譯所述高級控制程序(44),以便創(chuàng)建包括用于反復讀取和處理所述傳感器數(shù)據的機器代碼指令(40)的機器代碼程序(38),-向所述程序存儲器(36)中加載所述機器代碼程序(38),以及-啟用用于調試所述高級控制程序(44)的所述調試工具(52),其中在所述程序編輯器(42)中示出所述高級控制指令(46),其特征在于在啟用所述調試工具(52)的同時在所述控制器(14)上執(zhí)行所述機器代碼程序(38),而所述調試工具(52)確定運行于所述控制器(14)上的所述機器代碼(38)與所述程序編輯器(42)中示出的至少一個高級控制指令(46)之間的逆向關系,所述調試工具(52)從所述數(shù)據存儲器(38)讀取所述傳感器數(shù)據,并且所述調試工具(52)向所述至少一個高級控制指令(46)分配來自所述數(shù)據存儲器(38)的所述傳感器數(shù)據,從而將所述至少一個高級控制指令與執(zhí)行所述機器代碼程序(38)期間的實際系統(tǒng)狀態(tài)聯(lián)系起來。
2.根據權利要求1所述的方法,其中在在所述控制器(14)上執(zhí)行所述機器代碼程序 (38)的同時所述調試工具(52)從所述數(shù)據存儲器(38)反復讀取所述傳感器數(shù)據。
3.根據權利要求1或2所述的方法,其中在所述控制器上實時執(zhí)行所述機器代碼程序 (38)。
4.根據權利要求1至3之一所述的方法,其中從所述數(shù)據存儲器(38)讀取傳感器數(shù)據 歷史(55)并且向所述至少一個高級控制指令(46)分配所述傳感器數(shù)據歷史(55)。
5.根據權利要求1至4之一所述的方法,其中所述調試工具(52)從所述數(shù)據存儲器 (38)讀取所述傳感器數(shù)據并且根據預定觸發(fā)條件(57)將它分配給所述至少一個高級控制 指令(46)。
6.根據權利要求1或2所述的方法,其中以逐步方式在所述控制器(14)上執(zhí)行所述機 器代碼程序(38)。
7.根據權利要求1至6之一所述的方法,其中所述高級控制程序(44)包括順序與執(zhí)行 所述機器代碼程序(38)期間的時間順序對應的多個高級控制指令(46),而所述調試工具 (52)根據所述時間順序向所述至少一個高級控制指令(46)分配來自所述數(shù)據存儲器(38) 的所述傳感器數(shù)據。
8.根據權利要求1至7之一所述的方法,其中從所述多個高級控制指令(46)中選擇有 限數(shù)目的高級控制指令(46),并且其中所述調試工具(52)僅確定運行于所述控制器(14) 上的所述機器代碼(38)與所述有限數(shù)目的高級控制指令(46)之間的逆向關系。
9.根據權利要求1至8之一所述的方法,其中所述至少一個高級控制指令(46)包括高 級程序變量(68),而所述調試工具(52)向所述高級程序變量(68)分配來自所述數(shù)據存儲器(38)的所述傳感器數(shù)據。
10.根據權利要求1至9之一所述的方法,其中所述至少一個高級控制指令(46)與來 自所述數(shù)據存儲器(38)的多個傳感器數(shù)據有關,其中所述調試工具(52)根據所述多個傳 感器數(shù)據確定復雜數(shù)據變量(74),所述復雜數(shù)據變量代表所述設備(10)的高級系統(tǒng)狀態(tài), 并且其中所述調試工具向所述高級控制指令(46)分配所述復雜數(shù)據變量。
11.根據權利要求1至9之一所述的方法,其中所述調試工具(52)在所述程序編輯器 (42)中在接近所述高級程序指令(46)的位置顯示所述傳感器數(shù)據。
12.根據權利要求11所述的方法,其中所述調試工具包括數(shù)據庫(58),所述數(shù)據庫包 括多個圖形符號(74,76),所述多個圖形符號中的每個圖形符號圖示所述設備(10)的多個 預定系統(tǒng)狀態(tài)之一,而所述調試工具(52)根據所分配的傳感器數(shù)據在接近所述高級程序 指令(46)的所述位置顯示所述多個圖形符號(74,76)之一。
13.—種包括程序代碼的計算機程序,配置為當作為對用于控制自動化設備的工業(yè)控 制器進行編程的編程工具在計算機上執(zhí)行所述程序代碼時,實施根據權利要求1至12之一 的方法的所有方法步驟。
14.一種用于對自動化設備(10)的工業(yè)控制器(14)進行編程的裝置,所述設備(10) 包括用于提供表示所述設備(10)的實際系統(tǒng)狀態(tài)的傳感器數(shù)據的至少一個傳感器(16, 20)和用于按照所述實際系統(tǒng)狀態(tài)來起作用的至少一個致動器(18,24,26),并且所述控制 器(14)包括用于存儲所述傳感器數(shù)據的數(shù)據存儲器(38)和用于存儲機器代碼程序(38) 的程序存儲器(36),所述裝置包括-程序編輯器(42),用于創(chuàng)建高級控制程序(44),所述高級控制程序(44)包括多個高 級控制指令(46),_編譯器(48),用于編譯所述高級控制程序(44),以便創(chuàng)建包括用于反復讀取和處理 所述傳感器數(shù)據的機器代碼指令(40)的機器代碼程序(38),-接口(50),用于向所述控制器(14)的所述程序存儲器(36)中加載所述機器代碼程 序(38),以及-調試工具(52),用于調試所述高級控制程序(44),其中在所述程序編輯器(42)中示 出所述高級控制指令(46),其特征在于所述調試工具(52)被配置為在所述控制器(14)上啟動所述機器代碼程序 (38)的執(zhí)行,所述調試工具(52)被配置為確定運行于所述控制器(14)上的所述機器代碼 (38)與所述程序編輯器(42)中示出的至少一個高級控制指令(46)之間的逆向關系,所述 調試工具(52)還被配置為從所述數(shù)據存儲器(38)讀取所述傳感器數(shù)據,并且所述調試工 具(52)被配置為向所述至少一個高級控制指令(46)分配來自所述數(shù)據存儲器(38)的所 述傳感器數(shù)據,由此將所述至少一個高級控制指令(46)與執(zhí)行所述機器代碼程序(38)期 間的實際系統(tǒng)狀態(tài)聯(lián)系起來。
全文摘要
對自動化設備的工業(yè)控制器編程的方法和裝置。設備包括提供表示設備實際系統(tǒng)狀態(tài)的傳感器數(shù)據的至少一個傳感器和按實際系統(tǒng)狀態(tài)起作用的至少一個致動器。用于控制設備的控制器包括存儲傳感器數(shù)據的數(shù)據存儲器和存儲機器代碼程序的程序存儲器。對控制器編程的編程工具包括程序編輯器、調試工具和編譯器。據本發(fā)明的一個方面,在啟用調試工具的同時在控制器上執(zhí)行機器代碼程序,且調試工具確定運行于控制器上的機器代碼與程序編輯器中示出的至少一個高級控制指令之間的逆向關系。調試工具從控制器中的數(shù)據存儲器讀取傳感器數(shù)據并向至少一個高級控制指令分配傳感器數(shù)據,由此將至少一個高級控制指令與執(zhí)行機器代碼程序期間的實際系統(tǒng)狀態(tài)聯(lián)系起來。
文檔編號G05B19/05GK101866159SQ201010167320
公開日2010年10月20日 申請日期2010年4月20日 優(yōu)先權日2009年4月20日
發(fā)明者弗洛里安·斯坦科, 蒂莫·納夫拉蒂爾, 赫伯特·沃爾特, 馬泰奧·坎塔雷利, 馬蒂亞斯·羅伊施 申請人:皮爾茨公司