專利名稱:仿真裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種仿真裝置,該仿真裝置進行根據(jù)指令程序進行動作的機器人或機
床等作業(yè)機械的動作仿真。
背景技術(shù):
近年來,生產(chǎn)系統(tǒng)多功能化,很多時候通過組合多個機器人或機床等來構(gòu)成生產(chǎn)系統(tǒng)。例如,具有以下的生產(chǎn)系統(tǒng)通過使用墻壁圍繞機床周圍而形成的機床單元的門,根據(jù)來自機器人或者PLC (可編程序邏輯控制器)的信號進行開閉,在門打開時機器人進行機床單元內(nèi)的工件的更換,在更換結(jié)束后關(guān)閉門,機床進行工件的加工。 很多時候希望在這樣的生產(chǎn)系統(tǒng)中使用的機器人、機床以及PLC等按照指令程序進行動作,在實際構(gòu)筑生產(chǎn)系統(tǒng)之前不需要使用實際的機器地進行機器人或者機床是否恰當(dāng)?shù)剡M行動作的試驗。為此,開發(fā)出多種在離線狀態(tài)下進行單個機床或者機器人的動作仿真的仿真裝置。另外,像在特開昭63-267183號公報中記載的那樣,還存在能夠在一臺仿真裝置上進行多個機器人的動作仿真的仿真裝置。 然而,要在機床、機器人等中組合使用多個控制機構(gòu),進行復(fù)雜的信號交換、通信。但是,難以將這樣的信號交換、通信狀態(tài)表現(xiàn)為數(shù)值模型,所以在機床、機器人的動作仿真中,即便使用以下的方法也無法得到正確的結(jié)果,該方法為像簡單的動作的數(shù)值仿真那樣使用數(shù)值模型將時間每次推進規(guī)定的時間,并且像在各個瞬間虛擬空間的時間是否停止那樣處理來求出機床、機器人的狀態(tài)。特別是在機床動作的仿真軟件中,很多時候不停止仿真中的時間的經(jīng)過,一邊連續(xù)地執(zhí)行加工程序一邊求出各瞬間的機床的位置(包含姿勢)。
另一方面,關(guān)于機器人的仿真,因為歷史久遠,所以能夠把信號的交換、通信狀態(tài)表現(xiàn)為數(shù)值模型,能夠在仿真中將時間每次推進規(guī)定時間,并且像在各個瞬間時間是否停止那樣處理,來求出機器人各瞬間的狀態(tài)的仿真軟件也一直在增加。 如上所述,在生產(chǎn)系統(tǒng)中,很多時候組合使用機器人和機床。因此,希望進行這樣的整個生產(chǎn)系統(tǒng)的動作仿真,并在顯示裝置上進行顯示。特別是例如在實現(xiàn)了在機床單元的門打開后,機器人把工件搬入并設(shè)置在機床單元內(nèi),然后關(guān)閉機床單元的門,機床開始進行加工的動作等情況下,必須在機床和機器人之間利用聯(lián)鎖指令來互相通信規(guī)定動作的結(jié)束,使機器人的仿真中的經(jīng)過時刻和機床的仿真中的經(jīng)過時刻同步,來進行整個生產(chǎn)系統(tǒng)的動作仿真,并且必須同時在顯示裝置上進行顯示。 但是,不存在能夠同時進行機器人和機床等不同的作業(yè)機械的動作仿真的仿真裝
置。另外,例如即使同時使用用于進行機器人的動作仿真的仿真軟件和用于進行機床的動作仿真的仿真軟件,因為兩個仿真中的經(jīng)過時刻通常不一致,所以無法同時在顯示裝置上
顯示由機器人和機床等不同的作業(yè)機械構(gòu)成的整個生產(chǎn)系統(tǒng)的動作的仿真結(jié)果。特別是在使用能夠停止仿真中的時間的經(jīng)過的仿真軟件進行一個作業(yè)機械(機器人等)的動作仿真,另一方面使用無法停止仿真中的時間的經(jīng)過的仿真軟件進行其他的作業(yè)機械(機床等)的動作仿真的情況下,無法使仿真軟件上的經(jīng)過時刻一致,難于進行整個生產(chǎn)系統(tǒng)的動作仿真并在顯示裝置上同時顯示其結(jié)果。
發(fā)明內(nèi)容
因此,本發(fā)明的目的在于提供一種仿真裝置,其能夠進行不同的作業(yè)機械的動作仿真,在顯示裝置上同時顯示不同的作業(yè)機械的動作的仿真結(jié)果。 鑒于上述目的,根據(jù)本發(fā)明,提供一種仿真裝置,其使用分別仿真基于不同的指令
程序進行動作的第一作業(yè)機械以及第二作業(yè)機械的動作的第一虛擬作業(yè)裝置以及第二虛
擬作業(yè)裝置,進行第一作業(yè)機械以及第二作業(yè)機械的動作的仿真,根據(jù)仿真的結(jié)果在顯示
裝置上顯示第一作業(yè)機械以及第二作業(yè)機械的三維模型,該仿真裝置具有仿真管理部,用
于指定指定經(jīng)過時刻;第一動作運算部,用于在所述第一虛擬作業(yè)裝置上直到所述指定經(jīng)
過時刻為止執(zhí)行所述第一作業(yè)機械的指令程序,求出在所述指定經(jīng)過時刻的所述第一作業(yè)
機械的動作位置;第二動作運算部,用于一邊在所述第二虛擬作業(yè)裝置上連續(xù)地執(zhí)行所述
第二作業(yè)機械的指令程序, 一邊逐次求出所述第二作業(yè)機械的動作位置;以及動作存儲部,
用于在每次經(jīng)過預(yù)定的單位時間時,對應(yīng)地存儲經(jīng)過時刻與通過所述第二動作運算部求出
的所述第二作業(yè)機械的動作位置,所述仿真管理部,在從所述第一動作運算部取得在所述
指定經(jīng)過時刻的所述第一作業(yè)機械的動作位置,并且從所述動作存儲部取得在所述指定經(jīng)
過時刻的所述第二作業(yè)機械的動作位置后,根據(jù)取得的所述第一作業(yè)機械以及所述第二作
業(yè)機械的動作位置,在所述顯示裝置上顯示所述第一作業(yè)機械以及所述第二作業(yè)機械的三
維模型,把從該指定經(jīng)過時刻開始經(jīng)過預(yù)定的動作時間的時刻指定為下一指定經(jīng)過時刻。 根據(jù)上述仿真裝置,即使在第二動作運算部中執(zhí)行的第二作業(yè)機械的仿真中的經(jīng)
過時刻與在第一動作運算部中執(zhí)行的第一作業(yè)機械的仿真中的經(jīng)過時刻不一致,但在每次
經(jīng)過預(yù)定的單位時間時把第二動作運算部求出的第二作業(yè)機械的動作位置與經(jīng)過時刻對
應(yīng)地存儲在動作位置存儲部中,因此通過仿真管理部從動作存儲部中取得與第一動作運算
部執(zhí)行的仿真中的經(jīng)過時刻一致的經(jīng)過時刻所對應(yīng)的第二作業(yè)機械的動作位置,能夠在顯
示裝置上宛如第一動作運算部中的經(jīng)過時刻和第二動作運算部中的經(jīng)過時刻一致地進行
顯示。另外,仿真管理部在取得第一作業(yè)機械以及第二作業(yè)機械雙方的在指定經(jīng)過時刻的
動作位置后,把從指定經(jīng)過時刻開始經(jīng)過預(yù)定的動作時間的時刻指定為下一指定經(jīng)過時
刻,使第一動作運算部求出第一作業(yè)機械在該指定經(jīng)過時刻的動作位置。因此,即使由第二
動作運算部進行的第二作業(yè)機械的動作仿真的經(jīng)過時間比指定經(jīng)過時刻晚的情況下,但因
為仿真管理部不對第一動作運算部指定下一指定經(jīng)過時刻,在由第二動作運算部求出在經(jīng)
過時刻的第二作業(yè)機械的動作位置之前進行等待,所以在求出在指定經(jīng)過時刻的第二作業(yè)機械的動作位置之前,能夠求出從該指定經(jīng)過時刻開始經(jīng)過了預(yù)定時間后的第一作業(yè)機械的動作位置,并使經(jīng)過時間看上去一致。 在上述仿真裝置中,所述第一作業(yè)機械和所述第二作業(yè)機械還可以一邊相互進行通信一邊執(zhí)行各自的指令程序。此時,優(yōu)選所述仿真管理部在所述第二作業(yè)機械的指令程序等待來自所述第一作業(yè)機械的通信的期間,作為通過所述第二動作運算部執(zhí)行的仿真中的經(jīng)過時刻已停止來處理。 另外,所述第一作業(yè)機械可以是機器人,所述第二作業(yè)機械可以是機床。 根據(jù)本發(fā)明,在進行不同的作業(yè)機械的動作仿真時,即使在使用能夠停止仿真中的時間的仿真軟件,第一動作位置運算部進行一個作業(yè)機械的動作仿真,另一方面,使用不能停止仿真中的時間的仿真軟件,第二動作位置運算部進行其他作業(yè)機械的動作仿真的情況下,也能夠使第一動作位置運算部中的經(jīng)過時刻和第二動作位置運算部中的經(jīng)過時刻一致地處理仿真結(jié)果,并且能夠在顯示裝置上同時顯示不同的作業(yè)機械的動作的仿真結(jié)果。因此,能夠容易地進行由不同的作業(yè)機械構(gòu)成的整個生產(chǎn)系統(tǒng)的動作仿真。
下面參照附圖根據(jù)本發(fā)明的優(yōu)選的實施方式更加詳細地說明本發(fā)明的上述以及其他的目的、特征、優(yōu)點。
圖1是本發(fā)明的仿真裝置的功能框圖。 圖2是表示在機器人的動作程序以及機床的加工程序中不包含聯(lián)鎖指令時的、通過圖1所示的仿真裝置進行的仿真的流程的流程圖。 圖3是表示在機器人的動作程序以及機床的加工程序中包含聯(lián)鎖指令時的、通過圖1所示的仿真裝置進行的仿真的流程的流程圖。
圖4是機器人和機床之間的信號線的配線圖。 圖5是表示包含聯(lián)鎖指令的機器人的動作程序和機床的加工程序之間的信號交換的例子的說明圖。
具體實施例方式
下面參照
本發(fā)明的仿真裝置的實施方式。 本發(fā)明的仿真裝置,進行根據(jù)不同的指令程序進行動作的不同的作業(yè)機械所構(gòu)成的整個生產(chǎn)系統(tǒng)的動作的仿真。在以下的實施方式中,仿真裝置進行把根據(jù)操作者制作的加工程序?qū)ぜM行加工的機床以及根據(jù)操作者制作的動作程序進行動作,對于機床供給以及取出工件的機器人作為作業(yè)機械使用的生產(chǎn)系統(tǒng)的仿真。但是,能夠通過本發(fā)明的仿真裝置進行仿真的生產(chǎn)系統(tǒng)的作業(yè)機械不限于機器人和機床。 首先,參照圖1說明仿真裝置10的全體結(jié)構(gòu)。仿真裝置10包含機器人動作運算部12、機床動作運算部14、機器人動作存儲部16、機床動作存儲部18、機器人執(zhí)行管理部20、機床執(zhí)行管理部22、仿真管理部24、以及顯示裝置26,使用對機器人進行仿真的虛擬機器人和對機床進行仿真的虛擬機床進行機器人以及機床的仿真,根據(jù)仿真的結(jié)果在顯示裝置上同時顯示機器人和機床的三維模型。顯示裝置26包含圖像處理部(未圖示),用于處理與機器人以及機床的動作位置有關(guān)的信息,變更畫面上的機器人以及機床的位置。
機器人動作運算部12,通過使用機器人仿真軟件在虛擬空間上對機器人進行仿真,由此實現(xiàn)虛擬機器人。機器人動作運算部12,通過在虛擬機器人上執(zhí)行用于現(xiàn)實的機器人的動作程序,虛擬地再現(xiàn)現(xiàn)實的機器人執(zhí)行動作程序時的機器人的動作以及信號狀態(tài)等,通過運算求出在指定經(jīng)過時刻t的機器人的動作位置以及信號狀態(tài)等。關(guān)于機器人仿
真軟件,因為多見到能夠控制仿真中的時間經(jīng)過的軟件,所以作為在本實施方式中使用的機器人仿真軟件,使用當(dāng)指定了指定經(jīng)過時刻t時,與經(jīng)過時刻一同地輸出按照動作程序在指定經(jīng)過時刻t之前使虛擬機器人進行動作時的虛擬機器人的動作位置以及狀態(tài)信號,在指定下一指定經(jīng)過時刻t之前能夠停止機器人仿真中的時間經(jīng)過的仿真軟件。另外,使
5與機器人的動作位置有關(guān)的信息中還包含機器人的姿勢。 機床動作運算部14,通過使用機床仿真軟件在虛擬空間上對機床進行仿真,由此實現(xiàn)了虛擬機床。機床動作運算部14,通過在虛擬機床上執(zhí)行用于現(xiàn)實機床的加工程序,虛擬地再現(xiàn)現(xiàn)實的機床執(zhí)行加工程序時的機床的動作以及信號狀態(tài)等,通過運算求出機床的工作臺以及工具的動作位置以及機床的信號狀態(tài)等。關(guān)于機床仿真軟件,因為能夠控制仿真中的時間經(jīng)過的仿真軟件較少,所以作為機床仿真軟件,使用無法停止機床仿真中的時間經(jīng)過,當(dāng)接收到執(zhí)行指令時連續(xù)地執(zhí)行機床的加工程序,在指定的每個單位時間tu,與經(jīng)過時刻一同地輸出按照加工程序使虛擬機械人進行動作時的動作位置以及信號狀態(tài)的仿真軟件。另外,使與工作臺以及工具的動作位置有關(guān)的信息中,還包含工作臺以及工具的姿勢。 機器人動作存儲部16以及機床動作存儲部18,通過RAM、易失性存儲器、硬盤裝置等實現(xiàn)。機器人動作存儲部16,配置在機器人動作運算部12和機器人執(zhí)行管理部20之間,起到臨時存儲裝置的作用,臨時存儲由機器人動作運算部12求出的在指定經(jīng)過時刻t的機器人的動作位置以及信號狀態(tài)等,然后將該動作位置以及信號狀態(tài)等轉(zhuǎn)交給機器人執(zhí)行管理部20。但是,未必需要設(shè)置機器人動作存儲部16,如后所述,可以把機器人動作運算部12求出的與機器人的動作位置以及信號狀態(tài)等有關(guān)的信息直接交給機器人執(zhí)行管理部20。另一方面,機床動作存儲部18,配置在機床動作運算部14和機床執(zhí)行管理部22之間,起到緩沖存儲裝置的作用,在每一單位時間tu,與經(jīng)過時刻對應(yīng)地存儲通過機床動作運算部14求出的機床的工作臺以及工具的動作位置以及機床的信號狀態(tài)等,根據(jù)機床執(zhí)行管理部22對于指定經(jīng)過時刻t的指定,向機床執(zhí)行管理部22轉(zhuǎn)交與在指定經(jīng)過時刻t的機床的工作臺以及工具的動作位置以及機床的信號狀態(tài)等有關(guān)的信息。 因為機器人動作運算部12進行的機器人仿真中的經(jīng)過時刻和機床動作運算部14進行的機床仿真中的經(jīng)過時刻通常不同,所以機器人執(zhí)行管理部20和機床執(zhí)行管理部22難以在相同的時刻取得與動作位置以及信號狀態(tài)有關(guān)的信息。但是,在仿真裝置10中,通過設(shè)置機床動作存儲部18,機床執(zhí)行管理部22,能夠在與機器人執(zhí)行管理部20取得與指定經(jīng)過時刻t的機器人的動作位置以及信號狀態(tài)有關(guān)的信息幾乎相同的時刻,從機床動作存儲部18取得與指定經(jīng)過時刻t的機床的工作臺以及工具的動作位置以及機床的信號狀態(tài)等有關(guān)的信息。 機器人執(zhí)行管理部20起到對機器人動作運算部12進行的機器人仿真的時間經(jīng)過進行管理的功能。詳細地說,當(dāng)從仿真管理部24把應(yīng)該在顯示裝置26上下一個顯示的仿真結(jié)果的經(jīng)過時刻指定為指定經(jīng)過時刻t時,機器人執(zhí)行管理部20,向機器人動作運算部12發(fā)出指令,以便從當(dāng)前的經(jīng)過時刻開始到指定經(jīng)過時刻t為止使仿真中的時間經(jīng)過,從機器人動作運算部12或機器人動作存儲部16取得與機器人動作運算部12求出的在指定經(jīng)過時刻t的機器人的動作位置以及信號狀態(tài)有關(guān)的信息,并交給仿真管理部24。
機床執(zhí)行管理部22起到對機床動作運算部14進行的機床仿真的時間經(jīng)過進行管理的功能。詳細地說,當(dāng)從仿真管理部24把應(yīng)該在顯示裝置26上下一個顯示的仿真結(jié)果的經(jīng)過時刻指定為指定經(jīng)過時刻t時,機床執(zhí)行管理部22取得在指定經(jīng)過時刻t的機床的動作位置以及信號狀態(tài),并將其交給仿真管理部24。但是,因為在通過機床動作運算部14進行的機床仿真中無法停止時間的經(jīng)過,不能控制時間的經(jīng)過,所以機床執(zhí)行管理部22實際上從機床動作存儲部18中存儲的機床仿真的結(jié)果(即,在每一指定的單位時間tu與經(jīng)過時刻關(guān)聯(lián)地存儲的、機床的工作臺以及工具的動作位置以及機床的信號狀態(tài)等)中,取得關(guān)于與指定經(jīng)過時刻t對應(yīng)的經(jīng)過時刻的機床的動作位置以及信號狀態(tài)等的信息。
當(dāng)結(jié)束了顯示裝置26上的仿真結(jié)果的顯示時,仿真管理部24把從顯示裝置26上顯示的仿真結(jié)果的經(jīng)過時刻開始經(jīng)過了預(yù)定的動作時間td后的時刻作為指定經(jīng)過時刻t指定給機器人執(zhí)行管理部20以及機床執(zhí)行管理部22,在取得與機器人以及機床雙方在指定經(jīng)過時刻t的動作位置以及狀態(tài)信號等有關(guān)的信息后,根據(jù)取得的信息,變更在該時刻在顯示裝置26上顯示的機器人以及機床的位置,在指定經(jīng)過時刻t的動作位置上顯示機器人以及機床,另一方面,把從指定經(jīng)過時刻t開始經(jīng)過了預(yù)定的動作時間td后的時刻作為下一指定經(jīng)過時刻t指定給機器人執(zhí)行管理部20以及機床執(zhí)行管理部22。另外,仿真管理部24,經(jīng)由機床執(zhí)行管理部22向機床動作運算部14轉(zhuǎn)交從機器人執(zhí)行管理部20取得的在指定經(jīng)過時刻t的機器人的信號狀態(tài),并且經(jīng)由機器人執(zhí)行管理部20向機器人動作運算部12轉(zhuǎn)交從機床執(zhí)行管理部22取得的在指定經(jīng)過時刻t的機床的信號狀態(tài)。
這樣,仿真管理部24在取得了機器人和機床雙方在指定經(jīng)過時刻t的動作位置以及信號狀態(tài)后,對機器人執(zhí)行管理部20以及機床執(zhí)行管理部22指定下一指定經(jīng)過時刻t。因此,仿真管理部24在通過機床動作運算部14進行的機床仿真中的經(jīng)過時刻比指定經(jīng)過時刻t晚的情況下,等待通過機床動作運算部14求出指定經(jīng)過時刻t的機床的動作位置以及信號狀態(tài)等,在取得了在指定經(jīng)過時刻t的機器人以及機床雙方的動作位置以及信號狀態(tài)等后,把從該指定經(jīng)過時刻t開始經(jīng)過了預(yù)定的動作時間td后的時刻(=t+td)作為下一指定經(jīng)過時刻t,使機床動作運算部14求出下一指定經(jīng)過時刻t的機床的動作位置以及信號狀態(tài)等。 在機器人的動作程序參照機床的動作位置或信號狀態(tài),或者在機床的加工程序參照機器人的動作位置或信號狀態(tài)時,在動作程序或加工程序中包含在得到參照的動作位置或信號狀態(tài)之前停止執(zhí)行程序的聯(lián)鎖指令。在通過機器人動作運算部12執(zhí)行的機器人仿真中,因為當(dāng)時間到達指定經(jīng)過時刻t時停止時間的經(jīng)過,等待下一指定經(jīng)過時刻t的指定,所以在仿真管理部24取得機器人和機床雙方在指定經(jīng)過時刻t的動作位置以及信號狀態(tài)等后,經(jīng)由機器人執(zhí)行管理部20接受下一指定經(jīng)過時刻t+td的指定。因此,機器人仿真中的經(jīng)過時間不會比指定經(jīng)過時刻t早。因此,在求出在下一指定經(jīng)過時刻t+td的機器人的動作位置以及信號狀態(tài)前之前,必然確定了在指定經(jīng)過時刻t的機床的動作位置以及信號狀態(tài),即使在機器人的動作程序中包含聯(lián)鎖指令時,也能夠在下一指定經(jīng)過時刻t+td的機器人的動作位置以及信號狀態(tài)中反映在指定經(jīng)過時刻t的機床的動作位置以及信號狀態(tài)。 另一方面,在通過機床動作運算部14執(zhí)行的機床仿真中無法停止時間的經(jīng)過,有時機床仿真中的經(jīng)過時間前進而超過指定經(jīng)過時刻t。此時,指定經(jīng)過時刻t前進到機床的加工程序根據(jù)聯(lián)鎖指令參照機器人的動作位置以及信號狀態(tài)時的機床仿真中的經(jīng)過時刻,在得到在該經(jīng)過時刻的機器人的動作位置以及信號狀態(tài)之前加工程序持續(xù)等待狀態(tài)。但是,在信號等待狀態(tài)期間,機床仿真中的時間仍然經(jīng)過。因此,當(dāng)在機床仿真中加工程序根據(jù)聯(lián)鎖指令成為等待狀態(tài)時,仿真管理部24將其作為時間不經(jīng)過來處理。例如,仿真管理部24,在從機床動作存儲部18中存儲的經(jīng)過時刻減去信號等待狀態(tài)持續(xù)的時間后得到的
7時刻等于指定經(jīng)過時刻t時,把與該經(jīng)過時刻對應(yīng)的動作位置以及狀態(tài)信號作為在指定經(jīng) 過時刻t的機床的動作位置以及狀態(tài)信號來使用。如此,在下一指定經(jīng)過時刻t+td的機床 的動作位置以及狀態(tài)信號中反映出在指定經(jīng)過時刻t的機器人的動作位置以及狀態(tài)信號。
然后,參照圖2所示的流程圖,說明在機器人的動作程序以及機床的加工程序中 不包含聯(lián)鎖指令時的、通過圖1所示的仿真裝置10進行的仿真的流程。
最初,作為仿真的準備,定義機器人、工件以及機床等的三維模型的形狀及其初始 位置(包含姿勢),并在顯示裝置26上顯示(步驟S100)。進而,生成使實際的機器人執(zhí) 行的動作程序以及使實際的機床執(zhí)行的加工程序,把這些程序讀入到仿真裝置10中(步 驟S102)。另外,設(shè)定對仿真裝置10的顯示裝置26上的顯示圖像進行更新的更新間隔時 間td(步驟S104),并且設(shè)定把執(zhí)行機床仿真過程中的機床的動作位置存儲在機床動作存 儲部18中的單位時間tu(步驟S106)。 以上的準備結(jié)束后,開始通過仿真裝置10進行的仿真(步驟S108)。當(dāng)仿真開始 時,把仿真的開始時刻作為經(jīng)過時刻t = O,在機器人動作運算部12中,啟動用于對實際的 機器人的動作進行仿真,實現(xiàn)虛擬機器人的機器人仿真軟件,在虛擬機器人上執(zhí)行實際的 機器人的動作程序,另外,在機床動作運算部14中,啟動用于對實際的機床的動作進行仿 真,實現(xiàn)虛擬機床的機床仿真軟件,在虛擬機床上執(zhí)行實際的機床的NC程序那樣的加工程 序(步驟S110)。 于是,機器人動作運算部12求出按照動作程序直到指定經(jīng)過時刻t為止使虛擬機 器人進行動作時的虛擬機器人的動作位置,在把求出的動作位置作為在指定經(jīng)過時刻t的 機器人的動作位置輸出后,在停止機器人仿真的時間經(jīng)過的狀態(tài)下等待下一指定經(jīng)過時刻 t的指定。另一方面,在機床動作運算部14進行的機床的仿真中,連續(xù)執(zhí)行機床仿真軟件, 無法停止機床仿真的時間的經(jīng)過。因此,機床動作運算部14連續(xù)地求出按照加工程序進行 虛擬機床的加工時的機床的工作臺以及工具等的動作位置,按照在步驟S106中預(yù)先設(shè)定 的每一單位時間tu,將求出的動作位置與經(jīng)過時間對應(yīng)地存儲在機床動作存儲部18中。
在整個生產(chǎn)系統(tǒng)的仿真中,首先,仿真管理部24,把在步驟S104中設(shè)定的顯示的 更新間隔時間td看作動作時間,把從顯示裝置26上已經(jīng)顯示的仿真結(jié)果的經(jīng)過時刻開始 經(jīng)過了更新間隔時間td的時刻作為指定經(jīng)過時刻t,指定給機器人執(zhí)行管理部20以及機床 執(zhí)行管理部22。當(dāng)指定了指定經(jīng)過時刻t時,機器人執(zhí)行管理部20使機器人動作運算部 12求出直到指定經(jīng)過時刻t為止按照動作程序使虛擬機器人進行動作時的虛擬機器人的 動作位置,作為在指定經(jīng)過時刻t的機器人的動作位置取得求出的動作位置(步驟S112)。 與機器人動作運算部12求出的機器人的動作位置有關(guān)的信息,可以直接交給機器人執(zhí)行 管理部20,也可以在臨時存儲在機器人動作存儲部16之后交給機器人執(zhí)行管理部20。另 一方面,當(dāng)指定了指定經(jīng)過時刻t時,機床執(zhí)行管理部22確認是否在機床動作存儲部18中 存儲了在經(jīng)過時刻t的機床的動作位置(步驟S114),在已存儲時從機床動作存儲部18中 取得在經(jīng)過時刻t的機床的動作位置(步驟S116)。當(dāng)在機床動作存儲部18中沒有存儲在 經(jīng)過時刻t的機床的動作位置時,機床執(zhí)行管理部22進行等待,直到通過機床動作運算部 14求出在經(jīng)過時刻t的機床的動作位置并將其存儲在機床動作存儲部18中為止。
機器人執(zhí)行管理部20以及機床執(zhí)行管理部22當(dāng)分別取得與指定經(jīng)過時刻t的 機器人以及機床的動作位置有關(guān)的信息時,將取得的信息交給仿真管理部24。仿真管理部24,當(dāng)從機器人執(zhí)行管理部20以及機床執(zhí)行管理部22取得與指定經(jīng)過時刻t的動作位置 有關(guān)的信息時,根據(jù)取得的信息,變更機器人、工件、機床的工作臺以及工具等的顯示用位 置(包含姿勢)(步驟S118),為了更新仿真結(jié)果的顯示,在顯示裝置26上顯示變更后的位 置的機器人、工件、機床的工作臺以及工具(步驟S120)。在工件由機器人抓持時根據(jù)機器 人的位置求出工件的位置,在工件配置在機床的工作臺上時根據(jù)機床的工作臺的位置求出 工件的位置。 當(dāng)更新了顯示裝置26關(guān)于仿真結(jié)果的顯示時,仿真管理部24確認機器人的動作 程序以及機床的加工程序是否結(jié)束(步驟S122)。在動作程序以及加工程序已結(jié)束時,結(jié)束 仿真的執(zhí)行。另一方面,如果動作程序以及加工程序未結(jié)束,則仿真管理部24在動作程序 以及加工程序結(jié)束前,把指定經(jīng)過時刻t與更新間隔時間td相加后的時刻作為新的指定經(jīng) 過時刻t,重復(fù)步驟S112 步驟S122 (步驟S124)。 下面參照圖3所示的流程圖,說明在機器人的動作程序以及機床的加工程序中包 含聯(lián)鎖指令時的、通過圖1所示的仿真裝置10進行的仿真的流程。 最初,作為仿真的準備,與圖2所示的情況相同,定義機器人、工件以及機床的三 維模型的形狀及其初始位置(包含姿勢),并在顯示裝置26上進行顯示(步驟S200)。然 后,與圖2所示的情況不同,規(guī)定在機器人和機床之間進行何種信號的交換(S202)。在此, 如圖4所示,以在機器人和機床之間連接信號線的情況為例進行說明,該信號線包含用于 在機床單元的門開啟完畢時從機床的數(shù)字輸出端子DOl向機器人的數(shù)字輸入端子DI1提供 門開啟完畢信號的信號線、以及用于在機器人返回到待機位置時從機器人的數(shù)字輸出端子 D02向機床的數(shù)字輸入端子DI2提供待機位置恢復(fù)信號的信號線。 然后,生成實際的機器人執(zhí)行的動作程序以及實際的機床執(zhí)行的加工程序,將這 些程序讀入到仿真裝置10中(步驟S204),設(shè)定對仿真裝置10的顯示裝置26上的顯示圖 像進行更新的更新間隔時間td(步驟S206),并且設(shè)定把機床仿真執(zhí)行過程中的機床的動 作位置存儲在機床動作存儲部18中的單位時間tu(步驟S208)。 在此,使在步驟S204中生成的機器人的動作程序以及機床的加工程序中分別包 含在接收到來自機床的信號之前停止執(zhí)行動作程序的聯(lián)鎖指令、以及在接收到來自機器人 的信號之前停止執(zhí)行加工程序的聯(lián)鎖指令。例如,如圖5所示,生成動作程序,使機器人1) 抓持未加工的工件移動到待機位置,然后等待機床單元的門開啟;2)當(dāng)經(jīng)由機器人的數(shù)字 輸入端子DI1接收到在機床單元的門開啟完畢時,從機床的數(shù)字輸出端子D01輸出的門開 啟完畢信號時,經(jīng)過打開的門把工件配置在機床單元的工作臺上然后返回到待機位置,然 后從機器人的數(shù)字輸出端子D02輸出待機位置恢復(fù)信號,并且進行待機直到機床進行的工 件加工結(jié)束,機床單元的門再次開啟為止;3)當(dāng)經(jīng)由機器人的數(shù)字輸入端子DI1接收到在 機床進行的工件加工結(jié)束,機床單元的門再次開啟時從機床的數(shù)字輸出D01輸出的門開啟 完畢信號時,從機床單元的工作臺上取出加工完的工件。另外,生成加工程序,使機床l)打 開機床單元的門,當(dāng)門開啟完畢時從機床的數(shù)字輸出端子D01輸出門開啟完畢信號;2)當(dāng) 經(jīng)由機床的數(shù)字輸入端子DI2接收到待機位置恢復(fù)信號時,關(guān)閉機床單元的門開始進行加 工,所述待機位置恢復(fù)信號是在經(jīng)過機床單元的門由機器人將未加工的工件配置在機床單 元的工作臺上,然后機器人返回到待機位置時從機器人的數(shù)字輸出端子D02輸出的信號; 3)當(dāng)工件的加工完成時,打開機床單元的門,當(dāng)門開啟完畢時從機床的數(shù)字輸出端子DOl輸出門開啟完畢信號,等待由機器人從機床單元的工作臺上取出加工完的工件。
在以上的準備結(jié)束后,開始由仿真裝置10進行仿真(步驟S210)。當(dāng)仿真開始時, 把仿真的開始時刻作為經(jīng)過時刻t = O,與圖2所示的情況相同,在機器人動作運算部12中 在虛擬機器人上執(zhí)行實際的機器人的動作程序,在機床動作運算部14中在虛擬機床上執(zhí) 行實際的機床的加工程序(步驟S212)。 于是,機器人動作運算部12求出按照動作程序直到經(jīng)過時刻t為止使虛擬機器人 進行動作時的虛擬機器人的動作位置以及信號狀態(tài),在把求出的動作位置以及信號狀態(tài)作 為在經(jīng)過時刻t的機器人的動作位置以及信號狀態(tài)輸出后,在停止了機器人仿真的時間經(jīng) 過的狀態(tài)下等待下一經(jīng)過時刻的指定。另一方面,在機床動作運算部14進行的機床的仿真 中,連續(xù)執(zhí)行機床仿真軟件,無法停止機床仿真的時間經(jīng)過。因此,機床動作運算部14連續(xù) 地求出按照加工程序虛擬機床進行加工時的機床的工作臺以及工具等的動作位置以及信 號狀態(tài),按照在步驟S208中預(yù)先設(shè)定的每一單位時間tu,將求出的動作位置以及信號狀態(tài) 與經(jīng)過時間對應(yīng)地存儲在機床動作存儲部18中。在圖3所示的實施方式中,除了機器人以 及機床的動作位置之外,機器人動作運算部12以及機床動作運算部14還求出信號狀態(tài),這 一點與圖2所示的實施方式不同。 在整個生產(chǎn)系統(tǒng)的仿真中,首先,仿真管理部24把在步驟S206中設(shè)定的顯示的更 新間隔時間td看作動作時間,把從顯示裝置26上顯示的仿真結(jié)果的經(jīng)過時刻開始經(jīng)過了 更新間隔時間td的時刻作為指定經(jīng)過時刻t,指定給機器人執(zhí)行管理部20以及機床執(zhí)行管 理部22。當(dāng)指定了指定經(jīng)過時刻t時,機器人執(zhí)行管理部20使機器人動作運算部12求出 直到指定經(jīng)過時刻t為止按照動作程序使虛擬機器人進行動作時的虛擬機器人的動作位 置以及信號狀態(tài),作為在指定經(jīng)過時刻t的機器人的動作位置以及信號狀態(tài)取得求出的動 作位置以及信號狀態(tài)(步驟S214)。與機器人動作運算部12求出的機器人的動作位置以 及信號狀態(tài)有關(guān)的信息,可以直接交給機器人執(zhí)行管理部20,也可以在臨時存儲在機器人 動作存儲部16之后交給機器人執(zhí)行管理部20。另一方面,當(dāng)指定了指定經(jīng)過時刻t時,機 床執(zhí)行管理部22確認是否在機床動作存儲部18中存儲了在經(jīng)過時刻t的機床的動作位置 以及信號狀態(tài)(步驟S216),在已存儲時從機床動作存儲部18中取得在經(jīng)過時刻t的機床 的動作位置以及信號狀態(tài)(步驟S218)。當(dāng)在機床動作存儲部18中沒有存儲在經(jīng)過時刻t 的機床的動作位置以及信號狀態(tài)時,機床執(zhí)行管理部22進行等待,直到通過機床動作運算 部14求出在經(jīng)過時刻t的機床的動作位置以及信號狀態(tài)并將其存儲在機床動作存儲部18 中為止。 機器人執(zhí)行管理部20以及機床執(zhí)行管理部22當(dāng)分別取得與指定經(jīng)過時刻t的機 器人以及機床的動作位置以及信號狀態(tài)有關(guān)的信息時,將取得的信息交給仿真管理部24。 仿真管理部24,當(dāng)從機器人執(zhí)行管理部20以及機床執(zhí)行管理部22取得與指定經(jīng)過時刻t 的動作位置以及信號狀態(tài)有關(guān)的信息時,根據(jù)取得的與動作位置有關(guān)信息,變更機器人、工 件、機床的工作臺以及工具等的顯示用位置(包含姿勢)(步驟S220),并且根據(jù)取得的與信 號狀態(tài)有關(guān)的信息,變更機器人以及機床的信號狀態(tài)(步驟S222)。然后,為了更新仿真結(jié) 果的顯示,在顯示裝置26上顯示變更后的位置的機器人、工件、機床的工作臺以及工具(步 驟S224)。在工件由機器人抓持時根據(jù)機器人的位置求出工件的位置,在工件配置在機床的 工作臺上時根據(jù)機床的工作臺的位置求出工件的位置。
當(dāng)更新了顯示裝置26關(guān)于仿真結(jié)果的顯示時,仿真管理部24確認機器人的動作 程序以及機床的加工程序是否結(jié)束(步驟S226)。在動作程序以及加工程序已結(jié)束時,結(jié)束 仿真的執(zhí)行。另一方面,如果動作程序以及加工程序未結(jié)束,則仿真管理部24在動作程序 以及加工程序結(jié)束前,把指定經(jīng)過時刻t與更新間隔時間td相加后的時刻作為新的指定經(jīng) 過時刻t,重復(fù)步驟S214 步驟S226 (步驟S228)。 如此,根據(jù)圖1所示的仿真裝置10,能夠使用能夠控制經(jīng)過時間的仿真軟件和無 法控制經(jīng)過時間的仿真軟件這樣的種類不同的仿真軟件,同時進行不同種類的機器人和機 床的動作仿真,作為包含機器人以及機床的整個生產(chǎn)系統(tǒng)的仿真結(jié)果,可以按照機器人仿 真以及機床仿真的結(jié)果在顯示裝置26上同時顯示在各個經(jīng)過時刻的機器人以及機床。因 此,可以容易地檢查包含機器人和機床雙方的整個生產(chǎn)系統(tǒng)。另外,不需要使用由實際的機 器人、機床構(gòu)成的生產(chǎn)線,能夠正確地確認按照在實際的機器人中使用的動作程序的機器 人的動作位置以及按照在實際的機床中使用的加工程序的機床的動作位置,能夠簡單并且 在短時間內(nèi)進行現(xiàn)場的調(diào)整作業(yè)。 到此為止參照圖示的實施方式,說明了本發(fā)明的仿真裝置10,但本發(fā)明并不限于 圖示的實施方式。例如在圖示的實施方式中,進行由一臺機器人和一臺機床構(gòu)成的生產(chǎn)系 統(tǒng)的仿真,但是同樣可以進行使用兩臺以上的機器人或兩臺以上的機床的生產(chǎn)線的仿真。 另外,在圖示的實施方式中,在機器人的仿真中使用能夠停止時間經(jīng)過的仿真軟件(即,能 夠進行經(jīng)過時間的控制的仿真軟件),在機床的仿真中使用無法停止時間經(jīng)過的仿真軟件 (即,無法進行經(jīng)過時間的控制的仿真軟件),相反,也可以在機器人的仿真中使用無法停 止時間經(jīng)過的仿真軟件,在機床的仿真中使用能夠停止時間經(jīng)過的仿真軟件。
權(quán)利要求
一種仿真裝置(10),其使用分別仿真基于不同的指令程序進行動作的第一作業(yè)機械以及第二作業(yè)機械的動作的第一虛擬作業(yè)裝置以及第二虛擬作業(yè)裝置,進行第一作業(yè)機械以及第二作業(yè)機械的動作的仿真,根據(jù)仿真的結(jié)果在顯示裝置(26)上顯示第一作業(yè)機械以及第二作業(yè)機械的三維模型,其特征在于,具有仿真管理部(24),用于指定指定經(jīng)過時刻;第一動作運算部(12),用于在所述第一虛擬作業(yè)裝置上直到所述指定經(jīng)過時刻為止執(zhí)行所述第一作業(yè)機械的指令程序,求出在所述指定經(jīng)過時刻的所述第一作業(yè)機械的動作位置;第二動作運算部(14),用于一邊在所述第二虛擬作業(yè)裝置上連續(xù)地執(zhí)行所述第二作業(yè)機械的指令程序,一邊逐次求出所述第二作業(yè)機械的動作位置;和動作存儲部(18),用于在每次經(jīng)過預(yù)定的單位時間時,對應(yīng)地存儲經(jīng)過時刻與通過所述第二動作運算部求出的所述第二作業(yè)機械的動作位置,所述仿真管理部(24),在從所述第一動作運算部(12)取得在所述指定經(jīng)過時刻的所述第一作業(yè)機械的動作位置,并且從所述動作存儲部(18)取得在所述指定經(jīng)過時刻的所述第二作業(yè)機械的動作位置后,根據(jù)取得的所述第一作業(yè)機械以及所述第二作業(yè)機械的動作位置,在所述顯示裝置(26)上顯示所述第一作業(yè)機械以及所述第二作業(yè)機械的三維模型,把從該指定經(jīng)過時刻開始經(jīng)過預(yù)定的動作時間的時刻指定為下一指定經(jīng)過時刻。
2. 根據(jù)權(quán)利要求l所述的仿真裝置,其特征在于,所述第一作業(yè)機械和所述第二作業(yè)機械一邊相互進行通信一邊執(zhí)行各自的指令程序。
3. 根據(jù)權(quán)利要求2所述的仿真裝置,其特征在于,所述仿真管理部(24),在所述第二作業(yè)機械的指令程序等待來自所述第一作業(yè)機械的通信的期間,作為通過所述第二動作運算部(14)執(zhí)行的仿真中的經(jīng)過時刻已停止來處理。
4. 根據(jù)權(quán)利要求1至3的任意一項所述的仿真裝置,其特征在于,所述第一作業(yè)機械是機器人,所述第二作業(yè)機械是機床。
全文摘要
仿真裝置具有仿真管理部,用于指定經(jīng)過時刻;機器人動作運算部,用于到指定經(jīng)過時刻為止執(zhí)行動作程序,求出在指定經(jīng)過時刻的機器人的動作位置;機床動作運算部,用于一邊連續(xù)地執(zhí)行加工程序一邊逐次求出機床的動作位置;和機床動作存儲部,用于在每次經(jīng)過單位時間時,將求出的機床的動作位置與經(jīng)過時刻對應(yīng)地進行存儲。仿真管理部根據(jù)從機器人動作運算部和機床動作運算部取得的在指定經(jīng)過時刻的機器人和機床的動作位置,在顯示裝置上顯示機器人以及機床的三維模型。
文檔編號G05B19/4069GK101751004SQ200910253989
公開日2010年6月23日 申請日期2009年12月11日 優(yōu)先權(quán)日2008年12月12日
發(fā)明者井上幸三, 長塚嘉治 申請人:發(fā)那科株式會社