(57)【要約】【課題】モーション動作の速やかな変更をすることができ、前準備が簡単で使い易いシステムを提供する。【解決手段】与えられたモーション指令に従ってサーボアンプ１３Ａの制御をおこなう数値制御装置６Ａと、速度や位置などのモーション指令データを変数として格納するためのメモリ１０Ａと、パーソナルコンピュータ１Ａ上のアプリケーションプログラム２Ａからコールされ数値制御装置６ＡとＰＣＩ等のバス１８Ａを介してモーション指令を与えるモーションＡＰＩ４Ａと、メモリ上に存在するモーション指令データの変数へのアドレスをモーションＡＰＩによって間接指定する手段とを有する。【選択図】　　図１
2004013239.tif 000002
【特許請求の範囲】
【請求項１】
与えられたモーション指令に従ってサーボアンプの制御をおこなう数値制御装置と、
速度や位置などのモーション指令データを変数として格納するための前記数値制御装置内のメモリと、
パーソナルコンピュータ上のアプリケーションプログラムからコールされ前記数値制御装置とＰＣＩ等のバスを介してモーション指令を与えるモーションＡＰＩと、
メモリ上に存在するモーション指令データの変数へのアドレスをモーションＡＰＩによって間接指定する手段と
を有することを特徴とするモーションプログラムのモーションデータ指令システム。
【請求項２】
与えられたモーション指令に従ってサーボアンプの制御をおこなう数値制御装置と、
速度や位置などのモーション指令データを変数として格納するための前記数値制御装置内のメモリと、
上位プログラマブルコントローラ上のアプリケーションプログラムからコールされ前記数値制御装置とＰＣＩ等のバスを介してモーション指令を与えるモーションＡＰＩと、
メモリ上に存在するモーション指令データの変数のアドレスをモーションＡＰＩにて間接指定する手段と
を有することを特徴とするモーションプログラムのモーションデータ指令システム。
【請求項３】
パーソナルコンピュータ上のモーションプログラム編集ツールと、
与えられたモーションプログラムに従ってサーボアンプの制御をおこなう数値制御装置と、
モーションプログラムの起動／停止等を制御するための制御信号用Ｉ／Ｏと、起動／停止等の動作とＩ／Ｏ信号の関連付けをモーションプログラム上で定義する手段と
を有することを特徴とするモーションプログラムの制御信号定義システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工作機械や自動組み立て装置、自動搬送装置などの制御に用いる数値制御装置に関する発明であり、さらに詳しくは、モーションプログラムの実行環境がパーソナルコンピュータやプログラマブルコントローラなど、数値制御装置の外部に存在する場合のモーションプログラムの実行方法に関する発明である。
また、工作機械や自動組み立て装置、自動搬送装置などの制御に用いる数値制御装置に関する発明であり、さらに詳しくは、モーションプログラムの起動／停止等を制御するための制御信号の定義方法に関する発明である。
【０００２】
【従来の技術】
従来のモーションプログラムの実行環境が外部に存在するような数値制御装置の場合、モーションプログラムに使用されるモーション指令データを変数とするときは、その変数が存在する場所はモーションプログラムの実行環境が存在する場所、すなわち、数値制御装置の外部のパーソナルコンピュータやプログラマブルコントローラのアプリケーションプログラムの中であった。
【０００３】
このような従来技術について図に基づいて説明する。図３は、従来のモーションデータ指令方法を実施するシステムのブロック図である。図中、１Ｃはパーソナルコンピュータ若しくはプログラマブルコントローラ、２Ｃはパーソナルコンピュータ若しくはプログラマブルコントローラ１Ｃ上で動作するモーション指令用アプリケーションプログラム、３Ｃはモーション用アプリケーションプログラムの１つの具体例、１８Ｃはモーション指令データが格納される変数格納メモリ、４Ｃはモーション用アプリケーションプログラムからコールされるモーションＡＰＩ、５ＣはＰＣＩ等のバス２１Ｃにアクセスするためのバスインターフェース、１９Ｃはパーソナルコンピュータ若しくはプログラマブルコントローラ１Ｃ上で動作するセンサ用アプリケーションプログラム、２０Ｃはセンサ用アプリケーションプログラム１９Ｃの１つの具体例、９１Ｃはセンサ用アプリケーションプログラム１９Ｃからコールされるセンサ用ＡＰＩ、９Ｃはセンサ１７Ｃから入力をおこなうセンサインターフェース、６Ｃは数値制御装置、７ＣはＰＣＩ等のバス２１Ｃにアクセスするためのバスインターフェース、８Ｃは与えられたモーション指令データに従って動作するモーション制御処理部、１３Ｃはサーボアンプ、１４Ｃはサーボモータ、１５Ｃは位置検出器、１６Ｃは移動機構である。
【０００４】
図中、アプリケーションプログラム３Ｃの例によると、▲１▼▲２▼では、パーソナルコンピュータまたはプログラマブルコントローラ１Ｃ内の変数格納メモリ１８Ｃに存在する変数Ｘ，Ｙにモーション指令データの初期値を代入する。
▲３▼では、変数Ｘ，Ｙを引数とする移動指令ＡＰＩをコールし、数値制御装置６Ｃにモーション指令を与える。このとき、変数Ｘ，Ｙは移動指令ＡＰＩをコールした時点で即値に変換され、数値制御装置６Ｃには即値のモーション指令データが与えられる。即値のモーション指令を受け取ったモーション制御処理部８Ｃは、与えられた即値を使用してモーション制御をおこなう。
【０００５】
その後、センサ１７Ｃより入力がおこなわれると、パーソナルコンピュータまたはプログラマブルコントローラ１Ｃ上で動作するセンサ用アプリケーションプログラム１９Ｃにより、その入力値または入力値によって選択された値が変数格納メモリ１８Ｃの変数Ｘ，Ｙに代入される。図中、具体例２０Ｃの▲６▼〜▲９▼はこの操作をおこなうプログラムである。
そして、モーション用アプリケーションプログラム２Ｃは、具体例３Ｃの▲４▼で変数Ｘ，Ｙの値が変更されたことを検出し、変更された変数Ｘ，Ｙの値を使用して、再度変数Ｘ，Ｙを引数とする移動指令ＡＰＩをコールし、数値制御装置６Ｃにモーション指令を与える。
【０００６】
次に第２の従来技術について説明する。この例によると、起動／停止等を制御するための制御信号用Ｉ／Ｏは、パーソナルコンピュータ若しくは専用エンジニアリングツール上の制御信号定義ツールにて扱われている。
【０００７】
以下、この従来技術について具体的に図に基づいて説明する。図４は、従来のモーションプログラムにおける制御信号定義方法を実施するシステムのブロック図である。図中、１Ｄはパーソナルコンピュータ若しくは専用エンジニアリングツール、２２Ｄは起動／停止等の動作とＩ／Ｏ信号の関連付けを定義した制御信号用Ｉ／Ｏ定義データ、２４Ｄは制御信号用Ｉ／Ｏ定義データの１つの具体例、２３Ｄは制御信号用Ｉ／Ｏ定義データを設定するためのツール、２Ｄは編集中のモーションプログラム、３Ｄはモーションプログラムの１つの具体例、４Ｄはモーションプログラムを編集するためのツール、５Ｄ及び７Ｄはパーソナルコンピュータ若しくは専用エンジニアリングツール１Ｄから数値制御装置６Ｄにデータをダウンロードするための通信インターフェース、８Ｄはデータ格納用メモリ、８２Ｄはデータ格納用メモリに格納された制御信号用Ｉ／Ｏ定義データ、８１Ｄは同モーションプログラム、９ＤはＩ／Ｏ信号の入出力をおこなうためのＩ／Ｏインターフェース、１２Ｄは制御信号用Ｉ／Ｏ、１１Ｄは与えられたモーションプログラムに従って動作するモーション制御処理部、１３Ｄはサーボアンプ、１４Ｄはサーボモータ、１５Ｄは位置検出器、１６Ｄは移動機構である。
【０００８】
図中、アプリケーションプログラム３Ｄの例によると、▲１▼〜▲３▼では、変数Ｘ１〜Ｘ３，Ｙ１〜Ｙ３を引数とする移動指令ＡＰＩをコールし、数値制御装置６Ｄにモーション指令を与える。このとき、それぞれの移動指令ＡＰＩの起動／停止等を制御するための信号は、制御信号用Ｉ／Ｏ定義データで定義された全て同一の制御信号によって制御されてしまい、個別に制御信号を選択することができなかった。
【０００９】
【発明が解決しようとする課題】
このように、従来の技術によると、センサなどの入力信号による外部要因により変数の値が変化した場合、再度、アプリケーションプログラムからモーションＡＰＩをコールし、ＰＣＩ等のバスを介して指令を与える必要があり、高速にモーション動作の変更を実現することができないという問題があった。
また、制御信号用Ｉ／Ｏの定義をおこなうこと自体わずらわしいのであるが、多系列のモーションプログラムの運転を実現する場合には、系列数分の制御信号用Ｉ／Ｏの定義をおこなった上に、モーションプログラムがどの系列に属するかを定義するといった操作が必要であり、モーションプログラム以前の前準備が複雑となり、非常に使いにくいものになっていた。
発明はこのような問題に鑑みてなされたものであり、モーション動作の速やかな変更をすることができ、前準備が簡単で使い易いシステムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
そこで、本発明は、速度や位置などの変数を数値制御装置内のメモリに持つようにし、アプリケーションプログラムがコールするモーションＡＰＩの引数には、その変数へのハンドル（アドレス）を設定させ、センサ入力および変数の値の変更を数値制御装置でおこなうことにより、高速にモーション動作の変更を実現するというものである。
また、モーションプログラムの起動／停止等の制御信号Ｉ／Ｏの定義そのものをモーションプログラム上でおこなうＡＰＩを提供することにより、制御信号Ｉ／Ｏ定義ツールを不要にするとともに、多系列のモーションプログラムの運転を容易に実現するというものである。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図に基づいて説明する。図１は、本発明のモーションデータ指令方法を実施するシステムのブロック図である。図中、１Ａはパーソナルコンピュータ若しくはプログラマブルコントローラ、２Ａはパーソナルコンピュータ若しくはプログラマブルコントローラ１Ａ上で動作するモーション指令用アプリケーションプログラム、３Ａはモーション用アプリケーションプログラムの１つの具体例、４Ａはアプリケーションプログラム２ＡからコールされるモーションＡＰＩ、５Ａおよび７ＡはＰＣＩ等のバス１８Ａにアクセスするためのバスインターフェース、６Ａは数値制御装置、８Ａは与えられたモーション指令データに従って動作するモーション制御処理部、９Ａはセンサ１７Ａから入力をおこなうセンサインターフェース、１０Ａはモーション指令データが格納される変数格納メモリ、１３Ａはサーボアンプ、１４Ａはサーボモータ、１５Ａは位置検出器、１６Ａは移動機構である。
【００１２】
図中、アプリケーションプログラム２Ａの具体例３Ａによると、▲１▼▲２▼では、数値制御装置６Ａ内のメモリ１０Ａに存在する変数Ｘ，Ｙにモーション指令データの初期値を代入する。このとき、アプリケーションプログラム２Ａから直接変数Ｘ，Ｙに値を代入することができないため、変数Ｘ，Ｙを指定するためのハンドルＨａｎｄｌｅＸ，ＨａｎｄｌｅＹを使用し、このハンドルを引数とするデータ設定ＡＰＩを使用してモーション指令データの初期値を代入する。
▲３▼では、変数Ｘ，Ｙを指定するためのハンドルＨａｎｄｌｅＸ，ＨａｎｄｌｅＹを使用し、このハンドルを引数とする移動指令ＡＰＩをコールし、数値制御装置６Ａにモーション指令を与える。
【００１３】
モーション指令を受け取ったモーション制御処理部８Ａは、指定されたＨａｎｄｌｅＸ、ＨａｎｄｌｅＹが示す変数格納メモリ１０Ａに存在する変数Ｘ，Ｙに格納された値を使用してモーション制御をおこなう。
その後、センサ１７Ａより入力がおこなわれ、その入力値または入力値によって選択された値がセンサインターフェース９Ａにより変数格納メモリ１０Ａの変数Ｘ，Ｙに代入される。この時点で、モーション制御処理部８Ａは、アプリケーションプログラムおよびアプリケーションプログラムとの通信を介することなく、変数格納メモリ１０Ａに存在する変数Ｘ，Ｙに格納された値を使用してモーション制御の変更をおこなうことができる。
【００１４】
次に、本発明の第２の実施例について図に基づいて説明する。図２は、本発明のモーションプログラムにおける制御信号定義方法を実施するシステムのブロック図である。図中、１Ｂはパーソナルコンピュータ若しくは専用エンジニアリングツール、２Ｂは編集中のモーションプログラム、３Ｂはモーションプログラム２Ｂの１つの具体例、４Ｂはモーションプログラム２Ｂを編集するためのツール、５Ｂ及び７Ｂはパーソナルコンピュータ若しくは専用エンジニアリングツール１Ｂから数値制御装置６Ｂにデータをダウンロードするための通信インターフェース、８Ｂはデータ格納用メモリ、８１Ｂは同モーションプログラム、９ＢはＩ／Ｏ信号の入出力をおこなうためのＩ／Ｏインターフェース、１２Ｂは制御信号用Ｉ／Ｏ、１１Ｂは与えられたモーションプログラム２Ｂに従って動作するモーション制御処理部、１３Ｂはサーボアンプ、１４Ｂはサーボモータ、１５Ｂは位置検出器、１６Ｂは移動機構である。
【００１５】
図中、アプリケーションプログラム２Ｂの１つの具体例３Ｂによると、▲１▼では、制御信号Ｉ／ＯであるＩｎ０１〜Ｉｎ０３を引数とするＡＰＩをコールし、モーションプログラムの起動／停止等の動作とを関連付けをおこない、制御信号ハンドルＩＯｈａｎｄｌｅ１を得ている。モーションプログラム２Ｂでは、制御信号Ｉ／ＯであるＩｎ１１〜Ｉｎ１３を引数とするＡＰＩをコールし、モーションプログラムの起動／停止等の動作とを関連付けをおこない、制御信号ハンドルＩＯｈａｎｄｌｅ２を得ている。
▲３▼▲４▼では、制御信号ハンドルＩＯｈａｎｄｌｅ１を使用し、このハンドルを引数とする移動指令ＡＰＩをコールしてモーション制御をおこなっている。一方、▲５▼では、制御信号ハンドルＩＯｈａｎｄｌｅ２を使用し、このハンドルを引数とする移動指令ＡＰＩをコールしてモーション制御をおこなっている。
【００１６】
【発明の効果】
以上述べたように、本発明では、変数を数値制御装置内のメモリに持ち、アプリケーションプログラムがコールするモーションＡＰＩの引数には、その変数へのハンドル（アドレス）を設定させることにより、センサなどの入力信号による外部要因により変数の値が変化した場合でも、再度アプリケーションプログラムからＰＣＩ等のバスを介して指令を与え直す必要がなく、高速にモーション動作の変更を実現することができるという効果がある。
また、本発明の第２の実施例によると、モーションプログラムの起動／停止等の制御信号Ｉ／Ｏの定義そのものをモーションプログラム上でおこなうＡＰＩを提供しているので、制御信号Ｉ／Ｏ定義ツールを不要にするとともに、各移動指令毎に個別の制御信号を選択することを可能とし、さらに、複数のモーションプログラムで異なる制御信号を定義するだけで、容易に多系列を実現することができることがわかる。
【図面の簡単な説明】
【図１】本発明のモーションデータ指令システムのブロック図
【図２】本発明のモーションプログラムにおける制御信号定義システムのブロック図
【図３】従来のモーションデータ指令システムのブロック図
【図４】従来のモーションプログラムにおける制御信号定義システムのブロック図
【符号の説明】
１Ａ　パーソナルコンピュータ若しくはプログラマブルコントローラ
１Ｂ　パーソナルコンピュータ若しくは専用エンジニアリングツール
２Ａ　指令用アプリケーションプログラム
２Ｂ　編集中のモーションプログラム
３Ａ　モーション用アプリケーションプログラムの例
３Ｂ　モーションプログラムの１つの具体例
４Ａ　モーションＡＰＩ
４Ｂ　モーションプログラムを編集するためのツール
５Ａ、７Ａ　バスインターフェース
５Ｂ、７Ｂ　通信インターフェース
６Ａ　数値制御装置
８Ａ　モーション制御処理部
８Ｂ　データ格納用メモリ
９Ｂ　Ｉ／Ｏインターフェース
９Ａ　センサインターフェース
１０Ａ　変数格納メモリ
１１Ｂ　モーション制御処理部
１２Ｂ　制御信号用Ｉ／Ｏ
１３Ａ、１３Ｂ　サーボアンプ
１４Ａ、１４Ｂ　サーボモータ
１５Ａ、１５Ｂ　位置検出器
１６Ａ、１６Ｂ　移動機構
１７Ａ　センサ
１８Ａ　ＰＣＩ等のバス
８１Ｂ　同モーションプログラム
【図１】
2004013239.tif 000003
【図２】
2004013239.tif 000004
【図３】
2004013239.tif 000005
【図４】
2004013239.tif 000006