(57)【特許請求の範囲】
【請求項１】
複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する３つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記３つのブロックに基づいて前記移動経路を順次修正する数値制御装置において、
前記中間ブロックが所定長以下か否かを判断する判断手段と、
前記中間ブロックが前記所定長より長いと前記判断手段が判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定手段と、
前記中間ブロックが前記所定長以下であると前記判断手段が判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点とを接続する接続点を算出する接続点算出手段と、
前記開始ブロックの始点と前記接続点算出手段によって算出した前記接続点とを接続するブロックを新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正手段と、
前記修正手段による修正回数を計数する修正回数計数手段と、
前記ブロック確定手段が前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記３つのブロックを再設定するブロック再設定手段と、
前記修正回数計数手段によって計数した前記修正回数をクリアする修正回数クリア手段と
を備え、
前記接続点算出手段は、
前記中間ブロックの始点の座標を（ｘａ、ｙａ、ｚａ）、前記中間ブロックの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、前記接続点の座標を（ｘｃ、ｙｃ、ｚｃ）、前記修正回数計数手段によって計数した修正回数をｎとした場合、
ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）、
ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）、
ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）、
で計算される前記接続点を算出することを特徴とする数値制御装置。
【請求項２】
複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する３つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記３つのブロックに基づいて前記移動経路を順次修正する数値制御装置によって行われる移動経路修正方法であって、
前記中間ブロックが所定長以下か否かを判断する判断ステップと、
前記中間ブロックが前記所定長より長いと前記判断ステップにおいて判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定ステップと、
前記中間ブロックが前記所定長以下であると前記判断ステップが判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点から接続される接続点を算出する接続点算出ステップと、
前記開始ブロックの始点と前記接続点算出ステップにおいて算出した前記接続点とを接続するブロックを新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正ステップと、
前記修正ステップによる修正回数を計数する修正回数計数ステップと、
前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記３つのブロックを再設定するブロック再設定ステップと、
前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記修正回数計数ステップによって計数した前記修正回数をクリアする修正回数クリアステップと
を備え、
前記接続点算出ステップにおいて、
前記中間ブロックの始点の座標を（ｘａ、ｙａ、ｚａ）、前記中間ブロックの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、前記接続点の座標を（ｘｃ、ｙｃ、ｚｃ）、前記修正回数計数ステップによって計数した修正回数をｎとした場合、
ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）、
ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）、
ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）、
で計算される前記接続点を算出することを特徴とする移動経路修正方法。
【請求項３】
複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する３つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記３つのブロックに基づいて前記移動経路を順次修正する数値制御装置の動作を制御する移動経路修正プログラムにおいて、
コンピュータに、
前記中間ブロックが所定長以下か否かを判断する判断ステップと、
前記中間ブロックが前記所定長より長いと前記判断ステップにおいて判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定ステップと、
前記中間ブロックが前記所定長以下であると前記判断ステップが判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点から接続される接続点を算出する接続点算出ステップと、
前記開始ブロックの始点と前記接続点算出ステップにおいて算出した前記接続点とを接続するブロックを新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正ステップと、
前記修正ステップによる修正回数を計数する修正回数計数ステップと、
前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記３つのブロックを再設定するブロック再設定ステップと、
前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記修正回数計数ステップによって計数した前記修正回数をクリアする修正回数クリアステップと
を実行させ、
前記接続点算出ステップにおいて、
前記中間ブロックの始点の座標を（ｘａ、ｙａ、ｚａ）、前記中間ブロックの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、前記接続点の座標を（ｘｃ、ｙｃ、ｚｃ）、前記修正回数計数ステップによって計数した修正回数をｎとした場合、
ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）、
ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）、
ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）、
で計算される前記接続点を算出することを特徴とする移動経路修正プログラム。
【請求項４】
請求項３に記載の移動経路修正プログラムを記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
数値制御装置は、曲線を描く加工プログラムを生成する場合、ＣＡＭ（computer aided manufacturing）を用いている。ＣＡＭは、曲線を複数のブロックに分割する。ＣＡＭは、演算誤差等により、前後のブロックと比較的大きな角度をなす微小のブロックを生成することがある。数値制御装置は、短い周期で指令速度に対応する分の移動量をサーボアンプに送出してモータを駆動する。微小ブロックが指令速度分の移動量に満たない場合、工具は急激に減速する。故に、加工面に工具跡が残ることがある。
【０００３】
特許文献１が開示する移動経路修正方法は、複数のセグメントで構成される移動経路において、連続する三つのセグメントデータに対して第１、第２、第３のセグメントＳ１、Ｓ２、Ｓ３がジグザグ状に接続しているかを第１の条件とし、第２のセグメントＳ２が設定された長さより短いかを第２の条件とし、前記第１の条件と前記第２の条件がともに成立する場合には、前記第２のセグメントＳ２の移動量を前記第１、前記第３のセグメントＳ１、Ｓ３の移動量に分配するように移動経路を修正する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３３８５２４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１が開示する移動経路修正方法は、３つのセグメントがジグザグの経路にならなければ、移動経路を修正しないという不具合が有する。故に、移動経路中に微小ブロックが残ってしまい、良好な加工面を得ることができなかった。特許文献１の移動経路修正条件からジグザグの経路であることを除外すると、所定の長さより短いブロックが次々と削除されることになるため、工具の移動経路がプログラムで指令した経路から逸脱する場合がある。
【０００６】
本発明は、上記課題を解決するためになされたものであり、工具の減速による影響のない良好な加工面を得ることができ、工具の移動経路がプログラムで指令した経路から大きく逸脱することのない数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１態様に係る数値制御装置は、複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する３つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記３つのブロックに基づいて前記移動経路を順次修正する数値制御装置において、前記中間ブロックが所定長以下か否かを判断する判断手段と、前記中間ブロックが前記所定長より長いと前記判断手段が判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定手段と、前記中間ブロックが前記所定長以下であると前記判断手段が判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点とを接続する接続点を算出する接続点算出手段と、前記開始ブロックの始点と前記接続点算出手段によって算出した前記接続点とを接続するブロックを新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正手段と、前記修正手段による修正回数を計数する修正回数計数手段と、前記ブロック確定手段が前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記３つのブロックを再設定するブロック再設定手段と、前記修正回数計数手段によって計数した前記修正回数をクリアする修正回数クリア手段とを備え、前記接続点算出手段は、前記中間ブロックの始点の座標を（ｘａ、ｙａ、ｚａ）、前記中間ブロックの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、前記接続点の座標を（ｘｃ、ｙｃ、ｚｃ）、前記修正回数計数手段によって計数した修正回数をｎとした場合、ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）、ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）、ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）、で計算される前記接続点を算出することを特徴とする。
【０００８】
第１態様では、ブロック確定手段は、中間ブロックが所定長より長いと判断手段が判断した場合、開始ブロックを工作機械の移動経路として確定する。接続点算出手段は、中間ブロックが所定長以下であると判断手段が判断した場合、中間ブロックの始点と終点に基づき、開始ブロックの始点と、終了ブロックの終点とを接続する接続点を算出する。修正手段は、開始ブロックの始点と接続点算出手段によって算出した接続点とを接続するブロックを新たな開始ブロックとし、接続点と終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして修正する。修正回数計数手段は、修正手段による修正回数を計数する。ブロック再設定手段は、ブロック確定手段が工作機械の移動経路を確定した場合、中間ブロックを開始ブロックとし、終了ブロックを中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして３つのブロックを再設定する。修正回数クリア手段は、ブロック確定手段が工作機械の移動経路を確定した場合、修正回数計数手段によって計数した修正回数をクリアする。中間ブロックの始点の座標は（ｘａ、ｙａ、ｚａ）、中間ブロックの終点の座標は（ｘｂ、ｙｂ、ｚｂ）、接続点の座標は（ｘｃ、ｙｃ、ｚｃ）、修正回数計数手段によって計数した修正回数はｎである。接続点算出手段は、中間ブロックの始点の座標を（ｘａ、ｙａ、ｚａ）、中間ブロックの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、接続点の座標を（ｘｃ、ｙｃ、ｚｃ）、修正回数計数手段によって計数した修正回数をｎとした場合、ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）、ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）、ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）を満たす接続点を算出する。故に、開始ブロックは、中間ブロックが所定長より長くなった時点で経路が確定するため、微小ブロックが連続するプログラムで、ブロックが次々と削除され、工具がプログラムで指令した経路から大きく逸脱することがない。よって、第１態様は、工具がプログラムで指令した経路から逸脱せず、工具の減速による影響のない良好な加工面を得ることができる。
【０００９】
本発明の第２態様に係る移動経路修正方法は、複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する３つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記３つのブロックに基づいて前記移動経路を順次修正する数値制御装置によって行われる移動経路修正方法であって、前記中間ブロックが所定長以下か否かを判断する判断ステップと、前記中間ブロックが前記所定長より長いと前記判断ステップにおいて判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定ステップと、前記中間ブロックが前記所定長以下であると前記判断ステップが判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点から接続される接続点を算出する接続点算出ステップと、前記開始ブロックの始点と前記接続点算出ステップにおいて算出した前記接続点とを接続するブロックを新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正ステップと、前記修正ステップによる修正回数を計数する修正回数計数ステップと、前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記３つのブロックを再設定するブロック再設定ステップと、前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記修正回数計数ステップによって計数した前記修正回数をクリアする修正回数クリアステップとを備え、前記接続点算出ステップにおいて、前記中間ブロックの始点の座標を（ｘａ、ｙａ、ｚａ）、前記中間ブロックの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、前記接続点の座標を（ｘｃ、ｙｃ、ｚｃ）、前記修正回数計数ステップによって計数した修正回数をｎとした場合、ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）、ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）、ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）、で計算される前記接続点を算出することを特徴とする。
【００１０】
第２態様では、ブロック確定ステップは、中間ブロックが所定長より長いと判断ステップが判断した場合、開始ブロックを工作機械の移動経路として確定する。接続点算出ステップは、中間ブロックが所定長以下であると判断ステップが判断した場合、中間ブロックの始点と終点に基づき、開始ブロックの始点と、終了ブロックの終点とを接続する接続点を算出する。修正ステップは、開始ブロックの始点と接続点算出ステップによって算出した接続点とを接続するブロックを新たな開始ブロックとし、接続点と終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして修正する。修正回数計数ステップは、修正ステップによる修正回数を計数する。ブロック再設定ステップは、ブロック確定ステップが工作機械の移動経路を確定した場合、中間ブロックを開始ブロックとし、終了ブロックを中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして３つのブロックを再設定する。修正回数クリアステップは、ブロック確定ステップが工作機械の移動経路を確定した場合、修正回数計数ステップによって計数した修正回数をクリアする。中間ブロックの始点の座標は（ｘａ、ｙａ、ｚａ）、中間ブロックの終点の座標は（ｘｂ、ｙｂ、ｚｂ）、接続点の座標は（ｘｃ、ｙｃ、ｚｃ）、修正回数計数ステップによって計数した修正回数はｎである。接続点算出ステップは、中間ブロックの始点の座標を（ｘａ、ｙａ、ｚａ）、中間ブロックの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、接続点の座標を（ｘｃ、ｙｃ、ｚｃ）、修正回数計数ステップによって計数した修正回数をｎとした場合、ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）、ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）、ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）を満たす接続点を算出する。故に、開始ブロックは、中間ブロックが所定長より長くなった時点で経路が確定するため、微小ブロックが連続するプログラムで、ブロックが次々と削除され、工具がプログラムで指令した経路から大きく逸脱することがない。よって、第１態様は、工具がプログラムで指令した経路から逸脱せず、工具の減速による影響のない良好な加工面を得ることができる。
【００１１】
本発明の第３態様に係る移動経路修正プログラムは、複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する３つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記３つのブロックに基づいて前記移動経路を順次修正する数値制御装置の動作を制御する移動経路修正プログラムにおいて、コンピュータに、前記中間ブロックが所定長以下か否かを判断する判断ステップと、前記中間ブロックが前記所定長より長いと前記判断ステップにおいて判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定ステップと、前記中間ブロックが前記所定長以下であると前記判断ステップが判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点から接続される接続点を算出する接続点算出ステップと、前記開始ブロックの始点と前記接続点算出ステップにおいて算出した前記接続点とを接続するブロックを新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正ステップと、前記修正ステップによる修正回数を計数する修正回数計数ステップと、前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記３つのブロックを再設定するブロック再設定ステップと、前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記修正回数計数ステップによって計数した前記修正回数をクリアする修正回数クリアステップとを実行させ、前記接続点算出ステップにおいて、前記中間ブロックの始点の座標を（ｘａ、ｙａ、ｚａ）、前記中間ブロックの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、前記接続点の座標を（ｘｃ、ｙｃ、ｚｃ）、前記修正回数計数ステップによって計数した修正回数をｎとした場合、ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）、ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）、ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）、で計算される前記接続点を算出することを特徴とする。
【００１２】
第３態様では、ブロック確定ステップは、中間ブロックが所定長より長いと判断ステップが判断した場合、開始ブロックを工作機械の移動経路として確定する。接続点算出ステップは、中間ブロックが所定長以下であると判断ステップが判断した場合、中間ブロックの始点と終点に基づき、開始ブロックの始点と、終了ブロックの終点とを接続する接続点を算出する。修正ステップは、開始ブロックの始点と接続点算出ステップによって算出した接続点とを接続するブロックを新たな開始ブロックとし、接続点と終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして修正する。修正回数計数ステップは、修正ステップによる修正回数を計数する。ブロック再設定ステップは、ブロック確定ステップが工作機械の移動経路を確定した場合、中間ブロックを開始ブロックとし、終了ブロックを中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして３つのブロックを再設定する。修正回数クリアステップは、ブロック確定ステップが工作機械の移動経路を確定した場合、修正回数計数ステップによって計数した修正回数をクリアする。中間ブロックの始点の座標は（ｘａ、ｙａ、ｚａ）、中間ブロックの終点の座標は（ｘｂ、ｙｂ、ｚｂ）、接続点の座標は（ｘｃ、ｙｃ、ｚｃ）、修正回数計数ステップによって計数した修正回数はｎである。接続点算出ステップは、中間ブロックの始点の座標を（ｘａ、ｙａ、ｚａ）、中間ブロックの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、接続点の座標を（ｘｃ、ｙｃ、ｚｃ）、修正回数計数ステップによって計数した修正回数をｎとした場合、ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）、ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）、ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）を満たす接続点を算出する。故に、開始ブロックは、中間ブロックが所定長より長くなった時点で経路が確定するため、微小ブロックが連続するプログラムで、ブロックが次々と削除され、工具がプログラムで指令した経路から大きく逸脱することがない。よって、第１態様は、工具がプログラムで指令した経路から逸脱せず、工具の減速による影響のない良好な加工面を得ることができる。
【００１３】
本発明の第４態様に係る記憶媒体は、請求項３に記載の移動経路修正プログラムを記憶したことを特徴とする。
【００１４】
第４態様では、請求項３に記載の移動経路修正プログラムを記憶している。故に、コンピュータが第４態様の移動経路修正プログラムを実行することで、第３態様に記載の効果を得ることができる。
【図面の簡単な説明】
【００１５】
【図１】数値制御装置１の電気的構成を示すブロック図である。
【図２】セグメントバッファ２３１の内容を示す概念図である。
【図３】ＣＰＵ２１が実行する移動経路修正処理のフローチャートである。
【図４】修正前の移動経路の第１段階の図である。
【図５】移動経路を修正した第２段階の図である。
【図６】移動経路を修正した第３段階の図である。
【図７】移動経路を修正した第４段階の図である。
【図８】セグメントバッファ２３１の修正対象のセグメントＳｉを示す図である。
【図９】図８の続きを示す図である。
【図１０】図９の続きを示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態である数値制御装置１、移動経路修正方法、移動経路修正プログラム及び記憶媒体について、図面を参照して説明する。図１に示す数値制御装置１は、加工プログラムが指令する経路にしたがい、工作機械２（図１参照）の軸移動を制御する。工作機械２は、加工物と工具の相対移動により、加工物を切削する。
【００１７】
数値制御装置１の電気的構成について、図１を参照して説明する。数値制御装置１は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、フラッシュメモリ２４を有するマイクロコンピュータと、入力インタフェイス２５と、入出力インタフェイス２６とを備えている。入力インタフェイス２５は、操作部１２に接続している。
【００１８】
ＲＯＭ２２は、数値制御装置１のメインプログラムに加え、加工プログラムを１ブロックずつ読込んでセグメントデータを生成する「セグメント生成プログラム」、複数のセグメントで構成した移動経路を修正する本発明の「移動経路修正プログラム」等を記憶する。「移動経路修正プログラム」は、コンピュータで読み取り可能な記憶媒体としてのフラッシュメモリ２４等に記憶してもよい。ＲＡＭ２３は、セグメントバッファ２３１、修正回数記憶領域２３２を少なくとも備えている。セグメントバッファ２３１は、加工プログラムから生成したセグメントデータを記憶する。修正回数記憶領域２３２は、後述する移動経路を連続して行った修正回数ｎを記憶する。フラッシュメモリ２４は、加工プログラムを記憶する加工プログラム記憶領域２４１を少なくとも備えている。
【００１９】
入出力インタフェイス２６は、工作機械２のＸ軸モータ５１を駆動する駆動回路４１と、工作機械２のＹ軸モータ５２を駆動する駆動回路４２と、工作機械２のＺ軸モータ５３を駆動する駆動回路４３と、工作機械２の主軸モータ５４を駆動する駆動回路４４等に接続している。Ｘ軸モータ５１及びＹ軸モータ５２の駆動は、工作機械２のテーブル（図示省略）をＸ軸方向及びＹ軸方向に移動する。Ｚ軸モータ５３の駆動は、工作機械の主軸ヘッド（図示省略）をＺ軸方向に移動する。
【００２０】
Ｘ軸モータ５１、Ｙ軸モータ５２、Ｚ軸モータ５３、主軸モータ５４は、各モータの位置を検出するエンコーダ（図示省略）を備えている。各エンコーダは、各駆動回路４１、４２、４３、４４に接続している。
【００２１】
セグメントデータについて説明する。加工プログラムが指令する経路は、例えば、図４に示すように、Ａ１、Ａ２、…、Ａ８からなる座標列である。作業者が操作部１２を操作すると、ＣＰＵ２１は、Ａ１〜Ａ８の座標列を読み取って、各セグメントの各軸移動量Ｘｉ、Ｙｉ、Ｚｉ、セグメント長Ｌｉ、指令速度ＦからなるセグメントデータＳｉ（以下、単に「セグメントＳｉ」と呼ぶ）を生成する。添え字ｉは、経路開始からのブロック番号を示している。図２に示すように、ＲＡＭ２３のセグメントバッファ２３１は、生成したセグメントＳ１、Ｓ２、Ｓ３を指令順に記憶する。
【００２２】
ＣＰＵ２１は、セグメントバッファ２３１に順次蓄積したセグメントＳｉに基づき、テーブル及び主軸ヘッドの速度パターンを作成する。ＣＰＵ２１は、作成した速度パターンから各軸毎の補間指令（単位時間あたりの移動量）を算出する。ＣＰＵ２１は、算出した各軸の補間指令を、工作機械２のＸ軸モータ５１、Ｙ軸モータ５２、Ｚ軸モータ５３の駆動回路４１、４２、４３にそれぞれ出力する。
【００２３】
図２に示すように、セグメントバッファ２３１は、加工プログラムを読み取ったブロック順に、セグメントＳｉを順次記憶する。ＣＰＵ２１は、セグメントバッファ２３１に蓄積するセグメントＳｉについて、連続する３つのブロックに基づいて移動経路を順次修正する。ＣＰＵ２１は、連続する３つのブロックを処理対象のセグメントとする。本実施形態は、３つのセグメントについて、移動開始側から移動終了側に向かって、第１のセグメント（本発明の「開始ブロック」に相当）、第２のセグメント（本発明の「中間ブロック」に相当）、第３のセグメント（本発明の「終了ブロック」に相当）と称する。
【００２４】
ポインタＡは、加工プログラムの次のブロックから読み取った新しいセグメントＳｉを記憶する位置を示している。ポインタＢは、経路がまだ確定していない最初のセグメントＳｉの位置を示している。故に、ＣＰＵ２１は、セグメントバッファ２３１に、３セグメント分のセグメントＳｉを蓄積するまでは、ポインタＡをインクリメントし、かつポインタＡに次のセグメントＳｉを記憶する。図２に示す例は、セグメントバッファ２３１に、３セグメント分のセグメントＳ１、Ｓ２、Ｓ３を蓄積していることを示している。
【００２５】
ＣＰＵ２１が実行する移動経路修正処理について、図３のフローチャート、図４〜図１０を参照して説明する。本実施形態は、図４に示す移動経路を修正する場合について、第１段階から第４段階に分けて説明する。図４の移動経路は、Ａ１〜Ａ８の各点を直線で繋いだ移動経路である。Ａ１〜Ａ８の間は、各セグメントＳｉで繋いでいる。作業者が操作部１２を操作すると、ＣＰＵ２１は、ＲＯＭ２２のプログラム記憶領域２２１（図１参照）に記憶した「移動経路修正プログラム」を読み込んで実行する。
【００２６】
ＣＰＵ２１は、ＲＡＭ２３の修正回数記憶領域２３２に記憶する修正回数ｎをクリアする（Ｓ１１）。ＣＰＵ２１は、フラッシュメモリ２４の加工プログラム記憶領域２４１（図１参照）に記憶した加工プログラムに基づき、次に修正すべきセグメントＳｉが有るか否かを判断する（Ｓ１２）。ＣＰＵ２１は、次に修正すべきセグメントＳｉがあると判断し（Ｓ１２：ＹＥＳ）、ポインタＡの位置に次のセグメントＳｉをセット（記憶）する（Ｓ１３）。
【００２７】
ＣＰＵ２１は、ポインタＢから３セグメント生成したか否かを判断する（Ｓ１４）。故に、ＣＰＵ２１は、セグメントバッファ２３１上に、３セグメント分のセグメントＳｉを蓄積するまでは（Ｓ１４：ＮＯ）、ポインタＡをインクリメントし（Ｓ２４）、次のセグメントがあれば（Ｓ１２：ＹＥＳ）、ポインタＡに次のセグメントを記憶する（Ｓ１３）。図８の第１段階に示すように、セグメントバッファ２３１は、ポインタＢから３セグメント分のセグメントＳ１、Ｓ２、Ｓ３を蓄積している。
【００２８】
ＣＰＵ２１は、ポインタＢから３セグメント生成したと判断した場合（Ｓ１４：ＹＥＳ）、現時点で「第２のセグメント」であるセグメントＳ２のセグメント長は、設定値以下か否かを判断する（Ｓ１５）。ＣＰＵ２１は、セグメントＳ２のセグメント長が設定値以下と判断した場合（Ｓ１５：ＹＥＳ）、ＲＡＭ２３の修正回数記憶領域２３２に記憶する修正回数ｎに１を加算する（Ｓ１６）。ＣＰＵ２１は、セグメントＳ１の始点Ａ１と、セグメントＳ３の終点Ａ４とを接続する接続点Ｔ１を算出するために、接続点算出処理を実行する（Ｓ１７）。
【００２９】
Ｓ１７の接続点算出処理について具体的に説明する。本実施形態は、第２のセグメントの始点の座標を（ｘａ、ｙａ、ｚａ）、第２のセグメントの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、接続点Ｔの座標を（ｘｃ、ｙｃ、ｚｃ）と定義する。
ＣＰＵ２１は、以下の式を満たす接続点Ｔの座標を算出する。
・ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）
・ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）
・ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）
【００３０】
現時点の第２のセグメントは、セグメントＳ２である。セグメントＳ２の始点Ａ２の座標は（ｘａ１、ｙａ１、ｚａ１）、セグメントＳ２の終点Ａ３の座標は（ｘｂ１、ｙｂ１、ｚｂ１）、接続点Ｔ１の座標は（ｘｃ１、ｙｃ１、ｚｃ１）である。ＣＰＵ２１は、修正回数ｎは１であるので、以下の式を満たす接続点Ｔ１の座標を算出する（Ｓ１７）。
・ｘｃ１＝（ｘａ１×１＋ｘｂ１）／２
・ｙｃ１＝（ｙａ１×１＋ｙｂ１）／２
・ｚｃ１＝（ｚａ１×１＋ｚｂ１）／２
【００３１】
図５に示すように、ＣＰＵ２１は、第１のセグメントであるセグメントＳ１を修正し、セグメントＳ１の始点（Ａ１）と、算出した接続点Ｔ１とを、新たなセグメントＳ１Ｒ（１）で接続する（Ｓ１８）。ＣＰＵ２１は、第２のセグメントであるセグメントＳ２を修正し、算出した接続点Ｔ１とセグメントＳ３の終点（Ａ４）とを、新たなセグメントＳ２Ｒ（１）で接続する（Ｓ１９）。各セグメントＳｉに添えた「Ｒ」は、修正したセグメントであることを示している。各セグメントの括弧内の値は、修正回数を示している。ＣＰＵ２１は、残ったセグメントＳ３を消去（クリア）する（Ｓ２０）。故に、Ａ１と、Ｔ１と、Ａ４とを、新たなセグメントＳ１Ｒ（１）とＳ２Ｒ（１）で繋いだ新たな経路が生成する（第２段階）。図５に示すように、修正回数１回目では、接続点Ｔ１の座標は、Ａ２とＡ３の中点の座標となる。
【００３２】
ＣＰＵ２１は、Ｓ１２に戻り、次のセグメントが有るか否かを判断する。図８の第２段階に示すように、ポインタＡの位置は空の状態である。ＣＰＵ２１は、加工プログラムに基づき、次のセグメントＳｉが有ると判断した場合（Ｓ１２：ＹＥＳ）、図８の「セグメント再設定」に示すように、空のポインタＡの位置に、次のセグメントＳ４をセットする（Ｓ１３）。
【００３３】
セグメントバッファ２３１は、ポインタＢの位置からポインタＡの位置までに、セグメントＳ１Ｒ（１）、Ｓ２Ｒ（１）、Ｓ４の３つのセグメントを蓄積している（図８の「セグメント再設定」参照）。故に、ＣＰＵ２１は、ポインタＢから３セグメント生成したと判断し（Ｓ１４：ＹＥＳ）、現時点で「第２のセグメント」であるセグメントＳ２Ｒ（１）のセグメント長が設定値以下か否かを判断する（Ｓ１５）。ＣＰＵ２１は、図５に示すセグメントＳ２Ｒ（１）のセグメント長が設定値以下と判断した場合（Ｓ１５：ＹＥＳ）、再度、経路を修正する為、ＲＡＭ２３の修正回数記憶領域２３２に記憶する修正回数ｎに１加算する（Ｓ１６）。故に、修正回数ｎは２回となる。ＣＰＵ２１は、セグメントＳ１Ｒ（１）の始点Ａ１と、セグメントＳ４の終点Ａ５とを接続する接続点Ｔ２を算出するために、接続点算出処理を実行する（Ｓ１７）。
【００３４】
現時点の第２のセグメントは、セグメントＳ２Ｒ（１）である。セグメントＳ２Ｒ（１）の始点Ｔ１の座標は（ｘａ２、ｙａ２、ｚａ２）、セグメントＳ２Ｒ（１）の終点Ａ４の座標は（ｘｂ２、ｙｂ２、ｚｂ２）、接続点Ｔ２の座標は（ｘｃ２、ｙｃ２、ｚｃ２）である。ＣＰＵ２１は、以下の式を満たす接続点Ｔ２の座標を算出する。
・ｘｃ２＝（ｘａ２×２＋ｘｂ２）／３
・ｙｃ２＝（ｙａ２×２＋ｙｂ２）／３
・ｚｃ２＝（ｚａ２×２＋ｚｂ２）／３
【００３５】
図６に示すように、ＣＰＵ２１は、第１のセグメントであるセグメントＳ１Ｒ（１）を修正し、セグメントＳ１Ｒ（１）の始点Ａ１と、算出した接続点Ｔ２とを、新たなセグメントＳ１Ｒ（２）で接続する（Ｓ１８）。ＣＰＵ２１は、第２のセグメントであるセグメントＳ２Ｒ（１）を修正し、算出した接続点Ｔ２とセグメントＳ４の終点Ａ５とを、新たなセグメントＳ２Ｒ（２）で接続する（Ｓ１９）。ＣＰＵ２１は、残ったセグメントＳ４を消去する（Ｓ２０）。故に、Ａ１と、Ｔ２と、Ａ５とを、新たなセグメントＳ１Ｒ（２）とＳ２Ｒ（２）で繋いだ新たな経路が生成する（第３段階）。図６に示すように、修正回数２回目では、接続点Ｔ２の座標は、Ａ２とＡ３とＡ４の平均点の座標となる。
【００３６】
ＣＰＵ２１は、Ｓ１２に戻り、次のセグメントが有るか否かを判断する。図９の第３段階に示すように、ポインタＡの位置は空の状態である。ＣＰＵ２１は、加工プログラムに基づき、次のセグメントＳｉが有ると判断した場合（Ｓ１２：ＹＥＳ）、図９の「セグメント再設定」に示すように、空のポインタＡの位置に、次のセグメントＳ５をセットする（Ｓ１３）。
【００３７】
セグメントバッファ２３１は、ポインタＢの位置からポインタＡの位置までに、セグメントＳ１Ｒ（２）、Ｓ２Ｒ（２）、Ｓ５の３つのセグメントを蓄積している（図９の「セグメント再設定」参照）。故に、ＣＰＵ２１は、ポインタＢから３セグメント生成したと判断し（Ｓ１４：ＹＥＳ）、現時点で「第２のセグメント」であるセグメントＳ２Ｒ（２）のセグメント長が設定値以下か否かを判断する（Ｓ１５）。ＣＰＵ２１は、図５に示すセグメントＳ２Ｒ（２）のセグメント長が設定値以下と判断した場合（Ｓ１５：ＹＥＳ）、再度、経路を修正する為、ＲＡＭ２３の修正回数記憶領域２３２に記憶する修正回数ｎに１加算する（Ｓ１６）。故に、修正回数ｎは３回となる。ＣＰＵ２１は、セグメントＳ１Ｒ（２）の始点Ａ１と、セグメントＳ５の終点Ａ６とを接続する接続点Ｔ３を算出するために、接続点算出処理を実行する（Ｓ１７）。
【００３８】
現時点の第２のセグメントは、セグメントＳ２Ｒ（２）である。セグメントＳ２Ｒ（２）の始点ＡＴ２の座標は（ｘａ３、ｙａ３、ｚａ３）、セグメントＳ２Ｒ（２）の終点Ａ５の座標は（ｘｂ３、ｙｂ３、ｚｂ３）、接続点Ｔ３の座標は（ｘｃ３、ｙｃ３、ｚｃ３）である。ＣＰＵ２１は、以下の式を満たす接続点Ｔ３の座標を算出する。
・ｘｃ３＝（ｘａ３×３＋ｘｂ３）／４
・ｙｃ３＝（ｙａ３×３＋ｙｂ３）／４
・ｚｃ３＝（ｚａ３×３＋ｚｂ３）／４
【００３９】
図７に示すように、ＣＰＵ２１は、第１のセグメントであるセグメントＳ１Ｒ（２）を修正し、セグメントＳ１Ｒ（２）の始点Ａ１と、算出した接続点Ｔ３とを、新たなセグメントＳ１Ｒ（３）で接続する（Ｓ１８）。ＣＰＵ２１は、第２のセグメントであるセグメントＳ２Ｒ（２）を修正し、算出した接続点Ｔ３とセグメントＳ５の終点Ａ６とを、新たなセグメントＳ２Ｒ（３）で接続する（Ｓ１９）。ＣＰＵ２１は、残ったセグメントＳ５を消去する（Ｓ２０）。故に、Ａ１と、Ｔ３と、Ａ６とを、新たなセグメントＳ１Ｒ（３）とＳ２Ｒ（３）で繋いだ新たな経路が生成する（第４段階）。図７に示すように、修正回数３回目では、接続点Ｔ３の座標は、Ａ２とＡ３とＡ４とＡ５の平均点の座標となる。
【００４０】
ＣＰＵ２１は、Ｓ１２に戻り、次のセグメントが有るか否かを判断する。図９の第４段階に示すように、ポインタＡの位置は空の状態である。ＣＰＵ２１は、加工プログラムに基づき、次のセグメントＳｉが有ると判断した場合（Ｓ１２：ＹＥＳ）、空のポインタＡの位置に、次のセグメントＳ６をセットする（Ｓ１３）。
【００４１】
セグメントバッファ２３１は、ポインタＢの位置からポインタＡの位置までに、セグメントＳ１Ｒ（３）、Ｓ２Ｒ（３）、Ｓ６の３つのセグメントを蓄積している。故に、ＣＰＵ２１は、ポインタＢから３セグメント生成したと判断し（Ｓ１４：ＹＥＳ）、現時点で「第２のセグメント」であるセグメントＳ２Ｒ（３）のセグメント長が設定値以下か否かを判断する（Ｓ１５）。
【００４２】
図７に示すように、セグメントＳ２Ｒ（３）は、図４の第１段階のセグメントＳ２に比べてかなり長くなっている。ＣＰＵ２１は、図７に示すセグメントＳ２Ｒ（３）のセグメント長が設定値より長いと判断した場合（Ｓ１５：ＮＯ）、ＲＡＭ２３の修正回数記憶領域２３２に記憶する修正回数ｎをクリアし（Ｓ２１）、現時点で第１のセグメントであるセグメントＳ１Ｒ（３）について経路を確定する（Ｓ２２）。セグメントＳ１Ｒ（３）は、Ａ１とＴ３を繋ぐ経路である。
【００４３】
ＣＰＵ２１は、「第１のセグメント」について経路が確定すると、図１０の「経路確定」に示すように、ポインタＢをインクリメントし（Ｓ２３）、ポインタＡをインクリメントする（Ｓ２４）。ＣＰＵ２１は、Ｓ１２に戻る。経路が確定した状態では、ポインタＡの位置は空の状態である。ＣＰＵ２１は、加工プログラムに基づき、次のセグメントが有ると判断した場合（Ｓ１２：ＹＥＳ）、空のポインタＡの位置に、図１０の「セグメント再設定」に示すように、次のセグメントＳ７をセットする（Ｓ１３）。ＣＰＵ２１は、ポインタＢから３セグメント生成したと判断し（Ｓ１４：ＹＥＳ）、上記同様に経路の最後まで、処理を繰り返す。
【００４４】
ＣＰＵ２１は、次のセグメントＳｉがないと判断した場合（Ｓ１２：ＮＯ）、セグメントバッファ２３１において、ポインタＡはポインタＢと同位置であるか否かを判断する（Ｓ２５）。ＣＰＵ２１は、ポインタＡがポインタＢと同位置でないと判断した場合（Ｓ２５：ＮＯ）、ポインタＢの位置のセグメントを確定し（Ｓ２６）、ポインタＢをインクリメントする（Ｓ２７）。ＣＰＵ２１は、Ｓ２５に戻り、ポインタＡはポインタＢと同位置であるか否かを再度判断する。ＣＰＵ２１は、ポインタＡがポインタＢと同位置であると判断した場合（Ｓ２５：ＹＥＳ）、移動経路修正処理を終了する。
【００４５】
即ち、ＣＰＵ２１は、第２のセグメントのセグメント長が設定値より大きいと判断した場合、第１のセグメントについて経路を確定する。故に、修正後の移動経路は、微小ブロックを含まないので、工具が急激に減速することがなく、良好な加工面を得ることができる。また、微小ブロックが連続するプログラムでも、経路修正処理を行っていくうちに第２のセグメント長が長くなるため、経路修正が無限に行われることはない。故に、工具が移動する経路はプログラムで指令した経路から大きく逸脱することがない。
【００４６】
以上説明したように、本実施形態の数値制御装置１では、ＣＰＵ２１は、加工プログラムを読み取ったブロック順に、軸の移動経路を構成するセグメントＳｉを生成し、セグメントバッファ２３１に順次記憶する。ＣＰＵ２１は、セグメントバッファ２３１に蓄積するセグメントＳｉについて、連続する３つのブロックを処理対象のセグメントとして、移動経路を順次修正する。ＣＰＵ２１は、最初に、第１のセグメント、第２のセグメント、第３のセグメントとして、セグメントＳ１、Ｓ２、Ｓ３を処理対象セグメントとする。ＣＰＵ２１は、セグメントＳ２が設定値より大きいと判断した場合、セグメントＳ１の経路を確定する。
【００４７】
ＣＰＵ２１はセグメントＳ２が設定値以下と判断した場合、経路を修正する。具体的には、本実施形態は、第２のセグメントの始点の座標を（ｘａ、ｙａ、ｚａ）、第２のセグメントの終点の座標を（ｘｂ、ｙｂ、ｚｂ）、接続点の座標を（ｘｃ、ｙｃ、ｚｃ）、修正回数をｎとする。ＣＰＵ２１は、ｘｃ＝（ｘａ×ｎ＋ｘｂ）／（ｎ＋１）、ｙｃ＝（ｙａ×ｎ＋ｙｂ）／（ｎ＋１）、ｚｃ＝（ｚａ×ｎ＋ｚｂ）／（ｎ＋１）、で計算される接続点を算出する。
【００４８】
ＣＰＵ２１は、第１のセグメントの始点と接続点とを新たな第１のセグメントで接続し、接続点と第３のセグメントの終点とを新たな第２のセグメントで接続する。ＣＰＵ２１は、処理対象セグメントに次のセグメントを追加する。ＣＰＵ２１は、処理対象セグメントを追加した連続する３つのセグメントＳｉについて、再度、経路を修正しつつ第１のセグメントを順次確定する。
【００４９】
上述したＳ１７の接続点算出処理において、接続点は、経路を修正した点の全ての座標の中点（平均点）となる。例えば、図５に示すように、第２段階の修正では、接続点Ｔ１は、Ａ２，Ａ３の中点である。図６に示すように、第３段階の修正では、接続点Ｔ２は、Ａ２，Ａ３，Ａ４の平均点である。図７に示すように、第４段階の修正では、接続点Ｔ３は、Ａ２，Ａ３，Ａ４，Ａ５の平均点である。Ｓ１７の接続点算出処理では、修正回数ｎが徐々に大きくなると、算出する接続点Ｔの座標は経路終了側に徐々に移動するが、修正回数１回目における第２のセグメントの始点によって経路開始側にも引っ張られる状態となる。故に、第１のセグメント、第２のセグメントは徐々に長くなるので、微小セグメントは確実に消失する。故に、修正後の移動経路は、微小のセグメントを含まないので、工具が急激に減速することがなく、良好な加工面を得ることができる。また、第２のセグメントが徐々に長くなるので、微小ブロックが連続するプログラムでも、経路修正が無限に行われることはない。故に、工具が移動する経路がプログラムで指令した経路から大きく逸脱することがない。
【００５０】
以上説明において、Ｓ１５の処理を実行するＣＰＵ２１が本発明の「判断手段」に相当し、Ｓ１７の処理を実行するＣＰＵ２１が本発明の「接続点算出手段」に相当し、Ｓ１８、Ｓ１９の処理を実行するＣＰＵ２１が本発明の「修正手段」に相当し、Ｓ２２の処理を実行するＣＰＵ２１が本発明の「ブロック確定手段」に相当し、Ｓ２３、Ｓ２４の処理を実行するＣＰＵ２１が本発明の「ブロック再設定手段」に相当する。
【００５１】
なお、本発明の数値制御装置、移動経路修正方法、移動経路修正プログラム及び記憶媒体は、上記実施形態に限らず、各種の変形が可能なことはいうまでもない。
【符号の説明】
【００５２】
１  数値制御装置
２  工作機械
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２４  フラッシュメモリ
２３１  セグメントバッファ
【図１】
0005659666.tif 000002
【図２】
0005659666.tif 000003
【図３】
0005659666.tif 000004
【図４】
0005659666.tif 000005
【図５】
0005659666.tif 000006
【図６】
0005659666.tif 000007
【図７】
0005659666.tif 000008
【図８】
0005659666.tif 000009
【図９】
0005659666.tif 000010
【図１０】
0005659666.tif 000011