(57)【要約】【課題】  ステッピングモータ評価などのための従来機能の駆動を行えるだけでなく、制御のタイミングなどが絡む実際の使用状況でもステッピングモータを容易に駆動できるステッピングモータ駆動制御システムを提供する。【解決手段】  ステッピングモータ７を駆動するドライバ５およびそのドライバ５による駆動を制御するコントローラ６を備えたモータ制御装置２と、そのモータ制御装置２に接続され、コントローラ６が行う制御シーケンスのシーケンスデータを編集し、そのシーケンスデータをモータ制御装置２へ転送するホストコンピュータ１とから成るステッピングモータ駆動制御システムにおいて、モータ制御装置２ｃに、実行中の制御ステートを予め設定した他の制御ステートへ直ちに移行させるためのトリガ用の汎用入力ポート３５を備えた。【選択図】        図１５
2005204455.tif 000002
【特許請求の範囲】
【請求項１】
ステッピングモータを駆動する駆動手段およびその駆動手段による駆動を制御する制御手段を備えたモータ制御装置と、該モータ制御装置に接続され、前記制御手段が行う制御シーケンスのシーケンスデータを編集し、該シーケンスデータを前記モータ制御装置へ転送するホストコンピュータとから成るステッピングモータ駆動制御システムにおいて、前記モータ制御装置に、実行中の制御ステートを予め設定した他の制御ステートへ直ちに移行させるためのトリガ用の入力ポートを備えたことを特徴とするステッピングモータ駆動制御システム。
【請求項２】
請求項１記載のステッピングモータ駆動制御システムにおいて、前記入力ポートにセンサからの信号を接続する構成にしたことを特徴とするステッピングモータ駆動制御システム。
【請求項３】
請求項１または請求項２記載のステッピングモータ駆動制御システムにおいて、前記制御シーケンスを構成している制御ステートのパラメータとして、前記入力ポートを特定する情報と特定された入力ポートから入力された信号をトリガとして移行する際のステート移行条件を設定する移行条件設定手段を備え、前記モータ制御装置に、前記パラメータに設定された入力ポートを監視して設定されたステート移行条件に基づいて他の制御ステートへ移行させるステート移行制御手段を備えたことを特徴とするステッピングモータ駆動制御システム。
【請求項４】
請求項１または請求項２記載のステッピングモータ駆動制御システムにおいて、前記シーケンスデータの構成要素として、前記制御ステートのほかに、前記入力ポートの状態によって実行順序を変更する実行順序制御コマンドを有する構成とし、前記モータ制御装置は、前記実行順序制御コマンドに応じて前記入力ポートの状態を判定するポート状態判定手段を備えて、前記制御手段が前記ポート状態判定手段の判定結果に従って制御シーケンスを実行する構成にしたことを特徴とするステッピングモータ駆動制御システム。
【請求項５】
ステッピングモータを駆動する駆動手段およびその駆動手段による駆動を制御する制御手段を備えたモータ制御装置と、該モータ制御装置に接続され、前記制御手段が制御をおこなうためのシーケンスデータを編集し、そのシーケンスデータを前記モータ制御装置へ転送するホストコンピュータとから成るステッピングモータ駆動制御システムにおいて、前記モータ制御装置にソレノイドまたはクラッチを駆動するための出力を行う出力ポートを備えるとともに、前記ホストコンピュータに前記出力ポートへの出力を指示するコマンドを前記シーケンスデータ中に設定可能なシーケンスデータ編集手段を備え、前記モータ制御装置では、前記シーケンスデータ中の前記出力ポートへの出力を指示するコマンドに応じて前記出力ポートへの出力を行う構成にしたことを特徴とするステッピングモータ駆動制御システム。
【請求項６】
請求項１または請求項２記載のステッピングモータ駆動制御システムにおいて、前記モータ制御装置にソレノイドまたはクラッチを駆動するための出力を行う出力ポートを備えるとともに、前記ホストコンピュータに前記出力ポートへの出力を指示するコマンドを前記シーケンスデータ中に設定可能なシーケンスデータ編集手段を備え、前記モータ制御装置では、前記シーケンスデータ中の前記出力ポートへの出力を指示するコマンドに応じて前記出力ポートへの出力を行う構成にしたことを特徴とするステッピングモータ駆動制御システム。
【請求項７】
請求項１乃至請求項６のいずれか１項に記載のステッピングモータ駆動制御システムにおいて、前記モータ制御装置内の前記制御手段は複数の制御シーケンスを並行して実行する構成であることを特徴とするステッピングモータ駆動制御システム。
【請求項８】
請求項７記載のステッピングモータ駆動制御システムにおいて、前記ホストコンピュータに、同一のシーケンスを先頭から新たに実行させる並列起動コマンドを設定する起動コマンド設定手段を備え、前記モータ制御装置内の前記制御手段は、前記並列起動コマンドに応じて、それまでに起動され実行中の制御シーケンスに加え新たにその制御シーケンスを先頭から実行する構成にしたことを特徴とするステッピングモータ駆動制御システム。
【請求項９】
請求項１、請求項２、または請求項６記載のステッピングモータ駆動制御システムにおいて、前記ホストコンピュータに、入力ポートと出力ポートを指定させ、該２つのポートを直結させるリンクコマンドを設定するリンクコマンド設定手段を備え、前記モータ制御装置内の前記制御手段は、前記リンクコマンドに応じて、指定された入力ポートと出力ポートとを直結して当該入力ポートの状態をそのまま当該出力ポートへ出力する構成にしたことを特徴とするステッピングモータ駆動制御システム。
【請求項１０】
請求項９記載のステッピングモータ駆動制御システムにおいて、前記ホストコンピュータに、入力ポートと出力ポートを指定させ、該２つのポートをリンク状態から解除させるコマンドを設定する解除コマンド設定手段を備え、前記モータ制御装置内の前記制御手段は、前記解除コマンドに応じて、指定された入力ポートと出力ポートとをリンク状態から解除する構成にしたことを特徴とするステッピングモータ駆動制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータを駆動するステッピングモータ駆動制御システムに係わり、特に、パーソナルコンピュータなどホストコンピュータとモータ制御装置とからシステムを構成し、そのホストコンピュータにおいてシーケンスデータを編集してモータ制御装置へ送り、そのシーケンスデータに基づいてモータ制御装置がステッピングモータを駆動する構成のステッピングモータ駆動制御システムに関する。
【背景技術】
【０００２】
ステッピングモータを事務機器（ＯＡ機器）などに使用することが多くなってきたが、制御が難しいこと、ステッピングモータのメーカーや種類により制御が異なることなどから、ちょっと試しにステッピングモータを回してみたい、あるいは代替モータの評価をしたいと思っても、簡単にはできないのが現状である。加えて、モータの評価を実際に行うのは機構設計者であるのに対して、モータ駆動回路の設計は回路設計者がおこない、モータ制御プログラムを組むのはソフトウェア設計者である場合が多いことがモータの評価作業などを困難にしている。こうした状態から、機構設計者が一人で制御パラメータなどを変えながら簡単に手軽にステッピングモータを駆動してみることができるステッピングモータ駆動制御システムが望まれていた。
これに応えるために、そのようなステッピングモータ駆動制御システムが提供され始めているが、そのような駆動制御システムでは、ステッピングモータを駆動・制御するモータ制御装置のほかに、ステッピングモータの制御シーケンスを組み立て、その制御シーケンスを構成する各制御ステートのパラメータを入力するための装置が必要である。なお、この装置とは、例えばパーソナルコンピュータなどホストコンピュータに専用のアプリケーションプログラムを搭載したものである。つまり、ステッピングモータの制御シーケンスや制御パラメータを変更できるように、ホストコンピュータをモータ制御装置に接続し、そのホストコンピュータを用いて操作するのである。
例えば特許文献１に示された「ステッピングモータの制御方法、制御システム及びモータ駆動制御装置」（図４２参照）はそのような従来技術の１つであり、ホストコンピュータ６１において作成したシーケンスデータを一度モータ制御装置６２へ送信したならば、ホストコンピュータ６１を切り離してもモータ駆動制御装置６２のみで独立にステッピングモータ６３を制御できるようにしている。つまり、ホストコンピュータ側において、ステッピングモータ６３を制御するために定めた開始・加速・定速・減速・停止など最小動作単位を組み合わせることにより、ステッピングモータ６３の動作開始から停止までの制御シーケンスを編集し、この編集データ（シーケンスデータ）をモータ制御装置６２へ送信してこのモータ制御装置６２に内蔵されたメモリ内に記憶させ、その記憶されたシーケンスデータに従ってモータ制御装置６２がステッピングモータ６３を制御するのである。
【特許文献１】特開２００１−３３９９９４公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来技術では、ステッピングモータの駆動に必要なパラメータや制御シーケンスをホストコンピュータ側で編集・指定し、モータ制御装置側では転送されたそれに基づいてステッピングモータを駆動するだけであったので、任意の静的な駆動パターンにおけるステッピングモータの振る舞いを調べたり、同じ駆動パターンを繰り返し実行するエイジング的な使用などの際の耐久性を調べたりするには十分であったが、制御のタイミングなどが絡む実際の使用状況でステッピングモータを駆動させることは困難であった。
本発明の目的は、このような従来技術の問題を解決しようとするものであり、具体的には、従来から提供させていた機能に加えて、制御のタイミングなどが絡む実際の使用状況でもステッピングモータを容易に駆動させることができるステッピングモータ駆動制御システムを提供することにある。
【課題を解決するための手段】
【０００４】
前記した課題を解決するために、請求項１記載の発明では、ステッピングモータを駆動する駆動手段およびその駆動手段による駆動を制御する制御手段を備えたモータ制御装置と、そのモータ制御装置に接続され、前記制御手段が行う制御シーケンスのシーケンスデータを編集し、そのシーケンスデータを前記モータ制御装置へ転送するホストコンピュータとから成るステッピングモータ駆動制御システムにおいて、前記モータ制御装置に、実行中の制御ステートを予め設定した他の制御ステートへ直ちに移行させるためのトリガ用の入力ポートを備えた。
また、請求項２記載の発明では、請求項１記載の発明において、前記入力ポートにセンサからの信号を接続する構成にした。
また、請求項３記載の発明では、請求項１または請求項２記載の発明において、前記制御シーケンスを構成している制御ステートのパラメータとして、入力ポートを特定する情報と特定された入力ポートから入力された信号をトリガとして移行する際のステート移行条件を設定する移行条件設定手段を備え、前記モータ制御装置に、前記パラメータに設定された入力ポートを監視して設定されたステート移行条件に基づいて他の制御ステートへ移行させるステート移行制御手段を備えた。
また、請求項４記載の発明では、請求項１または請求項２記載の発明において、前記シーケンスデータの構成要素として、前記制御ステートのほかに、前記入力ポートの状態によって実行順序を変更する実行順序制御コマンドを有する構成とし、前記モータ制御装置は、前記実行順序制御コマンドに応じて前記入力ポートの状態を判定するポート状態判定手段を備えて、前記制御手段がそのポート状態判定手段の判定結果に従って制御シーケンスを実行する構成にした。
【０００５】
また、請求項５記載の発明では、ステッピングモータを駆動する駆動手段およびその駆動手段による駆動を制御する制御手段を備えたモータ制御装置と、そのモータ制御装置に接続され、前記制御手段が制御をおこなうためのシーケンスデータを編集し、そのシーケンスデータを前記モータ制御装置へ転送するホストコンピュータとから成るステッピングモータ駆動制御システムにおいて、前記モータ制御装置にソレノイドまたはクラッチを駆動するための出力を行う出力ポートを備えるとともに、前記ホストコンピュータに前記出力ポートへの出力を指示するコマンドを前記シーケンスデータ中に設定可能なシーケンスデータ編集手段を備え、前記モータ制御装置では、前記シーケンスデータ中の前記出力ポートへの出力を指示するコマンドに応じて前記出力ポートへの出力を行う構成にした。
また、請求項６記載の発明では、請求項１または請求項２記載の発明において、前記モータ制御装置にソレノイドまたはクラッチを駆動するための出力を行う出力ポートを備えるとともに、前記ホストコンピュータに前記出力ポートへの出力を指示するコマンドを前記シーケンスデータ中に設定可能なシーケンスデータ編集手段を備え、前記モータ制御装置では、前記シーケンスデータ中の前記出力ポートへの出力を指示するコマンドに応じて前記出力ポートへの出力を行う構成にした。
また、請求項７記載の発明では、請求項１乃至請求項６のいずれか１項に記載の発明において、前記モータ制御装置内の前記制御手段は複数の制御シーケンスを並行して実行する構成にした。
【０００６】
また、請求項８記載の発明では、請求項７記載の発明において、前記ホストコンピュータに、同一のシーケンスを先頭から新たに実行させる並列起動コマンドを設定する起動コマンド設定手段を備え、前記モータ制御装置内の前記制御手段は、前記並列起動コマンドに応じて、それまでに起動され実行中の制御シーケンスに加え新たにその制御シーケンスを先頭から実行する構成にした。
また、請求項９記載の発明では、請求項１、請求項２、または請求項６記載の発明において、前記ホストコンピュータに、入力ポートと出力ポートを指定させてその２つのポートを直結させるリンクコマンドを設定するリンクコマンド設定手段を備え、前記モータ制御装置内の前記制御手段は、前記リンクコマンドに応じて、指定された入力ポートと出力ポートとを直結してその入力ポートの状態をそのままその出力ポートへ出力する構成にした。
また、請求項１０記載の発明では、請求項９記載の発明において、前記ホストコンピュータに、入力ポートと出力ポートを指定させてその２つのポートをリンク状態から解除させるコマンドを設定する解除コマンド設定手段を備え、前記モータ制御装置内の前記制御手段は、前記解除コマンドに応じて、指定された入力ポートと出力ポートとをリンク状態から解除する構成にした。
【発明の効果】
【０００７】
本発明によれば、請求項１記載の発明では、ステッピングモータを制御・駆動するモータ制御装置と、そのモータ制御装置が行う制御シーケンスのシーケンスデータを編集し、そのシーケンスデータをそのモータ制御装置へ転送するホストコンピュータとから成るステッピングモータ駆動制御システムにおいて、モータ制御装置は、トリガ用の入力ポートを用いて、実行中の制御ステートを予め設定した他の制御ステートへ直ちに移行させることができるので、従来から提供されていたステッピングモータ駆動制御を行えるだけでなく、制御のタイミングなどが絡む実際の使用状況でもステッピングモータを容易に駆動させることができる。
また、請求項２記載の発明では、請求項１記載の発明において、入力ポートにはセンサからの信号が入力されるので、そのセンサからの信号を用いて制御のタイミングなどが絡む実際の使用状況でステッピングモータを容易に駆動させることができる。
また、請求項３記載の発明では、請求項１または請求項２記載の発明において、ホストコンピュータ側で、制御シーケンスを構成している制御ステートのパラメータとして、入力ポートを特定する情報と特定された入力ポートから入力された信号をトリガとして移行する際のステート移行条件とを設定でき、その設定により、モータ制御装置では、前記パラメータに設定された入力ポートを監視して設定されたステート移行条件に基づいて他の制御ステートへ移行させることができるので、複数のセンサ中の所望のセンサからの信号を用いて他の制御ステートへ移行させることができるし、その際、所望の条件を満たしているときに移行させるようにでき、したがって、きめの細かい制御ができる。
【０００８】
また、請求項４記載の発明では、請求項１または請求項２記載の発明において、シーケンスデータの構成要素として、制御ステートのほかに、入力ポートの状態によって実行順序を変更する実行順序制御コマンドを用意したことにより、モータ制御装置では、その実行順序制御コマンドに応じて入力ポートの状態を判定し、その判定結果に従って制御シーケンスを実行できるので、制御シーケンス中の任意の位置にその実行順序制御コマンドを挿入することにより試行錯誤的に入力ポートを用いた制御を行うことができ、したがって、入力ポートの条件によって駆動パターンそのものを変更するような複雑な使用形態においても実際に使用する状況に即した設定やタイミングで容易にステッピングモータを駆動することができる。
また、請求項５記載の発明では、ステッピングモータを制御・駆動するモータ制御装置と、そのモータ制御装置が行う制御シーケンスのシーケンスデータを編集し、そのシーケンスデータをモータ制御装置へ転送するホストコンピュータとから成るステッピングモータ駆動制御システムにおいて、ホストコンピュータ側で出力ポートへの出力を指示するコマンドをシーケンスデータ中に設定でき、それにより、モータ制御装置では、シーケンスデータ中の、出力ポートへの出力を指示するコマンドに応じてソレノイドやクラッチなどにつながっている出力ポートへの出力を行うことができるので、ソレノイドやクラッチなどを伴う複雑な駆動系についても実際に使用する状況に即した設定やタイミングでステッピングモータを駆動することができる。
また、請求項６記載の発明では、請求項１または請求項２記載の発明において、ホストコンピュータ側で出力ポートへの出力を指示するコマンドをシーケンスデータ中に設定でき、それにより、モータ制御装置では、シーケンスデータ中の、出力ポートへの出力を指示するコマンドに応じて出力ポートにつながっているソレノイドやクラッチなどを駆動できるので、請求項１または請求項２記載の発明において請求項５記載の発明の効果を得ることができる。
【０００９】
また、請求項７記載の発明では、請求項１乃至請求項６のいずれか１項に記載の発明において、モータ制御装置は複数の制御シーケンスを並行して実行できるので、例えば１枚の紙に対する処理というように一塊の連続した処理として制御シーケンスを定義できるし、紙の前端と後端における処理というようにさらに細かいレベルでの並列処理としても記述できる。
また、請求項８記載の発明では、請求項７記載の発明において、ホストコンピュータで、同一のシーケンスを先頭から新たに実行させる並列起動コマンドを設定でき、それにより、モータ制御装置では、その並列起動コマンドに応じて、それまでに起動され実行中の制御シーケンスに加え新たにその制御シーケンスを先頭から実行できるので、特定の制御シーケンスをオーバーラップさせて繰り返し実行させる場合であっても、１回きりの制御シーケンスと同様に容易に記述できる。
また、請求項９記載の発明では、請求項１、請求項２、または請求項６記載の発明において、ホストコンピュータで、入力ポートと出力ポートを指定させてその２つのポートを直結させるリンクコマンドを設定でき、それにより、モータ制御装置では、そのリンクコマンドに応じて、指定された入力ポートと出力ポートとを直結してその入力ポートの状態をそのままその出力ポートへ出力できるので、制御対象のユニットの初期化と後処理だけにシーケンスデータを用い、他の制御を当該ステッピングモータを組み込んでいるシステムに任せることができ、したがって、シーケンスデータの構築が容易になる。
また、請求項１０記載の発明では、請求項９記載の発明において、ホストコンピュータで、入力ポートと出力ポートを指定させてその２つのポートをリンク状態から解除させるコマンドを設定でき、それにより、モータ制御装置では、その解除コマンドに応じて、指定された入力ポートと出力ポートとをリンク状態から解除できるので、やり直しが容易にでき、したがって、試行錯誤的、実験的な制御が容易にできる。
【発明を実施するための最良の形態】
【００１０】
以下、図面により本発明の実施形態を詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対位置などは特定的な記載がない限りこの説明の範囲をそれのみに限定する主旨ではなく、単なる説明例に過ぎない。
図１は本発明の一実施形態を示すステッピングモータ駆動制御システムの全体構成図である。図示したように、このステッピングモータ駆動制御システムは、ステッピングモータを制御するための制御シーケンスの制御ステート列（制御シーケンス情報）や各制御ステートの制御パラメータなどシーケンスデータを作成するホストコンピュータ１、ホストコンピュータ１から受け取ったシーケンスデータを用いてステッピングモータ７を駆動・制御するモータ制御装置２、ホストコンピュータ１とモータ制御装置２とを通信可能に接続する通信回線３などを備え、モータ制御装置２内には、ステッピングモータ７を駆動する駆動手段であるドライバ５、そのドライバ５による駆動を制御してステッピングモータ７の回転制御を行う制御手段であるコントローラ６を備える。なお、ステッピングモータ７は接続用ハーネス４によりドライバ５に接続されている。また、ステッピングモータ７には、速度を検出するためのエンコーダ８が設けられている。
前記において、制御シーケンスとは、ステッピングモータ７を駆動する制御ステートを時系列に沿って組み合わせたもので、その制御ステートとは、ステッピングモータを制御するに当たって１つの駆動状態を示す制御単位で、停止（無励磁）、開始（セトリング）、加速（スルーアップ）、定速（定常回転）、減速（スルーダウン）の５状態の何れかをとる。停止（無励磁）とは、ステッピングモータに励磁がかかっておらず、回転軸が自由な状態である。外力がなければ、回転軸は停止状態となっている。開始（セトリング）とは、ステッピングモータに励磁がかかっているが回転数０の状態である。加速（スルーアップ）とは、ステッピングモータの回転数を上げていっている状態、定速（定常回転）とは、ステッピングモータが一定の回転数を維持している状態、減速（スルーダウン）とは、ステッピングモータの回転数を下げていっている状態である。
【００１１】
図２はこの実施形態のホストコンピュータを示す構成ブロック図である。図示したように、このホストコンピュータ１は、制御シーケンス情報や制御パラメータなどシーケンスデータを編集して送信するシーケンス編集送信部１０、編集されたシーケンスデータを記憶する記憶部１１、入力された文字列の表示など、前記した編集時のユーザインタフェースとしての表示などを制御する表示制御部１２を備え、シーケンス編集送信部１０は、シーケンス編集部１３、編集されたシーケンスデータの送信を制御するシーケンス送信制御部１４、編集されたシーケンスデータを記憶部１１に格納したり、その記憶部１１からシーケンスデータを読み出してシーケンス送信制御部１４へ渡したりするデータ入出力部１５、モータ制御装置２（２ａ／２ｂ）との通信を制御する通信回線制御部１６などを備える。
また、前記シーケンス編集部１３は、各制御ステートを実行順に並べた制御シーケンスを編集するシーケンス構築部１７、および各制御ステートの内容を編集するステート編集部１８を備える。
図３はホストコンピュータの他の構成例である。図２が繰り返しに関する機能を持たない場合の構成であるのに対して、図３に示した構成では繰り返し指定部１９を備え、同一シーケンスを繰り返し実行させることができる。したがって、この構成では、エイジングなどを行うのに向いている。  
なお、この実施形態では、請求項１記載の駆動手段がドライバ５により実現され、制御手段がコントローラ６により実現される。
【００１２】
図４は本発明の一実施形態を示すモータ制御装置２ａの構成ブロック図である。図示したように、この実施例のモータ制御装置２ａは、通信回線３を介したホストコンピュータ１との通信を制御する通信回線制御部２１、その通信回線制御部２１が受信したデータ中からシーケンスデータ（制御シーケンス情報および各制御ステートの制御パラメータなど）を取得するシーケンス受信制御部２２、取得されたシーケンスデータを解釈するシーケンス解釈部２３、解釈され内部形式のデータにまとめられた、開始・加速・定速・減速・停止などのステートデータ列やコマンドデータなどから成るシーケンスデータを一時的に記憶しておく記憶部２４、シーケンスデータの各部への入力と各部からの出力を制御するデータ入出力部２５、およびシーケンスデータに従ってパルス列を生成する駆動制御部２６などを備えている。
モータ制御装置の構成としては、図５に示したような構成もある。図４に示した構成では受信したシーケンスデータをあらかじめ解釈してから記憶部２４に保存し、駆動制御部２６がそれを読み出してステッピングモータ７を制御するのに対して、図５に示した構成では、シーケンス受信制御部２２は、取得したシーケンスデータをデータ入出力部２５に渡し、データ入出力部２５はそれをいったん記憶部２４に格納する。そして、その後、ステッピングモータ側のタイミングに合わせ、駆動制御部２６がシーケンス解釈部２３を介して出す指示により、データ入出力部２５が記憶部２４からシーケンスデータを取り出し、それをシーケンス解釈部２３に渡す。
【００１３】
図６に、駆動制御部２６の構成を示す。図示したように、この駆動制御部２６はステートパラメータ設定部３１とステート移行制御部３２を備えている。このうち、ステートパラメータ設定部３１は受け取ったシーケンスデータをステートパラメータとして保持する。例えば「加速」ステートであれば、「加速」を意味する制御ステート情報や速度変化の傾斜などをメモリの所定領域に設定するのである。また、ステート移行制御部３２はステートパラメータに従って、制御ステート移行を制御すると共にドライバ５に渡す各制御ステートのパルス列を生成する。
図７は駆動制御部２６の他の構成例である。この構成例では、図６に示した駆動制御部２６の構成に加えて、繰り返し回数管理部３３を備え、同一制御シーケンスを繰り返し実行することができる。
【００１４】
図８〜図１３に、この実施形態のステッピングモータ駆動制御システムの動作フローを示す。以下、各図に従って、この動作フローを説明する。
図８はホストコンピュータ１における全体の動作フローで、まず、シーケンス編集送信部１０が利用者（ユーザー）による入力の有無を監視する（Ｓ１でＮ→Ｓ１）。そして、入力があると（Ｓ１でＹ）、シーケンス編集送信部１０は入力の内容を判定する（Ｓ２）。こうして、シーケンスデータの編集指示であると判定されたならば、シーケンス編集部１３がシーケンスデータの編集をおこなう（Ｓ３）。
一方、シーケンスデータの送信指示であると判定されたならば、シーケンス送信制御部１４がシーケンスデータを送信し（Ｓ４）、次の入力の有無を監視する（Ｓ５でＮ→Ｓ５）。そして、入力があると（Ｓ５でＹ）、シーケンス編集送信部１０は入力の内容を判定し（Ｓ６）、実行コマンドの送信指示であれば、シーケンス送信制御部１４が実行コマンドを送信する（Ｓ７）。
次に、図９に従って、シーケンスデータ編集（Ｓ３）の動作フローを説明する。
まず、シーケンス編集部１３が利用者（ユーザー）による入力の有無を監視する（Ｓ１１でＮ→Ｓ１１）。そして、入力があると（Ｓ１１でＹ）、シーケンス編集部１３は入力の内容を判定する（Ｓ１２）。こうして、制御シーケンスの構築（編集）指示であると判定されたならば、シーケンス構築部１７により制御シーケンスを構築する（Ｓ１３）。それに対して、制御ステートの編集指示であると判定されたならば、ステート編集部１８により制御パラメータの編集など制御ステートの編集をおこなう（Ｓ１４）。
次に、図１０に従って、制御シーケンス構築（Ｓ１３）の動作フローを説明する。
まず、シーケンス構築部１７が利用者による入力の有無を監視する（Ｓ２１でＮ→Ｓ２１）。そして、入力があると（Ｓ２１でＹ）、シーケンス構築部１７は入力の内容を判定する（Ｓ２２）。その結果、制御ステートの追加指示であると判定されたならば、シーケンス構築部１７は新規制御ステートを制御シーケンス中の所望の位置に追加させる（Ｓ２３）。それに対して、制御ステートの削除指示であると判定されたならば、シーケンス構築部１７は指定された既存制御ステートを制御シーケンス中から削除する（Ｓ２４）。
次に、図１１に従って、制御ステート編集（Ｓ１４）の動作フローを説明する。
まず、ステート編集部１８が利用者による入力の有無を監視する（Ｓ３１でＮ→Ｓ３１）。そして、入力があると（Ｓ３１でＹ）、ステート編集部１８は入力の内容を判定する（Ｓ３２）。その結果、制御ステートのパラメータ変更指示であると判定されたならば、ステート編集部１８は入力内容に従って該当パラメータを変更する（Ｓ３３）。
なお、図１２は図３に示した繰り返し指定部１９の動作フローであり、入力内容の判定において（Ｓ３６）、繰り返し回数の指定であると判定されたならば、繰り返し回数を更新する（Ｓ３７）。
【００１５】
次に、図１３に従って、モータ制御装置２ａの動作フローを説明する。なお、図１３に示した動作フローは、受信したシーケンスデータをシーケンス解釈部２３が解釈し、解釈結果を内部形式のシーケンスデータにまとめ、そのシーケンスデータを記憶部２４に格納した後の動作フローである。
さて、そのシーケンスデータ格納後だが、この実施形態では、図１３に示したように、制御シーケンスの実行指示である実行コマンドが受信されるのを待ち（Ｓ４１でＮ→Ｓ４１）、実行コマンドが受信されると（Ｓ４１でＹ）、データ入出力部２５は記憶部２４からのシーケンスデータ取り出しを開始する（Ｓ４２）。
こうして、データ入出力部２５は最初のシーケンスデータを駆動制御部２６に渡すが、そのシーケンスデータは制御シーケンスの終了を示すデータではなく（Ｓ４３でＮ）、例えば、「起動」ステートを示すシーケンスデータであると、駆動制御部２６はそのシーケンスデータに従ってステッピングモータ７の駆動を開始させ、続く制御ステートが「加速」であるならば、制御パラメータに従った加速を実行させるようにパルス列を出力する（Ｓ４４）。
次の２つのステップは省略可能である。まず、ステップＳ４５であるが、ここでは、駆動制御部２６はそのとき実行中の制御ステートを示す駆動状態情報（制御ステート情報）を状態表示生成部（図示していない）に渡す。これにより、状態表示生成部はその駆動状態情報に従って駆動状態表示データを生成し（Ｓ４５）、表示制御部（図示していない）はその駆動状態表示データに従ってそのときの駆動状態を表示パネル（図示していない）に表示させる（Ｓ４６）。
この後は、ステップＳ４２へ戻り、以下、繰り返す。なお、前記において、ホストコンピュータ１から実行コマンドを転送しないようにして、シーケンスデータ転送後は、モータ制御装置側の入力パネルなどを用いて制御シーケンスを実行させてもよい。その場合は、モータ制御装置側の構成として入力パネルとその制御手段を追加する。
こうして、この実施形態のステッピングモータ駆動制御システムによれば、例えば機構設計者が一人で制御パラメータなどを変えながら簡単に手軽にステッピングモータを駆動してみることができる。
以下、本発明の各実施例について説明する。
【実施例１】
【００１６】
この実施例では、実施形態に示したステッピングモータ駆動制御システムにおいて、モータ制御装置２に、実行中の制御ステートを予め設定した他の制御ステートへ直ちに移行させるためのトリガ用の入力ポートを備えている。この入力ポートを用いて、駆動中のステッピングモータ７の回転状態や駆動機構の状態、またはステッピングモータ７が組み込まれている機器の状態など外部要因の情報を取得し、そのような外部要因が生じた場合にはステッピングモータ７の駆動状態を変えようというわけである。
図１４に、ホストコンピュータ１ａの構成を示す。図示したように、図２に示した構成に対して移行条件設定部４１をシーケンス編集部１３ａ内に設けた構成である。また、ホストコンピュータ１ａの全体の動作フローは図８に示した動作フローと同様である。それに対して、モータ制御装置２ｃは、図１５に構成を示したように、図４に示した構成に対して複数のセンサ３４および汎用入力ポート３５を備えるとともに、図１６に示したように駆動制御部２６ｃ内のステート移行制御部３２ｃが移行条件判定部３６を備えた構成となる。
なお、この実施例では、請求項３記載の移行条件設定手段がホストコンピュータ内の移行条件設定部４１により実現され、ステート移行制御手段がモータ制御装置内のステート移行制御部３２ｃにより実現される。
【００１７】
ホストコンピュータ側の動作フローが前記実施形態に示した動作フローと異なるのは図１１に示した制御ステート編集の動作フローであり、それは図１７に示したようになる。以下、図１７に示した制御ステート編集の動作フローを説明する。
まず、ステート編集部１８ａが利用者による入力の有無を監視する（Ｓ３１でＮ→Ｓ３１）。そして、入力があると（Ｓ３１でＹ）、ステート編集部１８ａは入力の内容を判定する（Ｓ３２）。その結果、制御ステートのパラメータ変更指示であると判定されたならば、ステート編集部１８ａは入力内容に従って該当パラメータを変更する（Ｓ３３）。また、ステート移行条件の設定であると判定されたならば、ステート編集部１８ａ内の移行条件設定部４１が当該制御ステートのオプションとしてステート移行条件を設定する（Ｓ３４）。例えば、あるセンサ３４からの信号が入る入力ポートの番号と移行先の制御ステートを図示していない操作部から入力させ、入力された値を当該制御ステートのパラメータとして設定するのである。
また、モータ制御装置要部の動作フローは図１８のとおりである。
まず、受信したシーケンスデータを記憶部２４に格納する。その後、図１８に示したように、制御シーケンスの実行指示である実行コマンドが受信されるのを待ち（Ｓ５１でＮ→Ｓ５１）、実行コマンドが受信されると（Ｓ５１でＹ）、データ入出力部２５は記憶部２４からのシーケンスデータ取り出しを開始する（Ｓ５２）。
こうして、データ入出力部２５は最初のシーケンスデータを駆動制御部２６ｃに渡すが、そのシーケンスデータは制御シーケンスの終了を示すデータではなく（Ｓ５３でＮ）、例えば「起動」ステートを示すシーケンスデータであるので、駆動制御部２６ｃはそのシーケンスデータに従ってステッピングモータ７の駆動を開始させ、続く制御ステートが「加速」であるならば、制御パラメータに従った加速を実行させるようにパルス列を出力する（Ｓ５４）。
【００１８】
続いて、駆動制御部２６ｃ内の移行条件判定部３６が、そのとき実行中の制御ステートがパラメータとしてステート移行条件を有しているか否かを判定し、有しているならば、そのステート移行条件に設定されている入力ポートの状態を取得する（Ｓ５５）。そして、入力ポートの状態を判定する（Ｓ５６）。例えば入力ポートに入ってくる信号がステッピングモータ７の速度が所定の速度に達したか否かを示す信号とか、異常状態を示す信号であるならば、そのような状態が成立しているか否かを判定するのである。そして、成立しているならば、ステップＳ５２へ戻り、移行先の制御ステートのシーケンスデータを取り出し、以下、繰り返す。  
それに対して、ステップＳ５６において、ステート移行条件が成立していないか、または成立しているが終了への移行であると判定された場合には、当該制御ステートが完了したか否かを判定する（Ｓ５７）。そして、完了していなければ（Ｓ５７でＮ）、ステップＳ５５から繰り返し、完了となったならば（Ｓ５７でＹ）、ステップＳ５２へ戻る。
こうして、この実施例のステッピングモータ駆動制御システムによれば、例えば機構設計者が一人で制御パラメータなどを変えながら簡単に手軽にステッピングモータを駆動してみることができるし、制御ステートの移行タイミングなどが絡む実際の使用状況でもステッピングモータを容易に駆動させることができる。
【実施例２】
【００１９】
この実施例では、シーケンスデータの構成要素として、制御ステートのほかに、前記入力ポートの状態によって実行順序を変更する実行順序制御コマンドを有する構成とし、モータ制御装置２ｄに、入力ポートの状態を判定するポート状態判定手段を備える。
図１９に、この実施例のホストコンピュータ側の構成を示す。図示したように、図２に示した構成に、条件判定設定部４３を含んだ実行順序制御部４２を加えた構成である。また、モータ制御装置２ｄは実施例１と同様に（図１５参照）複数のセンサ３４と汎用入力ポート３５を備え、駆動制御部２６ｄ内には図２０に示したように、図６に示した構成に加えて条件判定部３８を有する実行順序制御部３７を備えている。この条件判定部３８が請求項４記載のポート状態判定手段である。
一方、ホストコンピュータ側の動作フローは、全体については図８に示した動作フローと同じで、シーケンスデータ編集の動作フローが図２１のようになる。以下、図２１などに従ってシーケンスデータ編集の動作フローを説明する。
まず、シーケンス編集部１３ｂが利用者による入力の有無を監視する（Ｓ１１でＮ→Ｓ１１）。そして、入力があると（Ｓ１１でＹ）、シーケンス編集部１３ｂは入力の内容を判定する（Ｓ１２）。こうして、制御シーケンスの構築（編集）指示であると判定されたならば、シーケンス構築部１７ｂにより制御シーケンスを構築する（Ｓ１３）。
それに対して、制御ステートの編集指示であると判定されたならば、ステート編集部１８により制御パラメータの編集など制御ステートの編集をおこなう（Ｓ１４）。また、実行順序制御コマンドの編集であると判定されたならば、実行順序編集部４２により実行順序制御コマンドの編集を行う（Ｓ１５）。実行順序編集部４２内の条件設定部４３が入力ポートの番号やステート移行条件としてその入力ポートに入力される信号の値を設定するとともに、実行順序編集部４２が条件成立時の移行先制御ステートなどを設定するのである。
【００２０】
図２２に、この実施例の制御シーケンス構築（Ｓ１３）の動作フローを示す。以下、この制御シーケンス構築の動作フローを説明する。
まず、シーケンス構築部１７ｂが利用者による入力の有無を監視する（Ｓ２１でＮ→Ｓ２１）。そして、入力があると（Ｓ２１でＹ）、シーケンス構築部１７ｂは入力の内容を判定する（Ｓ２２）。その結果、制御ステートの追加指示であると判定されたならば、シーケンス構築部１７ｂは新規制御ステートを制御シーケンス中の所望の位置に追加させる（Ｓ２３）。それに対して、制御ステートの削除指示であると判定されたならば、シーケンス構築部１７ｂは指定された既存制御ステートを制御シーケンス中から削除する（Ｓ２４）。また、実行順序制御コマンドの追加指示であると判定されたならば、シーケンス構築部１７ｂはその実行順序制御コマンドを制御シーケンス中の所望の位置に追加させる（Ｓ２５）。それに対して、実行順序制御コマンドの削除指示であると判定されたならば、シーケンス構築部１７ｂは指定された既存の実行順序制御コマンドを制御シーケンス中から削除する（Ｓ２６）。
【００２１】
次に、モータ制御装置２ｄの動作フローを図２３に従って説明する。
まず、受信したシーケンスデータを記憶部２４に格納する。その後、制御シーケンスの実行指示である実行コマンドが受信されるのを待ち（Ｓ６１でＮ→Ｓ６１）、実行コマンドが受信されると（Ｓ６１でＹ）、データ入出力部２５は記憶部２４からのシーケンスデータ取り出しを開始する（Ｓ６２）。
続いて、データ入出力部２５は最初のシーケンスデータを駆動制御部２６ｄに渡すが、そのシーケンスデータが制御シーケンスの終了を示すデータではなく（Ｓ６３でＮ）、例えば「起動」ステートを示すステートデータであるような場合（Ｓ６４でステートデータ）、駆動制御部２６ｄはそのシーケンスデータに従ってステッピングモータ７の駆動を開始させ、続く制御ステートが「加速」であるならば、制御パラメータに従った加速を実行させるようにパルス列を出力する（Ｓ６５）。
こうして、１つの制御ステートの実行が終わったならば、ステップＳ６２へ戻り、次の制御ステートについてステップＳ６２から繰り返す。そして、その繰り返しのなかで取得したシーケンスデータが実行順序制御データ（実行順序制御コマンドのデータ）であると判定されたならば、駆動制御部２６ｄ内の実行順序制御部３７はその実行順序制御データ中に設定されている汎用入力ポート３５から信号の状態（値）を取得する（Ｓ６６）。
続いて、実行順序制御部３７内の条件判定部３８が実行順序制御データに基づいてその信号の状態を判定する（Ｓ６７）。そして、実行順序変更条件が成立していたならば、次のシーケンスデータ取得位置を変更して（Ｓ６８）ステップＳ６２から繰り返す。条件不成立でタイムアウトでないならば、再度当該汎用入力ポート３５から信号の状態を取得することから繰り返す（Ｓ６７、Ｓ６８）。また、条件不成立でタイムアウトであれば、実行順序を変更せずにステップＳ６２へ戻り、次のシーケンスデータ取得から繰り返す。
このように、この実施例のステッピングモータ駆動制御システムによれば、制御シーケンス中の所望の位置に実行順序制御コマンドを挿入し、センサからの信号の状態に応じて駆動パターンを変更できるので、複雑な使用形態においても、実際に使用する状況に即した設定やタイミングでステッピングモータを駆動することができる。
【実施例３】
【００２２】
この実施例では、モータ制御装置にソレノイドまたはクラッチを駆動するための出力を行う出力ポートを備え、ステッピングモータを直接駆動するだけでなく、ソレノイドやクラッチも駆動できるようにしている。
図２４に、ホストコンピュータ側の構成を示す。図示したように、図２に示した構成に出力ポート編集部４４を加えた構成である。なお、請求項５および請求項６記載のシーケンスデータ編集手段はこの実施例では出力ポート編集部４４を含むシーケンスデータ編集部１３ｃにより実現される。
これに対するモータ制御装置２ｅの構成は図２５のとおりで、図４に示した構成に汎用出力ポート５１を加えた構成となる。図示したように、この汎用出力ポート５１には、ソレノイド５２やクラッチ５３が接続されている。
ホストコンピュータ側の動作フローについては、全体の動作フローは図８と同様であり、シーケンスデータ編集の動作フローは図２６〜図２８のようになる。以下、シーケンスデータ編集の動作フローを説明する。
まず、シーケンス編集部１３ｃが利用者による入力の有無を監視する（Ｓ１１でＮ→Ｓ１１）。そして、入力があると（Ｓ１１でＹ）、シーケンス編集部１３ｃは入力の内容を判定する（Ｓ１２）。こうして、制御シーケンスの構築（編集）指示であると判定されたならば、シーケンス構築部１７ｃにより制御シーケンスを構築する（Ｓ１３）。それに対して、制御ステートの編集指示であると判定されたならば、ステート編集部１８により制御パラメータの編集など制御ステートの編集をおこなう（Ｓ１４）。また、出力ポート操作コマンドの編集であると判定されたならば、出力ポート編集部４４により出力ポート操作コマンドの編集を行う（Ｓ１６）。出力ポートの番号などを設定するのである。なお、実施例２に示した実行順序制御コマンドの編集（Ｓ１５）も行う構成も可能である。
【００２３】
図２７に、この実施例の制御シーケンス構築（Ｓ１３）の動作フローを示す。以下、この制御シーケンス構築の動作フローを説明する。
まず、シーケンス構築部１７ｃが利用者による入力の有無を監視する（Ｓ２１でＮ→Ｓ２１）。そして、入力があると（Ｓ２１でＹ）、シーケンス構築部１７ｃは入力の内容を判定する（Ｓ２２）。その結果、制御ステートの追加指示であると判定されたならば、シーケンス構築部１７ｃは新規制御ステートを制御シーケンス中の所望の位置に追加させる（Ｓ２３）。
それに対して、制御ステートの削除指示であると判定されたならば、シーケンス構築部１７ｃは指定された既存制御ステートを制御シーケンス中から削除する（Ｓ２４）。また、出力ポート操作コマンドの追加指示であると判定されたならば、シーケンス構築部１７ｃはその出力ポート操作コマンドを制御シーケンス中の所望の位置に追加する（Ｓ２７）。それに対して、出力ポート操作コマンドの削除指示であると判定されたならば、シーケンス構築部１７ｃは指定された既存の出力ポート操作コマンドを制御シーケンス中から削除する（Ｓ２８）。なお、実施例２に示した実行順序制御コマンドの追加（Ｓ２５）および削除（Ｓ２６）を含む構成も可能である。
図２８に、出力ポート操作コマンド編集（Ｓ１６）の動作フローを示す。以下、この動作フローを説明する。
まず、出力ポート編集部４４が利用者による入力の有無を監視する（Ｓ７１でＮ→Ｓ７１）。そして、入力があると（Ｓ７１でＹ）、出力ポート編集部４４は入力の内容を判定する（Ｓ７２）。その結果、出力ポートの選択であると判定されたならば、出力ポートの番号を入力させるか、複数の出力ポートを表示して選択させ、出力ポートの番号を設定する（Ｓ７３）。また、出力値の設定であると判定されたならば、出力ポート編集部４４は設定された番号の出力ポートへ出力する出力値を設定させる（Ｓ７４）。
【００２４】
次に、モータ制御装置２ｅの動作フローを図２９に従って説明する。
まず、受信したシーケンスデータを記憶部２４に格納する。その後、制御シーケンスの実行指示である実行コマンドが受信されるのを待ち（Ｓ８１でＮ→Ｓ８１）、実行コマンドが受信されると（Ｓ８１でＹ）、データ入出力部２５は記憶部２４からのシーケンスデータ取り出しを開始する（Ｓ８２）。
続いて、データ入出力部２５は最初のシーケンスデータを駆動制御部２６に渡すが、そのシーケンスデータが制御シーケンスの終了を示すデータではなく（Ｓ８３でＮ）、例えば「起動」ステートを示すステートデータであるような場合（Ｓ８４でステートデータ）、駆動制御部２６はそのシーケンスデータに従ってステッピングモータ７の駆動を開始させ、続く制御ステートが「加速」であるならば、制御パラメータに従った加速を実行させるようにパルス列を出力する（Ｓ８５）。  
こうして、１つの制御ステートの実行が終わったならば、ステップＳ８２へ戻り、次の制御ステートについてステップＳ８２から繰り返す。そして、その繰り返しのなかで取得したシーケンスデータが出力ポートデータ（出力ポート操作コマンドのデータ）であると判定されたならば、駆動制御部２６はその出力ポートデータ中に設定されている汎用出力ポート５１へ設定されている値を出力する（Ｓ８６）。なお、図２９に示したステップＳ８７〜Ｓ９１は動作フローの構成中に含めても含めなくてもよい。
こうして、この実施例によれば、ソレノイドやクラッチなどを伴う複雑な駆動系においても、実際に使用する状況に即した設定やタイミングでステッピングモータを駆動することができる。
【実施例４】
【００２５】
この実施例では、モータ制御装置が複数の制御シーケンスを並行して実行する。
図３０に、ホストコンピュータ側の構成を示す。図示したように、シーケンス編集部１３ｄが図２に示した構成に並列起動制御編集部４５を加えた構成である。なお、この実施例では、請求項８記載の起動コマンド設定手段が並列起動制御編集部４５により実現される。
また、モータ制御装置２ｆは図３１に示したように、並列実行制御部５４を図４の構成に加えた構成である。この並列実行制御部５４により、駆動制御部２６ｆをソフトウェア的に複数管理し、並列に実行する。
また、ホストコンピュータ側の動作フローについては、全体の動作フローは図８に示した動作フローと同様で、シーケンスデータ編集の動作フローが図３２〜図３４に示したようになる。以下、シーケンスデータ編集の動作フローを説明する。
まず、シーケンス編集部１３ｄが利用者による入力の有無を監視する（Ｓ１１でＮ→Ｓ１１）。そして、入力があると（Ｓ１１でＹ）、シーケンス編集部１３ｄは入力の内容を判定する（Ｓ１２）。こうして、制御シーケンスの構築（編集）指示であると判定されたならば、シーケンス構築部１７ｄにより制御シーケンスを構築する（Ｓ１３）。それに対して、制御ステートの編集指示であると判定されたならば、ステート編集部１８により制御パラメータの編集など制御ステートの編集を行う（Ｓ１４）。また、並列起動制御コマンドの編集であると判定されたならば、並列起動制御編集部４５により並列起動制御コマンドの編集を行う（Ｓ１７）。並列起動条件などを設定するのである。なお、実施例２、３に示した実行順序制御コマンドの編集（Ｓ１５）、出力ポート操作コマンドの編集（Ｓ１６）も行う構成も可能である。
【００２６】
図３３に、この実施例の制御シーケンス構築（Ｓ１３）の動作フローを示す。以下、この制御シーケンス構築の動作フローを説明する。
まず、シーケンス構築部１７ｄが利用者による入力の有無を監視する（Ｓ２１でＮ→Ｓ２１）。そして、入力があると（Ｓ２１でＹ）、シーケンス構築部１７ｄは入力の内容を判定する（Ｓ２２）。その結果、制御ステートの追加指示であると判定されたならば、シーケンス構築部１７ｄは新規制御ステートを制御シーケンス中の所望の位置に追加する（Ｓ２３）。
それに対して、制御ステートの削除指示であると判定されたならば、シーケンス構築部１７ｄは指定された既存制御ステートを制御シーケンス中から削除する（Ｓ２４）。また、並列起動制御コマンドの追加指示であると判定されたならば、シーケンス構築部１７ｄはその並列起動制御コマンドを制御シーケンス中の所望の位置に追加する（Ｓ２９）。それに対して、並列起動制御コマンドの削除指示であると判定されたならば、シーケンス構築部１７ｄは指定された既存の並列起動制御コマンドを制御シーケンス中から削除する（Ｓ３０）。
図３３に点線で示したように、実施例２に示した実行順序制御コマンドの追加（Ｓ２５）や削除（Ｓ２６）、実施例３に示した出力ポート操作コマンドの追加（Ｓ２７）や削除（Ｓ２８）も行う構成も可能である。
図３４に、並列起動制御コマンド編集（Ｓ１７）の動作フローを示す。以下、この動作フローを説明する。
まず、並列起動制御編集部４５が利用者による入力の有無を監視する（Ｓ７６でＮ→Ｓ７６）。そして、入力があると（Ｓ７６でＹ）、並列起動制御編集部４５は入力の内容を判定する（Ｓ７７）。その結果、並列起動種別の選択であると判定されたならば、複数の並列起動の種別（制御シーケンスの種別）を表示して選択させ、その識別符号を設定する（Ｓ７８）。なお、制御シーケンスの種別とは同一制御シーケンスおよび異なった制御シーケンスなどであり、異なった制御シーケンスが複数ある場合にはそれを識別する情報も指定する。また、並列起動条件の設定であると判定されたならば、並列起動条件を入力させ、設定する（Ｓ７９）。並列起動条件としては、実際の起動までの遅延時間（これにより、制御シーケンス中で並列起動制御コマンドが記述されているタイミングよりも後の所望のタイミング起動できる）、指定した入力ポートが指定した状態になるまで当該制御シーケンスの実行自体を止めるというようなこと、制御シーケンスの実行はそのまま次に進んでいくが条件が成立した時点で並列起動を行うというようなことなどである。
【００２７】
次に、モータ制御装置２ｆの動作フローを図３５に従って説明する。
まず、受信したシーケンスデータを記憶部２４に格納する。その後、制御シーケンスの実行指示である実行コマンドが受信されるのを待ち（Ｓ１０１でＮ→Ｓ１０１）、実行コマンドが受信されると（Ｓ１０１でＹ）、データ入出力部２５は並列実行制御部５４を介して駆動制御部２６ｆを１つ（１実行制御単位）だけ起動する。そして、データ入出力部２５は記憶部２４からのシーケンスデータ取り出しを開始する（Ｓ１０３）。
続いて、データ入出力部２５は最初のシーケンスデータを起動された駆動制御部２６ｆに渡すが、そのシーケンスデータが制御シーケンスの終了を示すデータではなく（Ｓ１０４でＮ）、例えば「起動」ステートを示すステートデータであるような場合（Ｓ１０５でステートデータ）、その駆動制御部２６ｆはそのシーケンスデータに従ってステッピングモータ７の駆動を開始させ、続く制御ステートが「加速」であるならば、制御パラメータに従った加速を実行させるようにパルス列を出力する（Ｓ１０６）。
こうして、１つの制御ステートの実行が終わったならば、ステップＳ１０３へ戻り、次の制御ステートについてステップＳ１０３から繰り返す。そして、その繰り返しのなかで取得したシーケンスデータが並列起動制御データ（並列起動制御コマンドのデータ）であると判定されたならば、並列実行制御部５４がその並列起動制御データに設定されている並列起動種別および並列起動条件をチェックし、その並列起動条件に従って該当する駆動制御部２６ｆを１つだけ起動する（Ｓ１０７）。
この後、先に起動されていた駆動制御部２６ｆの１つはステップＳ１０３から次のシーケンスデータについて繰り返し、後から起動された駆動制御部２６ｆの１つもステップＳ１０３から同様に実行する。なお、図３５に示したステップＳ１０８〜Ｓ１１３はこの動作フローの構成中に含めても含めなくてもよい。
こうして、この実施例によれば、例えば１枚の紙に対する処理などのように一塊の連続した処理として制御シーケンスを定義できるので、紙の前端と後端での処理というように細かいレベルの並列処理として記述することもできるし、特定の制御シーケンスをオーバーラップさせて繰り返し実行させる場合であっても１回だけの制御シーケンスと同様に容易に記述できる。
【実施例５】
【００２８】
この実施例では、前記各実施例において、ホストコンピュータ側に、入力ポートと出力ポートを指定させてその２つのポートを直結させるリンクコマンドを設定するリンクコマンド設定手段などを備え、モータ制御装置側では、そのリンクコマンドに応じて、指定された入力ポートと出力ポートとを直結してその入力ポートの状態をそのままその出力ポートへ出力する。
図３６に、この実施例のホストコンピュータ側の構成を示す。図示したように、シーケンスデータ編集部１３ｅが前記各実施例の構成にポートリンク編集部４６を加えた構成である。なお、この実施例では、請求項９記載のリンクコマンド設定手段および解除コマンド設定手段がポートリンク編集部４６により実現される。
また、モータ制御装置２ｇは、図３７に示したように、汎用入力ポート３５、汎用出力ポート５１、リンク制御反映部５５など備えた構成である。なお、図３７に示した構成では、リンク制御反映部５５が並列実行制御部５４から起動され、並列実行される構成となっているが、タイマ（図示していない）や汎用入力ポート３５の状態変化による割り込み、定常的に繰り返される処理の一部などとして実現してもよい。
ホストコンピュータ側の動作フローについては、全体の動作フローが図８と同様で、シーケンスデータ編集の動作フローは図３８に示したようになる。以下、このシーケンスデータ編集の動作フローを説明する。
まず、シーケンス編集部１３ｅが利用者による入力の有無を監視する（Ｓ１１でＮ→Ｓ１１）。そして、入力があると（Ｓ１１でＹ）、シーケンス編集部１３ｅは入力の内容を判定する（Ｓ１２）。こうして、制御シーケンスの構築（編集）指示であると判定されたならば、シーケンス構築部１７ｅにより制御シーケンスを構築する（Ｓ１３）。それに対して、制御ステートの編集指示であると判定されたならば、ステート編集部１８により制御パラメータの編集など制御ステートの編集をおこなう（Ｓ１４）。また、ポートリンクコマンドの編集であると判定されたならば、ポートリンク編集部４６によりポートリンクコマンドの編集を行う（Ｓ１８）。直結する入力ポートと出力ポートを設定するのである。なお、実施例２、３、４に示した実行順序制御コマンドの編集（Ｓ１５）、出力ポート操作コマンドの編集（Ｓ１６）、並列起動制御コマンドの編集（Ｓ１７）なども行うようにする構成も可能である。
【００２９】
図３９に、この実施例の制御シーケンス構築（Ｓ１３）の動作フローを示す。以下、この制御シーケンス構築の動作フローを説明する。
まず、シーケンス構築部１７ｅが利用者による入力の有無を監視する（Ｓ１２１でＮ→Ｓ１２１）。そして、入力があると（Ｓ１２１でＹ）、シーケンス構築部１７ｅは入力の内容を判定する（Ｓ１２２）。その結果、制御ステートの追加指示であると判定されたならば、シーケンス構築部１７ｅは新規制御ステートを制御シーケンス中の所望の位置に追加する（Ｓ１２３）。
それに対して、制御ステートの削除指示であると判定されたならば、シーケンス構築部１７ｅは指定された既存制御ステートを制御シーケンス中から削除する（Ｓ１２４）。また、ポートリンクコマンドの追加指示であると判定されたならば、シーケンス構築部１７ｅはそのポートリンクコマンドを制御シーケンス中の所望の位置に追加する（Ｓ１３１）。それに対して、ポートリンクコマンドの削除指示であると判定されたならば、シーケンス構築部１７ｅは指定された既存のポートリンクコマンドを制御シーケンス中から削除する（Ｓ１３２）。
図３９に点線で示したように、実施例２に示した実行順序制御コマンドの追加（Ｓ１２５）や削除（Ｓ１２６）、実施例３に示した出力ポート操作コマンドの追加（Ｓ１２７）や削除（Ｓ１２８）、実施例４に示した並列起動制御コマンドの追加（Ｓ１２９）や削除（Ｓ１３０）などを含んだ構成も可能である。
図４０に、ポートリンクコマンド編集（Ｓ１８）の動作フローを示す。以下、この動作フローを説明する。
まず、ポートリンク編集部４６が利用者による入力の有無を監視する（Ｓ１３６でＮ→Ｓ１３６）。そして、入力があると（Ｓ１３６でＹ）、ポートリンク編集部４６は入力の内容を判定する（Ｓ１３７）。その結果、出力ポートの選択であると判定されたならば、複数の出力ポートを表示して選択させ、その識別符号などを設定する（Ｓ１３８）。また、入力ポートの選択であると判定されたならば、複数の入力ポートを表示して選択させ、その識別符号などを設定する（Ｓ１３９）。
【００３０】
次に、モータ制御装置２ｇの動作フローを図４１に従って説明する。
まず、受信したシーケンスデータを記憶部２４に格納する。その後、制御シーケンスの実行指示である実行コマンドが受信されるのを待ち（Ｓ１４１でＮ→Ｓ１４１）、実行コマンドが受信されると（Ｓ１４１でＹ）、並列実行制御部５４がリンク制御反映部５５を起動する（Ｓ１４２）。そして、データ入出力部２５が記憶部２４からのシーケンスデータ取り出しを開始する（Ｓ１４３）。
続いて、データ入出力部２５は最初のシーケンスデータを駆動制御部２６ｆに渡すが、そのシーケンスデータが制御シーケンスの終了を示すデータではなく（Ｓ１４４でＮ）、例えば「起動」ステートを示すステートデータであるような場合（Ｓ１４５でステートデータ）、駆動制御部２６ｆはそのシーケンスデータに従ってステッピングモータ７の駆動を開始させ、続く制御ステートが「加速」であるならば、制御パラメータに従った加速を実行させるようにパルス列を出力する（Ｓ１４６）。  
こうして、１つの制御ステートの実行が終わったならば、ステップＳ１４３へ戻り、次の制御ステートについてステップＳ１４３から繰り返す。そして、その繰り返しのなかで取得したシーケンスデータがポートリンクデータ（ポートリンクコマンドのデータ）であると判定されたならば、並列実行制御部５４は起動されているリンク制御反映部５５に対してリンクの設定または解除を示すポートリンクデータを通知する（Ｓ１４７）。
これにより、リンク制御反映部５５は受け取ったポートリンクデータに従ってリンクの設定／解除情報（例えばすべての入出力ポートの組み合わせに対応づけてリンク設定状態か解除状態かがテーブル形式で設定されている）を更新する（Ｓ１５１）。さらに、制御反映部５５は更新された入出力ポートの組について設定の場合は入力ポートの値を出力ポートに設定し、解除の場合はその出力ポートに０を設定する（Ｓ１５２）。
なお、図４１に示したステップＳ１６１〜Ｓ１６６は動作フローの構成中に含めても含めなくてもよい。
こうして、この実施例によれば、稼動しているシステムから入力された信号を用いて様々なユニットを駆動できるので、着眼した特定ユニットの特定制御を行う際、システムにおけるそのユニットの全機能を制御しなくてもよく、したがって、少ない労力で実験できる。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態を示すステッピングモータ駆動制御システムの全体構成図。
【図２】本発明の一実施形態を示すホストコンピュータの構成ブロック図。
【図３】本発明の一実施形態を示すホストコンピュータの他の構成ブロック図。
【図４】本発明の一実施形態を示すモータ制御装置の構成ブロック図。
【図５】本発明の一実施形態を示すモータ制御装置の他の構成ブロック図。
【図６】本発明の一実施形態を示すモータ制御装置要部の構成ブロック図。
【図７】本発明の一実施形態を示すモータ制御装置要部の他の構成ブロック図。
【図８】本発明の一実施形態を示すホストコンピュータの動作フロー図。
【図９】本発明の一実施形態を示すホストコンピュータの他の動作フロー図。
【図１０】本発明の一実施形態を示すホストコンピュータの他の動作フロー図。
【図１１】本発明の一実施形態を示すホストコンピュータの他の動作フロー図。
【図１２】本発明の一実施形態を示すホストコンピュータの他の動作フロー図。
【図１３】本発明の一実施形態を示すモータ制御装置の動作フロー図。
【図１４】本発明の第１の実施例を示すホストコンピュータの構成ブロック図。
【図１５】本発明の第１の実施例を示すモータ制御装置の構成ブロック図。
【図１６】本発明の第１の実施例を示すモータ制御装置要部の構成ブロック図。
【図１７】本発明の第１の実施例を示すホストコンピュータの動作フロー図。
【図１８】本発明の第１の実施例を示すモータ制御装置の動作フロー図。
【図１９】本発明の第２の実施例を示すホストコンピュータの構成ブロック図。
【図２０】本発明の第２の実施例を示すモータ制御装置要部の構成ブロック図。
【図２１】本発明の第２の実施例を示すホストコンピュータの動作フロー図。
【図２２】本発明の第２の実施例を示すホストコンピュータの他の動作フロー図。
【図２３】本発明の第２の実施例を示すモータ制御装置の動作フロー図。
【図２４】本発明の第３の実施例を示すホストコンピュータの構成ブロック図。
【図２５】本発明の第３の実施例を示すモータ制御装置要部の構成ブロック図。
【図２６】本発明の第３の実施例を示すホストコンピュータの動作フロー図。
【図２７】本発明の第３の実施例を示すホストコンピュータの他の動作フロー図。
【図２８】本発明の第３の実施例を示すホストコンピュータの他の動作フロー図。
【図２９】本発明の第３の実施例を示すモータ制御装置の動作フロー図。
【図３０】本発明の第４の実施例を示すホストコンピュータの構成ブロック図。
【図３１】本発明の第４の実施例を示すモータ制御装置の構成ブロック図。
【図３２】本発明の第４の実施例を示すホストコンピュータの動作フロー図。
【図３３】本発明の第４の実施例を示すホストコンピュータの他の動作フロー図。
【図３４】本発明の第４の実施例を示すホストコンピュータの他の動作フロー図。
【図３５】本発明の第４の実施例を示すモータ制御装置の動作フロー図。
【図３６】本発明の第５の実施例を示すホストコンピュータの構成ブロック図。
【図３７】本発明の第５の実施例を示すモータ制御装置の構成ブロック図。
【図３８】本発明の第５の実施例を示すホストコンピュータの動作フロー図。
【図３９】本発明の第５の実施例を示すホストコンピュータの他の動作フロー図。
【図４０】本発明の第５の実施例を示すホストコンピュータの他の動作フロー図。
【図４１】本発明の第５の実施例を示すモータ制御装置の動作フロー図。
【図４２】従来技術の一例を示すステッピングモータ駆動制御システムの全体構成図。
【符号の説明】
【００３２】
１  ホストコンピュータ、２  モータ制御装置、５  ドライバ、６  コントローラ、７  ステッピングモータ、１０  シーケンス編集送信部、１１  記憶部、１３  シーケンス編集部、１７  シーケンス構築部、１８  ステート編集部、２３  シーケンス解釈部、２４  記憶部、２６  駆動制御部、３２  ステート移行制御部、３４  センサ、３５  汎用入力ポート、３６  移行条件判定部、３７  実行順序制御部、３８  条件判定部、４１  移行条件設定部、４２  実行順序編集部、４３  条件判定設定部、４４  出力ポート編集部、４５  並列起動制御編集部、４６  ポートリンク編集部、５１  汎用出力ポート、５４  並列実行制御部、５５  リンク制御反映部
【図１】
2005204455.tif 000003
【図２】
2005204455.tif 000004
【図３】
2005204455.tif 000005
【図４】
2005204455.tif 000006
【図５】
2005204455.tif 000007
【図６】
2005204455.tif 000008
【図７】
2005204455.tif 000009
【図８】
2005204455.tif 000010
【図９】
2005204455.tif 000011
【図１０】
2005204455.tif 000012
【図１１】
2005204455.tif 000013
【図１２】
2005204455.tif 000014
【図１３】
2005204455.tif 000015
【図１４】
2005204455.tif 000016
【図１５】
2005204455.tif 000017
【図１６】
2005204455.tif 000018
【図１７】
2005204455.tif 000019
【図１８】
2005204455.tif 000020
【図１９】
2005204455.tif 000021
【図２０】
2005204455.tif 000022
【図２１】
2005204455.tif 000023
【図２２】
2005204455.tif 000024
【図２３】
2005204455.tif 000025
【図２４】
2005204455.tif 000026
【図２５】
2005204455.tif 000027
【図２６】
2005204455.tif 000028
【図２７】
2005204455.tif 000029
【図２８】
2005204455.tif 000030
【図２９】
2005204455.tif 000031
【図３０】
2005204455.tif 000032
【図３１】
2005204455.tif 000033
【図３２】
2005204455.tif 000034
【図３３】
2005204455.tif 000035
【図３４】
2005204455.tif 000036
【図３５】
2005204455.tif 000037
【図３６】
2005204455.tif 000038
【図３７】
2005204455.tif 000039
【図３８】
2005204455.tif 000040
【図３９】
2005204455.tif 000041
【図４０】
2005204455.tif 000042
【図４１】
2005204455.tif 000043
【図４２】
2005204455.tif 000044