JP2005018266A - 並列分散処理システム、ncデータ作成方法及びncデータ作成プログラム - Google Patents
並列分散処理システム、ncデータ作成方法及びncデータ作成プログラム Download PDFInfo
- Publication number
- JP2005018266A JP2005018266A JP2003180019A JP2003180019A JP2005018266A JP 2005018266 A JP2005018266 A JP 2005018266A JP 2003180019 A JP2003180019 A JP 2003180019A JP 2003180019 A JP2003180019 A JP 2003180019A JP 2005018266 A JP2005018266 A JP 2005018266A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- calculation
- tool
- master server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Numerical Control (AREA)
Abstract
【課題】安定的に高い処理効率を確保することできる並列分散処理システムを提供すること。
【解決手段】マスタサーバは、工具軌跡(CL)を工具とワークとの位置関係により区分(関係区分)し、CL計算処理を、切削部、リトラクト部/アプローチ部、ピック部、及びエアカット部の各関係区分毎のCL計算処理に分割する(ステップ403)。そして、マスタサーバは、上記各関係区分毎のCL計算において、かかる関係区分の各小軌跡を操作区間毎に特定し、スレーブサーバに分散処理単位としてその処理を依頼する(ステップ404〜ステップ407)。
【選択図】 図5
【解決手段】マスタサーバは、工具軌跡(CL)を工具とワークとの位置関係により区分(関係区分)し、CL計算処理を、切削部、リトラクト部/アプローチ部、ピック部、及びエアカット部の各関係区分毎のCL計算処理に分割する(ステップ403)。そして、マスタサーバは、上記各関係区分毎のCL計算において、かかる関係区分の各小軌跡を操作区間毎に特定し、スレーブサーバに分散処理単位としてその処理を依頼する(ステップ404〜ステップ407)。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は、NC加工データ作成工程におけるCL(Cutter Location)計算等を処理するための並列分散処理システム、NCデータ作成方法及びNCデータ作成プログラムに関するものである。
【0002】
【従来の技術】
現代の製造業では、あらゆる分野においてCAD/CAMシステムを用いた設計・製造が行われている。例えば、金型の製造では、先ず、CADを用いて金型のモデルデータが作成され、その後、このモデルデータを基準として金型のNC加工が行われる。
【0003】
ところで、NC加工を行うためには、モデルデータを基礎データとしてNC加工機の作動を制御するNCデータを作成する工程が必要である。しかし、このNCデータ作成工程は、例えば、加工時に工具が辿る工具軌跡(CL:Cutter Location)を計算するCL計算処理等、大量の計算を処理する必要があるため非常に時間がかかる。そのため、NCデータ作成工程においては、計算処理の効率化及び高速化が一つの課題となっている。
【0004】
従来、このような大量の計算を高速に処理するシステムとして、一連の計算を所定の分散処理単位に分割し、ネットワークを介して相互に接続された複数の情報処理装置により並列的且つ分散的に処理する並列分散処理システムがある(特許文献1参照)。
【0005】
【特許文献1】
特開2002−157230号公報
【0006】
【発明が解決しようとする課題】
しかし、NCデータ作成工程に用いられる従来の並列分散処理システムは、例えば、CL計算処理の場合、その分散処理単位が、切削工程単位や工具単位等の計算条件及びモデルが完全に独立した比較的大きな単位であるため、各情報処理装置が負担する処理量にバラツキがでやすい。そのため、特定の情報処理装置の負荷が極端に大きくなるおそれがあり、また処理待ちが発生する場合もあるため、結果的に並列分散処理システムとしての処理効率が低下し、NCデータ作成に時間を要する場合があるという問題がある。
【0007】
本発明はこうした実情に鑑みてなされたものであり、その目的は、安定的に高い処理効率を確保することできる分散処理システム、NCデータ作成方法及びNCデータ作成プログラムを提供することにある。
【0008】
【課題を解決するための手段】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項1に記載の発明は、複数のスレーブサーバと、基礎データ及び計算条件に基づいて処理すべき計算を所定の分散処理単位に分割し前記各スレーブサーバにその処理を依頼するマスタサーバとを備え、前記各スレーブサーバは、前記マスタサーバに依頼された処理を実行しその処理結果を返信する並列分散処理システムであって、前記マスタサーバは、NC加工機の作動を制御するNCデータを作成するためのNCデータ作成処理を実行するものであり、前記NCデータ作成処理を構成するCL計算処理において、工具軌跡を工具とワーク又はモデルとの位置関係により複数の関係区分に区分し、前記CL計算処理を前記各関係区分毎の前記CL計算処理に分割し、前記各スレーブサーバに対し、前記関係区分の各小軌跡を操作区間毎に特定し、前記分散処理単位としてその処理を依頼することを要旨とする。
【0009】
この並列分散処理システムによれば、スレーブサーバへ依頼する個々の処理の計算量が少なくなる。これにより、各処理間の計算量のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生が防止される。従って、並列分散処理システム全体としての処理効率を向上させ、NCデータ作成工程の短縮化を図ることができる。
【0010】
請求項2に記載の発明は、前記マスタサーバは、前記スレーブサーバから受信した処理結果を前記関係区分及び操作区間に基づいて整合することにより各工具単位のNCデータを作成し、該各工具単位のNCデータを整合することにより全体のNCデータを作成することを要旨とする。
【0011】
この並列分散処理システムによれば、NCデータ作成工程におけるCL計算処理について、工程単位、工具単位、更に関係区分単位のCL計算処理に分割して処理するので、スレーブサーバへ依頼する個々の処理の計算量が少なくなる。これにより、各処理間の計算量のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生が防止される。従って、並列分散処理システム全体としての処理効率を向上させ、NCデータ作成工程の短縮化を図ることができる。
【0012】
また、CL計算処理を小さな計算処理単位に分割したので、マスタサーバへの処理結果の送信が断続的に分散して行われる。従って、ネットワーク負荷が小さくなり、ネットワーク状態が安定する。
【0013】
請求項3に記載の発明は、前記CL計算処理は、自由曲面を複数の三角形群で表現するSTLデータと、該STLデータで表現されるSTLモデルを格子状の小区画に区画し該小区画とSTLモデルとの各三角面の位置関係を特定する区画データを基礎データとして処理されることを要旨とする。
【0014】
この並列分散処理システムによれば、STLモデル(の各三角面)は、小区画ごとに管理されるので、工具が位置する小区画を特定することにより、工具とSTLモデルの三角面の位置関係が明確となる。従って、STLデータを参照する際には、関連する小区画のSTLデータのみを参照して処理をすることができ、処理効率を向上させることができる。
【0015】
請求項4に記載の発明は、前記マスタサーバは、前記各スレーブサーバに対し、少なくとも一の前記処理を依頼するものであって、該処理の処理結果を受信した場合には、該処理を返信した前記スレーブサーバに対し一の前記処理を依頼することを要旨とする。
【0016】
この並列分散処理システムによれば、各スレーブサーバに依頼する処理の計算量にバラツキがある場合でも、計算量の少ない処理を実行するスレーブサーバが、計算量の多い処理を実行するスレーブサーバよりも、より多くの数の処理を実行することにより、各スレーブサーバ間の処理量が均一化される。また、各スレーブサーバ間に処理能力の差異がある場合であっても、処理能力が高いスレーブサーバは、処理能力の低いスレーブサーバが処理を終了するのを待機することなく、多くの数の処理を実行することが可能になる。その結果、並列分散処理システム全体の処理効率を向上させることができる。
【0017】
更に、マスタサーバと各スレーブサーバとの間の受送信が分散化されるので、ネットワーク負荷を軽減することができ、ネットワーク状態を安定化させることができる。加えて、マスタサーバから各スレーブサーバへの処理依頼は、一の処理依頼に対する処理結果の送信で完結するので、各スレーブサーバの数を動的に増減することができる。
【0018】
請求項5に記載の発明は、前記マスタサーバは、前記依頼する前に予め前記基礎データ及び計算条件をブロードキャスト配信することを要旨とする。
この並列分散処理システムによれば、基礎データ及び計算条件データを予めブロードキャスト配信することにより、ネットワーク負荷を軽減することができ、ネットワーク状態を安定化させることができる。特に、基礎データ及び計算条件データを頻繁に参照するような計算を処理する場合には、その効果が大きいことに加え、各スレーブサーバが基礎データ及び計算条件データを保持し個々に参照することにより処理効率が向上し、結果としてシステム全体としての処理効率を向上させることができる。
【0019】
請求項6に記載の発明は、複数のスレーブサーバと、基礎データ及び計算条件に基づいて処理すべき計算を所定の分散処理単位に分割し前記各スレーブサーバにその処理を依頼するマスタサーバとを備え、前記各スレーブサーバは、前記マスタサーバに依頼された処理を実行しその処理結果を返信する並列分散処理システムにより、NC加工機の作動を制御するNCデータを作成するNCデータ作成処理を実行するNCデータ作成方法であって、前記NCデータ作成処理を構成するCL計算処理において、工具軌跡を工具とワーク又はモデルとの位置関係により複数の関係区分に区分し、前記CL計算処理を前記各関係区分毎の前記CL計算処理に分割するステップと、前記各スレーブサーバに対し、前記関係区分の各小軌跡を操作区間毎に特定し、前記分散処理単位としてその処理を依頼するステップとを備えたことを要旨とする。
【0020】
このNCデータ作成方法によれば、スレーブサーバへ依頼する個々の処理の計算量が少なくなる。これにより、各処理間の計算量のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生が防止される。従って、並列分散処理システム全体としての処理効率を向上させ、NCデータ作成工程の短縮化を図ることができる。
【0021】
請求項7に記載の発明は、前記スレーブサーバから受信した処理結果を前記関係区分及び操作区間に基づいて整合することにより各工具単位のNCデータを作成するステップと、前記各工具単位のNCデータを整合することにより全体のNCデータを作成するステップとを備えたことを要旨とする。
【0022】
このNCデータ作成方法によれば、NCデータ作成工程におけるCL計算処理について、工程単位、工具単位、更に関係区分単位のCL計算処理に分割して処理するので、スレーブサーバへ依頼する個々の処理の計算量が少なくなる。これにより、各処理間の計算量のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生が防止される。従って、並列分散処理システム全体としての処理効率を向上させ、NCデータ作成工程の短縮化を図ることができる。
【0023】
請求項8に記載の発明は、前記CL計算処理は、自由曲面を複数の三角形群で表現するSTLデータと、該STLデータで表現されるSTLモデルを格子状の小区画に区画し該小区画とSTLモデルの各三角面との位置関係を特定する区画データを基礎データとして処理することを要旨とする。
【0024】
このNCデータ作成方法によれば、STLモデル(の各三角面)は、小区画ごとに管理されるので、工具が位置する小区画を特定することにより、工具とSTLモデルの三角面の位置関係が明確となる。従って、STLデータを参照する際には、関連する小区画のSTLデータのみを参照して処理をすることができ、処理効率を向上させることができる。
【0025】
請求項9に記載の発明は、複数のスレーブサーバと、基礎データ及び計算条件に基づいて処理すべき計算を所定の分散処理単位に分割し前記各スレーブサーバにその処理を依頼するマスタサーバとを備え、前記各スレーブサーバは、前記マスタサーバに依頼された処理を実行しその処理結果を返信する並列分散処理システムに、NC加工機の作動を制御するNCデータを作成するためのNCデータ作成処理を実行させるNCデータ作成プログラムであって、前記NCデータ作成処理を構成するCL計算処理において、前記マスタサーバに、工具軌跡を工具とワーク又はモデルとの位置関係により複数の関係区分に区分し、前記CL計算処理を前記各関係区分毎の前記CL計算処理に分割させるステップと、前記各スレーブサーバに対し、前記関係区分の各小軌跡を操作区間毎に特定し、前記分散処理単位としてその処理を依頼させるステップとを備えたことを要旨とする。
【0026】
このNCデータ作成プログラムによれば、スレーブサーバへ依頼する個々の処理の計算量が少なくなる。これにより、各処理間の計算量のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生が防止される。従って、並列分散処理システム全体としての処理効率を向上させ、NCデータ作成工程の短縮化を図ることができる。
【0027】
【発明の実施の形態】
以下、本発明を具体化した一実施形態について図面を参照しつつ説明する。
図1は、本実施形態の並列分散処理システムの構成を示す概略構成図である。
【0028】
同図に示すように、本実施形態の並列分散処理システム1は、ネットワーク2を介して相互に接続された、クライアント端末3と、マスタサーバ4と、複数のスレーブサーバ5a〜5cとを備えている。
【0029】
クライアント端末3は、計算の基礎データDb及び計算条件データDccを入力するための情報処理装置であり、入力された基礎データDb及び計算条件データDccをマスタサーバ4に転送し、その処理を依頼する信号(依頼信号)を発信する。そして、マスタサーバ4及びスレーブサーバ5a〜5cは、入力された基礎データDb及び計算条件データDccに基づいて処理すべき計算を並列的且つ分散的に処理する。
【0030】
詳述すると、マスタサーバ4は、クライアント端末3からの依頼信号を受信すると、入力された基礎データDb及び計算条件データDccに基づいて、処理すべき計算を所定の分散処理単位に分割し、その処理を各スレーブサーバ5a〜5cに依頼する。各スレーブサーバ5a〜5cは、マスタサーバ4から依頼された処理を実行し、その処理結果をマスタサーバ4に送信(返信)する。そして、マスタサーバ4は、各スレーブサーバ5a〜5cから受信した処理結果を整合し、依頼信号に対応する計算の処理結果としてクライアント端末3へ転送する。
【0031】
本実施形態では、マスタサーバ4は、各スレーブサーバ5a〜5cに対し、少なくとの一の処理を依頼する。詳しくは、各スレーブサーバ5a〜5cのCPUの数に比例する数の処理(一のCPUに対し一つの処理)を依頼する。例えば、マスタサーバ4は、一のCPU6,7を有するスレーブサーバ5a,5cには、それぞれ一の処理を依頼し、二つのCPU8a,8bを有するスレーブサーバ5bには、二つの処理を依頼する。
【0032】
そして、マスタサーバ4は、一の処理結果を受信する毎に、当該処理結果の送信先のスレーブサーバに対し、再び一の処理を依頼する。例えば、マスタサーバ4は、スレーブサーバ5aから一の処理結果を受信した場合には、再びスレーブサーバ5aに一の処理を依頼する。
【0033】
また、本実施形態では、マスタサーバ4は、各スレーブサーバ5a〜5cに対し最初の処理を依頼する前、即ち並列分散処理を開始する前に、予め基礎データDb及び計算条件データDccをブロードキャスト配信する。各スレーブサーバ5a〜5cには、このブロードキャスト配信された基礎データDb及び計算条件データDccを受信する機能が実装されており、各スレーブサーバ5a〜5cは、受信した基礎データDb及び計算条件データDccを記憶装置9a〜9cに記憶する。そして、各スレーブサーバ5a〜5cは、マスタサーバ4から依頼された処理する実行する際には、記憶装置9a〜9cから基礎データDb及び計算条件データDccを読み出すことによりその処理を行う。
【0034】
尚、本実施形態では、各スレーブサーバ5a〜5cが受信する基礎データDb及び計算条件データDccは、そのCPUの数にかかわらず一つ(一組)であり、各スレーブサーバ5a〜5cにおいて、そのCPUの数に応じてコピー又はエイリアシングされる。
【0035】
また、本実施形態では、ネットワーク2には、マスタサーバ4及び各スレーブサーバ5a〜5cが実行すべき計算処理のスケジューリングを行うジョブコントローラ10が接続されており、クライアント端末3から発信された依頼信号は、JOBとしてジョブコントローラ10のジョブデータベース10aに登録される。そして、ジョブコントローラ10は、設定されたスケジュール又は起動条件に従ってマスタサーバ4にJOB起動命令を送信する。そして、マスタサーバ4は、このJOB起動命令を受信することにより、対応する計算の処理を開始する。
【0036】
尚、並列分散処理システム1を構成する情報処理装置が提供するクライアント端末3、マスタサーバ4、複数のスレーブサーバ5a〜5c及びジョブコントローラ10としての機能は、各情報処理装置上で実行されるコンピュータプログラムにより実現される。このようなプログラムは、可搬媒体に格納された状態で提供され、又は、ネットワーク上に接続された他の情報処理装置の記憶装置からネットワークを介して提供される。提供されたプログラムは記憶装置にインストールされ、起動時にメモリ(図示せず)にロードされて実行されるものである。
【0037】
本実施形態では、マスタサーバ4及び各スレーブサーバ5a〜5cを構成する各情報処理装置には、同一のモジュール構成を有するプログラムがインストールされている。そして、上記JOB起動命令を受信した際にJOB起動命令に対応する基礎データDb及び計算条件データDccを保有する情報処理装置、即ちクライアント端末3から基礎データDb及び計算条件データDccが転送された情報処理装置がマスタサーバとなる。
【0038】
次に、本実施形態の並列分散処理システムによる並列分散処理の態様について説明する。
図2に示すように、マスタサーバ4は、JOB起動命令(依頼信号)を受信すると、先ず、各スレーブサーバ5a〜5cに対し、並列分散処理の開始宣言を配信する(ステップ101)。そして、受信したJOB起動命令に対応する基礎データDb及び計算条件データDccを読出し、処理すべき計算を所定の分散処理単位に分割する(ステップ102)。
【0039】
一方、各スレーブサーバ5a〜5cは、マスタサーバ4が配信した並列分散処理の開始宣言を受信すると(ステップ201)、マスタサーバ4に対し、処理依頼待ち信号を送信する(ステップ202)。このステップ202において、各スレーブサーバ5a〜5cは、依頼された処理の実行が可能な状態のCPU(処理能力に余裕があるCPU)の数と同数の処理依頼待ち信号を送信する。従って、上記ステップ201の開始宣言の受信直後の場合には、各スレーブサーバ5a〜5cは、一のCPUについて一の処理依頼待ち信号を送信する。
【0040】
次に、マスタサーバ4は、各スレーブサーバ5a〜5cが送信した処理依頼待ち信号を受信すると(ステップ103)、その処理依頼待ち信号を送信したスレーブサーバに対し、一の処理依頼待ち信号について一の処理を依頼する(ステップ104)。そして、各スレーブサーバ5a〜5cは、マスタサーバ4から送信された処理依頼を受信する(ステップ203)。
【0041】
次に、各スレーブサーバ5a〜5cは、マスタサーバ4から並列分散処理の終了宣言が配信されているか否か(終了宣言を受信したか否か)を判断する(ステップ204)。そして、終了宣言を受信しない場合には、上記ステップ203において受信した処理(依頼された処理)を実行し(ステップ205)、その処理結果をマスタサーバ4に送信(返信)する(ステップ206)。
【0042】
そして、上記ステップ202に戻り、再びマスタサーバ4に対して処理依頼待ち信号を送信する。そして、各スレーブサーバ5a〜5cは、上記ステップ204で終了宣言を受信したと判断するまで上記ステップ202〜ステップ206までの処理を繰り返す。
【0043】
一方、マスタサーバ4は、各スレーブサーバ5a〜5cから処理結果を受信すると、その処理結果を記憶装置4a(図1参照)に書き込む(ステップ105)。尚、本実施形態では、この書き込み処理の終了を待たずに次のステップ106の処理へ移行する。即ち、マスタサーバ4は、処理依頼の送信と、処理結果の書込とを同時並列的に行う。
【0044】
次に、マスタサーバ4は、各スレーブサーバ5a〜5cに依頼した処理の処理結果を全て受信したか否か(受信した処理結果の数が依頼した処理の数と等しいか否か)を判断する(ステップ106)。そして、マスタサーバ4は、スレーブサーバに依頼した処理の処理結果を全て受信するまで、上記ステップ103〜ステップ106までの処理を繰り返す。そして、マスタサーバ4は、依頼した全ての処理の処理結果を受信した場合には、各スレーブサーバ5a〜5cに終了宣言を配信し、その処理を終了する(ステップ107)。
【0045】
[NCデータ作成処理]
次に、本実施形態の並列分散処理システムによるNCデータ作成処理について詳述する。
【0046】
NCデータ作成処理は、NC加工の各工程で使用する各工具について、加工時にその工具が辿る工具軌跡(CL:Cutter Location)を計算するCL計算処理を行い、作成された各工具単位でのNCデータ(工具単位NCデータ)を整合することによりNC加工全体のNCデータを作成する処理である。
【0047】
図1に示すように、本実施形態の並列分散処理システム1は、クライアント端末3にモデルデータDm及び計算条件データDccが入力されることにより、NC加工機15の作動を制御するNCデータを作成する処理(NCデータ作成処理)を実行する。
【0048】
詳述すると、クライアント端末3は、モデルデータDm及び計算条件データDccが入力されると、このモデルデータDm及び計算条件データDccをマスタサーバ4に転送し、NCデータ作成処理の実行を依頼する信号を発信する。そして、マスタサーバ4は、依頼信号(JOB起動命令)を受信することにより、このJOB起動命令に対応するNCデータ作成処理を開始する。
【0049】
尚、本実施形態では、モデルデータDmとして面モデルデータが用いられ、計算条件データDccには、NC加工の各工程(加工工程)S、各工程で使用する工具T、及びその工具に関する情報(各工具の仕様Tv、その工具を用いた加工方法Tm)等が含まれる(図3参照)。
【0050】
次に、並列分散処理システムによるNCデータ作成処理について詳述する。
図4は、NCデータ作成処理のフローチャートである。
同図に示すように、マスタサーバ4は、NCデータ作成処理に関するJOB起動命令を受信すると(ステップ301)、各スレーブサーバ5a〜5cに対しモデルデータDm及び計算条件データDccをブロードキャスト配信する。そして、各スレーブサーバ5a〜5cは、受信したモデルデータDm及び計算条件データDccを、その記憶装置9a〜9cに記憶する(ステップ302)。
【0051】
次に、マスタサーバ4(及び各スレーブサーバ5a〜5c)は、各工程で使用する各工具について、それぞれCL計算処理を行い、それぞれの工具単位NCデータを作成する(ステップ303〜ステップ309)。例えば、計算対象のNC加工が第1〜第3工程の3工程あり、各工程でそれぞれ2種類の工具を使用する場合、マスタサーバ4(及び各スレーブサーバ5a〜5c)は、第1工程第1工具〜第3工程第2工具までの6工具、それぞれについてCL計算処理を行い、それぞれの工具単位NCデータDdncを作成する。
【0052】
詳述すると、マスタサーバ4は、先ず、計算条件データDccから工程数Snを読み出す(ステップ303、図1及び図3参照)。そして、マスタサーバ4は、同じく計算条件データDccから第i工程で使用する工具数Tnを読み出す(ステップ304)。
【0053】
次に、マスタサーバ4及び各スレーブサーバ5a〜5cは、モデルデータDmを基礎データとして面近似計算処理を行い、CL計算処理を実行するための基礎データとなるSTLデータDstlを作成する(ステップ305)。
【0054】
面近似計算処理は、モデルデータDmが表現する面モデルの自由曲面(三次元自由曲面)を三角形(三角パッチ)で近似し(面近似計算)、これらの三角形群及びその座標によりモデルを表現するSTLデータ(標準三角パッチ言語:Standard Triangulation Language)Dstlを生成する計算処理である。尚、ここでいう面モデルの自由曲面は、平面、円筒面等を含む。
【0055】
このステップ305において、マスタサーバ4は、面モデルの各面を分散処理単位として各スレーブサーバ5a〜5cに面近似計算の処理を依頼する。そして、各スレーブサーバ5a〜5cは、ステップ302において記憶装置9a〜9cに記憶したモデルデータDm及び計算条件データDccを読み出すことにより、依頼された処理(モデルの各面毎の面近似計算)を実行し、その処理結果をマスタサーバ4に送信(返信)する。そして、マスタサーバ4は、各スレーブサーバ5a〜5cから受信した処理結果を整合しSTLデータDstlを作成する。
【0056】
次に、マスタサーバ4は、上記ステップ305において作成されたSTLデータDstlを、以下に示すCL計算処理の基礎データとしてブロードキャスト配信する。そして、各スレーブサーバ5a〜5cは、上記ステップ302の場合と同様に、受信したSTLデータDstlを、その記憶装置9a〜9cに記憶する(ステップ306)。
【0057】
次に、マスタサーバ4及び各スレーブサーバ5a〜5cは、上記ステップ305において作成したSTLデータDstl、及び計算条件データDccに基づいて、第i工程においてj番目に使用する工具、即ち第i工程第j工具のCL計算処理を実行する。そして、マスタサーバ4は、その処理結果、即ち第i工程第j工具の工具単位NCデータDdncとして記憶装置4a(図1参照)に書き込む(ステップ307)。
【0058】
尚、本実施形態では、CL計算上、要求されるモデル面の近似精度(三角形の大きさ)は各工具ごとに異なるため、上記ステップ305,306における面近似計算処理及びSTLデータDstlの配信は各工具ごとに行われる。そして、このステップ307で行うCL計算処理では、第i工程第j工具用のSTLデータDstlが基礎データとして参照される。
【0059】
例えば、荒取り工程の第1工具と細仕上げ工程の最終工具とでは、工具の加工精度に従ってその要求するモデル面の近似精度も大きく異なる。そのため、荒取り工程第1工具のCL計算処理では、荒取り工程第1工具用のSTLデータDstlが、細仕上げ工程最終工具のCL計算処理では、細仕上げ工程最終工具用のSTLデータDstlが基礎データとして参照される。
【0060】
次に、第i工程第j工具のCL計算処理が終了すると、マスタサーバ4(及び各スレーブサーバ5a〜5c)は、第i工程において使用する全ての工具のCL計算処理が終了したか否か(j=j+1,j>Tn)を判断する(ステップ308)。そして、マスタサーバ4(及びスレーブサーバ5a〜5c)は、第i工程における全ての工具のCL計算処理が終わるまで、上記ステップ305〜ステップ308の処理を繰り返す。
【0061】
例えば、上記ステップ307において第1工程における第1工具のCL計算処理が終了すると、マスタサーバ4は、次のステップ308において第1工程に第2工具があるか否かを判断する。そして、第1工程に第2工具がある場合には、再びステップ305に戻り、第1工程第2工具用の面近似処理及びSTLデータDstlの配信、そして第1工程第2工具のCL計算処理を実行する。そして、第1工程で使用する全ての工具についてCL計算処理を実行するまで上記ステップ305〜308の処理を繰り返す。
【0062】
次に、マスタサーバ4は、ステップ308において第i工程で使用する全ての工具についてのCL計算処理が終了したと判断すると、NC加工における全工程に関するCL計算処理が終了したか否か(i=i+1,i>Sn)を判断する(ステップ309)。そして、全ての工具のCL計算処理が終わるまで、上記ステップ304〜ステップ309の処理を繰り返す。
【0063】
例えば、第1工程で使用する全ての工具のCL計算処理が終了すると、マスタサーバ4は、ステップ309において第2工程があるか否かを判断する。そして、第2工程がある場合には、再びステップ304に戻り、ステップ305〜308の処理を繰り返すことにより、第2工程で使用する全ての工具についてのCL計算処理を実行する。
【0064】
そして、全工程における全工具についてのCL計算処理が終了すると、マスタサーバ4は、上記ステップ305〜ステップ309により作成された各工具単位NCデータDdncを整合し、NC加工全体のNCデータDncを作成する(ステップ410)。そして、マスタサーバ4が、作成したNCデータをクライアント端末3へと転送することにより、NCデータ作成処理が終了する。
【0065】
尚、本実施形態の並列分散処理システム1では、クライアント端末3に送信されたNCデータは、記憶媒体(NCテープ)に記録されてNC加工機15に転送される構成であるが、クライアント端末3とNC加工機15とをネットワーク接続し、NCデータを直接NC加工機15へ送信する構成としてもよい(図1参照)。
【0066】
次に、CL計算処理について詳述する。
図5はCL計算処理の態様を示すフローチャートであり、図6はCL計算処理におけるモデル管理の態様を示す説明図、図7は加工時の工具軌跡(CL)の説明図である。
【0067】
図5に示すように、マスタサーバ4及びスレーブサーバ5a〜5cは、先ず、STLデータDstl及び計算条件データDccを基礎データとして区画計算処理を行い、STLモデルMstlの各三角面(STLデータDstlにより表現される面)を管理をするための区画データDdivを生成する(ステップ401)。
【0068】
図6に示すように、区画計算処理は、STLモデルMstlを格子状の小区画25に区画し、STLモデルMstlの三角面27(又はSTLデータDstlの三角座標の頂点)と各小区画25との位置関係を特定する計算処理であり、例えば、小区画25aには、三角面27a,27bが含まれるという情報が区画データDdivである。
【0069】
そして、本実施形態では、マスタサーバ4及び各スレーブサーバ5a〜5cは、CL計算処理において基準モデルとなるSTLモデルMstlの三角面27を各小区画25毎に管理する。詳述すると、小区画25の格子単位(小区画25の一片の長さ)A0は、工具30のピッチ(切削幅)A1の2分の1〜3分の1に設定されており、工具30が位置する小区画は工具30の工具軌道及びピッチA1から容易に特定することができる。そして、各小区画25は、STLモデルMstlの三角面27と関連付けられているため、STLデータDstlと区画データDdivとの両方をCL計算処理の基礎データとすることで、STLモデルMstlを工具30との関係を各小区画25単位で管理することができる。
【0070】
このステップ401において、マスタサーバ4は、小区画25を分散処理単位として各スレーブサーバ5a〜5cに区画計算の処理を依頼する。そして、各スレーブサーバ5a〜5cは、依頼された処理(各小区画25に含まれる三角面27に関する情報)を実行し、その処理結果をマスタサーバ4に送信(返信)する。そして、マスタサーバ4は、各スレーブサーバ5a〜5cから受信した処理結果を整合し区画データDdivを生成する。
【0071】
次に、マスタサーバ4は、上記ステップ401において生成された区画データDdivをCL計算処理を構成するステップ403以降の処理の基礎データとしてブロードキャスト配信する。そして、各スレーブサーバ5a〜5cは、受信した区画データDdivをその記憶装置9a〜9cに記憶する(ステップ402)。
【0072】
次に、マスタサーバ4は、STLデータDstl及び区画データDdivを基礎データとして、工具軌跡を工具とワーク(モデル)との位置関係により区分(関係区分)し、CL計算処理を各関係区分毎のCL計算処理に分割する(ステップ403)。
【0073】
詳述すると、図7に示すように、NC加工時の工具軌跡33は、一定の関係区分及び操作単位により区分することができる。例えば、加工方法が走査線加工である場合、その工程において、工具30は、先ず、基準点Oから開始点P0へと移動する。次に、工具30は、ワーク31に向かって図中X方向へと移動し、ワーク31に接触する。そして、工具30は、切削面31aを切削しながら更にX方向に移動し、切削面31aを通過しワーク31から離間した後も所定距離だけ同方向に移動する。次に、ワークから所定距離の位置まで移動すると、工具30は、そのピッチ(切削幅)分だけY方向に軌道をずらし(ピック移動)、X方向反対側へと移動する。そして、工具30は、このようなワーク31への接触、切削、離間、ピック移動からなる操作単位を繰り返しX方向に往復運動しつつ、その軌道を徐々にY方向にずらしながら切削面31aを切削していく。そして、終了点P1まで移動すると、工具30は、再び基準点Oへと移動する。そして、工具30が基準点Oに復帰することにより、一工程が終了する。
【0074】
本実施形態では、上記のような工具軌跡33について、工具30とワーク31との位置関係の区分、即ち関係区分において、工具30が、ワーク31に接触しその切削面を切削する区間を切削部Rc、ワーク31から離間し所定距離移動する区間をリトラクト(RTR)部Rrと定義している。同様に、工具30が、ピック移動する区間をピック部Rp、ピック移動から再びワーク31に接触する区間をアプローチ(APR)部Raとし、基準点Oから開始点P0或いは終了点から基準点Oへ移動する場合等の工具30が空走する区間をエアカット部Racと定義している。
【0075】
そして、ステップ403において、マスタサーバ4は、CL計算処理を、上記の切削部Rc、リトラクト部Rr/アプローチ部Ra、ピック部Rp、及びエアカット部Racの各関係区分毎のCL計算処理に分割する。
【0076】
次に、マスタサーバ4及びスレーブサーバ5a〜5cは、上記ステップ403において分割した各関係区分毎のCL計算処理を順次実行する(ステップ404〜ステップ407)。
【0077】
また、本実施形態では、使用する加工方法の操作単位毎、例えば、図7に示す走査線加工の場合、工具30がアプローチ部Raからピック部RpまでX方向に移動する区間を一の操作区間Uと定義している。尚、図7に示すような走査線加工の場合は、エアカット部Racが最初と最後しかないため、本実施形態では、各エアカット部Racについては、それ自体を独立した操作区間Uとして取り扱っている。
【0078】
そして、マスタサーバ4は、このステップ404〜ステップ407における各関係区分毎のCL計算において、その関係区分の各小軌跡を操作区間Uごとに特定し分散処理単位として、その処理をスレーブサーバ5a〜5cに依頼する。
【0079】
例えば、マスタサーバ4は、ステップ404の切削部RcのCL計算処理においては、関係区分としての切削部Rcの各小軌跡35を各操作区間U毎に特定し分散処理単位として、その処理をスレーブサーバ5a〜5cに依頼する。そして、スレーブサーバ5a〜5cは、STLデータDstl及び区画データDdivを基礎データとして、依頼された処理(各小軌跡35のCL計算)を実行し、その処理結果をマスタサーバ4に送信(返信)する。そして、マスタサーバ4は、各スレーブサーバ5a〜5cから受信した処理結果、即ち、切削部Rcに含まれる各小軌跡35のNCデータを区分NCデータDrcとして記憶装置4a(図1参照)に書き込む。
【0080】
そして、マスタサーバ4は、以下のステップ405〜ステップ407において、上記ステップ404と同様の処理を行い、リトラクト部Rr/アプローチ部Ra、ピック部Rp、及びエアカット部Racの各小軌跡36〜38を各操作区間U毎に特定し分散処理単位として、その処理を各スレーブサーバ5a〜5cに依頼する。そして、マスタサーバ4は、各スレーブサーバ5a〜5cから受信した処理結果を、区分NCデータDrar,Drp,Dracとして記憶装置4aに書き込む。
【0081】
そして、マスタサーバ4は、区分NCデータDrc,Drar,Drp,Dracとして記憶装置4aに格納された切削部Rc、リトラクト部Rr/アプローチ部Ra、ピック部Rp、及びエアカット部Racの各小軌跡35〜38のNCデータを各関係区分及びその操作区間Uに基づいて整合し、工具単位NCデータDdncを作成する(ステップ408)。
【0082】
例えば、先ず、エアカット部Racの小軌跡38aについての区分NCデータDracに、第1番目の操作区間Uの切削部Rc、リトラクト部Rr/アプローチ部Ra及びピック部Rpの小軌跡35a〜37aについての区分NCデータDrc,Drar,Drpを整合する。そして、以下同様に第2番目以降の操作区間Uの小軌跡35〜37の区分NCデータDrc,Drar,Drpを整合していく。そして、マスタサーバ4は、最終的に全ての区分NCデータDrc,Drar,Drp,Dracを整合することにより、工具単位NCデータDdncを作成する。
【0083】
以上説明した本実施形態によれば、次の効果を得ることができる。
(1)マスタサーバ4は、各スレーブサーバ5a〜5cに対し、少なくとも一の処理を依頼し、一の処理結果を受信する毎に、当該処理結果の送信先のスレーブサーバに対し、再び一の処理を依頼する。
【0084】
このような構成とすれば、各スレーブサーバ5a〜5cに依頼する個々の処理に計算量のバラツキがある場合でも、計算量の少ない処理を実行したスレーブサーバが、計算量の多い処理を実行するスレーブサーバよりも、より多くの数の処理を実行することにより、各スレーブサーバ5a〜5c間の処理量が均一化される。
【0085】
また、各スレーブサーバ間に処理能力の差異がある場合であっても、処理能力が高いスレーブサーバは、処理能力の低いスレーブサーバが処理を終了するのを待機することなく、多くの数の処理を実行することができるので、並列分散処理システム1全体の処理効率を向上させることができる。従って、互いに処理能力の異なる情報処理装置を用いても処理効率の高い並列分散処理システム1を構成することができる。
【0086】
さらに、マスタサーバ4と各スレーブサーバ5a〜5cとの間での受送信が分散されるので、ネットワーク負荷を安定化することができる。加えて、マスタサーバ4から各スレーブサーバ5a〜5cへの処理依頼は、一の処理依頼に対する処理結果の送信で完結するので、各スレーブサーバの数を動的に増減することができる。
【0087】
(2)マスタサーバ4は、各スレーブサーバ5a〜5cへの最初の処理依頼を送信する前、即ち並列分散処理を開始する前に、予め基礎データDb及び計算条件データDccをブロードキャスト配信する。
【0088】
このような構成とすれば、ネットワーク負荷が軽減されるので、ネットワーク状態を安定化させることができる。また、基礎データDb及び計算条件データDccを頻繁に参照するような計算を処理する場合には、各スレーブサーバ5a〜5cが基礎データDb及び計算条件データDccを保持することで、処理効率が向上する。
【0089】
(3)マスタサーバ4は、工具軌跡(CL)を工具とワークとの位置関係により区分(関係区分)し、CL計算処理を、切削部、リトラクト部/アプローチ部、ピック部、及びエアカット部の各関係区分毎のCL計算処理に分割する。そして、マスタサーバ4は、上記各関係区分毎のCL計算において、かかる関係区分の各小軌跡を操作区間U毎に特定し、スレーブサーバ5a〜5cに分散処理単位としてその処理を依頼する。
【0090】
このような構成とすれば、スレーブサーバ5a〜5cへ依頼する各処理間のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生を防止することができるので、並列分散処理システム全体としての処理効率を向上させることができる。
【0091】
(4)マスタサーバ4及び各スレーブサーバ5a〜5cは、STLモデルMstlを格子状の小区画25に区画し、その各三角面27と各小区画25との位置関係を特定する区画データDdivを生成する。そして、この区画データDdivをSTLデータDstlととももに、CL計算処理の基礎データとして、基準モデルとなるSTLモデルMstlの各三角面27を各小区画25毎に管理する。
【0092】
このような構成とすれば、工具30が位置する小区画25を特定することにより、工具30とSTLモデルMstlの三角面27とが明確となるので、CL計算処理においては、STLデータDstlを参照する際に、関連する小区画25のSTLデータDstlのみを参照して、CL計算の処理をすることができる。従って、各スレーブサーバ5a〜5cの処理が小さくなるので、処理効率を向上させることができる。
【0093】
以上説明した実施形態は、次のように変更しても良い。
・本実施形態では、ネットワーク2を介してクライアント端末3とマスタサーバ4とを接続し、計算の基礎データDb及び計算条件データDccは、クライアント端末3から入力することとした。しかし、これに限らず、クライアント端末3としての機能をマスタサーバ4に持たせても良い。
【0094】
・本実施形態では、ネットワーク2には、ジョブコントローラ10を接続し、クライアント端末3から発信された依頼信号は、一度、ジョブコントローラ10に登録され、JOB起動命令としてマスタサーバ4に送信される構成とした。しかし、これに限らず、クライアント端末3から発信された依頼信号が、ジョブコントローラ10を介さずに、直接、マスタサーバ4に送信される構成であってもよい。
【0095】
・本実施形態では、CL計算処理において、加工方法として走査線加工に具体化したが、等高線加工やその他の加工方法に具体化してもよい。
次に、上記各実施形態及び別例から把握できる技術思想について以下に追記する。
【0096】
(イ)請求項9に記載のNCデータ作成プログラムおいて、
前記スレーブサーバから受信した処理結果を前記関係区分及び操作区間に基づいて整合することにより各工具単位のNCデータを作成させるステップと、
前記各工具単位のNCデータを整合することにより全体のNCデータを作成させるステップとを備えたこと、を特徴とするNCデータ作成プログラム。
【0097】
(ロ) 請求項9又は前記(イ)に記載のNCデータ作成プログラムにおいて、
前記CL計算処理は、自由曲面を複数の三角形群で表現するSTLデータと、STLデータで表現されるSTLモデルを格子状の小区画に区画し該小区画とSTLモデルの各三角面との位置関係を特定する区画データを前記基礎データとして処理させること、を特徴とするNCデータ作成プログラム。
【0098】
【発明の効果】
以上、詳述したように、本発明によれば、安定的に高い処理効率を確保することできる並列分散処理システム、NCデータ作成方法及びNCデータ作成プログラムを提供することが可能になる。
【図面の簡単な説明】
【図1】並列分散処理システムの構成を示す概略構成図。
【図2】並列分散処理システムによる並列分散処理の態様を示すフローチャート。
【図3】計算条件データのデータ構造を概念的に示す説明図。
【図4】NCデータ計算処理のフローチャート。
【図5】CL計算処理のフローチャート。
【図6】CL計算処理におけるモデル管理の態様を示す説明図。
【図7】加工時の工具軌跡(CL)の説明図。
【符号の説明】
1…並列分散処理システム、2…ネットワーク、3…クライアント端末、4…マスタサーバ、5a〜5c…スレーブサーバ、15…NC加工機、25,25a…小区画、27,27a,27b…三角面、30,T…工具、31…ワーク、33…工具軌跡(CL)、35〜38,35a,36a,37a,38a…小軌跡、Dcc…計算条件データ、Db…基礎データ、Dm…モデルデータ、Dstl…STLデータ、Ddiv…区画データ、Mstl…STLモデル、Dnc…NCデータ、Ddnc…工具単位NCデータ、Drc,Drar,Drp,Drac…区分NCデータ、Rc…切削部、Rr…リトラクト部、Ra…アプローチ部、Rp…ピック部、Rac…エアカット部、U…操作区間。
【発明の属する技術分野】
本発明は、NC加工データ作成工程におけるCL(Cutter Location)計算等を処理するための並列分散処理システム、NCデータ作成方法及びNCデータ作成プログラムに関するものである。
【0002】
【従来の技術】
現代の製造業では、あらゆる分野においてCAD/CAMシステムを用いた設計・製造が行われている。例えば、金型の製造では、先ず、CADを用いて金型のモデルデータが作成され、その後、このモデルデータを基準として金型のNC加工が行われる。
【0003】
ところで、NC加工を行うためには、モデルデータを基礎データとしてNC加工機の作動を制御するNCデータを作成する工程が必要である。しかし、このNCデータ作成工程は、例えば、加工時に工具が辿る工具軌跡(CL:Cutter Location)を計算するCL計算処理等、大量の計算を処理する必要があるため非常に時間がかかる。そのため、NCデータ作成工程においては、計算処理の効率化及び高速化が一つの課題となっている。
【0004】
従来、このような大量の計算を高速に処理するシステムとして、一連の計算を所定の分散処理単位に分割し、ネットワークを介して相互に接続された複数の情報処理装置により並列的且つ分散的に処理する並列分散処理システムがある(特許文献1参照)。
【0005】
【特許文献1】
特開2002−157230号公報
【0006】
【発明が解決しようとする課題】
しかし、NCデータ作成工程に用いられる従来の並列分散処理システムは、例えば、CL計算処理の場合、その分散処理単位が、切削工程単位や工具単位等の計算条件及びモデルが完全に独立した比較的大きな単位であるため、各情報処理装置が負担する処理量にバラツキがでやすい。そのため、特定の情報処理装置の負荷が極端に大きくなるおそれがあり、また処理待ちが発生する場合もあるため、結果的に並列分散処理システムとしての処理効率が低下し、NCデータ作成に時間を要する場合があるという問題がある。
【0007】
本発明はこうした実情に鑑みてなされたものであり、その目的は、安定的に高い処理効率を確保することできる分散処理システム、NCデータ作成方法及びNCデータ作成プログラムを提供することにある。
【0008】
【課題を解決するための手段】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項1に記載の発明は、複数のスレーブサーバと、基礎データ及び計算条件に基づいて処理すべき計算を所定の分散処理単位に分割し前記各スレーブサーバにその処理を依頼するマスタサーバとを備え、前記各スレーブサーバは、前記マスタサーバに依頼された処理を実行しその処理結果を返信する並列分散処理システムであって、前記マスタサーバは、NC加工機の作動を制御するNCデータを作成するためのNCデータ作成処理を実行するものであり、前記NCデータ作成処理を構成するCL計算処理において、工具軌跡を工具とワーク又はモデルとの位置関係により複数の関係区分に区分し、前記CL計算処理を前記各関係区分毎の前記CL計算処理に分割し、前記各スレーブサーバに対し、前記関係区分の各小軌跡を操作区間毎に特定し、前記分散処理単位としてその処理を依頼することを要旨とする。
【0009】
この並列分散処理システムによれば、スレーブサーバへ依頼する個々の処理の計算量が少なくなる。これにより、各処理間の計算量のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生が防止される。従って、並列分散処理システム全体としての処理効率を向上させ、NCデータ作成工程の短縮化を図ることができる。
【0010】
請求項2に記載の発明は、前記マスタサーバは、前記スレーブサーバから受信した処理結果を前記関係区分及び操作区間に基づいて整合することにより各工具単位のNCデータを作成し、該各工具単位のNCデータを整合することにより全体のNCデータを作成することを要旨とする。
【0011】
この並列分散処理システムによれば、NCデータ作成工程におけるCL計算処理について、工程単位、工具単位、更に関係区分単位のCL計算処理に分割して処理するので、スレーブサーバへ依頼する個々の処理の計算量が少なくなる。これにより、各処理間の計算量のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生が防止される。従って、並列分散処理システム全体としての処理効率を向上させ、NCデータ作成工程の短縮化を図ることができる。
【0012】
また、CL計算処理を小さな計算処理単位に分割したので、マスタサーバへの処理結果の送信が断続的に分散して行われる。従って、ネットワーク負荷が小さくなり、ネットワーク状態が安定する。
【0013】
請求項3に記載の発明は、前記CL計算処理は、自由曲面を複数の三角形群で表現するSTLデータと、該STLデータで表現されるSTLモデルを格子状の小区画に区画し該小区画とSTLモデルとの各三角面の位置関係を特定する区画データを基礎データとして処理されることを要旨とする。
【0014】
この並列分散処理システムによれば、STLモデル(の各三角面)は、小区画ごとに管理されるので、工具が位置する小区画を特定することにより、工具とSTLモデルの三角面の位置関係が明確となる。従って、STLデータを参照する際には、関連する小区画のSTLデータのみを参照して処理をすることができ、処理効率を向上させることができる。
【0015】
請求項4に記載の発明は、前記マスタサーバは、前記各スレーブサーバに対し、少なくとも一の前記処理を依頼するものであって、該処理の処理結果を受信した場合には、該処理を返信した前記スレーブサーバに対し一の前記処理を依頼することを要旨とする。
【0016】
この並列分散処理システムによれば、各スレーブサーバに依頼する処理の計算量にバラツキがある場合でも、計算量の少ない処理を実行するスレーブサーバが、計算量の多い処理を実行するスレーブサーバよりも、より多くの数の処理を実行することにより、各スレーブサーバ間の処理量が均一化される。また、各スレーブサーバ間に処理能力の差異がある場合であっても、処理能力が高いスレーブサーバは、処理能力の低いスレーブサーバが処理を終了するのを待機することなく、多くの数の処理を実行することが可能になる。その結果、並列分散処理システム全体の処理効率を向上させることができる。
【0017】
更に、マスタサーバと各スレーブサーバとの間の受送信が分散化されるので、ネットワーク負荷を軽減することができ、ネットワーク状態を安定化させることができる。加えて、マスタサーバから各スレーブサーバへの処理依頼は、一の処理依頼に対する処理結果の送信で完結するので、各スレーブサーバの数を動的に増減することができる。
【0018】
請求項5に記載の発明は、前記マスタサーバは、前記依頼する前に予め前記基礎データ及び計算条件をブロードキャスト配信することを要旨とする。
この並列分散処理システムによれば、基礎データ及び計算条件データを予めブロードキャスト配信することにより、ネットワーク負荷を軽減することができ、ネットワーク状態を安定化させることができる。特に、基礎データ及び計算条件データを頻繁に参照するような計算を処理する場合には、その効果が大きいことに加え、各スレーブサーバが基礎データ及び計算条件データを保持し個々に参照することにより処理効率が向上し、結果としてシステム全体としての処理効率を向上させることができる。
【0019】
請求項6に記載の発明は、複数のスレーブサーバと、基礎データ及び計算条件に基づいて処理すべき計算を所定の分散処理単位に分割し前記各スレーブサーバにその処理を依頼するマスタサーバとを備え、前記各スレーブサーバは、前記マスタサーバに依頼された処理を実行しその処理結果を返信する並列分散処理システムにより、NC加工機の作動を制御するNCデータを作成するNCデータ作成処理を実行するNCデータ作成方法であって、前記NCデータ作成処理を構成するCL計算処理において、工具軌跡を工具とワーク又はモデルとの位置関係により複数の関係区分に区分し、前記CL計算処理を前記各関係区分毎の前記CL計算処理に分割するステップと、前記各スレーブサーバに対し、前記関係区分の各小軌跡を操作区間毎に特定し、前記分散処理単位としてその処理を依頼するステップとを備えたことを要旨とする。
【0020】
このNCデータ作成方法によれば、スレーブサーバへ依頼する個々の処理の計算量が少なくなる。これにより、各処理間の計算量のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生が防止される。従って、並列分散処理システム全体としての処理効率を向上させ、NCデータ作成工程の短縮化を図ることができる。
【0021】
請求項7に記載の発明は、前記スレーブサーバから受信した処理結果を前記関係区分及び操作区間に基づいて整合することにより各工具単位のNCデータを作成するステップと、前記各工具単位のNCデータを整合することにより全体のNCデータを作成するステップとを備えたことを要旨とする。
【0022】
このNCデータ作成方法によれば、NCデータ作成工程におけるCL計算処理について、工程単位、工具単位、更に関係区分単位のCL計算処理に分割して処理するので、スレーブサーバへ依頼する個々の処理の計算量が少なくなる。これにより、各処理間の計算量のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生が防止される。従って、並列分散処理システム全体としての処理効率を向上させ、NCデータ作成工程の短縮化を図ることができる。
【0023】
請求項8に記載の発明は、前記CL計算処理は、自由曲面を複数の三角形群で表現するSTLデータと、該STLデータで表現されるSTLモデルを格子状の小区画に区画し該小区画とSTLモデルの各三角面との位置関係を特定する区画データを基礎データとして処理することを要旨とする。
【0024】
このNCデータ作成方法によれば、STLモデル(の各三角面)は、小区画ごとに管理されるので、工具が位置する小区画を特定することにより、工具とSTLモデルの三角面の位置関係が明確となる。従って、STLデータを参照する際には、関連する小区画のSTLデータのみを参照して処理をすることができ、処理効率を向上させることができる。
【0025】
請求項9に記載の発明は、複数のスレーブサーバと、基礎データ及び計算条件に基づいて処理すべき計算を所定の分散処理単位に分割し前記各スレーブサーバにその処理を依頼するマスタサーバとを備え、前記各スレーブサーバは、前記マスタサーバに依頼された処理を実行しその処理結果を返信する並列分散処理システムに、NC加工機の作動を制御するNCデータを作成するためのNCデータ作成処理を実行させるNCデータ作成プログラムであって、前記NCデータ作成処理を構成するCL計算処理において、前記マスタサーバに、工具軌跡を工具とワーク又はモデルとの位置関係により複数の関係区分に区分し、前記CL計算処理を前記各関係区分毎の前記CL計算処理に分割させるステップと、前記各スレーブサーバに対し、前記関係区分の各小軌跡を操作区間毎に特定し、前記分散処理単位としてその処理を依頼させるステップとを備えたことを要旨とする。
【0026】
このNCデータ作成プログラムによれば、スレーブサーバへ依頼する個々の処理の計算量が少なくなる。これにより、各処理間の計算量のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生が防止される。従って、並列分散処理システム全体としての処理効率を向上させ、NCデータ作成工程の短縮化を図ることができる。
【0027】
【発明の実施の形態】
以下、本発明を具体化した一実施形態について図面を参照しつつ説明する。
図1は、本実施形態の並列分散処理システムの構成を示す概略構成図である。
【0028】
同図に示すように、本実施形態の並列分散処理システム1は、ネットワーク2を介して相互に接続された、クライアント端末3と、マスタサーバ4と、複数のスレーブサーバ5a〜5cとを備えている。
【0029】
クライアント端末3は、計算の基礎データDb及び計算条件データDccを入力するための情報処理装置であり、入力された基礎データDb及び計算条件データDccをマスタサーバ4に転送し、その処理を依頼する信号(依頼信号)を発信する。そして、マスタサーバ4及びスレーブサーバ5a〜5cは、入力された基礎データDb及び計算条件データDccに基づいて処理すべき計算を並列的且つ分散的に処理する。
【0030】
詳述すると、マスタサーバ4は、クライアント端末3からの依頼信号を受信すると、入力された基礎データDb及び計算条件データDccに基づいて、処理すべき計算を所定の分散処理単位に分割し、その処理を各スレーブサーバ5a〜5cに依頼する。各スレーブサーバ5a〜5cは、マスタサーバ4から依頼された処理を実行し、その処理結果をマスタサーバ4に送信(返信)する。そして、マスタサーバ4は、各スレーブサーバ5a〜5cから受信した処理結果を整合し、依頼信号に対応する計算の処理結果としてクライアント端末3へ転送する。
【0031】
本実施形態では、マスタサーバ4は、各スレーブサーバ5a〜5cに対し、少なくとの一の処理を依頼する。詳しくは、各スレーブサーバ5a〜5cのCPUの数に比例する数の処理(一のCPUに対し一つの処理)を依頼する。例えば、マスタサーバ4は、一のCPU6,7を有するスレーブサーバ5a,5cには、それぞれ一の処理を依頼し、二つのCPU8a,8bを有するスレーブサーバ5bには、二つの処理を依頼する。
【0032】
そして、マスタサーバ4は、一の処理結果を受信する毎に、当該処理結果の送信先のスレーブサーバに対し、再び一の処理を依頼する。例えば、マスタサーバ4は、スレーブサーバ5aから一の処理結果を受信した場合には、再びスレーブサーバ5aに一の処理を依頼する。
【0033】
また、本実施形態では、マスタサーバ4は、各スレーブサーバ5a〜5cに対し最初の処理を依頼する前、即ち並列分散処理を開始する前に、予め基礎データDb及び計算条件データDccをブロードキャスト配信する。各スレーブサーバ5a〜5cには、このブロードキャスト配信された基礎データDb及び計算条件データDccを受信する機能が実装されており、各スレーブサーバ5a〜5cは、受信した基礎データDb及び計算条件データDccを記憶装置9a〜9cに記憶する。そして、各スレーブサーバ5a〜5cは、マスタサーバ4から依頼された処理する実行する際には、記憶装置9a〜9cから基礎データDb及び計算条件データDccを読み出すことによりその処理を行う。
【0034】
尚、本実施形態では、各スレーブサーバ5a〜5cが受信する基礎データDb及び計算条件データDccは、そのCPUの数にかかわらず一つ(一組)であり、各スレーブサーバ5a〜5cにおいて、そのCPUの数に応じてコピー又はエイリアシングされる。
【0035】
また、本実施形態では、ネットワーク2には、マスタサーバ4及び各スレーブサーバ5a〜5cが実行すべき計算処理のスケジューリングを行うジョブコントローラ10が接続されており、クライアント端末3から発信された依頼信号は、JOBとしてジョブコントローラ10のジョブデータベース10aに登録される。そして、ジョブコントローラ10は、設定されたスケジュール又は起動条件に従ってマスタサーバ4にJOB起動命令を送信する。そして、マスタサーバ4は、このJOB起動命令を受信することにより、対応する計算の処理を開始する。
【0036】
尚、並列分散処理システム1を構成する情報処理装置が提供するクライアント端末3、マスタサーバ4、複数のスレーブサーバ5a〜5c及びジョブコントローラ10としての機能は、各情報処理装置上で実行されるコンピュータプログラムにより実現される。このようなプログラムは、可搬媒体に格納された状態で提供され、又は、ネットワーク上に接続された他の情報処理装置の記憶装置からネットワークを介して提供される。提供されたプログラムは記憶装置にインストールされ、起動時にメモリ(図示せず)にロードされて実行されるものである。
【0037】
本実施形態では、マスタサーバ4及び各スレーブサーバ5a〜5cを構成する各情報処理装置には、同一のモジュール構成を有するプログラムがインストールされている。そして、上記JOB起動命令を受信した際にJOB起動命令に対応する基礎データDb及び計算条件データDccを保有する情報処理装置、即ちクライアント端末3から基礎データDb及び計算条件データDccが転送された情報処理装置がマスタサーバとなる。
【0038】
次に、本実施形態の並列分散処理システムによる並列分散処理の態様について説明する。
図2に示すように、マスタサーバ4は、JOB起動命令(依頼信号)を受信すると、先ず、各スレーブサーバ5a〜5cに対し、並列分散処理の開始宣言を配信する(ステップ101)。そして、受信したJOB起動命令に対応する基礎データDb及び計算条件データDccを読出し、処理すべき計算を所定の分散処理単位に分割する(ステップ102)。
【0039】
一方、各スレーブサーバ5a〜5cは、マスタサーバ4が配信した並列分散処理の開始宣言を受信すると(ステップ201)、マスタサーバ4に対し、処理依頼待ち信号を送信する(ステップ202)。このステップ202において、各スレーブサーバ5a〜5cは、依頼された処理の実行が可能な状態のCPU(処理能力に余裕があるCPU)の数と同数の処理依頼待ち信号を送信する。従って、上記ステップ201の開始宣言の受信直後の場合には、各スレーブサーバ5a〜5cは、一のCPUについて一の処理依頼待ち信号を送信する。
【0040】
次に、マスタサーバ4は、各スレーブサーバ5a〜5cが送信した処理依頼待ち信号を受信すると(ステップ103)、その処理依頼待ち信号を送信したスレーブサーバに対し、一の処理依頼待ち信号について一の処理を依頼する(ステップ104)。そして、各スレーブサーバ5a〜5cは、マスタサーバ4から送信された処理依頼を受信する(ステップ203)。
【0041】
次に、各スレーブサーバ5a〜5cは、マスタサーバ4から並列分散処理の終了宣言が配信されているか否か(終了宣言を受信したか否か)を判断する(ステップ204)。そして、終了宣言を受信しない場合には、上記ステップ203において受信した処理(依頼された処理)を実行し(ステップ205)、その処理結果をマスタサーバ4に送信(返信)する(ステップ206)。
【0042】
そして、上記ステップ202に戻り、再びマスタサーバ4に対して処理依頼待ち信号を送信する。そして、各スレーブサーバ5a〜5cは、上記ステップ204で終了宣言を受信したと判断するまで上記ステップ202〜ステップ206までの処理を繰り返す。
【0043】
一方、マスタサーバ4は、各スレーブサーバ5a〜5cから処理結果を受信すると、その処理結果を記憶装置4a(図1参照)に書き込む(ステップ105)。尚、本実施形態では、この書き込み処理の終了を待たずに次のステップ106の処理へ移行する。即ち、マスタサーバ4は、処理依頼の送信と、処理結果の書込とを同時並列的に行う。
【0044】
次に、マスタサーバ4は、各スレーブサーバ5a〜5cに依頼した処理の処理結果を全て受信したか否か(受信した処理結果の数が依頼した処理の数と等しいか否か)を判断する(ステップ106)。そして、マスタサーバ4は、スレーブサーバに依頼した処理の処理結果を全て受信するまで、上記ステップ103〜ステップ106までの処理を繰り返す。そして、マスタサーバ4は、依頼した全ての処理の処理結果を受信した場合には、各スレーブサーバ5a〜5cに終了宣言を配信し、その処理を終了する(ステップ107)。
【0045】
[NCデータ作成処理]
次に、本実施形態の並列分散処理システムによるNCデータ作成処理について詳述する。
【0046】
NCデータ作成処理は、NC加工の各工程で使用する各工具について、加工時にその工具が辿る工具軌跡(CL:Cutter Location)を計算するCL計算処理を行い、作成された各工具単位でのNCデータ(工具単位NCデータ)を整合することによりNC加工全体のNCデータを作成する処理である。
【0047】
図1に示すように、本実施形態の並列分散処理システム1は、クライアント端末3にモデルデータDm及び計算条件データDccが入力されることにより、NC加工機15の作動を制御するNCデータを作成する処理(NCデータ作成処理)を実行する。
【0048】
詳述すると、クライアント端末3は、モデルデータDm及び計算条件データDccが入力されると、このモデルデータDm及び計算条件データDccをマスタサーバ4に転送し、NCデータ作成処理の実行を依頼する信号を発信する。そして、マスタサーバ4は、依頼信号(JOB起動命令)を受信することにより、このJOB起動命令に対応するNCデータ作成処理を開始する。
【0049】
尚、本実施形態では、モデルデータDmとして面モデルデータが用いられ、計算条件データDccには、NC加工の各工程(加工工程)S、各工程で使用する工具T、及びその工具に関する情報(各工具の仕様Tv、その工具を用いた加工方法Tm)等が含まれる(図3参照)。
【0050】
次に、並列分散処理システムによるNCデータ作成処理について詳述する。
図4は、NCデータ作成処理のフローチャートである。
同図に示すように、マスタサーバ4は、NCデータ作成処理に関するJOB起動命令を受信すると(ステップ301)、各スレーブサーバ5a〜5cに対しモデルデータDm及び計算条件データDccをブロードキャスト配信する。そして、各スレーブサーバ5a〜5cは、受信したモデルデータDm及び計算条件データDccを、その記憶装置9a〜9cに記憶する(ステップ302)。
【0051】
次に、マスタサーバ4(及び各スレーブサーバ5a〜5c)は、各工程で使用する各工具について、それぞれCL計算処理を行い、それぞれの工具単位NCデータを作成する(ステップ303〜ステップ309)。例えば、計算対象のNC加工が第1〜第3工程の3工程あり、各工程でそれぞれ2種類の工具を使用する場合、マスタサーバ4(及び各スレーブサーバ5a〜5c)は、第1工程第1工具〜第3工程第2工具までの6工具、それぞれについてCL計算処理を行い、それぞれの工具単位NCデータDdncを作成する。
【0052】
詳述すると、マスタサーバ4は、先ず、計算条件データDccから工程数Snを読み出す(ステップ303、図1及び図3参照)。そして、マスタサーバ4は、同じく計算条件データDccから第i工程で使用する工具数Tnを読み出す(ステップ304)。
【0053】
次に、マスタサーバ4及び各スレーブサーバ5a〜5cは、モデルデータDmを基礎データとして面近似計算処理を行い、CL計算処理を実行するための基礎データとなるSTLデータDstlを作成する(ステップ305)。
【0054】
面近似計算処理は、モデルデータDmが表現する面モデルの自由曲面(三次元自由曲面)を三角形(三角パッチ)で近似し(面近似計算)、これらの三角形群及びその座標によりモデルを表現するSTLデータ(標準三角パッチ言語:Standard Triangulation Language)Dstlを生成する計算処理である。尚、ここでいう面モデルの自由曲面は、平面、円筒面等を含む。
【0055】
このステップ305において、マスタサーバ4は、面モデルの各面を分散処理単位として各スレーブサーバ5a〜5cに面近似計算の処理を依頼する。そして、各スレーブサーバ5a〜5cは、ステップ302において記憶装置9a〜9cに記憶したモデルデータDm及び計算条件データDccを読み出すことにより、依頼された処理(モデルの各面毎の面近似計算)を実行し、その処理結果をマスタサーバ4に送信(返信)する。そして、マスタサーバ4は、各スレーブサーバ5a〜5cから受信した処理結果を整合しSTLデータDstlを作成する。
【0056】
次に、マスタサーバ4は、上記ステップ305において作成されたSTLデータDstlを、以下に示すCL計算処理の基礎データとしてブロードキャスト配信する。そして、各スレーブサーバ5a〜5cは、上記ステップ302の場合と同様に、受信したSTLデータDstlを、その記憶装置9a〜9cに記憶する(ステップ306)。
【0057】
次に、マスタサーバ4及び各スレーブサーバ5a〜5cは、上記ステップ305において作成したSTLデータDstl、及び計算条件データDccに基づいて、第i工程においてj番目に使用する工具、即ち第i工程第j工具のCL計算処理を実行する。そして、マスタサーバ4は、その処理結果、即ち第i工程第j工具の工具単位NCデータDdncとして記憶装置4a(図1参照)に書き込む(ステップ307)。
【0058】
尚、本実施形態では、CL計算上、要求されるモデル面の近似精度(三角形の大きさ)は各工具ごとに異なるため、上記ステップ305,306における面近似計算処理及びSTLデータDstlの配信は各工具ごとに行われる。そして、このステップ307で行うCL計算処理では、第i工程第j工具用のSTLデータDstlが基礎データとして参照される。
【0059】
例えば、荒取り工程の第1工具と細仕上げ工程の最終工具とでは、工具の加工精度に従ってその要求するモデル面の近似精度も大きく異なる。そのため、荒取り工程第1工具のCL計算処理では、荒取り工程第1工具用のSTLデータDstlが、細仕上げ工程最終工具のCL計算処理では、細仕上げ工程最終工具用のSTLデータDstlが基礎データとして参照される。
【0060】
次に、第i工程第j工具のCL計算処理が終了すると、マスタサーバ4(及び各スレーブサーバ5a〜5c)は、第i工程において使用する全ての工具のCL計算処理が終了したか否か(j=j+1,j>Tn)を判断する(ステップ308)。そして、マスタサーバ4(及びスレーブサーバ5a〜5c)は、第i工程における全ての工具のCL計算処理が終わるまで、上記ステップ305〜ステップ308の処理を繰り返す。
【0061】
例えば、上記ステップ307において第1工程における第1工具のCL計算処理が終了すると、マスタサーバ4は、次のステップ308において第1工程に第2工具があるか否かを判断する。そして、第1工程に第2工具がある場合には、再びステップ305に戻り、第1工程第2工具用の面近似処理及びSTLデータDstlの配信、そして第1工程第2工具のCL計算処理を実行する。そして、第1工程で使用する全ての工具についてCL計算処理を実行するまで上記ステップ305〜308の処理を繰り返す。
【0062】
次に、マスタサーバ4は、ステップ308において第i工程で使用する全ての工具についてのCL計算処理が終了したと判断すると、NC加工における全工程に関するCL計算処理が終了したか否か(i=i+1,i>Sn)を判断する(ステップ309)。そして、全ての工具のCL計算処理が終わるまで、上記ステップ304〜ステップ309の処理を繰り返す。
【0063】
例えば、第1工程で使用する全ての工具のCL計算処理が終了すると、マスタサーバ4は、ステップ309において第2工程があるか否かを判断する。そして、第2工程がある場合には、再びステップ304に戻り、ステップ305〜308の処理を繰り返すことにより、第2工程で使用する全ての工具についてのCL計算処理を実行する。
【0064】
そして、全工程における全工具についてのCL計算処理が終了すると、マスタサーバ4は、上記ステップ305〜ステップ309により作成された各工具単位NCデータDdncを整合し、NC加工全体のNCデータDncを作成する(ステップ410)。そして、マスタサーバ4が、作成したNCデータをクライアント端末3へと転送することにより、NCデータ作成処理が終了する。
【0065】
尚、本実施形態の並列分散処理システム1では、クライアント端末3に送信されたNCデータは、記憶媒体(NCテープ)に記録されてNC加工機15に転送される構成であるが、クライアント端末3とNC加工機15とをネットワーク接続し、NCデータを直接NC加工機15へ送信する構成としてもよい(図1参照)。
【0066】
次に、CL計算処理について詳述する。
図5はCL計算処理の態様を示すフローチャートであり、図6はCL計算処理におけるモデル管理の態様を示す説明図、図7は加工時の工具軌跡(CL)の説明図である。
【0067】
図5に示すように、マスタサーバ4及びスレーブサーバ5a〜5cは、先ず、STLデータDstl及び計算条件データDccを基礎データとして区画計算処理を行い、STLモデルMstlの各三角面(STLデータDstlにより表現される面)を管理をするための区画データDdivを生成する(ステップ401)。
【0068】
図6に示すように、区画計算処理は、STLモデルMstlを格子状の小区画25に区画し、STLモデルMstlの三角面27(又はSTLデータDstlの三角座標の頂点)と各小区画25との位置関係を特定する計算処理であり、例えば、小区画25aには、三角面27a,27bが含まれるという情報が区画データDdivである。
【0069】
そして、本実施形態では、マスタサーバ4及び各スレーブサーバ5a〜5cは、CL計算処理において基準モデルとなるSTLモデルMstlの三角面27を各小区画25毎に管理する。詳述すると、小区画25の格子単位(小区画25の一片の長さ)A0は、工具30のピッチ(切削幅)A1の2分の1〜3分の1に設定されており、工具30が位置する小区画は工具30の工具軌道及びピッチA1から容易に特定することができる。そして、各小区画25は、STLモデルMstlの三角面27と関連付けられているため、STLデータDstlと区画データDdivとの両方をCL計算処理の基礎データとすることで、STLモデルMstlを工具30との関係を各小区画25単位で管理することができる。
【0070】
このステップ401において、マスタサーバ4は、小区画25を分散処理単位として各スレーブサーバ5a〜5cに区画計算の処理を依頼する。そして、各スレーブサーバ5a〜5cは、依頼された処理(各小区画25に含まれる三角面27に関する情報)を実行し、その処理結果をマスタサーバ4に送信(返信)する。そして、マスタサーバ4は、各スレーブサーバ5a〜5cから受信した処理結果を整合し区画データDdivを生成する。
【0071】
次に、マスタサーバ4は、上記ステップ401において生成された区画データDdivをCL計算処理を構成するステップ403以降の処理の基礎データとしてブロードキャスト配信する。そして、各スレーブサーバ5a〜5cは、受信した区画データDdivをその記憶装置9a〜9cに記憶する(ステップ402)。
【0072】
次に、マスタサーバ4は、STLデータDstl及び区画データDdivを基礎データとして、工具軌跡を工具とワーク(モデル)との位置関係により区分(関係区分)し、CL計算処理を各関係区分毎のCL計算処理に分割する(ステップ403)。
【0073】
詳述すると、図7に示すように、NC加工時の工具軌跡33は、一定の関係区分及び操作単位により区分することができる。例えば、加工方法が走査線加工である場合、その工程において、工具30は、先ず、基準点Oから開始点P0へと移動する。次に、工具30は、ワーク31に向かって図中X方向へと移動し、ワーク31に接触する。そして、工具30は、切削面31aを切削しながら更にX方向に移動し、切削面31aを通過しワーク31から離間した後も所定距離だけ同方向に移動する。次に、ワークから所定距離の位置まで移動すると、工具30は、そのピッチ(切削幅)分だけY方向に軌道をずらし(ピック移動)、X方向反対側へと移動する。そして、工具30は、このようなワーク31への接触、切削、離間、ピック移動からなる操作単位を繰り返しX方向に往復運動しつつ、その軌道を徐々にY方向にずらしながら切削面31aを切削していく。そして、終了点P1まで移動すると、工具30は、再び基準点Oへと移動する。そして、工具30が基準点Oに復帰することにより、一工程が終了する。
【0074】
本実施形態では、上記のような工具軌跡33について、工具30とワーク31との位置関係の区分、即ち関係区分において、工具30が、ワーク31に接触しその切削面を切削する区間を切削部Rc、ワーク31から離間し所定距離移動する区間をリトラクト(RTR)部Rrと定義している。同様に、工具30が、ピック移動する区間をピック部Rp、ピック移動から再びワーク31に接触する区間をアプローチ(APR)部Raとし、基準点Oから開始点P0或いは終了点から基準点Oへ移動する場合等の工具30が空走する区間をエアカット部Racと定義している。
【0075】
そして、ステップ403において、マスタサーバ4は、CL計算処理を、上記の切削部Rc、リトラクト部Rr/アプローチ部Ra、ピック部Rp、及びエアカット部Racの各関係区分毎のCL計算処理に分割する。
【0076】
次に、マスタサーバ4及びスレーブサーバ5a〜5cは、上記ステップ403において分割した各関係区分毎のCL計算処理を順次実行する(ステップ404〜ステップ407)。
【0077】
また、本実施形態では、使用する加工方法の操作単位毎、例えば、図7に示す走査線加工の場合、工具30がアプローチ部Raからピック部RpまでX方向に移動する区間を一の操作区間Uと定義している。尚、図7に示すような走査線加工の場合は、エアカット部Racが最初と最後しかないため、本実施形態では、各エアカット部Racについては、それ自体を独立した操作区間Uとして取り扱っている。
【0078】
そして、マスタサーバ4は、このステップ404〜ステップ407における各関係区分毎のCL計算において、その関係区分の各小軌跡を操作区間Uごとに特定し分散処理単位として、その処理をスレーブサーバ5a〜5cに依頼する。
【0079】
例えば、マスタサーバ4は、ステップ404の切削部RcのCL計算処理においては、関係区分としての切削部Rcの各小軌跡35を各操作区間U毎に特定し分散処理単位として、その処理をスレーブサーバ5a〜5cに依頼する。そして、スレーブサーバ5a〜5cは、STLデータDstl及び区画データDdivを基礎データとして、依頼された処理(各小軌跡35のCL計算)を実行し、その処理結果をマスタサーバ4に送信(返信)する。そして、マスタサーバ4は、各スレーブサーバ5a〜5cから受信した処理結果、即ち、切削部Rcに含まれる各小軌跡35のNCデータを区分NCデータDrcとして記憶装置4a(図1参照)に書き込む。
【0080】
そして、マスタサーバ4は、以下のステップ405〜ステップ407において、上記ステップ404と同様の処理を行い、リトラクト部Rr/アプローチ部Ra、ピック部Rp、及びエアカット部Racの各小軌跡36〜38を各操作区間U毎に特定し分散処理単位として、その処理を各スレーブサーバ5a〜5cに依頼する。そして、マスタサーバ4は、各スレーブサーバ5a〜5cから受信した処理結果を、区分NCデータDrar,Drp,Dracとして記憶装置4aに書き込む。
【0081】
そして、マスタサーバ4は、区分NCデータDrc,Drar,Drp,Dracとして記憶装置4aに格納された切削部Rc、リトラクト部Rr/アプローチ部Ra、ピック部Rp、及びエアカット部Racの各小軌跡35〜38のNCデータを各関係区分及びその操作区間Uに基づいて整合し、工具単位NCデータDdncを作成する(ステップ408)。
【0082】
例えば、先ず、エアカット部Racの小軌跡38aについての区分NCデータDracに、第1番目の操作区間Uの切削部Rc、リトラクト部Rr/アプローチ部Ra及びピック部Rpの小軌跡35a〜37aについての区分NCデータDrc,Drar,Drpを整合する。そして、以下同様に第2番目以降の操作区間Uの小軌跡35〜37の区分NCデータDrc,Drar,Drpを整合していく。そして、マスタサーバ4は、最終的に全ての区分NCデータDrc,Drar,Drp,Dracを整合することにより、工具単位NCデータDdncを作成する。
【0083】
以上説明した本実施形態によれば、次の効果を得ることができる。
(1)マスタサーバ4は、各スレーブサーバ5a〜5cに対し、少なくとも一の処理を依頼し、一の処理結果を受信する毎に、当該処理結果の送信先のスレーブサーバに対し、再び一の処理を依頼する。
【0084】
このような構成とすれば、各スレーブサーバ5a〜5cに依頼する個々の処理に計算量のバラツキがある場合でも、計算量の少ない処理を実行したスレーブサーバが、計算量の多い処理を実行するスレーブサーバよりも、より多くの数の処理を実行することにより、各スレーブサーバ5a〜5c間の処理量が均一化される。
【0085】
また、各スレーブサーバ間に処理能力の差異がある場合であっても、処理能力が高いスレーブサーバは、処理能力の低いスレーブサーバが処理を終了するのを待機することなく、多くの数の処理を実行することができるので、並列分散処理システム1全体の処理効率を向上させることができる。従って、互いに処理能力の異なる情報処理装置を用いても処理効率の高い並列分散処理システム1を構成することができる。
【0086】
さらに、マスタサーバ4と各スレーブサーバ5a〜5cとの間での受送信が分散されるので、ネットワーク負荷を安定化することができる。加えて、マスタサーバ4から各スレーブサーバ5a〜5cへの処理依頼は、一の処理依頼に対する処理結果の送信で完結するので、各スレーブサーバの数を動的に増減することができる。
【0087】
(2)マスタサーバ4は、各スレーブサーバ5a〜5cへの最初の処理依頼を送信する前、即ち並列分散処理を開始する前に、予め基礎データDb及び計算条件データDccをブロードキャスト配信する。
【0088】
このような構成とすれば、ネットワーク負荷が軽減されるので、ネットワーク状態を安定化させることができる。また、基礎データDb及び計算条件データDccを頻繁に参照するような計算を処理する場合には、各スレーブサーバ5a〜5cが基礎データDb及び計算条件データDccを保持することで、処理効率が向上する。
【0089】
(3)マスタサーバ4は、工具軌跡(CL)を工具とワークとの位置関係により区分(関係区分)し、CL計算処理を、切削部、リトラクト部/アプローチ部、ピック部、及びエアカット部の各関係区分毎のCL計算処理に分割する。そして、マスタサーバ4は、上記各関係区分毎のCL計算において、かかる関係区分の各小軌跡を操作区間U毎に特定し、スレーブサーバ5a〜5cに分散処理単位としてその処理を依頼する。
【0090】
このような構成とすれば、スレーブサーバ5a〜5cへ依頼する各処理間のバラツキが小さくなり、特定のスレーブサーバへの負荷集中及び処理待ちの発生を防止することができるので、並列分散処理システム全体としての処理効率を向上させることができる。
【0091】
(4)マスタサーバ4及び各スレーブサーバ5a〜5cは、STLモデルMstlを格子状の小区画25に区画し、その各三角面27と各小区画25との位置関係を特定する区画データDdivを生成する。そして、この区画データDdivをSTLデータDstlととももに、CL計算処理の基礎データとして、基準モデルとなるSTLモデルMstlの各三角面27を各小区画25毎に管理する。
【0092】
このような構成とすれば、工具30が位置する小区画25を特定することにより、工具30とSTLモデルMstlの三角面27とが明確となるので、CL計算処理においては、STLデータDstlを参照する際に、関連する小区画25のSTLデータDstlのみを参照して、CL計算の処理をすることができる。従って、各スレーブサーバ5a〜5cの処理が小さくなるので、処理効率を向上させることができる。
【0093】
以上説明した実施形態は、次のように変更しても良い。
・本実施形態では、ネットワーク2を介してクライアント端末3とマスタサーバ4とを接続し、計算の基礎データDb及び計算条件データDccは、クライアント端末3から入力することとした。しかし、これに限らず、クライアント端末3としての機能をマスタサーバ4に持たせても良い。
【0094】
・本実施形態では、ネットワーク2には、ジョブコントローラ10を接続し、クライアント端末3から発信された依頼信号は、一度、ジョブコントローラ10に登録され、JOB起動命令としてマスタサーバ4に送信される構成とした。しかし、これに限らず、クライアント端末3から発信された依頼信号が、ジョブコントローラ10を介さずに、直接、マスタサーバ4に送信される構成であってもよい。
【0095】
・本実施形態では、CL計算処理において、加工方法として走査線加工に具体化したが、等高線加工やその他の加工方法に具体化してもよい。
次に、上記各実施形態及び別例から把握できる技術思想について以下に追記する。
【0096】
(イ)請求項9に記載のNCデータ作成プログラムおいて、
前記スレーブサーバから受信した処理結果を前記関係区分及び操作区間に基づいて整合することにより各工具単位のNCデータを作成させるステップと、
前記各工具単位のNCデータを整合することにより全体のNCデータを作成させるステップとを備えたこと、を特徴とするNCデータ作成プログラム。
【0097】
(ロ) 請求項9又は前記(イ)に記載のNCデータ作成プログラムにおいて、
前記CL計算処理は、自由曲面を複数の三角形群で表現するSTLデータと、STLデータで表現されるSTLモデルを格子状の小区画に区画し該小区画とSTLモデルの各三角面との位置関係を特定する区画データを前記基礎データとして処理させること、を特徴とするNCデータ作成プログラム。
【0098】
【発明の効果】
以上、詳述したように、本発明によれば、安定的に高い処理効率を確保することできる並列分散処理システム、NCデータ作成方法及びNCデータ作成プログラムを提供することが可能になる。
【図面の簡単な説明】
【図1】並列分散処理システムの構成を示す概略構成図。
【図2】並列分散処理システムによる並列分散処理の態様を示すフローチャート。
【図3】計算条件データのデータ構造を概念的に示す説明図。
【図4】NCデータ計算処理のフローチャート。
【図5】CL計算処理のフローチャート。
【図6】CL計算処理におけるモデル管理の態様を示す説明図。
【図7】加工時の工具軌跡(CL)の説明図。
【符号の説明】
1…並列分散処理システム、2…ネットワーク、3…クライアント端末、4…マスタサーバ、5a〜5c…スレーブサーバ、15…NC加工機、25,25a…小区画、27,27a,27b…三角面、30,T…工具、31…ワーク、33…工具軌跡(CL)、35〜38,35a,36a,37a,38a…小軌跡、Dcc…計算条件データ、Db…基礎データ、Dm…モデルデータ、Dstl…STLデータ、Ddiv…区画データ、Mstl…STLモデル、Dnc…NCデータ、Ddnc…工具単位NCデータ、Drc,Drar,Drp,Drac…区分NCデータ、Rc…切削部、Rr…リトラクト部、Ra…アプローチ部、Rp…ピック部、Rac…エアカット部、U…操作区間。
Claims (9)
- 複数のスレーブサーバと、基礎データ及び計算条件に基づいて処理すべき計算を所定の分散処理単位に分割し前記各スレーブサーバにその処理を依頼するマスタサーバとを備え、前記各スレーブサーバは、前記マスタサーバに依頼された処理を実行しその処理結果を返信する並列分散処理システムであって、
前記マスタサーバは、NC加工機の作動を制御するNCデータを作成するためのNCデータ作成処理を実行するものであり、
前記NCデータ作成処理を構成するCL計算処理において、
工具軌跡を工具とワーク又はモデルとの位置関係により複数の関係区分に区分し、前記CL計算処理を前記各関係区分毎の前記CL計算処理に分割し、
前記各スレーブサーバに対し、前記関係区分の各小軌跡を操作区間毎に特定し、前記分散処理単位としてその処理を依頼すること、
を特徴とする並列分散処理システム。 - 請求項1に記載の並列分散処理システムにおいて、
前記マスタサーバは、前記スレーブサーバから受信した処理結果を前記関係区分及び操作区間に基づいて整合することにより各工具単位のNCデータを作成し、該各工具単位のNCデータを整合することにより全体のNCデータを作成すること、を特徴とする並列分散処理システム。 - 請求項1又は請求項2に記載の並列分散処理システムにおいて、
前記CL計算処理は、自由曲面を複数の三角形群で表現するSTLデータと、該STLデータで表現されるSTLモデルを格子状の小区画に区画し該小区画とSTLモデルの各三角面との位置関係を特定する区画データとを前記基礎データとして処理されること、を特徴とする並列分散処理システム。 - 請求項1〜請求項3に記載の並列分散処理システムにおいて、
前記各スレーブサーバに対し、少なくとも一の前記処理を依頼するものであって、該処理の処理結果を受信した場合には、該処理を返信した前記スレーブサーバに対し一の前記処理を依頼すること、を特徴とする並列分散処理システム。 - 請求項1〜請求項4に記載の並列分散処理システムにおいて、
前記マスタサーバは、前記依頼する前に予め前記基礎データ及び計算条件をブロードキャスト配信すること、を特徴とする並列分散処理システム。 - 複数のスレーブサーバと、基礎データ及び計算条件に基づいて処理すべき計算を所定の分散処理単位に分割し前記各スレーブサーバにその処理を依頼するマスタサーバとを備え、前記各スレーブサーバは、前記マスタサーバに依頼された処理を実行しその処理結果を返信する並列分散処理システムにより、NC加工機の作動を制御するNCデータを作成するNCデータ作成処理を実行するNCデータ作成方法であって、
前記NCデータ作成処理を構成するCL計算処理において、
工具軌跡を工具とワーク又はモデルとの位置関係により複数の関係区分に区分し、前記CL計算処理を前記各関係区分毎の前記CL計算処理に分割するステップと、
前記各スレーブサーバに対し、前記関係区分の各小軌跡を操作区間毎に特定し、前記分散処理単位としてその処理を依頼するステップとを備えたこと、
を特徴とするNCデータ作成方法。 - 請求項6に記載のNCデータ作成方法おいて、
前記スレーブサーバから受信した処理結果を前記関係区分及び操作区間に基づいて整合することにより各工具単位のNCデータを作成するステップと、
前記各工具単位のNCデータを整合することにより全体のNCデータを作成するステップとを備えたこと、を特徴とするNCデータ作成方法。 - 請求項6又は請求項7に記載のNCデータ作成方法において、
前記CL計算処理は、自由曲面を複数の三角形群で表現するSTLデータと、該STLデータで表現されるSTLモデルを格子状の小区画に区画し該小区画とSTLモデルの各三角面との位置関係を特定する区画データを前記基礎データとして処理すること、を特徴とするNCデータ作成方法。 - 複数のスレーブサーバと、基礎データ及び計算条件に基づいて処理すべき計算を所定の分散処理単位に分割し前記各スレーブサーバにその処理を依頼するマスタサーバとを備え、前記各スレーブサーバは、前記マスタサーバに依頼された処理を実行しその処理結果を返信する並列分散処理システムに、NC加工機の作動を制御するNCデータを作成するためのNCデータ作成処理を実行させるNCデータ作成プログラムであって、
前記NCデータ作成処理を構成するCL計算処理において、
前記マスタサーバに、
工具軌跡を工具とワーク又はモデルとの位置関係により複数の関係区分に区分し、前記CL計算処理を前記各関係区分毎の前記CL計算処理に分割させるステップと、
前記各スレーブサーバに対し、前記関係区分の各小軌跡を操作区間毎に特定し、前記分散処理単位としてその処理を依頼させるステップとを備えたこと、
を特徴とするNCデータ作成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003180019A JP2005018266A (ja) | 2003-06-24 | 2003-06-24 | 並列分散処理システム、ncデータ作成方法及びncデータ作成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003180019A JP2005018266A (ja) | 2003-06-24 | 2003-06-24 | 並列分散処理システム、ncデータ作成方法及びncデータ作成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005018266A true JP2005018266A (ja) | 2005-01-20 |
Family
ID=34181184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003180019A Pending JP2005018266A (ja) | 2003-06-24 | 2003-06-24 | 並列分散処理システム、ncデータ作成方法及びncデータ作成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005018266A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102749885A (zh) * | 2012-07-18 | 2012-10-24 | 石毅 | 云数控系统 |
WO2013069431A1 (ja) * | 2011-11-07 | 2013-05-16 | 株式会社日立製作所 | 並列分散処理方法および並列分散処理装置 |
KR20140092599A (ko) * | 2013-01-16 | 2014-07-24 | 에스케이플래닛 주식회사 | 분산 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치 |
JP6910750B1 (ja) * | 2021-02-12 | 2021-07-28 | 有限会社Kimori | 工具経路生成方法、工具経路生成プログラム及びサーバ装置 |
CN113253675A (zh) * | 2021-07-19 | 2021-08-13 | 广州中望龙腾软件股份有限公司 | 一种面向二维的三轴刀位点运算方法及系统 |
-
2003
- 2003-06-24 JP JP2003180019A patent/JP2005018266A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013069431A1 (ja) * | 2011-11-07 | 2013-05-16 | 株式会社日立製作所 | 並列分散処理方法および並列分散処理装置 |
CN103890671A (zh) * | 2011-11-07 | 2014-06-25 | 株式会社日立制作所 | 并行分散处理方法以及并行分散处理装置 |
CN103890671B (zh) * | 2011-11-07 | 2016-07-06 | 株式会社日立制作所 | 并行分散处理方法以及并行分散处理装置 |
CN102749885A (zh) * | 2012-07-18 | 2012-10-24 | 石毅 | 云数控系统 |
CN102749885B (zh) * | 2012-07-18 | 2014-08-06 | 石毅 | 云数控系统 |
KR20140092599A (ko) * | 2013-01-16 | 2014-07-24 | 에스케이플래닛 주식회사 | 분산 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치 |
KR102183274B1 (ko) | 2013-01-16 | 2020-11-26 | 에스케이플래닛 주식회사 | 분산 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치 |
JP6910750B1 (ja) * | 2021-02-12 | 2021-07-28 | 有限会社Kimori | 工具経路生成方法、工具経路生成プログラム及びサーバ装置 |
JP2022123723A (ja) * | 2021-02-12 | 2022-08-24 | 有限会社Kimori | 工具経路生成方法、工具経路生成プログラム及びサーバ装置 |
CN113253675A (zh) * | 2021-07-19 | 2021-08-13 | 广州中望龙腾软件股份有限公司 | 一种面向二维的三轴刀位点运算方法及系统 |
CN113253675B (zh) * | 2021-07-19 | 2021-11-19 | 广州中望龙腾软件股份有限公司 | 一种面向二维的三轴刀位点运算方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429076B2 (en) | Automatic strategy determination for computer aided manufacturing | |
CN109375601B (zh) | 基于数据驱动建模与仿真优化的流水线规划方法及设备 | |
Nagi et al. | Multiple routeings and capacity considerations in group technology applications | |
CN103180791B (zh) | 控制装置、控制系统及控制方法 | |
EP1015946A1 (en) | Apparatus and method for multi-part setup planning for sheet metal bending operations | |
EP0077177B1 (en) | Numerical control method and arrangement | |
US6731090B1 (en) | Method and system for numerical control of machine tool | |
US7010384B2 (en) | Flexible distributed manufacturing method and system therefor | |
US7826913B2 (en) | Sheet metal factory processing system | |
JP2005018266A (ja) | 並列分散処理システム、ncデータ作成方法及びncデータ作成プログラム | |
CN110955934A (zh) | 面向加工实时监控的切削仿真实现方法 | |
Liu et al. | Five-axis iso-error numerical control tool path generation for flat-end tool machining sculptured surface | |
CN112148035A (zh) | 多无人机轨迹优化方法、装置、存储介质及计算机设备 | |
WO2021058246A1 (en) | A system and method for minimizing non-productive idle times within an automation process | |
CN111598364B (zh) | 用于机械零部件的数字化工艺编排系统 | |
Ižol et al. | Evaluation of machining strategies for production of free form surfaces using 3-axle milling | |
CN109598012A (zh) | 基于拓扑的具有间距约束的点焊优化 | |
CN112633585B (zh) | 无人设备调度方法、装置、电子设备及存储介质 | |
CN114488964A (zh) | 单元控制器 | |
US20180207747A1 (en) | System and method for processing parts on a workpiece | |
CN116305929B (zh) | 一种数控加工仿真方法、装置、设备及存储介质 | |
JPH06274220A (ja) | Nc装置 | |
CN115648225B (zh) | 基于云脑模型管理的rpa机器人场景切换方法及系统 | |
Nagata et al. | Development of post-processor approach for an industrial robot FANUC R2000 i C | |
CN113334760A (zh) | 一种三维打印方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060602 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080708 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090217 |