專利名稱:控制器支持裝置、控制程序的仿真方法、控制器支持程序以及用于存儲控制器支持程序的 ...的制作方法
技術領域:
本發(fā)明涉及一種能夠仿真控制程序的控制器支持裝置、控制程序的仿真方法、控制器支持程序以及用于存儲控制器支持程序的計算機可讀存儲介質,其中該控制程序包括在用于控制機器移動的控制器中針對每個控制周期被執(zhí)行的順序控制部分和運動控制部分。
背景技術:
公開號為2001-209406的日本未審查專利(專利文獻I)描述了一種用來仿真可編程邏輯控制器(PLC)程序指令執(zhí)行的PLC仿真器裝置。PLC程序具體而言是一種用諸如梯 形圖或指令列表之類的語言描述的順序程序。PLC仿真器裝置針對每一個指令執(zhí)行來執(zhí)行PLC程序,并顯示執(zhí)行結果。因而方便了 PLC程序的調試。專利文獻I :公開號為2001-209406的日本未審查專利
發(fā)明內容
待由本發(fā)明解決的問題通常而言,順序程序的操作確認(check)基本上包括關于針對每一個指令執(zhí)行獲得了在預定輸入條件下假定的輸出的確認。而且,如同專利文獻I中所描述的,一輪執(zhí)行可以被重復多次以等待預定輸入條件出現。然而,如果預定輸入條件出現,則以一個周期的執(zhí)行來確認指令執(zhí)行的操作。代替重復一輪執(zhí)行,可以通過手動輸入或使用調試程序來提供預定輸入條件,從而使得能夠以一個周期的執(zhí)行來確認某個指令執(zhí)行的操作。在包括運動控制(該運動控制通過對于每個控制周期向用于驅動伺服電機、步進電機等的電機驅動器提供指令值來控制電機操作)的控制程序中,程序的運行需要被跟蹤很多個控制周期以確認待提供給電機驅動器的指令值是否是如同設計時假定的那樣所計算的。例如,當控制周期是Ims時,需要確認計算一萬次所計算出的指令值的推移(transition)以確認十秒鐘的電機操作。在這種情況下,為了檢查中間的任意控制周期的指令值,需要重復地執(zhí)行控制程序,從開始直至到達相關的那個控制周期。因此,與順序控制部分的情況相反,不能通過提供預定輸入條件以及僅執(zhí)行針對程序的運動控制部分的相關控制周期來實施操作確認。因此,需要重新建立適于包括運動控制部分的控制程序的操作確認方法。在這種情況下,需要考慮以下的問題。在運動控制中,“以給定速度從當前位置移動到目標位置”為單位的運動以復數形式被連接以在整體上編程出一段長時間內的復雜移動。在這種情況下,如果控制程序的運動控制部分被修正或者影響運動控制部分的開始或中斷的順序控制部分被修正以確認結果,則對于一系列運動需要從開始實施仿真執(zhí)行,因而關于程序修正結果的確認需要非常長的時間。此外,如果控制程序使得運動控制的內容根據來自傳感器的輸入以及來自手動開關的輸入而改變,那么輸入內容和輸入時機需要在毎次重新執(zhí)行仿真時被精確地再現,而這是很不方便的。鑒于上述問題,發(fā)明人發(fā)現,如果當仿 真包括運動控制的控制程序的執(zhí)行時能夠使從位于執(zhí)行的開始和結束之間的中間控制周期開始進行重新執(zhí)行,則能夠實現高度便利。本發(fā)明的目的是提供一種控制器支持裝置、控制程序的仿真方法、控制器支持程序以及用于存儲控制器支持程序的計算機可讀存儲介質,該控制器支持裝置能夠使在仿真包括運動控制的控制程序的執(zhí)行時從位于執(zhí)行的開始和結束之間的中間控制周期開始進行重新執(zhí)行。解決問題的方案根據本發(fā)明一個方案的一種控制器支持裝置涉及ー種控制器支持裝置,用于仿真控制程序,所述控制程序包括在用于控制機器移動的控制器中針對每個控制周期被執(zhí)行的順序控制部分和運動控制部分,所述控制器支持裝置包括仿真單元,用于仿真所述控制程序的執(zhí)行并且生成執(zhí)行結果數據;顯示數據創(chuàng)建単元,用于創(chuàng)建用于顯示由所述仿真単元生成的所述執(zhí)行結果數據隨時間變化的顯示數據;接受単元,用于接受用戶關于所述仿真単元的指示;以及顯示器,用于顯示由所述顯示數據創(chuàng)建單元創(chuàng)建的顯示數據。所述仿真単元包括順序計算執(zhí)行部,用于仿真所述控制程序的所述順序控制部分的執(zhí)行,并生成與所述順序控制部分相關的執(zhí)行結果數據;順序變量存儲部,用于供用于執(zhí)行仿真的所述順序計算執(zhí)行部所使用;運動計算執(zhí)行部,用于仿真所述控制程序的運動控制部分的執(zhí)行,并生成與所述運動控制部分相關的執(zhí)行結果數據;運動變量存儲部,用于供用于執(zhí)行仿真的所述運動計算執(zhí)行部所使用;控制周期計數部,用于對控制周期的執(zhí)行數目進行計數;以及恢復數據存儲部,用于保存恢復數據,所述恢復數據包括與能夠開始重新執(zhí)行仿真的可恢復控制周期相對應的執(zhí)行數目的數據以及從所述可恢復控制周期開始重新執(zhí)行仿真所使用的變量數據,所述變量數據為存儲在所述順序變量存儲部和所述運動變量存儲部中的數據。所述仿真単元指定所述可恢復控制周期,并將與所述可恢復控制周期相應的所述恢復數據存儲在所述恢復數據存儲部中。所述仿真単元從所述接受單元獲取關于指定用來開始重新執(zhí)行的控制周期的具體要求,并使用該具體要求來指定用來開始重新執(zhí)行的控制周期,并且使用所保存的與所指定的控制周期相應的恢復數據來從所指定的控制周期開始重新執(zhí)行仿真。優(yōu)選地,還設置了用來編輯控制程序的控制程序編輯單元。該控制程序編輯單元能夠接受用戶操作以修正在所述仿真単元中執(zhí)行的控制程序仿真。所述仿真単元能夠接受用戶操作以針對所述控制程序編輯單元修正的控制程序使用在所述控制程序被修正之前所保存的恢復數據來開始重新執(zhí)行仿真。特別地,所述控制程序編輯單元通過用戶操作來修正所述控制程序的所述運動控制部分。所述仿真單元從所述控制程序編輯單元獲取用于指定被修正的運動控制部分的信息,從多個可恢復控制周期中指定能夠從最新修正的運動控制部分實施重新執(zhí)行的控制周期,并且從所述控制周期開始重新執(zhí)行仿真。特別地,所述控制程序編輯單元在顯示器上以列表顯示所述控制程序的內容。所述接受単元接受列表顯示上用來開始重新執(zhí)行的運動控制部分的具體要求。所述仿真単元從多個可恢復控制周期中指定能夠從指定的運動控制部分實施重新執(zhí)行的控制周期,并且從所述控制周期開始重新執(zhí)行仿真。優(yōu)選地,所述控制程序的所述運動控制部分在每個控制周期中處于活動狀態(tài)或者處于非所述活動狀態(tài)的不活動狀態(tài),其中所述活動狀態(tài)是計算指令值的狀態(tài)。所述仿真單元以所述運動控制部分從所述不活動狀態(tài)變?yōu)樗龌顒訝顟B(tài)的控制周期作為基準來指定所述可恢復控制周期。優(yōu)選地,所述控制程序的運動控制部分在每個控制周期中處于執(zhí)行狀態(tài)或處于非所述執(zhí)行狀態(tài)的不執(zhí)行狀態(tài),其中在所述執(zhí)行狀態(tài)中所述運動控制部分處于執(zhí)行中。所述仿真單元以所述運動控制部分從所述不執(zhí)行狀態(tài)變?yōu)樗鰣?zhí)行狀態(tài)的控制周期作為基準來指定所述可恢復控制周期。 優(yōu)選地,所述仿真単元將對于每個恒定間隔的控制周期指定為所述可恢復控制周期。優(yōu)選地,所述顯示數據創(chuàng)建單元創(chuàng)建用于將所述執(zhí)行結果數據隨時間的變化顯示為圖形的顯示數據。所述接受単元接受關于顯示在顯示器上的圖形位置的用戶指示。所述仿真單元從多個可恢復控制周期中指定與用戶指示的圖形上的位置相應的控制周期,并且從這個控制周期開始重新執(zhí)行仿真。優(yōu)選地,所述顯示數據創(chuàng)建單元創(chuàng)建用來將針對所述仿真単元所生成的位置的執(zhí)行結果數據隨時間的變化顯示為ニ維空間或三維空間中的軌跡的顯示數據。所述接受単元接受關于所述軌跡上的位置的用戶指示。所述仿真単元從多個可恢復控制周期中指定與用戶指示的軌跡上的位置相應的控制周期,并且從所述控制周期開始重新執(zhí)行仿真。優(yōu)選地,所述顯示數據創(chuàng)建單元創(chuàng)建用于將所述執(zhí)行結果數據隨時間的變化顯示為位置列表的顯示數據。所述接受単元接受關于顯示在顯示器上的位置列表中的位置的用戶指示。所述仿真単元從多個可恢復控制周期中指定與用戶指示的位置列表中的位置相對應的控制周期,并且從所述控制周期開始重新執(zhí)行仿真。根據本發(fā)明另一方案的控制程序的仿真方法涉及ー種用于在包括顯示器的控制器支持裝置中仿真控制程序的控制程序仿真方法,所述控制程序包括在用于控制機器移動的控制器中針對每個控制周期被執(zhí)行的順序控制部分和運動控制部分,所述控制程序仿真方法包括以下步驟仿真計算步驟,根據用戶指示仿真所述控制程序的執(zhí)行,并生成執(zhí)行結果數據;顯示數據創(chuàng)建步驟,創(chuàng)建用于顯示由所述仿真計算步驟生成的所述執(zhí)行結果數據隨時間變化的顯示數據;顯示步驟,將所述顯示數據創(chuàng)建步驟創(chuàng)建的所述顯示數據顯示在所述顯示器上。所述仿真計算步驟包括順序計算執(zhí)行步驟,仿真所述控制程序的所述順序控制部分的執(zhí)行,并生成與所述順序控制部分相關的執(zhí)行結果數據;運動計算執(zhí)行步驟,仿真所述控制程序的所述運動控制部分的執(zhí)行,并生成與所述運動控制部分相關的執(zhí)行結果數據;控制周期計數步驟,對控制周期的執(zhí)行數目進行計數;指定可恢復控制周期的步驟,所述可恢復控制周期是能夠開始重新執(zhí)行仿真的控制周期;恢復數據保存步驟,保存恢復數據,所述恢復數據包括關于與所述可恢復控制周期相應的執(zhí)行數目的數據以及從所述可恢復控制周期開始重新執(zhí)行仿真用到的變量數據,所述變量數據包括與所述順序控制部分的執(zhí)行相關聯的順序變量數據以及與所述運動控制部分的執(zhí)行相關聯的運動變量數據;以及重新執(zhí)行開始步驟接受用來指定開始重新執(zhí)行的控制周期的用戶具體要求,使用所述具體要求來指定用來開始重新執(zhí)行的控制周期,并且使用所保存的與所指定的控制周期相對應的恢復數據來從所指定的控制周期開始重新執(zhí)行仿真。根據本發(fā)明的又一方案的控制器支持程序涉及ー種用于在包括顯示器的控制器支持裝置中仿真控制程序的控制器支持程序,所述控制程序包括在用于控制機器移動的控制器中針對每個控制周期被執(zhí)行的順序控制部分和運動控制部分。所述控制程序使所述控制器支持裝置執(zhí)行如下步驟仿真計算步驟根據用戶指示仿真所述控制程序的執(zhí)行,并生成執(zhí)行結果數據;顯示數據創(chuàng)建步驟創(chuàng)建用于顯示由所述仿真計算步驟生成的所述執(zhí)行結果數據隨時間變化的顯示數據;顯示步驟將所述顯示數據創(chuàng)建步驟創(chuàng)建的所述顯示數據顯示在所述顯示器上。所述仿真計算步驟包括順序計算執(zhí)行步驟,仿真所述控制程序的所述順序控制部分的執(zhí)行,并生成與所述順序控制部分相關的執(zhí)行結果數據;運動計算執(zhí)行步驟,仿真所述控制程序的所述運動控制部分的執(zhí)行,并生成與所述運動控制部分相 關的執(zhí)行結果數據;控制周期計數步驟,對所述控制周期的執(zhí)行數目進行計數;指定可恢復控制周期的步驟,所述可恢復控制周期是能夠開始重新執(zhí)行仿真的控制周期;恢復數據保存步驟,保存恢復數據,所述恢復數據包括關于與所述可恢復控制周期相應的執(zhí)行數目的數據以及從所述可恢復控制周期開始重新執(zhí)行仿真所使用的變量數據,所述變量數據包括與所述順序控制部分的執(zhí)行相關聯的順序變量數據以及與所述運動控制部分的執(zhí)行相關聯的運動變量數據;以及,重新執(zhí)行開始步驟,接受用來指定開始重新執(zhí)行的控制周期的用戶具體要求,使用所述具體要求來指定用來開始重新執(zhí)行的控制周期,并且使用所保存的與所指定的控制周期相應的恢復數據來從所指定的周期開始重新執(zhí)行仿真。根據本發(fā)明又一方案的一種用于存儲控制器支持程序的記錄介質涉及一種存儲有控制器支持程序的計算機可讀存儲介質,所述控制器支持程序用于包括在顯示器的控制器支持裝置中仿真控制程序,所述控制程序包括在用于控制機器移動的控制器中針對每個控制周期被執(zhí)行的順序控制部分和運動控制部分。所述控制程序使所述控制器支持裝置執(zhí)行如下步驟仿真計算步驟,根據用戶指示仿真所述控制程序的執(zhí)行,并生成執(zhí)行結果數據;顯示數據創(chuàng)建步驟,創(chuàng)建用于顯示由所述仿真計算步驟生成的所述執(zhí)行結果數據隨時間變化的顯示數據;顯示步驟,將所述顯示數據創(chuàng)建步驟創(chuàng)建的所述顯示數據顯示在顯示器上。所述仿真計算步驟包括順序計算執(zhí)行步驟,仿真所述控制程序的所述順序控制部分的執(zhí)行,并生成與所述順序控制部分相關的執(zhí)行結果數據;運動計算執(zhí)行步驟,仿真所述控制程序的所述運動控制部分的執(zhí)行,并生成與所述運動控制部分相關的執(zhí)行結果數據;控制周期計數步驟,對控制周期的執(zhí)行數目進行計數;指定可恢復控制周期的步驟,所述可恢復控制周期是能夠開始重新執(zhí)行仿真的控制周期;恢復數據保存步驟,保存恢復數據,所述恢復數據包括關于與所述可恢復控制周期相對應的執(zhí)行數目的數據以及從所述可恢復控制周期開始重新執(zhí)行仿真所使用的變量數據,所述變量數據包括與所述順序控制部分的執(zhí)行相關聯的順序變量數據以及與所述運動控制部分的執(zhí)行相關聯的運動變量數據;以及重新執(zhí)行開始步驟接受用來指定開始重新執(zhí)行的控制周期的用戶具體要求,使用所述具體要求來指定用來開始重新執(zhí)行的控制周期,并且使用所保存的與所指定的控制周期相應的恢復數據來從所指定的周期開始重新執(zhí)行仿真。本發(fā)明的效果根據本發(fā)明,當仿真包括運動控制的控制程序的執(zhí)行吋,由于能夠從位于執(zhí)行開始到結束之間的中間的控制周期開始重新執(zhí)行,因而方便了程序的操作確認。
圖I是描述根據本發(fā)明實施例的控制系統的配置的視圖;圖2是描述根據本發(fā)明實施例的PC 6的硬件配置的視圖;圖3是描述當CPU 901執(zhí)行控制器支持程序8時實現的功能塊的視圖;圖4是描述根據本發(fā)明實施例的仿真單元806的功能的詳細框圖; 圖5是描述根據本發(fā)明實施例的控制程序調試操作的流程圖;圖6是描述根據本發(fā)明實施例的控制器支持程序8的執(zhí)行的流程圖;圖7是描述根據本發(fā)明實施例的仿真單元806中仿真執(zhí)行的流程圖;圖8A和圖8B是描述控制周期中的處理以時間順序排布的情況中的視圖;圖9是描述根據本發(fā)明實施例的與計算指令值的控制周期相關的仿真単元806中數據流的視圖;圖10是描述根據本發(fā)明實施例的與沒有計算指令值的控制周期相關的仿真単元806中數據流的視圖;圖IlA和圖IlB是描述根據本發(fā)明實施例的IC芯片轉移裝置100的視圖。圖12是描述根據本發(fā)明實施例的IC芯片轉移裝置100的操作流程的視圖;圖13是描述用來控制IC芯片轉移裝置100中XYZ導桿50的控制程序的一部分的視圖;圖14是描述根據本發(fā)明實施例的控制器支持程序的窗ロ屏幕的視圖;圖15是描述根據本發(fā)明實施例的可恢復點設置方法的選擇窗ロ屏幕1100的視圖;圖16是描述根據本發(fā)明實施例的時間表窗ロ屏幕1200的視圖;圖17是描述根據本發(fā)明實施例的空間軌跡顯示窗ロ屏幕1300的視圖;圖18是描述根據本發(fā)明實施例的軸位置列表的顯示窗ロ屏幕1400的視圖;圖19A和圖19B是描述根據本發(fā)明實施例的Buffered模式的視圖;圖20是描述根據本發(fā)明實施例的用于Aborting模式中一部分FB的端子的輸入信號和輸出信號的時序表的視圖;圖21是示出根據本發(fā)明實施例的用于BlendingNext模式中一部分FB的端子的輸入信號和輸出信號的時序表的視圖;圖22是描述根據本發(fā)明實施例的用于BlendingPrevious模式中一部分FB的端子的輸入信號和輸入信號的時序表的視圖。
具體實施例方式下文將參照附圖詳細描述本發(fā)明的實施例。在整個附圖中,相同的附圖標記指代相同或相應的部分,并且將省略其描述。
圖I是描述根據本發(fā)明實施例的控制系統的配置的視圖。參見圖1,根據本發(fā)明實施例的控制系統配置有服務器2、網絡4、PC (個人電腦)6、控制器14以及控制對象裝置16。服務器2通過網絡4連接至PC 6。PC 6可通信地連接至用來控制該控制對象裝置16的控制器14。PC 6用作根據本發(fā)明一個實施例的控制器支持裝置。PC 6安裝有控制器支持程序8,并且存儲有由用戶創(chuàng)建的控制程序10。緊湊只讀光盤存儲器(CD-R0M)12存儲該控制器支持程序8。安裝在PC 6中的控制器支持程序8是從CD-ROM 12中被安裝的??刂破?4控制該控制對象裝置16的移動。在本發(fā)明的實施例中,可編程邏輯控制器(PLC)被用作控制器14的ー個實例。換言之,PLC具有所謂的運動控制功能??刂破?4存儲控制程序15,該控制程序15定義了關于控制對象裝置16的控制內容??刂破?4針對每個控制周期執(zhí)行ー輪控制程序15。存 儲在控制器14中的控制程序15是通過拷貝存儲在PC 6中的控制程序10而獲得的拷貝數據,并且是從PC 6傳輸過來的??刂茖ο笱b置16包括電機18 (例如,伺服電機和步進電機)以及用來驅動電機的電機驅動器17。驅動電流從電機驅動器17被供應至電機18。電機驅動器17從執(zhí)行控制程序15的控制器14接受針對每個控制周期的位置指令值,井向電機18提供與該指令值相對應的驅動電流。如果電機18是伺服電機,則電機18包括編碼器,并且電機18旋轉位置的實際測量值由該編碼器檢測。電機旋轉位置的實際測量值用于由電機驅動器17進行的反饋控制。在以上描述中,已經描述了通過⑶-ROM 12將控制器支持程序安裝在PC 6中的情況,然而并非特別地限制于此,也可以通過網絡4將控制器支持程序從服務器2下載到PC6。對于控制程序而言也是如此。圖2是描述根據本發(fā)明實施例的PC 6的硬件配置的視圖。參見圖2,根據本發(fā)明實施例的PC 6包括CPU 901 (該CPU901是處理裝置)、R0M902、RAM 903 以及 HDD 904 (ROM 902、RAM 903 以及 HDD 904 是存儲裝置)、CD-ROM 驅動裝置908 (⑶-ROM驅動裝置908是數據讀取單元)、通信IF 909 (通信IF 909是通信裝置)、監(jiān)視器907 (監(jiān)視器907是顯示裝置)以及鍵盤905和鼠標906 (鍵盤905和鼠標906是輸入裝置)。這些單元通過內部總線910的方式彼此連接。HDD 904典型地是非易失性磁性存儲器,并且存儲由⑶-ROM驅動裝置908從⑶-ROM 12中讀取的控制器支持程序。HDD 904還存儲控制程序15。CPU 901開發(fā)存儲在HDD 904至RAM 903等中的根據本實施例的控制器支持程序8,并且執(zhí)行該程序。RAM 903是易失性存儲器,并且用作工作存儲器。ROM 902通常存儲諸如操作系統(OS)等之類的程序。通信IF 909典型地支持諸如以太網(Ethernet,為已被注冊的商標)和USB (通用串行總線)之類的通用通信協議,并且通過互聯網4提供與服務器2之間的數據通信,以及提供與控制器14之間的數據通信。
監(jiān)視器907被配置為液晶顯示裝置、CRT (陰極射線管)、等離子體顯示裝置等,并且顯示PC 6的處理結果等。鍵盤905接受用戶的按鍵輸入,并且鼠標906接受用戶的定點操作。圖3是描述當CPU 901執(zhí)行控制器支持程序8時實現的功能塊的視圖。參見圖3,示出了用戶接ロ單元802、顯示數據創(chuàng)建單元804、仿真單元806、控制程序存儲單元808、控制程序編輯單元810以及控制器接ロ単元812。用戶接ロ單元802是這樣ー個單元,其用來創(chuàng)建將被顯示在PC 6的監(jiān)視器907上的窗ロ屏幕內容,并且用來接受用戶通過鍵盤905和鼠標906進行的操作。控制程序編輯單元810使用戶能夠輸入并編輯控制程序。如果有必要進行編譯來執(zhí)行控制程序,則還實施編譯。創(chuàng)建的控制程序通過控制器接ロ単元812被發(fā)送至控制器14。創(chuàng)建的控制程序存儲在控制程序存儲單元808中,控制程序存儲單元808是HDD 904中的預定區(qū)域。控制程序編輯單元810通過控制器接ロ単元812讀出存儲在控制器14中 的控制程序15并且編輯該控制程序。仿真單元806是控制器14的仿真器。仿真單元806仿真控制器14的如下操作即,控制器14根據存儲在控制程序存儲單元808中的控制程序10來執(zhí)行控制程序15,并計算針對每個控制周期控制器14將輸出的位置指令值。仿真單元806還能夠仿真信號從外部到達并且影響控制程序的操作的狀態(tài),或者能夠仿真這樣的狀態(tài),即,控制器14的內部狀態(tài)(例如,控制器14中存儲器的存儲內容)通過控制程序15自己本身的執(zhí)行而改變,并且這種改變影響控制程序15的操作。
仿真單元806通過用戶接ロ単元802接收與仿真執(zhí)行相關的用戶指示。換言之,用戶接ロ単元802還用作用來接收關于仿真單元806的用戶指示的裝置。顯示數據創(chuàng)建單元804創(chuàng)建顯示數據,該顯示數據用來顯示仿真單元806創(chuàng)建的執(zhí)行結果數據隨時間的變化。顯示器數據創(chuàng)建単元804將創(chuàng)建的顯示數據發(fā)送至用戶接ロ単元802,以在PC 6的監(jiān)視器907上以圖形和字符的形式顯示該顯示數據。圖4是描述根據本發(fā)明實施例的仿真單元806的功能的詳細框圖。參見圖4,根據本發(fā)明實施例的仿真單元806包括仿真控制部820、調試輔助部822、控制周期計數部824、恢復數據存儲部826、恢復數據緩沖器828、執(zhí)行結果數據存儲部830、順序控制仿真部840以及運動控制仿真部850?;謴蛿祿鎯Σ?26、恢復數據緩沖器828以及執(zhí)行結果數據存儲部830分別使用RAM 903或HDD 904的預定區(qū)域。仿真控制部820從控制程序存儲單元808讀取控制程序10,仿真執(zhí)行以及從中間開始重新執(zhí)行控制程序10,并且伴隨著控制順序控制仿真部840、運動控制仿真部850、控制周期計數部824、恢復數據緩沖器828、恢復數據存儲部826以及執(zhí)行結果數據存儲部830中的數據流。稍后將描述具體的數據流。順序控制仿真部840執(zhí)行控制程序10的順序控制部分。運動控制仿真部850執(zhí)行控制程序10的運動控制部分??刂瞥绦?0的運動控制部分是用來計算針對每個控制周期待提供給電機驅動器17的指令值的部分。例如,以梯形圖中使用的運動功能塊(function block)的形式來描述運動控制部分。后文中,有時將運動功能塊簡化描述為FB??刂瞥绦?0的順序控制部分是指除控制程序10的運動控制部分之外的部分。順序控制部分除了包括梯形圖的繼電器(relay sequence)部分之外,還包括數值計算指令或數值計算功能塊。順序控制仿真部840包括順序計算執(zhí)行部844、順序變量存儲部846以及順序計算控制部842。順序計算控制部842控制順序控制部分的執(zhí)行。順序計算執(zhí)行部844根據順序計算控制部842的指令仿真執(zhí)行控制程序的順序控制部分,并且生成與順序控制部分相關的執(zhí)行結果數據。順序變量存儲部846存儲與根據順序計算控制部842的指令進行的順序控制部分執(zhí)行相關的順序變量。順序變量存儲部846使用RAM 903或HDD904的預定區(qū)域。 運動控制仿真部850包括運動計算執(zhí)行部854、運動變量存儲部856以及運動計算控制部852。運動計算控制部852控制運動控制部分的執(zhí)行。運動計算執(zhí)行部854根據運動計算控制部852的指令仿真執(zhí)行控制程序的運動控制部分,并生成與運動控制部分相關的執(zhí)行結果數據。運動變量存儲部856存儲與根據運動計算控制部852的指令進行的與運動控制部分執(zhí)行相關的運動變量。運動變量存儲部856使用RAM 903或HDD904的預定區(qū)域??刂浦芷谟嫈挡?24對控制周期的執(zhí)行數目數進行計數?;謴蛿祿彌_器828臨時保存針對每個控制周期在恢復數據存儲部826中保存的那種類型的數據?;謴蛿祿鎯Σ?26保存對于在仿真被執(zhí)行了至少一次后從仿真中間開始重新執(zhí)行而言所必要的恢復數據。待被保存的數據是臨時保存在恢復數據緩沖器828中的數據。恢復數據包括以下三種類型的數據。第一種是與可恢復控制周期相對應的控制周期的執(zhí)行數目的數據,在可恢復控制周期中能夠開始重新執(zhí)行仿真。第二種是存儲在順序變量存儲部846的數據中、從可恢復控制周期開始重新執(zhí)行仿真所用到的順序變量數據。第三種是存儲在動作變量存儲部856的數據中、從可恢復控制周期開始重新執(zhí)行仿真所用到的運動變量數據。執(zhí)行結果數據存儲部830存儲用于顯示的執(zhí)行結果數據。調試輔助部822提供調試中用到的功能,例如,斷點設置(該斷點是用來在控制程序中間暫停仿真的區(qū)域)、逐步執(zhí)行設置(該逐步執(zhí)行設置用來在每執(zhí)行一步控制程序時暫停),等等。調試輔助部822使得仿真控制部820在通過用戶接ロ単元802接收到與仿真執(zhí)行和從中間開始的重新執(zhí)行相關的用戶指示以及其他調試功能時基于該用戶指示來執(zhí)行操作。當配置仿真單元806的每個部協調運行吋,仿真單元806通過用戶接ロ単元802獲取用來指定開始重新執(zhí)行的控制周期的具體要求(specification),使用這種具體要求來指定用來開始重新執(zhí)行的控制周期,并且使用與指定的控制周期相對應的恢復數據來從指定的控制周期開始重新執(zhí)行仿真。圖5是描述根據本發(fā)明實施例的控制程序的調試操作的流程圖。
參見圖5,首先創(chuàng)建控制程序(步驟SO)。然后,仿真執(zhí)行該控制程序(步驟S2)。然后,確定是否獲得了假定的結果(步驟S4)。如果在步驟S4確定獲得了假定的結果,則該處理繼續(xù)步驟S6,由作為實際機器的控制器14實施操作確認,并在必要時,根據控制器支持程序8修正PC 6中的控制程序。然后,結束該處理。如果在步驟S4確定沒有獲取假定的結果(在步驟S4中為否),則修正控制程序(步驟S8)。該處理再次返回到S2,并且基于修正后的控制程序來實施仿真執(zhí)行。隨后的處理與以上的處理類似,因此詳細的描述將不再重復。獲得了假定的結果的控制程序被存儲在控制程序存儲單元808中。圖6是描述根據本發(fā)明實施例的控制器支持程序8的執(zhí)行的流程圖。參見圖6,首先,準備控制程序10 (步驟S10)。存在各種方法來準備控制程序10。例如,能夠使用如圖5所描述的那樣由新的輸入創(chuàng)建的并且存儲在控制程序存儲單元808中的控制程序??商娲兀軌驈拇鎯橘|(⑶-ROM 12)或者通過網絡4從服務器2讀取 控制程序??商娲兀梢詮淖鳛閷嶋H機器的控制器14中讀取控制程序。仿真單元806根據用戶指令仿真執(zhí)行控制程序10,并生成執(zhí)行結果數據(步驟S14)顯示數據創(chuàng)建単元804創(chuàng)建用于顯示執(zhí)行結果數據隨時間變化的顯示數據(步驟S16)。然后,用戶接ロ単元802將顯示數據顯示在監(jiān)視器907上(步驟S18)。然后,控制程序編輯單元810確定是否作出開始進行修正的指示(步驟S20)。具體而言,控制程序編輯單元810確定是否用戶通過用戶接ロ単元802作出了開始進行修正的指示。如果在步驟S20中確定用戶通過用戶接ロ單元802作出了開始進行修正的指示(步驟S20中為是),則控制程序編輯單元810根據用戶指示修正控制程序(步驟S22)。該處理再次返回到步驟S12,并通過用戶指示仿真執(zhí)行控制程序(步驟S12)。隨后的處理是相同的。如果在步驟S20確定沒有作出開始進行修正的指示(在步驟S20中為否),則控制程序編輯單元810通過用戶指示將控制程序傳輸至作為實際機器的控制器14 (步驟S24)。然后結束該處理?,F在將描述圖6的步驟S12中根據用戶指示進行控制程序仿真執(zhí)行的處理以及步驟S14中生成執(zhí)行結果數據的處理的具體內容。圖7是描述根據本發(fā)明實施例的仿真單元806中仿真執(zhí)行的流程圖。參照圖7,首先,仿真控制部820執(zhí)行初始化處理或執(zhí)行恢復初始化處理(步驟330)?!俺跏蓟幚怼笔侵敢环N當從第一個控制周期開始執(zhí)行控制程序時初始化變量等之類的值的處理?!盎謴统跏蓟幚怼笔侵敢环N當從中間的控制周期開始重新執(zhí)行控制程序時從恢復數據存儲部826讀取恢復數據并且使用該恢復數據來準備開始重新執(zhí)行仿真的處理。仿真控制部820執(zhí)行I/O刷新處理的仿真(步驟S32)。“I/O刷新處理”包括輸出處理和輸入處理。輸出處理是ー種將先前周期中的執(zhí)行結果數據輸出的處理。輸出處理包括將輸出變量數據輸出的處理以及將指令值輸出的處理,輸出變量是控制程序的順序控制部分的執(zhí)行結果,指令值是控制程序的運動控制部分的執(zhí)行結果。在實際的控制器14中,輸出變量數據通過I/O単元被傳輸至控制對象裝置16,并用于對致動器等之類的驅動。指令值被傳輸至電機驅動器17,并用于對控制對象裝置16的電機18的控制。然而,在仿真執(zhí)行的情況下,執(zhí)行結果數據實際上并沒有被傳輸至控制對象裝置16,而是一部分執(zhí)行結果數據被存儲在仿真結果存儲部830中。輸入處理是ー種獲取(retrieve)待被順序控制部分所使用的輸入變量數據、待被運動控制部所使用的位置數據等的處理。在仿真執(zhí)行的情況下,輸入變量數據可以由用戶手動提供,或者可以由復制控制對象裝置操作的調試程序來提供。先前周期中的位置指令值可被采用作為位置數據。然后,順序控制仿真部840仿真執(zhí)行ー個周期的控制程序的順序控制部分,井生成與順序控制部分相關的執(zhí)行結果(步驟S36)。運動控制仿真部850仿真ー個周期的運動控制部分的執(zhí)行,并且生成與運動控制 部分相關的執(zhí)行結果(步驟S38)。然后,仿真控制部820增量(increment)更新控制周期編號(步驟S40)。然后,仿真控制部820確定執(zhí)行中的控制周期是否為可恢復控制周期(步驟S42)。換言之,如果執(zhí)行中的控制周期與可恢復控制周期的指定條件(例如,為稍后將描述的“FB的活動開啟(FB的Active 0N),,、“FB的忙碌開啟(FB的Busy ON),,以及“恒定間隔”)相匹配,則將執(zhí)行中的控制周期確定為可恢復控制周期,。根據這種確定從一系列控制周期中指定出可恢復控制周期。如果可恢復控制周期的條件是“恒定間隔”,則能夠通過預先準備可作為可恢復控制周期的多個控制周期的列表來指定可恢復控制周期。在這種情況下,通過與相關列表相核實來確定執(zhí)行中的控制周期是否為可恢復控制周期。如果在步驟S42中確定為可恢復控制周期(在步驟S42中為是),則仿真控制部820將先前控制周期中更新的恢復數據緩沖器828的內容保存在恢復數據存儲部826中(步驟S44)。然后,該處理繼續(xù)進行步驟S46。如果在步驟S42中確定不是可恢復控制周期(在步驟S42為否),則仿真控制部820基于在順序控制仿真部840和運動控制仿真部850中生成的執(zhí)行結果來更新恢復數據緩沖器828的內容(步驟S46)。然后,仿真控制部820確定是否結束仿真執(zhí)行(步驟S48)。如果在步驟S48中確定結束仿真執(zhí)行,則仿真控制部820結束該處理。如果在步驟S48中確定不結束仿真執(zhí)行(步驟S48中為否),則仿真控制部820返回到步驟S32,并且根據被增量更新的下一個控制周期編號來執(zhí)行步驟S32中的I/O刷新的仿真。重復上述處理直到仿真執(zhí)行結束。如圖6所示,在根據本實施例的控制器支持程序中,控制程序編輯單元810能夠接收用戶操作來修正已經在仿真單元806中被仿真過的控制程序。如圖7所示,對于被控制程序編輯單元810修正的控制程序,仿真單元806能夠使用在控制程序被修正之前保存的恢復數據,接收用戶操作來開始重新執(zhí)行仿真。因此,通過讓用戶指定在控制程序中執(zhí)行結果受到修正影響的部分被執(zhí)行的控制周期之前的控制周期以開始重新執(zhí)行仿真,能夠快速地檢查控制程序中受到修正影響的那部分的操作。圖8A和圖8B是描述控制周期中的處理以時間順序排布的情況的視圖。參見圖8A,如果不是可恢復控制周期,則執(zhí)行I/O刷新處理、順序控制部分的執(zhí)行、運動控制部分的執(zhí)行以及控制周期編號更新中的每ー個處理。之后,用更新后的控制周期編號以及在該控制周期中生成的執(zhí)行結果數據來重寫更新恢復數據緩沖器(更新恢復數據緩沖器)。參見圖SB,如果是可恢復控制周期,則執(zhí)行I/O刷新處理、順序控制部分的執(zhí)行、運動控制部分的執(zhí)行以及控制周期編號更新中的每ー個處理。之后,將存儲于恢復數據緩沖器828中的在先前控制周期中更新的控制周期編號以及在先前控制周期中生成的執(zhí)行結果數據保存在恢復數據存儲部826中(保存恢復數據)。然后,用在相關控制周期中更新的控制周期編號以及在該控制周期中生成的執(zhí)行結果數據來重寫更新恢復數據緩沖器828 (更新恢復數據緩沖器)??刂浦芷诰幪柛绿幚?、恢復數據緩沖器更新處理以及恢復數據保存處理是特定于仿真的處理,而不會在作為實際機器的控制器14中執(zhí)行。每個控制周期占用的時間在作為實際機器的控制器14中是恒定的,在這樣的控制器14中,通過在定時器中斷時啟動控制周期而將控制周期設定為恒定時間,甚至在仿真執(zhí)行中也是如此。在完成控制周期中的必要處理之后的時間是空閑時間。從而,由此提高了根據仿真執(zhí)行所需的時間預測作為實際機器的控制器14中執(zhí)行時間的準確度。如果這不是必要的話,則在完成該控制周期中的必要處理之后可立即開始下一個控制周期的處理。圖9是描述根據本發(fā)明實施例的與計算指令值的控制周期相關的仿真単元806中的數據流的視圖。參見圖9,控制周期計數部824對當前“控制周期編號”進行計數?!翱刂浦芷诰幪枴笔菑目刂瞥绦驁?zhí)行開始控制周期的執(zhí)行總數。此處,“當前”是指執(zhí)行中的控制周期的數據。在以下的描述中這都是相同的。這是以如下事實作為前提的數據在每個控制周期均可能變化。順序變量存儲部846存儲順序變量?!绊樞蜃兞俊笔桥c控制程序的順序控制部分的執(zhí)行相關聯的數據。這包括對于順序控制部分的執(zhí)行所讀取的數據和作為執(zhí)行結果將被寫入的數據這二者。具體而言,當前“ I/O數據”和“內部變量數據”被存儲?!癐/O”數據是與順序控制部分的執(zhí)行相關聯的變量數據,并且是將成為I/O刷新處理對象的數據。換言之,它是輸入變量數據和輸出變量數據?!皟炔孔兞繑祿笔桥c順序控制部分的執(zhí)行相關聯的變量數據,且限制為在程序內部使用的數據,而不會是I/O刷新處理的對象。運動變量存儲部856存儲運動變量?!斑\動變量”是與控制程序的運動控制部分的執(zhí)行相關聯的數據。運動變量包括為了執(zhí)行運動控制部分所讀取的數據以及作為執(zhí)行結果被寫入的數據這二者。具體而言,當前的“FB設置參數”、“指令值”、“軸位置”、“活動FB的ID”以及“忙碌FB的ID”被存儲為運動變量。在本實施例中,假設將運動控制分描述為運動功能塊(FB)?!癋B設置參數”是用來指定FB操作方式的參數。FB設置參數可以是在編程階段給定的常數值以及由程序執(zhí)行確定的變量值。FB設置參數可包括使用FB的輸入值在FB中計算出的二次參數。例如,カロ速時間由作為FB的輸入值的速度和加速度計算得到,并且該加速時間在多個控制周期內加速時被作為參考,這里,不需要針對每個控制周期執(zhí)行相同的計算,即通過計算在啟動FB執(zhí)行的控制周期中的加速時間并將加速時間存儲在運動變量存儲部。如果只是通過作為FB輸入值的常數和順序變量來配置FB設置參數,并且運動計算執(zhí)行部854被配置為能夠訪問順序變量存儲部846,則FB設置參數由程序本身給出的常數以及存儲在順序變量存儲部846中的順序變量所確定,因而將FB設置參數存儲到運動變量存儲部856不是必須的?!爸噶钪怠笔沁\動控制部分針對每個周期輸出的數據。在本實施例中,指令值至少包括位置指令值。此外,指令值可以是速度指令值、扭矩指令值等?!拜S位置”是電機18的旋轉位置或者被電機18驅動的控制對象裝置的特定部分的位置。使用旋轉編碼器等來測量控制對象裝置的軸的實際位置。在仿真過程中,在運動變 量存儲部856中準備虛擬軸,將指令值寫入虛擬軸的存儲區(qū)域中以使這樣的存儲內容作為軸位置,并且用新的指令值來更新該值。在運動控制部分針對每個控制周期輸出用于某個軸的指令值的周期中,軸位置是在前一個控制周期中計算出的位置指令值。在運動控制部分沒有針對每個控制周期輸出指令值的周期中,不更新軸位置,并且保持相同的值。指令值在其用于軸位置時并不是直接被采用,而是可采用根據控制對象裝置的可移動部分的物理特性(諸如カ矩、質量、摩擦等)由指令值的歷史所計算出的預測位置?!癆ctive (活動)”是ー種FB針對每個控制周期計算指令值的狀態(tài)。它也被稱作活動狀態(tài)?!癇usy (忙碌)”是FB處于執(zhí)行中的狀態(tài)。處于忙碌狀態(tài)的FB可以是活動的,也可不是活動的。如同后文將描述的,當向FB輸入了 ExecuteON時就實現了忙碌狀態(tài)。通常,如果FB是忙碌的,則該FB就是活動的,但是,如同后文將描述的,如果多個FB通過Buffered模式或Blending模式連接,則除了連接頭之外的FB可能處于忙碌但不活動的狀態(tài)。“FB的ID”是用來分別指定在一個控制程序用使用的FB的信息。例如,它可以是在編程時給出的FB的名稱。當啟動控制周期吋,仿真控制部820使得順序控制仿真部840和運動控制仿真部850執(zhí)行ー個周期的仿真??刂浦芷谟嫈挡?24増量更新“當前控制周期編號”。如上所述,然后,仿真控制部820確定是否是可恢復控制周期,如果確定不是可恢復控制周期,則重寫并在恢復數據緩沖器828中保存來自控制周期計數部824的“當前控制周期編號”、來自順序變量存儲部846的“當前I/O數據”和“當前內部變量數據”、以及來自運動變量存儲部856的“當前FB設置參數”、“當前指令值”、“當前軸位置”、“當前活動FB的ID”以及“當前忙碌FB的ID”。如果仿真控制部820確定為可恢復控制周期,則首先將恢復數據緩沖器828的內容記錄在恢復數據存儲部826中,然后與當確定為不是可恢復控制周期時相類似地重寫恢復數據緩沖器828。在本實施例中,待被保存在恢復數據存儲部826中的控制周期編號是能夠開始重新執(zhí)行的可恢復控制周期的前ー個周期的控制周期編號,但是該控制周期編號可以不從恢復數據緩沖器828中傳送,并且可恢復控制周期本身的控制周期編號可被保存為恢復數據。在這種情況下,當重新執(zhí)行仿真時,基于如下的前提來實施用于開始重新執(zhí)行的準備處理在恢復數據中包含的控制周期編號指示的控制周期為生成了恢復數據而非控制周期編號的控制周期之后的那個控制周期。此外,如果存在約定條件將增加了常數偏移值的控制周期編號保存為恢復數據并且在恢復時減去相同的偏移值,則可以保存該控制周期編號而非上述值。換言之,將保存的是能夠與可恢復控制周期相對應的控制周期編號。用于從可恢復控制周期開始重新執(zhí)行的恢復數據從恢復數據緩沖器中讀出,并被存儲在恢復數據存儲部826中。這不同于存儲在可恢復控制周期中生成的恢復數據。在圖8A和圖SB的情況下,存儲可恢復控制周期的前一個控制周期中所生成的恢復數據。如果恢復數據緩沖器828配置為用于多個周期的環(huán)形緩沖器,則在前幾個周期的控制周期中生成的恢復數據可以被存儲在恢復數據存儲部826中。在這種情況下,通過從生成恢復數據的控制周期之后的控制周期開始進行數個周期的預備執(zhí)行,能夠在重新執(zhí)行時從使用用戶的具體要求所指定的控制周期開始重新執(zhí)行。如果指令值和軸位置這二者均存儲在恢復數據存儲部826,則在軸位置是先前周期的指令值情況下能夠基于指令值和軸位置的差來獲得速度。 在生成恢復數據的控制周期的前個周期中更新的軸位置,S卩,反映了之前兩個周期的那個周期中輸出的指令值的軸位置可代替指令值被存儲在恢復數據存儲部826中??梢曰趦蓚€“軸位置”的差來獲取速度。如果將考慮了控制對象裝置的物理特性所計算出的軸位置作為預測位置,則能夠獲得與預測位置相對應的預測速度。代替如上所述的在恢復時基于兩個位置的值獲取速度,也可以將預先計算出的速度值存儲在恢復數據存儲部826中。可以將所有控制周期的恢復數據保存在恢復數據存儲部826中。然后,能夠從任ー控制周期開始重新執(zhí)行仿真。所有控制周期的恢復數據均可以一次保存在恢復數據存儲部826中,然后可以設置任意數目的可恢復控制周期,并且之后可以刪除與不是可恢復周期設置對象的控制周期相對應的恢復數據。在每ー個控制周期中在執(zhí)行圖7中I/O刷新處理仿真的時刻(步驟S32),仿真控制部820將來自控制周期計數部824的“當前控制周期編號”、來自順序變量存儲部846的“當前I/O數據”以及來自運動變量存儲部856的“當前指令值”和“當前軸位置”記錄在執(zhí)行結果數據存儲部830中,并且還生成“軸的移動執(zhí)行標志”,并且將其記錄在執(zhí)行結果數據存儲部830中,如圖9中的(I)、(2)和(3)所示?!拜S的移動執(zhí)行標志”是指示用于控制相關軸的多個FB之一處于活動的標志。I/O數據可以存儲所有類型的I/O數據,但是用戶可以指定在時間表中安排為將被圖形顯示的I/O數據,并且可以只存儲這樣的I/O數據以節(jié)省存儲容量。只有指令值或軸位置的其中之一可以被存儲在執(zhí)行結果數據存儲部。如果二者均被存儲,則當軸位置為考慮了控制對象裝置的物理特性所計算出的預測位置時,能夠檢查指令值和預測位置之間的差。如果速度將基于存儲在執(zhí)行結果數據存儲部830中的執(zhí)行結果數據來獲得,則能夠基于先前周期(控制周期編號#N-1)的軸位置和當前周期(控制周期編號#N)的軸位置來獲取速度。如果軸位置是先前周期的指令值,則能夠基于同一控制周期中的指令值和軸位置之間的差來獲取速度。因此,代替在顯示執(zhí)行結果數據的同時基于兩個位置值來獲取速度,可以將預先計算出的速度值存儲在執(zhí)行結果數據存儲部830。如果待被控制的軸有多個,則將針對每個軸的軸位置以及軸的移動執(zhí)行標志存儲在待存儲它們的每個存儲部中。如果對象FB有多個,則針對每個FB存儲FB設置參數和FB的ID。 在圖9中,任意控制周期均可以是可恢復控制周期,而不管哪個FB是活動,也就是說,不管控制周期是FB之一正在計算指令值的周期,還是只有順序控制部分正在被執(zhí)行的周期。圖10是描述根據本發(fā)明實施例的與沒有計算指令值的控制周期相關的仿真単元806中數據流的視圖。參見圖10,示出了一個沒有任何FB處于活動的周期中的數據流。在該周期期間,與FB的狀態(tài)相關的數據(FB設置參數、指令值、活動FB的ID、忙碌FB的ID)并不有效存在,因而與FB的狀態(tài)相關的數據沒有被存儲為恢復數據和執(zhí)行結果數據。即使是在FB不處于活動的周期中,軸位置也會有效存在,因而軸位置被存儲。在該示例中,以堆滿模式(packed mode)顯示沒有存儲數據的區(qū)域,但是可確保數據區(qū)域本身不變。如果能夠被設置為可恢復控制周期的周期被限制為沒有FB是活動的周期,則與FB的狀態(tài)相關的數據不需要被保存為恢復數據,因而能夠減少用于保存恢復數據的存儲容量。即使是當第一控制周期(在第一控制周期中,FB之一從沒有FB處于活動的周期起變?yōu)榛顒拥?成為可恢復控制周期吋,這也類似于能夠被設置為可恢復控制周期的周期被限制為沒有FB處于活動的周期的那種情況,這是因為在生成待被保存數據之前的周期中仍沒有FB處于活動。如果不是從FB的中間開始恢復而總是從FB的頭部開始恢復,則用于對可作為可恢復控制周期的控制周期進行限制的方法也是有用的。圖IIA和圖IlB是描述根據本發(fā)明實施例的IC芯片轉移裝置100的視圖。在本發(fā)明的實施例中,將IC芯片轉移裝置100描述為控制對象裝置來舉例說明。圖IlA示出IC芯片轉移裝置100的平面圖。圖IlB示出IC芯片轉移裝置100的正視圖。參見圖IlA和圖11B,IC芯片轉移裝置100配置有XYZ導桿50和真空吸盤60,XYZ導桿50包括能夠通過電機(未示出)進行X軸定位的X導桿51、能夠進行Y軸定位的Y導桿52以及能夠進行Z軸定位的Z導桿53,真空吸盤60用于使用XYZ導桿50來吸附IC芯片TP。真空吸盤60真空吸附以預定間隔布置在IC芯片傳送器80上的IC芯片TP。使用XYZ導桿50在安裝在IC托盤傳送器75上的IC托盤70的預定位置安裝IC芯片TP。IC托盤70包括用來以陣列形式安裝IC芯片的空單元(empty cell) RN。XYZ導桿50—次將ー個IC芯片轉移至布置在IC托盤70中的空單元RN中。具體而言,預先設置IC芯片TP被供應至的エ件供應位置,并且將IC托盤70中的空單元RN之一指定為エ件轉移位置。XYZ導桿50使用真空吸盤60將被真空吸附的IC芯片TP從エ件供應位置轉移至エ件轉移位置,并在指定的エ件轉移位置安裝IC芯片TP。
通過移動IC芯片傳送器80將安裝在IC芯片傳送器80上的IC芯片TP移動到エ件供應位置。沿著IC芯片傳送器80的行進方向以預定間隔布置IC芯片TP。圖12是描述根據本發(fā)明實施例的IC芯片轉移裝置100的操作流程的視圖。參見圖12,首先,使用IC托盤傳送器75將其上沒有安裝IC芯片TP的IC托盤70(即未安裝的IC托盤70)移動至供應接納位置(步驟S50)。然后,移動IC芯片傳送器80以將IC芯片TP移動至エ件供應位置(步驟S52)。然后,使用XYZ導桿50將真空吸盤60移動至エ件供應位置(步驟S54)。然后,使用真空吸盤60真空吸附IC芯片TP (步驟S56)。
將使用XYZ導桿50真空吸附的IC芯片TP移動至IC托盤70的空單元位置(エ件轉移位置)(步驟S58)。將IC芯片TP安裝在IC托盤70的空單元位置(エ件轉移位置)(步驟S60)。然后,確定是否繼續(xù)轉移IC芯片TP (步驟S62)。如果在步驟S62中確定不繼續(xù)轉移IC芯片TP (在步驟S62中為否),則結束該處理。如果在步驟S62中繼續(xù)轉移IC芯片(在步驟S62中為是),則然后確定IC托盤70是否有空單元RN (步驟S64)。如果確定IC托盤70有空單元RN (在步驟S64中為是),則將IC芯片TP移動至供應位置(步驟S52)。隨后的處理相同,因而將不再重復其詳細描述。換言之,一次將ー個IC芯片TP安裝在IC托盤70的空單元RN上。如果在步驟S64中確定IC托盤70沒有空單元(在步驟S64中為否),則將未安裝的IC托盤70移動至供應接納位置(步驟S50)。然后重復以上處理。圖13是描述用來控制IC芯片轉移裝置100中的XYZ導桿50的控制程序的一部分的視圖。參見圖13,此處示出了用來控制XYZ導桿50將真空吸盤60移動至IC托盤70中的空単元RN的位置的這部分程序。FBl和FB2是相同類型的運動功能塊,具有相同的名稱MC_MoveAbsolute,并且具有針對每個控制周期生成指令值以將ー個軸(電機的旋轉位置)從當前位置移動到用絕對坐標給出的目標位置的功能。FBI (MoveToTray_X)用于將真空吸盤60的X坐標位置移動至空単元的X坐標位置。FB2 (MoveToTray_Y>用于將真空吸盤60的Y坐標位置移動至空單元的Y坐標位置。此處,FBl和FB2與控制程序的運動控制部分相對應。每個FB左側的端子是輸入端子,而右側的端子是輸出端子。首先將描述輸入端子。為“Axis”端子賦予與相關FB相對應的軸名稱。X軸被分配為Axis_l,Y軸被分配為 Axis_2。當將ON (開)輸入提供至“Execute”端子吋,FB開始進入忙碌狀態(tài)和活動狀態(tài)。為“Position,,、“Velocity,,、“Acceleration,,、“Deceleration”以及“Jerk,,中姆ー個端子分別提供目標位置、速度、加速度、減速度以及躍度(jerk)的值。
以變量名稱Cell_X、Cell_Y將目標位置提供至“位置”端子。在程序不同區(qū)域計算出的空單元的X坐標和Y坐標被存儲在Cell_X、Cell_Y中。在編程階段為“Velocity”、“Acceleration” 以及 “Deceleration” 中姆一個端子賦予常數值。“Jerk”端子的輸入被省略?!癉irection”是用于環(huán)形模式的端子,在環(huán)形模式中,即使軸繞了幾圈并達到位置,但只要該軸在ー圈中的旋轉位置是相同的,那也沒有區(qū)別,此處將不再對此進行描述。后文將描述“BufferMode”。此處不使用BufferMode?,F在將描述輸出端子。輸出的“ Axis”端子不作改變地將輸入的Axis端子的數據輸出。“Done”端子在完成FB的執(zhí)彳丁的控制周期之后的控制周期中輸出0N。 “CommandAborted”端子在FB的執(zhí)行異常中斷的控制周期之后的控制周期中輸出
ON0當FB處于忙碌狀態(tài)時“Busy”端子輸出0N。在FB處于活動狀態(tài)時“Active”端子輸出0N。當出現某種錯誤時“Error”端子輸出0N。當出現錯誤時“ErrorID”輸出錯誤代碼。當名稱為Under_MovingToTray的接觸點(contact)(變量)變?yōu)镺N時,將ON提供至FBl和FB2的“ Execute”端子,FBl和FB2開始指令值計算以將X軸和Y軸朝向空單元RN的位置移動。在每個軸的移動完成后,每個“Done”端子輸出ON?!癉one”端子輸出的ON或OFF的值被存儲在名稱為ToTray_Done_X、ToTray_Done_Y的接觸點(變量)中。這種接觸點用來開始Z軸的降低操作以將IC芯片TP安裝在空單元中。圖14是描述根據本發(fā)明實施例的控制器支持程序的窗ロ屏幕的視圖。參見圖14,根據本發(fā)明實施例的控制器支持程序的窗ロ屏幕1000包括設置欄1002和控制程序編輯欄1004。設置欄1002是用來實施在進行控制程序的編輯和仿真中必要的各種設置輸入的部分。控制程序編輯欄1004用來輸入和編輯控制程序。在右下方區(qū)域中,示出提供了可恢復點設置方法的設置按鈕1010、仿真執(zhí)行控制按鈕1006以及仿真執(zhí)行結果顯示鏈接部1008的情況。當按下可恢復點設置方法的設置按鈕1010時,打開圖15中的選擇窗ロ屏幕1100作為不同的窗ロ。在作出這種設置后,在執(zhí)行仿真時保存恢復數據。針對仿真執(zhí)行控制按鈕1006提供了四個按鈕,從左到右提供了用于指示開始、停止、暫停和逐步執(zhí)行仿真的按鈕。當鏈接部被點擊(按下)吋,仿真執(zhí)行結果顯示鏈接部1008打開圖16中的時間表窗ロ屏幕作為不同的窗ロ。圖15是描述根據本發(fā)明實施例的可恢復點設置方法的選擇窗ロ屏幕1100的視圖。參見圖15,根據本發(fā)明實施例的選擇窗ロ屏幕1100包括復選框1102,在復選框1102處能夠選中“FB的Active 0N”、“FB的Busy ON”以及“恒定間隔”中的每ー個,在本示例中示出了通過鼠標906等選中“ FB的ActiveON”的情況。布置有“確定(0K)”按鈕1104和“取消(cancel)”按鈕1106,當點擊(或按下)“確定”按鈕1104時,在復選框中選中的設置方法變得有效。當點擊(或按下)“確定”按鈕1104或“取消”按鈕1106時,關閉該窗ロ屏幕。如果選中了 “FB的Active ON",則將每個FB變成Active On (活動狀態(tài)開啟)的控制周期假定為可恢復控制周期。在每個FB變成Active ON的控制周期之前的某個編號的控制周期可以成為可恢復控制周期。通過以運動控制部分變成活動狀態(tài)的控制周期作為基準來設置可恢復控制周期,用戶能夠容易地從運動控制部分變?yōu)榛顒訝顟B(tài)的時刻附近開始重新執(zhí)行。通過不設置與運動控制部分變成活動狀態(tài)的控制周期不相關聯的可恢復控制周期或者減少這種設置的數目,能夠減少保存恢復數據的量,但是仍然能夠保持一定程度的便利性。 如果選中了 “FB的Busy ON",則將每個FB變成Busy ON (忙碌狀態(tài)開啟)的控制周期假定為可恢復控制周期。如果將某個FB變成Busy ON的控制周期假定為可恢復控制周期,則在前ー個周期中,即在生成恢復數據的周期中,關于該軸的處于忙碌或活動的另ー個FB可能會存在,因而需要將“當前活動FB的ID”保存為恢復數據,但是關于該軸的處于忙碌但是不活動的另ー個FB不會存在,因而可以不將“當前忙碌FB的ID”保存為恢復數據??梢詫⒚總€FB變成Busy ON的控制周期之前的某個編號的控制周期假定為可恢復控制周期。通過以運動控制部分變成執(zhí)行狀態(tài)的控制周期作為基準來設置可恢復控制周期,用戶能夠容易地從運動控制部分變成執(zhí)行狀態(tài)的時刻附近開始重新執(zhí)行。通過不設置與運動控制部分變?yōu)閳?zhí)行狀態(tài)的控制周期不相關聯的可恢復控制周期或者減少這種設置的數目,能夠減少保存恢復數據的量,但是仍然能夠保持一定程度的便利性。如果選中了 “恒定間隔”并且指定了時間(秒),則將與用于每個指定時間間隔的時刻相對應的控制周期假定為可恢復控制周期。如果將可恢復控制周期的間隔設置為充分小,則能夠從任意地方適當地開始重新執(zhí)行。不限于一個設置方法,而是能夠使多個設置方法同時有效。圖16是描述根據本發(fā)明實施例的時間表窗ロ屏幕1200的視圖。參見圖16,當點擊(按下)圖14中的仿真執(zhí)行結果顯示鏈接部1008時,打開根據本發(fā)明實施例的時間表窗ロ屏幕1200。對于ー個IC芯片TP的一輪的吸附和安裝操作,示出了每個軸的速度狀態(tài)以及移動執(zhí)行標志的狀態(tài)。在“恢復點指定方法”欄中,能夠可交替地從五種方法中選擇恢復點指定方法。具體而言,如果選擇了 “恢復點指定方法”欄中的“在圖上”,則能夠通過在水平方向上拖動時間指定標簽(tab)來指定恢復點。如果將恢復點設置為“FB的Active ON”或“FB的Busy 0N”,則多個軸中ー個軸的移動執(zhí)行標志的上升時刻就是可恢復點。通過垂直標線(cursor line) 1208的位置來指示恢復點,標線1208隨著時間指定標簽1206的移動而移動,從而使得時間指定標簽1206能夠持續(xù)地改變位置而標線1208的移動方式是離散的,這是因為恢復點是以離散的方式存在的。在本示例中,標線1208定位在與時間指定標簽1206的位置最接近的3. 18秒的可恢復點處。如果將時間指定標簽從這種狀態(tài)向左稍微移動,則將標線1208離散地移動到3. 04秒的位置,在該位置處Z軸的移動執(zhí)行標志上升。在時間顯示欄1203中,將標線1208位置處的時間顯示在時間標尺1212上,其中標線1208位置處每個圖形的垂直軸的值被顯示在數值顯示欄1204中。能夠通過操作滾動條1210來改變時間標尺1212的位置。因此,通過接收關于在監(jiān)視器907上所顯示的圖形上的位置的用戶指示,指定與用戶指示的圖形上的位置相對應的可恢復控制周期,并且從可恢復控制周期開始重新執(zhí)行仿真,用戶能夠與控制程序的執(zhí)行結果的推移(transition)相一致地指示開始重新執(zhí)行。如果選中了 “恢復點指定方法”欄中“在圖上”右側的“臨時釋放”,則臨時釋放恢復點的指定操作狀態(tài),將標線1208顯示在與時間指定標簽1206相同的位置,并且持續(xù)移動標線1208,通過數值顯示欄1204的顯示,能夠檢查在任意時刻每個圖形的值。如果選擇了“恢復點指定方法”欄中的“最終修正的FB”,則將能夠從在圖14中的程序編輯欄1004中輸入值最新被修正的FB處實施重新執(zhí)行的可恢復控制周期指定為恢復點。在這種情況下,通過仿真単元806,從控制程序編輯單元810獲取用來指定修正的FB的信息,指定能夠從最新修正的FB開始實施重新執(zhí)行的可恢復控制周期,并且從可恢復控制周期開始重新執(zhí)行仿真。因此,能夠容易地從修正的運動控制部分開始實施重新執(zhí)行。如果選擇了 “恢復點指定方法”欄中的“在程序列表上”,則從位于圖14的控制程序編輯欄1004中顯示的程序列表中選擇FB,并將能夠從這樣的FB開始實施重新執(zhí)行的可恢復控制周期指定為恢復點。具體而言,通過在程序列表中點擊來選擇ー個FB,并從下拉菜單中選擇“指定為恢復點”。在這種情況下,仿真單元806指定能夠從顯示的程序列表上指定的FB開始實施重新執(zhí)行的可恢復控制周期,并從可恢復控制周期開始重新執(zhí)行仿真。因此,用戶能夠與控制程序的列表顯示中示出的運動控制部分相一致地指示重新執(zhí)行的開始。
如果選擇了“恢復點指定方法”欄中的“在空間軌跡上”,則將與在圖17的空間軌跡顯示窗ロ屏幕1300中顯示的空間軌跡上所指定的位置相對應的控制周期指定為恢復點。如果選擇了 “恢復點指定方法”欄中的“在軸位置列表上”,則根據圖18的關于軸位置列表的具體要求來指定恢復點。在“最終修正的FB”、“在程序列表上”、“在空間軌跡上”以及“在軸位置列表上”所有這些情況中,圖形自動滾動以使顯示指定的恢復點。當選擇“在程序列表上”、“在空間軌跡上”或“在軸位置列表上”其中之一并且按下“跳轉(G0)”按鈕1201時,圖14、圖17或圖18中的對應窗ロ屏幕被打開或者近側窗ロ屏幕被顯示。圖17是描述根據本發(fā)明實施例的空間軌跡顯示窗ロ屏幕1300的視圖。參見圖17,使用存儲在執(zhí)行結果數據存儲部中的一系列軸位置繪制出顯示在空間軌跡顯示窗ロ屏幕1300上的空間軌跡??梢允褂么鎯Φ闹噶钪祦泶孑S位置進行繪制。圖17中顯示的空間軌跡示出了一個軌跡的示例,該軌跡繪制出在Z方向升高時投影到XY坐標平面上的半圓形,與IC芯片轉移裝置100的XYZ導桿50的情況相反。在屏幕上部的虛擬機構設置欄1301中顯示當前正在被使用的虛擬機構的名稱。虛擬機構是電子建立模型,并且是通過一系列指令值來移動的三維模型,其配置是針對每一種類型的機構(例如XYZ導桿)抽象出來的。當點擊欄右側的三角形標志時,會出現虛擬機構列表,并且能夠作出從當前使用的虛擬機構至另一種虛擬機構的改變。當按下用于設置和編輯的按鈕1303時,虛擬機構設置屏幕被打開作為不同的窗
ロ屏幕。在坐標值顯示欄1304中顯示針對每個坐標軸的軸當前位置。在軸和運動FB的對應顯示欄1306中顯示在控制程序中使用的軸名稱與當前操作的FB的對應關系。在本示例中,按下顯示設置欄1307的“3D”按鈕1307A,從而在圖像顯示欄1302中顯著地顯示3D顯示。當再次按下“3D”按鈕1307A時,實現四維顯示,該四維顯示除了包括3D顯示之外,還包括到XY平面的投影視圖、到XZ平面的投影視圖以及到YZ平面的投影視圖。當按下ー個不是“3D”的按鈕時,以放大形式顯示對應的平面投影視圖。 通過透視性的描繪方法來描述3D顯示,在該3D顯示中,通過鼠標操作能夠自由地改變三維空間中的視點位置和視線方向。小球體被顯示為當前位置標記,該當前位置標記指示Z方向上線性移動元件末端(distal end)的當前位置。在顯示設置欄1307中,能夠選擇是否顯示指令值的軌跡,并且能夠選擇是否顯示虛擬機構。如果不顯示虛擬機構,則只顯示軌跡曲線。當按下詳細設置按鈕1307P時,能夠實施軌跡厚度設置、軌跡顯示顏色設置、顯示坐標軸和坐標數值的設置等。移動圖像再現控制按鈕1310顯示在屏幕的下部。再現時間條1314表示從開始到結束執(zhí)行控制程序所需的時間。隨著控制程序執(zhí)行時間的推移,當前時刻標簽1312在再現時間條1314上從左到右移動。能夠通過用鼠標906拖動操作當前時刻標簽1312來調整移動圖像的顯示開始時間。軌跡開始點標簽1308和軌跡結束點標簽1316指示軌跡的顯示開始時刻和結束時刻,二者均能夠通過鼠標906的拖動操作而沿著再現時間條1314移動。當前位置隨著時間的推移連續(xù)移動時,正在被顯示的軌跡長度在軌跡開始點標簽1308和軌跡結束點標簽1316據此移動時會被改變。當開始顯示移動圖像吋,顯示每個機構元件移動和當前位置標記沿著軌跡移動的狀態(tài)。用來配置成移動圖像的每個順序顯示的靜態(tài)圖像可以不是針對所有控制周期而被創(chuàng)建的,但是可以針對每個恒定間隔的控制周期而創(chuàng)建。在圖像顯示欄1302中,大量的與軌跡重疊顯示的十字標記指示設置了仿真的可恢復點的位置。在該示例中,以時間恒定間_ (temporally constant interval)來設置可恢復點。用戶能夠通過點擊并選擇這樣的標記之一并從下拉菜單中選擇“指定為恢復點”來指定仿真恢復點。在這種情況下,仿真單元指定與用戶指示的軌跡上的位置相對應的可恢復控制周期,并且從相關的可恢復控制周期開始重新執(zhí)行仿真。因此,用戶能夠與位置指令值的空間軌跡相一致地開始重新執(zhí)行。圖18是描述根據本發(fā)明實施例的軸位置列表的顯示窗ロ屏幕1400的視圖。參見圖18,根據本發(fā)明實施例的顯示窗ロ屏幕1400顯示與設置了可恢復點的控制周期相對應的時間以及軸位置列表,從而使得能夠從中指定恢復點。通過操作滾動條1402能夠滾動顯示在顯示窗ロ屏幕中的內容。能夠被指定的恢復點只有ー個。在本示例中,每個軸的位置用數值顯示,但是也可以用表示該軸位置的變量名稱來顯示。通過點擊(按下)“確定”按鈕1404,恢復點的指定變?yōu)橛行?。通過點擊(按下)“取消”按鈕1406,能夠取消恢復點的指定。在這種情況下,仿真單元806指定與用戶指示的位置列表中的位置相對應的可恢復控制周期,并且從可恢復控制周期開始重新執(zhí)行仿真。因此,用戶能夠與控制程序的執(zhí)行結果的推移相一致地來指示開始重新執(zhí)行。圖19A和圖19B是描述根據本發(fā)明實施例的Buffered模式的視圖。參見圖19A,Buffered模式是通過將前邊的(左邊)FB的Axis輸出端子與后邊(右邊)的FB的Axis輸入端子直接耦接來將兩個FB串聯連接一起的模式,并且將ON (值為I)輸入到后邊的FB的Execute端子,以使后邊的FB在前邊的FB執(zhí)行期間處于忙碌狀態(tài)。被預先設置為忙碌狀態(tài)的后邊的FB從前邊的FB完成執(zhí)行的控制周期之后的控制周期變?yōu)榛?動的,并且開始計算指令值。通過將“Buffered”輸入到后邊的FB的BufferMode端子來指定Buffered模式。即使還有另外的FB被串聯連接在后邊的FB的后面,也仍然能夠在這樣的FB上指定Buffered模式。參見圖19B,示出了用于Buffered模式中一部分FB的端子的輸入信號和輸出信號的時序圖。示出了在時刻tlFBl開始將處于忙碌狀態(tài)和活動狀態(tài)的情況。還示出了在時刻t2FB2開始將處于忙碌狀態(tài)的情況。進ー步示出了 FB2在時刻t3變?yōu)榛顒訝顟B(tài)的情況。當針對可恢復點的設置方法指定了 “FB的Active ON”和“FB的BusyON”這二者時,與圖中的tl、t2和t3相對應的控制周期成為可恢復點。圖20是描述根據本發(fā)明實施例的用于在Aborting模式中一部分FB的端子的輸入信號和輸出信號的時序表的視圖。當將“Aborting”輸入到圖19A中兩個串聯連接的FB中的后邊的FB的BufferMode端子時,實現了 Aborting模式。在Aborting模式中,當在前邊的FB執(zhí)行期間將ON (值為I)輸入到后邊的FB的Execute端子時,前邊的FB的執(zhí)行立即被取消,并且后邊的FB在下一個控制周期變成活動的進而開始計算指令值。即使還有另外的FB串聯連接到后邊的FB的后面,也能夠在這樣的FB上指定Aborting模式。當針對可恢復點的設置方法指定了 “FB的Active ON”和“FB的BusyON”這二者時,與圖中的時刻tl和t2相對應的控制周期成為可恢復點。在Buffered模式情況下后邊的FB開始執(zhí)行的時刻t3不會成為Aborting模式中的可恢復點。現在將描述Blending模式。Blending模式與Buffered模式共同之處在于前邊的FB完成了執(zhí)行而沒有被取消,但是速度沒有如同Buffered模式中的那樣一次變?yōu)榱?,并且從前邊的FB處于活動的狀態(tài)轉移至后邊的FB處于活動的狀態(tài)的同時以中繼速度持續(xù)運動。依賴于確定中繼速度的方式,Blending模式具有四個模式BlendingNext模式、BlendingPrevious 模式、BlendingHigh 模式以及 BlendingLow 模式。圖21是示出根據本發(fā)明實施例的用于在BlendingNext模式中一部分FB的端子的輸入信號和輸出信號的時序表的視圖。當將“BlendingNext”輸入到圖19A中兩個串聯連接的FB中的后邊的FB的BufferMode 端子時,實現了 BlendingNext 模式。在BlendingNext模式中,當在前邊的FB執(zhí)行期間將ON(值為I)輸入到后邊的FB的Execute端子時,調節(jié)前邊的FB的指令值計算內容,從而使得前邊的FB的結束速度變?yōu)楹筮叺腇B的目標速度。預先處于忙碌狀態(tài)的后邊的FB從前邊的FB完成執(zhí)行的控制周期之后的控制周期開始變成活動,并且開始指令值計算。即使還有另外的FB串聯連接在后邊的FB的后面,也能夠在這樣的FB上指定BlendingNext 模式。如果針對可恢復點的設置方法指定了 “FB的Active ON”和“FB的BusyON”這ニ者,則與圖中的時刻tl、t2和t3對應的控制周期成為可恢復點。圖22是描述根據本發(fā)明實施例的用于在BlendingPrevious模式中一部分FB的端子的輸入信號和輸入信號的時序表的視圖。
當將“BlendingPrevious”輸入到圖19A中兩個串聯連接的FB中的后邊的FB的BufferMode 端子時,實現了 BlendingPrevious 模式。在BlendingPrevious模式中,當在前邊的FB執(zhí)行期間將ON (值為I)輸入到后邊的FB的Execute端子時,調節(jié)前邊的FB的指令值計算內容,從而使得前邊的FB維持目標速度直到執(zhí)行完成。預先處于忙碌狀態(tài)的后邊的FB從前邊的FB完成執(zhí)行的控制周期之后的控制周期開始變成活動的,并且后邊的FB開始指令值的計算。即使還有另外的FB串聯連接在后邊的FB的后面,也能夠針對這樣的FB指定BlendingPrevious 模式。如果針對可恢復點的設置方法指定了 “FB的Active ON”和“FB的BusyON”這ニ者,則與圖中的時刻tl、t2和t3相對應的控制周期成為可恢復點。當將“BlendingHigh”輸入到圖19A中兩個串聯連接的FB中后邊的FB的BufferMode端子時,實現了 BlendingHigh模式。在BlendingHigh模式中,前邊的FB的目標速度或后邊的FB的目標速度中較大的ー個變?yōu)橹欣^速度。換句話說,在前邊的FB的目標速度較大時的操作與BlendingPrevious模式的操作相同,在前邊的FB的目標速度較小時的操作與BlendingNext模式中的操作相同。當將“BlendingLow”輸入到圖19A中兩個串聯連接的FB中后邊的FB的BufferMode端子時,實現了 BlendingLow模式。在BlendingLow模式中,前邊的FB的目標速度或后邊的FB的目標速度中較小的ー個變?yōu)橹欣^速度。換言之,在前邊的FB的目標速度較大時的操作與BlendingNext模式的操作相同,在前邊的FB的目標速度較小時的操作與BlendingPrevious模式中的操作相同。以上通過舉例說明,已經描述了用于以針對ー個軸的絕對坐標來指定目標位置的運動功能塊,然而動作功能塊具有不同的類型,例如,用于以相對于FB執(zhí)行開始時位置的相對坐標來指定目標位置的功能塊,用于將多個軸分組并對包括在該組中的每個軸的移動開始時刻和移動結束時刻以及中間的速度控制進行同步以使得在位于ニ維空間或三維空間內兩個點之間線性移動的功能塊,以及用來在繪制弧線軌跡的同時在兩個點之間移動的功能塊。毫無疑問,本發(fā)明能夠應用于任意一種情況。還可以提供用于執(zhí)行在以上流程中所描述的控制的計算機運行方法以及用來實現這種方法的程序。這種程序可以被記錄在非臨時存儲的計算機可讀記錄介質中,例如軟盤(flexible disc)、緊湊只讀光盤存儲器(⑶-ROM)、只讀存儲器(ROM)、隨機存取存儲器(RAM)以及與計算機相連的存儲卡,并且這種程序作為程序產品被提供??商娲?,該程序可以通過被記錄在諸如集成在計算機中的硬盤的記錄介質中而被提供。該程序還可以通過網絡被下載而提供。該程序可以以預定陣列和預定時序調用作為計算機操作系統(OS)的一部分所提供的程序模塊中的必要模塊,并且可以處理該必要模塊。在這種情況下,相關模塊不是被包括在程序本身中,并且該處理是與OS協同執(zhí)行的。不包括這種模塊的程序也被涵蓋在根據本發(fā)明的程序之內。根據本發(fā)明的程序可以通過集成到另ー個程序中的一部分中而被提供。在這種情況下,另ー個程序的模塊也不是被包括在該程序本身中,而且該處理是與另ー個程序配合執(zhí)行的。集成到另一個程序中的該程序也被涵蓋在根據本發(fā)明的程序之內。將被提供的程序產品安裝在待被執(zhí)行的程序存儲部(例如硬盤)中。該程序產品包 括程序本身以及記錄了該程序的記錄介質。如上已經描述了本發(fā)明的實施例,然而本文公開的實施例在所有的方面均是示意性的,不應當被解釋為是限制性的。本發(fā)明的范圍應當由權利要求來限定,與權利要求等同的含義以及權利要求范圍內的所有改型均被涵蓋在本文中。附圖標記說明2服務器4 網絡8控制器支持程序10、15控制程序14控制器16控制對象裝置17電機驅動器18 電機50XYZ 導桿60真空吸盤70IC 托盤75IC托盤傳送器80IC芯片傳送器100IC芯片轉移裝置802用戶接ロ單元804顯示數據創(chuàng)建単元806仿真單元808控制程序存儲單元810控制程序編輯單元812控制器接ロ單元820仿真控制部822調試輔助部
824控制周期計數部826恢復數據存儲部828恢復數據緩沖器830執(zhí)行結果數據存儲部分840順序控制仿真部842順序計算控制部844順序計算執(zhí)行部846順序變量存儲部
850運動控制仿真部852運動計算控制部854運動計算執(zhí)行部856運動變量存儲部
權利要求
1.一種控制器支持裝置,用于仿真控制程序,所述控制程序包括在用于控制機器移動的控制器中在每個控制周期執(zhí)行的順序控制部分和運動控制部分,所述控制器支持裝置包括 仿真單元(806),配置為仿真所述控制程序的執(zhí)行并生成執(zhí)行結果數據; 顯示數據創(chuàng)建單元(80),配置為創(chuàng)建用于顯示由所述仿真單元生成的所述執(zhí)行結果數據隨時間變化的顯示數據; 接受單元(802),配置為接受關于所述仿真單元的用戶指示;以及 顯示器(907),用于顯示由所述顯示數據創(chuàng)建單元創(chuàng)建的顯示數據; 其中,所述仿真單元包括 順序計算執(zhí)行部(844),配置為用于仿真所述控制程序的所述順序控制部分的執(zhí)行,并生成與所述順序控制部分相關的執(zhí)行結果數據, 順序變量存儲部(846),配置為供用于執(zhí)行仿真的所述順序計算執(zhí)行部所使用; 運動計算執(zhí)行部(854),配置為用于仿真所述控制程序的運動控制部分的執(zhí)行,并生成與所述運動控制部分相關的執(zhí)行結果數據, 運動變量存儲部(856),配置為供用于執(zhí)行仿真的所述運動計算執(zhí)行部所使用, 控制周期計數部(824),配置為用于對控制周期的執(zhí)行數目進行計數,以及 恢復數據存儲部(828),配置為用于保存恢復數據,所述恢復數據包括 與能夠開始重新執(zhí)行仿真的可恢復控制周期相對應的執(zhí)行數目的數據,以及變量數據,為存儲在所述順序變量存儲部和所述運動變量存儲部中的數據,被使用于從所述可恢復控制周期開始重新執(zhí)行仿真; 所述仿真單元配置為 指定所述可恢復控制周期,并將與所述可恢復控制周期相對應的所述恢復數據存儲在所述恢復數據存儲部中;以及 所述仿真單元配置為從所述接受單元獲取關于指定用來開始重新執(zhí)行的控制周期的具體要求,并使用該具體要求來指定用來開始重新執(zhí)行的控制周期,并且使用所保存的與所指定的控制周期相應的恢復數據來從所指定的控制周期開始重新執(zhí)行仿真。
2.根據權利要求I所述的控制器支持裝置,還包括 控制程序編輯單元(810),配置為編輯所述控制程序;其中, 所述控制程序編輯單元配置為接受用戶操作以修正在所述仿真單元中執(zhí)行的控制程序仿真;以及 所述仿真單元配置為接受用戶操作,以針對所述控制程序編輯單元修正的控制程序使用在所述控制程序被修正之前所保存的恢復數據來開始重新執(zhí)行仿真。
3.根據權利要求2所述的控制器支持裝置,其中, 所述控制程序編輯單元配置為通過用戶操作來修正所述控制程序的所述運動控制部分;以及 所述仿真單元配置為從所述控制程序編輯單元獲取用于指定被修正的運動控制部分的信息,從多個可恢復控制周期中指定能夠從最新修正的運動控制部分實施重新執(zhí)行的控制周期,并且從這個控制周期開始重新執(zhí)行仿真。
4.根據權利要求2所述的控制器支持裝置,其中,所述控制程序編輯單元配置為在顯示器上以列表顯示所述控制程序的內容; 所述接受単元配置為接受列表顯示上用來開始重新執(zhí)行的運動控制部分的具體要求;以及 所述仿真単元配置為從多個可恢復控制周期中指定能夠從指定的運動控制部分實施重新執(zhí)行的控制周期,并且從這個控制周期開始重新執(zhí)行仿真。
5.根據權利要求I所述的控制器支持裝置,其中, 所述控制程序的所述運動控制部分在每個控制周期中處于活動狀態(tài)或者處于非所述活動狀態(tài)的不活動狀態(tài),其中所述活動狀態(tài)是計算指令值的狀態(tài);以及 所述仿真単元配置為以所述運動控制部分從所述不活動狀態(tài)變?yōu)樗龌顒訝顟B(tài)的控制周期作為基準來指定所述可恢復控制周期。
6.根據權利要求I所述的控制器支持裝置,其中, 所述控制程序的運動控制部分在每個控制周期中處于執(zhí)行狀態(tài)或處于非所述執(zhí)行狀態(tài)的不執(zhí)行狀態(tài),其中在所述執(zhí)行狀態(tài)中所述運動控制部分處于執(zhí)行中,以及 所述仿真単元配置為以所述運動控制部分從所述不執(zhí)行狀態(tài)變?yōu)樗鰣?zhí)行狀態(tài)的控制周期作為基準來指定所述可恢復控制周期。
7.根據權利要求I所述的控制器支持裝置,其中,所述仿真単元配置為將對于每個恒定間隔的控制周期指定為所述可恢復控制周期。
8.根據權利要求I所述的控制器支持裝置,其中, 所述顯示數據創(chuàng)建単元配置為創(chuàng)建用于將所述執(zhí)行結果數據隨時間的變化顯示為圖形的顯示數據; 所述接受単元配置為接受關于顯示在所述顯示器上的圖形位置的用戶指示;以及所述仿真単元配置為從多個可恢復控制周期中指定與所述用戶指示的所述圖形上的位置相應的控制周期,并且從這個控制周期開始重新執(zhí)行仿真。
9.根據權利要求I所述的控制器支持裝置,其中, 所述顯示數據創(chuàng)建単元配置為創(chuàng)建用來將針對所述仿真単元所生成的位置的執(zhí)行結果數據隨時間的變化顯示為ニ維空間或三維空間中的軌跡的顯示數據; 所述接受単元配置為接受關于所述軌跡上的位置的用戶指示;以及所述仿真単元配置為從多個可恢復控制周期中指定與所述用戶指示的所述軌跡上的位置相應的控制周期,并且從這個控制周期開始重新執(zhí)行仿真。
10.根據權利要求I所述的控制器支持裝置,其中, 所述顯示數據創(chuàng)建単元配置為創(chuàng)建用于將所述執(zhí)行結果數據隨時間的變化顯示為位置列表的顯示數據; 所述接受単元配置為接受關于顯示在所述顯示器上的位置列表中的位置的用戶指示;以及 所述仿真単元配置為從多個可恢復控制周期中指定與所述用戶指示的所述位置列表中的位置相應的控制周期,并且從這個控制周期開始重新執(zhí)行仿真。
11.一種控制程序的仿真方法,用于在包括顯示器的控制器支持裝置中仿真控制程序,所述控制程序包括在用于控制機器移動的控制器中在每個控制周期執(zhí)行的順序控制部分和運動控制部分,所述控制程序仿真方法包括以下步驟仿真計算步驟(S14):根據用戶指示仿真所述控制程序的執(zhí)行,并生成執(zhí)行結果數據;顯示數據創(chuàng)建步驟(S16):創(chuàng)建用于顯示由所述仿真計算步驟生成的所述執(zhí)行結果數據隨時間變化的顯示數據;以及 顯示步驟(S18):將所述顯示數據創(chuàng)建步驟創(chuàng)建的所述顯示數據顯示在所述顯示器上;其中, 所述仿真計算步驟包括 順序計算執(zhí)行步驟(S36):仿真所述控制程序的所述順序控制部分的執(zhí)行,并生成與所述順序控制部分相關的執(zhí)行結果數據, 運動計算執(zhí)行步驟(S38):仿真所述控制程序的所述運動控制部分的執(zhí)行,并生成與所述運動控制部分相關的執(zhí)行結果數據, 控制周期計數步驟(S40):對控制周期的執(zhí)行數目進行計數; 步驟(S42):指定可恢復控制周期,所述可恢復控制周期是能夠開始重新執(zhí)行仿真的控制周期; 恢復數據保存步驟(S44):保存恢復數據,其中所述恢復數據包括關于與所述可恢復控制周期相應的執(zhí)行數目的數據以及從所述可恢復控制周期開始重新執(zhí)行仿真所使用的變量數據,所述變量數據包括與所述順序控制部分的執(zhí)行相關聯的順序變量數據以及與所述運動控制部分的執(zhí)行相關聯的運動變量數據;以及 重新執(zhí)行開始步驟(S48):接受用來指定開始重新執(zhí)行的控制周期的用戶具體要求,使用所述具體要求來指定用來開始重新執(zhí)行的控制周期,并且使用所保存的與所指定的控制周期相對應的恢復數據來從所指定的控制周期開始重新執(zhí)行仿真。
12. —種控制器支持程序,用于在包括顯示器的控制器支持裝置中仿真控制程序,所述控制程序包括在用于控制機器移動的控制器中在每個控制周期執(zhí)行的順序控制部分和運動控制部分,其中,所述控制程序使所述控制器支持裝置執(zhí)行如下步驟 仿真計算步驟(S14):根據用戶指示仿真所述控制程序的執(zhí)行,并生成執(zhí)行結果數據;顯示數據創(chuàng)建步驟(S16):創(chuàng)建用于顯示由所述仿真計算步驟生成的所述執(zhí)行結果數據隨時間變化的顯示數據;以及 顯示步驟(S18):將所述顯示數據創(chuàng)建步驟創(chuàng)建的所述顯示數據顯示在所述顯示器上;其中, 所述仿真計算步驟包括 順序計算執(zhí)行步驟(S36):仿真所述控制程序的所述順序控制部分的執(zhí)行,并生成與所述順序控制部分相關的執(zhí)行結果數據, 運動計算執(zhí)行步驟(S38):仿真所述控制程序的所述運動控制部分的執(zhí)行,并生成與所述運動控制部分相關的執(zhí)行結果數據, 控制周期計數步驟(S40):對控制周期的執(zhí)行數目進行計數; 步驟(S42):指定可恢復控制周期,所述可恢復控制周期是能夠開始重新執(zhí)行仿真的控制周期; 恢復數據保存步驟(S44):保存恢復數據,其中所述恢復數據包括關于與所述可恢復控制周期相應的執(zhí)行數目的數據以及從所述可恢復控制周期開始重新執(zhí)行仿真所使用的變量數據,所述變量數據包括與所述順序控制部分的執(zhí)行相關聯的順序變量數據以及與所述運動控制部分的執(zhí)行相關聯的運動變量數據;以及 重新執(zhí)行開始步驟(S48):接受用來指定開始重新執(zhí)行的控制周期的用戶具體要求,使用所述具體要求來指定用來開始重新執(zhí)行的控制周期,并且使用所保存的與所指定的控制周期相對應的恢復數據來從所指定的控制周期開始重新執(zhí)行仿真。
13.一種計算機可讀存儲介質,存儲有控制器支持程序,所述控制器支持程序用于在包括顯示器的控制器支持裝置中仿真控制程序,所述控制程序包括在用于控制機器移動的控制器中在每個控制周期執(zhí)行的順序控制部分和運動控制部分,其中,所述控制程序使所述控制器支持裝置執(zhí)行如下步驟 仿真計算步驟(S14):根據用戶指示仿真所述控制程序的執(zhí)行,并生成執(zhí)行結果數據;顯示數據創(chuàng)建步驟(S16):創(chuàng)建用于顯示由所述仿真計算步驟生成的所述執(zhí)行結果數據隨時間變化的顯示數據;以及 顯示步驟(S18):將所述顯示數據創(chuàng)建步驟創(chuàng)建的所述顯示數據顯示在所述顯示器上;其中, 所述仿真計算步驟包括 順序計算執(zhí)行步驟(S36):仿真所述控制程序的所述順序控制部分的執(zhí)行,并生成與所述順序控制部分相關的執(zhí)行結果數據, 運動計算執(zhí)行步驟(S38):仿真所述控制程序的所述運動控制部分的執(zhí)行,并生成與所述運動控制部分相關的執(zhí)行結果數據, 控制周期計數步驟(S40):對控制周期的執(zhí)行數目進行計數; 步驟(S42):指定可恢復控制周期,所述可恢復控制周期是能夠開始重新執(zhí)行仿真的控制周期; 恢復數據保存步驟(S44):保存恢復數據,其中所述恢復數據包括關于與所述可恢復控制周期相應的執(zhí)行數目的數據以及從所述可恢復控制周期開始重新執(zhí)行仿真所使用的變量數據,所述變量數據與所述順序控制部分的執(zhí)行相關聯的順序變量數據以及與所述運動控制部分的執(zhí)行相關聯的運動變量數據;以及 重新執(zhí)行開始步驟(S48):接受用來指定開始重新執(zhí)行的控制周期的用戶具體要求,使用所述具體要求來指定用來開始重新執(zhí)行的控制周期,并且使用所保存的與所指定的控制周期相對應的恢復數據來從所指定的控制周期開始重新執(zhí)行仿真。
全文摘要
控制程序的順序控制部分被配置為執(zhí)行一個周期的仿真,以生成與順序控制部分相關的執(zhí)行結果。運動控制部分被配置為執(zhí)行一個周期的仿真,以生成與運動控制部分相關的執(zhí)行結果。然后,增量更新控制周期編號。確定是否為可恢復控制周期,如果確定為可恢復控制周期,則將在先前的控制周期中更新的恢復數據緩沖器(828)的內容存儲在恢復數據存儲單元(826)中。
文檔編號G05B19/4069GK102804087SQ201180014340
公開日2012年11月28日 申請日期2011年2月14日 優(yōu)先權日2010年3月15日
發(fā)明者阪口泰規(guī), 森健一郎 申請人:歐姆龍株式會社