(57)【要約】      （修正有）【課題】モータ異常に対する異常時処理の応答性を向上できるプログラマブルコントローラを提供する。【解決手段】メインＣＰＵ１１は、制御プログラムを実行後、モーションコントローラ用ＣＰＵ１２のステータス記憶部（記憶部１３）に記憶されたステータス情報を確認する。メインＣＰＵ１１は、モータドライバ１５から異常状態信号Ｓ１が割り込みラインＬ２を介して入力された場合に、プログラム記憶部（記憶部１３）から読み出した制御プログラムに基づく駆動命令の実行を停止し、予め設定された異常時の処理を実行する。【選択図】図１
2019179377.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムを格納するプログラム記憶部と、
前記プログラム記憶部から前記制御プログラムを読み出して解読することにより、対応するモータ制御を含む制御対象の駆動命令を生成して実行するプログラム実行部と、
前記プログラム実行部で生成された前記駆動命令に基づき前記モータ制御用のモータ制御用駆動命令を生成するモータ駆動命令部と、
前記モータ駆動命令部に対して外部から入力された前記モータの駆動状態に関する情報を、ステータス情報として記憶するステータス記憶部と、
を有し、
前記プログラム実行部は、前記モータの異常に関する異常状態信号を直接的又は間接的に入力される割り込みラインと接続され、
前記制御プログラムを実行後、前記モータ駆動命令部の前記ステータス記憶部に記憶された前記ステータス情報を確認し、
前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、予め設定された異常時の処理を実行する、プログラマブルコントローラ。
【請求項２】
前記プログラム記憶部は、予め設定された異常処理プログラムを格納し、
前記プログラム実行部は、前記異常処理プログラムがユーザによって選択された状態において前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、前記異常処理プログラムを実行する、請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記異常処理プログラムは変更可能にユーザにて設定できること、を特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項４】
前記異常状態信号は、前記モータ駆動命令部を介して前記プログラム実行部に出力される、請求項１乃至３のいずれか１項に記載のプログラマブルコントローラ。
【請求項５】
制御プログラムを格納するプログラム記憶部と、
前記プログラム記憶部から前記制御プログラムを読み出して解読することにより、対応するモータ制御を含む制御対象の駆動命令を生成して実行するプログラム実行部と、
前記プログラム実行部で生成された前記駆動命令に基づき前記モータ制御用のモータ制御用駆動命令を生成するモータ駆動命令部と、
前記モータ駆動命令部と接続されて前記モータ制御用駆動命令に基づく駆動信号を受信することによりモータを駆動するとともに、前記モータの駆動状態に関する情報をステータス情報として前記モータ駆動命令部に出力するモータドライバと、
前記モータ駆動命令部に出力された前記ステータス情報を記憶するステータス記憶部と、
を有し、
前記モータの駆動状態が異常である場合に、異常状態信号を出力するモータ異常判定手段を備え、
前記プログラム実行部は、前記モータドライバから前記異常状態信号を直接的又は間接的に入力される割り込みラインと接続され、
前記制御プログラムを実行後、前記モータ駆動命令部の前記ステータス記憶部に記憶された前記ステータス情報を確認し、
前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、予め設定された異常時の処理を実行する、プログラマブルコントローラシステム。
【請求項６】
前記プログラム記憶部は、予め設定された異常処理プログラムを格納し、
前記プログラム実行部は、前記異常処理プログラムがユーザによって選択された状態において前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、前記異常処理プログラムを実行する、請求項５に記載のプログラマブルコントローラシステム。
【請求項７】
前記モータ駆動命令部と前記モータドライバとはイーサネット（登録商標）により接続される、請求項５又は６に記載のプログラマブルコントローラシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ及びプログラマブルコントローラシステムに関するものである。
【背景技術】
【０００２】
従来、プログラマブルコントローラ（ＰＬＣ）は、外部機器のシーケンス制御や、各種センサによる測定等に用いられている。プログラマブルコントローラは、制御プログラムに基づき、所定のパルスをモータに出力することでモータの位置決め制御を行っていた（例えば、特許文献１参照）。
【０００３】
特許文献１のプログラマブルコントローラでは、制御プログラム等で予め割り込み処理用の命令を準備し、準備された割り込み処理用の命令が読み出されて解読された場合に割り込み要求を実施して所望の動作を実施している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３３９００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記のようなプログラマブルコントローラでは、制御プログラム等で予め割り込み処理用の命令を準備するものであるため、例えばモータ等に異常が発生する状況などは考慮されていない。
【０００６】
例えば、プログラマブルコントローラにおいては、ラダー等によって制御プログラムを構築することが考えられるが、プログラマブルコントローラが接続されるシステム全体の一連の動作が完了するまでに数十ミリ秒〜数百ミリ秒の時間を要することがある。このような場合において、一連の動作が完了した後に、プログラマブルコントローラに接続されるモータ等のステータス情報を確認することが考えられるが、ステータス情報の確認タイミングとモータのステータス情報が実際に異常になるタイミングとではズレが生じることとなる。
【０００７】
つまり、ラダー等によって構築された制御プログラムの動作途中でモータに異常が生じてステータス情報が異常となった場合でも、制御プログラムの実行後の確認となるため、実際にシステム停止等の処理が可能なタイミングは制御プログラムの実行後となってしまう。特に、モータを高速で駆動する場合や、モータ駆動によってシビアな位置調整が必用なシステムにおいては、前述したズレが生じるとモータを所望の位置で停止できず、システムとして好適な動作が実施できない虞がある。
【０００８】
本発明は、上記課題を解決するためになされたものであって、その目的は、モータ異常に対する異常時処理の応答性を向上できるプログラマブルコントローラ及びプログラマブルコントローラシステムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するプログラマブルコントローラは、制御プログラムを格納するプログラム記憶部と、前記プログラム記憶部から前記制御プログラムを読み出して解読することにより、対応するモータ制御を含む制御対象の駆動命令を生成して実行するプログラム実行部と、前記プログラム実行部で生成された前記駆動命令に基づき前記モータ制御用のモータ制御用駆動命令を生成するモータ駆動命令部と、前記モータ駆動命令部に対して外部から入力された前記モータの駆動状態に関する情報を、ステータス情報として前記ステータス情報を記憶するステータス記憶部と、を有し、前記プログラム実行部は、前記モータの異常に関する前記異常状態信号を直接的又は間接的に入力される割り込みラインと接続され、前記制御プログラムを実行後、前記モータ駆動命令部の前記ステータス記憶部に記憶された前記ステータス情報を確認し、前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、予め設定された異常時の処理を実行する。
【００１０】
上記態様によれば、プログラム実行部には異常状態信号が入力される割り込みラインが接続され、割り込みラインを介して異常状態信号が入力された場合に、制御プログラムに基づく駆動命令の実行を停止し、予め設定された異常時の処理を実行する。これによりモータ異常に対する異常時処理の応答性を向上できる。
【００１１】
上記プログラマブルコントローラにおいて、前記プログラム記憶部は、予め設定された異常処理プログラムを格納し、前記制御プログラム実行部は、前記異常処理プログラムがユーザによって選択された状態において前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、前記異常処理プログラムを実行する、ことが好ましい。
【００１２】
上記態様によれば、予め設定された異常処理プログラムが選択された場合には、異常状態信号が入力された際に該異常処理プログラムが実行されるため、異常処理プログラムに沿った動作が可能となる。
【００１３】
上記プログラマブルコントローラにおいて、前記異常処理プログラムは変更可能にユーザにて設定できることが好ましい。
上記態様によれば、異常処理プログラムは変更可能にユーザにて設定できるため、ユーザの所望の動作が可能となる。その結果、プログラマブルコントローラが接続されるシステム全体の動作を考慮した動作が可能となる。
【００１４】
上記プログラマブルコントローラにおいて、前記異常状態信号は、前記モータ駆動命令部を介して前記プログラム実行部に出力されることが好ましい。
上記態様によれば、異常状態信号、モータ駆動命令部を介してプログラム実行部に出力される。ここで、モータ命令駆動部は、プログラム実行部と他の機器との間において、該他の機器に適した信号と、プログラム実行部に適した信号とを出力するため、他の機器から出力された異常状態信号を前記プログラム実行部に対して適切な状態で出力することが可能となる。
【００１５】
上記課題を解決するプログラマブルコントローラは、制御プログラムを格納するプログラム記憶部と、前記プログラム記憶部から前記制御プログラムを読み出して解読することにより、対応するモータ制御を含む制御対象の駆動命令を生成して実行するプログラム実行部と、前記プログラム実行部で生成された前記駆動命令に基づき前記モータ制御用のモータ制御用駆動命令を生成するモータ駆動命令部と、前記モータ駆動命令部と接続されて前記モータ制御用駆動命令に基づく駆動信号を受信することによりモータを駆動するとともに、前記モータの駆動状態に関する情報をステータス情報として前記モータ駆動命令部に出力するモータドライバと、前記モータ駆動命令部に出力された前記ステータス情報を記憶するステータス記憶部と、を有し、前記モータの駆動状態が異常である場合に、異常状態信号を出力するモータ異常判定手段を備え、前記プログラム実行部は、前記モータドライバから前記異常状態信号を直接的又は間接的に入力される割り込みラインと接続され、
前記制御プログラムを実行後、前記モータ駆動命令部の前記ステータス記憶部に記憶された前記ステータス情報を確認し、前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、予め設定された異常時の処理を実行する。
【００１６】
上記態様によれば、プログラム実行部には異常状態信号が入力される割り込みラインが接続され、割り込みラインを介して異常状態信号が入力された場合に、制御プログラムに基づく駆動命令の実行を停止し、予め設定された異常時の処理を実行する。これによりモータ異常に対する異常時処理の応答性を向上できる。
【００１７】
上記プログラマブルコントローラシステムにおいて、前記プログラム記憶部は、予め設定された異常処理プログラムを格納し、前記制御プログラム実行部は、前記異常処理プログラムがユーザによって選択された状態において前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、前記異常処理プログラムを実行する。
【００１８】
上記態様によれば、予め設定された異常処理プログラムが選択された場合には、異常状態信号が入力された際に該異常処理プログラムが実行されるため、異常処理プログラムに沿った動作が可能となる。
【００１９】
上記プログラマブルコントローラシステムにおいて、前記モータ駆動命令部と前記モータドライバとはイーサネット（登録商標）により接続されることが好ましい。
上記態様によれば、モータ駆動命令部と前記モータドライバとはイーサネットにより接続されるため、高速通信が可能となり、モータドライバから得られるモータの駆動状態の変化（非異常状態から異常状態への変化）に即座に対応することができる。
【発明の効果】
【００２０】
本発明のプログラマブルコントローラ及びプログラマブルコントローラシステムによれば、モータ異常に対する異常時処理の応答性を向上できる。
【図面の簡単な説明】
【００２１】
【図１】一実施形態におけるプログラマブルコントローラシステムの概略構成図。
【図２】同実施形態におけるプログラマブルコントローラのフローチャート。
【図３】同実施形態におけるプログラマブルコントローラシステムのシーケンス図。
【発明を実施するための形態】
【００２２】
以下、プログラマブルコントローラを備えたプログラマブルコントローラシステムの一実施形態について説明する。
図１に示すように、プログラマブルコントローラシステム１は、プログラマブルコントローラ１０と、モータドライバ１５とを有する。
【００２３】
プログラマブルコントローラ１０は、メインＣＰＵ１１とモーションコントローラ用ＣＰＵ１２とを有する。メインＣＰＵ１１とモーションコントローラ用ＣＰＵ１２は１つの筐体Ｂ内に収納されている。
【００２４】
メインＣＰＵ１１は、プログラム記憶部としての記憶部１３に記憶された制御プログラムを構成するラダープログラムを解読並びに実行するとともに、プログラマブルコントローラ１０の統括的な制御を実施する。メインＣＰＵ１１は、上位機器２０（例えばパーソナルコンピュータ等）と通信し、上位機器２０内で設定されたラダープログラム等の制御プログラムを前記記憶部１３に対して格納する。メインＣＰＵ１１は、例えばプログラマブルコントローラ１０に対して接続されたシステムにおいてエラーが生じた場合に前記上位機器２０に対してエラー信号を出力して報知するようになっている。
【００２５】
記憶部１３は、ラダープログラム等の制御プログラムや後述するモータＭのステータス情報が格納されている。つまり、記憶部１３は、ステータス記憶部並びにプログラム記憶部に相当する。
【００２６】
ここで、上位機器２０を介して後述するモータＭの異常時処理について予めユーザによって設定された場合には、その異常処理プログラムが前記記憶部１３に格納される。この異常処理プログラムは、ユーザによって変更可能である。
【００２７】
モーションコントローラ用ＣＰＵ１２は、モータドライバ１５に接続されるモータＭ専用の制御ＣＰＵである。モーションコントローラ用ＣＰＵ１２は、メインＣＰＵ１１と通常ラインＬ１及び割り込みラインＬ２によって接続されている。通常ラインＬ１は、メインＣＰＵ１１とモーションコントローラ用ＣＰＵ１２との間で各種情報の送受信を行うための通信ラインである。割り込みラインＬ２は、後述するモータドライバ１５からの異常状態信号Ｓ１をモーションコントローラ用ＣＰＵ１２側からメインＣＰＵ１１側に送信するための通信ラインである。なお、モーションコントローラ用ＣＰＵ１２は、モータドライバ１５から得られた情報の内、メインＣＰＵ１１に対して必要な情報を前記通常ラインＬ１や割り込みラインＬ２を介して出力する際に、メインＣＰＵ１１において扱える状態に適宜変換して出力する。同様にモーションコントローラ用ＣＰＵ１２は、メインＣＰＵ１１からの情報をモータドライバ１５に対して出力する際に、モータドライバ１５において扱える状態に適宜変換して出力する。
【００２８】
プログラマブルコントローラ１０の筐体Ｂには、コネクタ接続されるコネクタ収容口（図示しない）が設けられており、このコネクタ収容口に通信ケーブルＣのコネクタが装着されることで、モーションコントローラ用ＣＰＵ１２とモータドライバ１５とは通信ケーブルＣによって接続されることになる。なお、本例においては、プログラマブルコントローラ１０の筐体Ｂには、イーサネット（登録商標）の通信規格に適合するコネクタが装着（接続）されるコネクタ収容口を設け、このコネクタ収容口にイーサネットに準拠した通信ケーブルのコネクタが装着されている。これによって、モーションコントローラ用ＣＰＵ１２とモータドライバ１５との間は、通信ケーブルＣを介し、イーサネットに準拠した通信で接続されることになる。イーサネットを用いることで高速通信が可能となり、後述のモータドライバ１５から得られるモータＭの駆動状態を示すステータス情報の取得間隔を短くできる。ここで取得間隔は、例えば１ｍｓ毎である。
【００２９】
モータドライバ１５には、制御対象であるモータＭが接続される。なお、プログラマブルコントローラ１０の制御対象としては前記モータＭだけでなく、センサやスイッチ等の他の外部機器も存在する。モータドライバ１５は、モータＭの駆動を実際に制御するものであり、モータＭの駆動状態をステータス情報としてモーションコントローラ用ＣＰＵ１２に対して出力する。また、モータＭが動作しない、モータＭの動作速度が不安定であるといったモータＭの異常が発生した場合には、モータドライバ１５は異常状態信号Ｓ１を前記通信ケーブルＣを介してモーションコントローラ用ＣＰＵ１２側に出力する。
【００３０】
次に、プログラマブルコントローラシステム１の制御例（動作例）について説明する。
図２及び図３に示すように、プログラマブルコントローラ１０（メインＣＰＵ１１）は、或るタイミングにおいて前記制御プログラムを実行処理する（ステップＳ１００）。
【００３１】
図３に示すように、制御プログラムが実行されると、メインＣＰＵ１１は、種々の動作の１つとしてモータＭを駆動する駆動命令をモーションコントローラ用ＣＰＵ１２に出力する。モーションコントローラ用ＣＰＵ１２は、前記駆動命令が入力されると、モータドライバ１５に適した状態のモータ制御用のモータ制御用駆動命令を生成してモータドライバ１５に出力する。モータドライバ１５は、モータ制御駆動命令に基づきモータＭを駆動する。
【００３２】
図２に示すように、メインＣＰＵ１１は、前記制御プログラムが完了すると、プログラマブルコントローラ１０に接続されたモータＭ（モータドライバ１５）を含む接続機器のステータス情報を確認する（ステップＳ１０１）。なお、モータＭのステータス情報は前記記憶部１３に格納されている。
【００３３】
次いで、メインＣＰＵ１１は、モータＭのステータス情報に異常がない場合（ステップＳ１０２：ＮＯ）、ステップＳ１００から処理を繰り返す。
また、メインＣＰＵ１１は、モータＭのステータス情報に異常がある場合（ステップＳ１０２：ＹＥＳ）、異常時処理を実施する（ステップＳ１０３）。
【００３４】
一方、図３に示すように、制御プログラム実行中の或るタイミングにおいてモータＭの駆動状態が異常となった場合、モータドライバ１５は、異常状態信号Ｓ１をモーションコントローラ用ＣＰＵ１２に対して出力する。モーションコントローラ用ＣＰＵ１２は、異常状態信号Ｓ１をメインＣＰＵ１１に対して適切な状態に変換した上で、前記割り込みラインＬ２からメインＣＰＵ１１に出力する。
【００３５】
メインＣＰＵ１１は、割り込みラインＬ２から異常状態信号Ｓ１が入力されると、制御プログラムを停止させ、異常時処理を実行する。異常時処理の一例としてモータＭの動作を停止させるため、メインＣＰＵ１１は、モーションコントローラ用ＣＰＵ１２に停止命令を出力する。そして、モーションコントローラ用ＣＰＵ１２は、モータドライバ１５に対して停止命令を出力し、モータドライバ１５は、その命令に基づいてモータＭの停止処理を実施する。
【００３６】
次に、本実施形態の作用を記載する。
本実施形態のプログラマブルコントローラ１０では、ユーザが設定したラダー等によって構築された制御プログラムに基づいてモータＭを含む各装置の駆動が制御される。また、プログラマブルコントローラ１０では、モータドライバ１５からモータＭの駆動状態を示すステータス情報がモーションコントローラ用ＣＰＵ１２に対して出力される。モーションコントローラ用ＣＰＵ１２は、前記ステータス情報をメインＣＰＵ１１に出力する。メインＣＰＵ１１は記憶部１３の所定のアドレスに前記ステータス情報を格納する。そして、メインＣＰＵ１１は前記制御プログラム動作が終了後、前記ステータス情報を含む情報を確認し、モータＭのステータス情報や他の装置の情報から各装置の状態をチェックする。
【００３７】
また、プログラマブルコントローラ１０では、モータドライバ１５からの異常状態信号Ｓ１がモーションコントローラ用ＣＰＵ１２を介して割り込みラインＬ２からメインＣＰＵ１１に入力された場合、異常時の処理を実行する。このとき、プログラマブルコントローラ１０の出荷段階等で元々異常処理時の動作設定が予め設定される場合には、その処理を行うようにしてもよい。また、ユーザ等によって異常処理時の異常処理プログラムを用いる設定となっている場合には、該異常処理プログラムを実行してユーザ所望の処理を実施するようにしてもよい。
【００３８】
次に、本実施形態の効果を記載する。
（１）メインＣＰＵ１１には異常状態信号Ｓ１が入力される割り込みラインＬ２が接続され、割り込みラインＬ２を介して異常状態信号Ｓ１が入力された場合に、制御プログラムに基づく駆動命令の実行を停止し、予め設定された異常時の処理を実行する。これによりモータＭの異常に対する異常時処理の応答性を向上できる。
【００３９】
（２）ユーザによって設定された異常処理プログラムが選択された場合には、異常状態信号が入力された際に該異常処理プログラムが実行されるため、異常処理プログラムに沿った動作が可能となる。
【００４０】
（３）異常処理プログラムは変更可能にユーザにて設定できるため、ユーザの所望の動作が可能となる。その結果、プログラマブルコントローラ１０が接続されるシステム全体の動作を考慮した動作が可能となる。
【００４１】
（４）異常状態信号Ｓ１は、モーションコントローラ用ＣＰＵ１２を介してメインＣＰＵ１１に出力される。ここで、モータドライバ１５とメインＣＰＵ１１との間にモーションコントローラ用ＣＰＵ１２が位置することとなる。モーションコントローラ用ＣＰＵ１２は、モータドライバ１５に適した信号と、メインＣＰＵ１１に適した信号とを出力するため、モータドライバ１５から出力された異常状態信号をメインＣＰＵ１１に対して適切な状態で出力することが可能となる。このため、別途変換用の回路などを設けることがなく、部品点数の増加が抑えられる。
【００４２】
（４）モーションコントローラ用ＣＰＵ１２とモータドライバ１５とはイーサネットにより接続されるため、高速通信が可能となり、モータドライバ１５から得られるモータＭの駆動状態の変化（非異常状態から異常状態への変化）に即座に対応することができる。
【００４３】
なお、本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記実施形態では、モータドライバ１５とメインＣＰＵ１１との間において、モーションコントローラ用ＣＰＵ１２を介して異常状態信号Ｓ１が入力される構成としたが、これに限らない。例えば、モータドライバ１５からメインＣＰＵ１１に対して直接異常状態信号Ｓ１を入力する構成を採用してもよい。この場合、適宜モータドライバ１５にメインＣＰＵ１１に対して扱える状態の信号に変換するための変換回路を設けることが好ましい。
【００４４】
・上記実施形態では、モータ駆動命令部としてのモーションコントローラ用ＣＰＵ１２とモータドライバ１５との間をイーサネットにより接続する構成としたが、そのたの通信規格によって接続する構成であってもよい。
【００４５】
・上記実施形態では、モータドライバ１５においてモータＭの駆動状態が異常である場合に、異常状態信号を出力する構成、すなわちモータドライバ１５がモータ異常判定手段の機能を有する構成としたが、これに限らない。モータドライバ１５以外の機器においてモータ異常判定手段の機能を有する構成を採用してもよい。
【符号の説明】
【００４６】
１…プログラマブルコントローラシステム、１０…プログラマブルコントローラ、１１…メインＣＰＵ（プログラム実行部）、１２…モーションコントローラ用ＣＰＵ（モータ駆動命令部）、１３…記憶部（プログラム記憶部、ステータス記憶部）、１５…モータドライバ、Ｌ２…割り込みライン、Ｍ…モータ、Ｓ１…異常状態信号。
【図１】
2019179377.tif 000003
【図２】
2019179377.tif 000004
【図３】
2019179377.tif 000005