(57)【特許請求の範囲】
【請求項１】
ネットワークを介して受信する出力許可信号に応じてモータを安全制御するモータ制御装置であって、
前記ネットワークに接続するための第１インタフェースと、
所定の条件に基づいて前記ネットワークとの接続要否を判定する接続判定部と、
前記出力許可信号の受信の有無と、前記接続判定部による判定結果とに基づいて、前記モータの安全制御を行うための安全指令を生成可能な信号生成部と、
前記信号生成部により生成された前記安全指令を取得すると、前記モータを安全制御する安全駆動部と、
を備え、
前記信号生成部は、
前記出力許可信号を受信しておらず、かつ、前記接続判定部により接続要と判定されたときに、前記安全指令を生成し、
前記出力許可信号を受信しておらず、かつ、前記接続判定部により接続不要と判定されたときに、前記安全指令を生成しない
ことを特徴とするモータ制御装置。
【請求項２】
前記接続判定部は、自装置の電源がオンになった時点で前記第１インタフェースにケーブルが接続されていないと、接続不要と判定することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記接続判定部は、自装置が前記ネットワークに接続していないことをユーザが確認したことを示す情報を取得すると、接続不要と判定することを特徴とする請求項１または２に記載のモータ制御装置。
【請求項４】
外部機器から前記モータのトルク出力を停止させる停止指示を受信可能な第２インタフェースをさらに備え、
前記安全駆動部は、前記第２インタフェースを介して前記停止指示を取得すると、前記モータを安全制御することを特徴とする請求項１から３のいずれか１項に記載のモータ制御装置。
【請求項５】
前記接続判定部は、前記ネットワークとの接続を受け付ける第１インタフェースにケーブルが接続されていない状態から、ケーブルが接続された状態へと遷移したことを示す情報を取得すると、接続要と判定することを特徴とする請求項１から４のいずれか１項に記載のモータ制御装置。
【請求項６】
ネットワークを介して受信する出力許可信号に応じてモータを安全制御するモータ制御装置であって、前記ネットワークに接続するための第１インタフェースを備えるモータ制御装置の制御方法であって、
所定の条件に基づいて前記ネットワークとの接続要否を判定する接続判定ステップと、
前記出力許可信号の受信の有無と、前記接続判定ステップにおける判定結果とに基づいて、前記モータの安全制御を行うための安全指令を生成可能な信号生成ステップと、
前記信号生成ステップにて生成した前記安全指令を取得すると、前記モータを安全制御する安全駆動ステップと、を含み、
前記信号生成ステップは、
前記出力許可信号を受信しておらず、かつ、前記接続判定ステップにて接続要と判定したときに、前記安全指令を生成し、
前記出力許可信号を受信しておらず、かつ、前記接続判定ステップにて接続不要と判定されたときに、前記安全指令を生成しない
ことを特徴とする制御方法。
【請求項７】
請求項１から５のいずれか１項に記載のモータ制御装置としてコンピュータを機能させるための情報処理プログラムであって、前記各部としてコンピュータを機能させるための情報処理プログラム。
【請求項８】
請求項７に記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータなどのモータの駆動を制御する制御装置に関する。
【背景技術】
【０００２】
従来、サーボモータなどのモータの駆動を制御する制御システムについて、モータ駆動に係る安全機能であるＳＴＯ（Safety Torque Off）機能を有する制御システムが知られている。
【０００３】
例えば、下掲の特許文献１には、ＳＴＯ機能を有するセーフティユニットと、サーボドライバとを一体化させることが記載されている。また、特許文献２には、モータ駆動装置と回路異常検出装置とがネットワークを介して通信することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１９２４１４号公報（２０１３年０９月２６日公開）
【特許文献２】特許５４６０９３０号公報（２０１４年０１月２４日登録）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ネットワークを介して出力許可信号を受信しないとモータのトルク出力を停止する上述のような従来のサーボドライバは、前記ネットワークを構築した後でなければモータを試運転させることができないという問題があった。
【０００６】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、ネットワークを介して出力許可信号を受信していない場合にモータの駆動を安全制御する制御装置について、前記ネットワークに接続させなくとも、安全にモータを試運転等させることのできる制御装置を実現することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係るモータ制御装置は、ネットワークを介して受信する出力許可信号に応じてモータを安全制御するモータ制御装置であって、前記ネットワークに接続するための第１インタフェースと、前記ネットワークを介して受信する制御指示に基づいてモータを制御する制御部と、を備え、前記制御部は、所定の条件に基づいて前記ネットワークとの接続要否を判定する接続判定部と、前記出力許可信号の受信の有無と、前記接続判定部による判定結果とに基づいて、前記モータの安全制御を行うための安全指令を生成可能な信号生成部と、前記信号生成部により生成された前記安全指令を取得すると、前記モータを安全制御する安全駆動部と、を含み、前記信号生成部は、前記出力許可信号を受信しておらず、かつ、前記接続判定部により接続要と判定されたときに、前記安全指令を生成し、前記出力許可信号を受信しておらず、かつ、前記接続判定部により接続不要と判定されたときに、前記安全指令を生成しないことを特徴としている。
【０００８】
前記の構成によれば、前記安全駆動部は、前記信号生成部により生成された前記安全指令を取得すると、前記モータを安全制御する。ここで、前記信号生成部は、前記出力許可信号を受信しておらず、かつ、前記接続判定部により接続要と判定されたときに、前記安全指令を生成し、前記出力許可信号を受信しておらず、かつ、前記接続判定部により接続不要と判定されたときに、前記安全指令を生成しない。つまり、前記モータ制御装置は、前記ネットワークを介して前記出力許可信号を受信していない場合であっても、前記ネットワークとの接続を不要と判定すると、前記モータの駆動を前記安全制御しない。
【０００９】
したがって、前記モータ制御装置は、自装置を前記ネットワークに接続させておらず、つまり、出力許可信号を受信していなくとも、前記ネットワークとの接続が不要であると判定する場合は、前記モータについて、前記制御指示に基づく制御を行うことができるという効果を奏する。前記モータ制御装置は、例えば、前記ネットワークを介して出力許可信号を受信していない場合であっても、ユーザが安全に前記モータの駆動させることができると判定するときは、前記モータについて試運転等の制御を行うことができるという効果を奏する。
【００１０】
また、前記モータ制御装置は、前記ネットワークを介して前記出力許可信号を受信していない場合であっても、前記ネットワークとの接続を必要と判定すると、前記安全指令を生成し、前記モータを安全制御する。
【００１１】
したがって、前記モータ制御装置は、前記ネットワークを介して出力許可信号を受信していない原因が通信の不具合等にある場合、前記ネットワークとの接続を必要と判定して、前記モータを安全制御することができるという効果を奏する。
【００１２】
本発明に係るモータ制御装置について、前記接続判定部は、自装置の電源がオンになった時点で前記第１インタフェースにケーブルが接続されていないと、接続不要と判定してもよい。
【００１３】
前記の構成によれば、前記接続判定部は、前記第１インタフェースに自装置の電源がオンになった時点でケーブルが接続されていないと、前記ネットワークへの接続が不要であると判定する。
【００１４】
したがって、前記モータ制御装置は、前記第１インタフェースから前記ケーブルが予め抜かれた状態で自装置の電源がオンにされた場合、通信の不具合等によるのではなくユーザが意図的に前記ネットワークへ自装置を接続させずに前記モータを安全に駆動させようとしていると判定し、前記モータについて、前記制御指示に基づく制御を行うことができるという効果を奏する。
【００１５】
本発明に係るモータ制御装置について、前記接続判定部は、自装置が前記ネットワークに接続していないことをユーザが確認したことを示す情報を取得すると、接続不要と判定してもよい。
【００１６】
前記の構成によれば、前記接続判定部は、前記ネットワークに接続していないことをユーザが確認したことを示す情報を取得すると、前記ネットワークへの接続が不要であると判定する。
【００１７】
したがって、前記モータ制御装置は、前記ネットワークに接続していないことをユーザが確認したことを示す情報を取得したと判定する場合、つまり、通信の不具合等によるのではなくユーザが意図的に前記ネットワークへ自装置を接続させずに前記モータを安全に駆動させようとしていると判定する場合は、前記モータについて、前記制御指示に基づく制御を行うことができるという効果を奏する。
【００１８】
本発明に係るモータ制御装置について、外部機器から前記モータのトルク出力を停止させる停止指示を受信可能な第２インタフェースをさらに備え、前記安全駆動部は、前記第２インタフェースを介して前記停止指示を取得すると、前記モータを安全制御してもよい。
【００１９】
前記の構成によれば、前記安全駆動部は、前記第２インタフェースを介して、外部機器から前記モータのトルク出力を停止させる前記停止指示を取得すると、前記モータを安全制御する。
【００２０】
したがって、前記モータ制御装置は、自装置を前記ネットワークに接続させていない場合であっても、前記第２インタフェースを介して、外部機器から前記モータのトルク出力を停止させる前記停止指示を取得すると、前記モータを安全制御することができるという効果を奏する。
【００２１】
本発明に係るモータ制御装置について、前記接続判定部は、前記ネットワークとの接続を受け付ける第１インタフェースにケーブルが接続されていない状態から、ケーブルが接続された状態へと遷移したことを示す情報を取得すると、接続要と判定してもよい。
【００２２】
前記の構成によれば、前記接続判定部は、前記第１インタフェースにケーブルが接続されていない状態から接続された状態に遷移したことを示す情報を取得すると、前記ネットワークへの接続が必要であると判定する。
【００２３】
したがって、前記モータ制御装置は、前記ネットワークへの接続がない状態からある状態へ遷移したにもかかわらず前記出力許可信号を受信しない場合、通信の不具合等により前記出力許可信号を受信できていない可能性があるので前記ネットワークとの接続を必要と判定し、前記安全指令を生成し、前記モータを安全制御することができるという効果を奏する。
【００２４】
上記課題を解決するために、本発明に係る制御方法は、ネットワークを介して受信する出力許可信号に応じてモータを安全制御するモータ制御装置であって、前記ネットワークに接続するための第１インタフェースを備えるモータ制御装置の制御方法であって、所定の条件に基づいて前記ネットワークとの接続要否を判定する接続判定ステップと、前記出力許可信号の受信の有無と、前記接続判定ステップにおける判定結果とに基づいて、前記モータの安全制御を行うための安全指令を生成可能な信号生成ステップと、前記信号生成ステップにて生成した前記安全指令を取得すると、前記モータを安全制御する安全駆動ステップと、を含み、前記信号生成ステップは、前記出力許可信号を受信しておらず、かつ、前記接続判定ステップにて接続要と判定したときに、前記安全指令を生成し、前記出力許可信号を受信しておらず、かつ、前記接続判定ステップにて接続不要と判定されたときに、前記安全指令を生成しないことを特徴としている。
【００２５】
前記の方法によれば、前記安全駆動ステップは、前記信号生成ステップにて生成した前記安全指令を取得すると、前記モータを安全制御する。ここで、前記信号生成ステップは、前記出力許可信号を受信しておらず、かつ、前記接続判定ステップにて接続要と判定したときに、前記安全指令を生成し、前記出力許可信号を受信しておらず、かつ、前記接続判定ステップにて接続不要と判定したときに、前記安全指令を生成しない。つまり、前記制御方法は、前記ネットワークを介して前記出力許可信号を受信していない場合であっても、前記ネットワークとの接続を不要と判定すると、前記モータの駆動を前記安全制御しない。
【００２６】
したがって、制御方法は、自装置を前記ネットワークに接続させておらず、つまり、出力許可信号を受信していなくとも、前記ネットワークとの接続が不要であると判定する場合は、前記モータについて、前記制御指示に基づく制御を行うことができるという効果を奏する。前記制御方法は、例えば、前記ネットワークを介して出力許可信号を受信していない場合であっても、ユーザが安全に前記モータの駆動させることができると判定するときは、前記モータについて試運転等の制御を行うことができるという効果を奏する。
【００２７】
また、前記制御方法は、前記ネットワークを介して前記出力許可信号を受信していない場合であっても、前記ネットワークとの接続を必要と判定すると、前記安全指令を生成し、前記モータを安全制御する。
【００２８】
したがって、前記制御方法は、前記ネットワークを介して出力許可信号を受信していない原因が通信の不具合等にある場合、前記ネットワークとの接続を必要と判定して、前記モータを安全制御することができるという効果を奏する。
【発明の効果】
【００２９】
本発明は、ネットワークを介して出力許可信号を受信していない場合にモータの駆動を安全制御する制御装置について、前記ネットワークに接続させなくとも、安全にモータを試運転等させることができるという効果を奏する。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施形態１に係るサーボドライバの要部構成を示すブロック図である。
【図２】本実施形態に係る制御システムの全体概要を示す図である。
【図３】図１のサーボドライバの実行する接続判定処理の概要を示すフロー図である。
【図４】試運転時に、図１のサーボドライバの実行する接続判定処理の一例を示すフロー図である。
【図５】図１のサーボドライバが安全な試運転制御を実行するためにユーザに確認する情報の一例を示す図である。
【図６】試運転時に、図１のサーボドライバの実行する、図４に示したのとは別の接続判定処理の一例を示すフロー図である。
【図７】図１のサーボドライバとして利用可能なコンピュータの要部構成を例示したブロック図である。
【図８】従来のサーボドライバの実行するＳＴＯ機能の概要を説明するための図である。
【発明を実施するための形態】
【００３１】
〔実施形態１〕
以下、本発明の実施形態１について、図１から図８に基づいて詳細に説明する。図中同一または相当部分には同一符号を付してその説明は繰返さない。本発明の一態様に係るサーボドライバ１０（モータ制御装置）についての理解を容易にするため、先ず、サーボドライバ１０を含む制御システム１の概要を、図２を用いて説明する。なお、本発明の一態様に係るモータ制御装置がサーボドライバである例を以下では説明するが、本発明の一態様に係るモータ制御装置がサーボドライバであることは必須ではない。本発明の一態様に係るモータ制御装置としてインバータを使用しても、本発明を適用することができる。
【００３２】
（実施形態１の制御システムの概要）
図２に示すように、制御システム１は、モータ２０と、モータ２０の駆動制御のための指令信号を出力するＰＬＣ４０と、ＰＬＣ４０からの指令信号にしたがってモータ２０を駆動するサーボドライバ１０とを含んでいる。また、サポートツール６０が、例えばＵＳＢ（Universal Serial Bus）ケーブルである通信ケーブル７０を介して、サーボドライバ１０に接続されている。
【００３３】
制御システム１においてはさらに、サーボドライバ１０とＰＬＣ４０とを接続するフィールドネットワーク３０にセーフティユニット５０が接続されている。より正確には、サーボドライバ１０は、フィールドネットワーク３０およびセーフティユニット５０を介して、ＰＬＣ４０と接続している。サーボドライバ１０は、セーフティユニット５０からの出力遮断信号を受信し、または、出力許可信号を受信しないと、モータ２０がトルクの出力を停止するようにモータ２０を制御する。
【００３４】
なお、サーボドライバ１０が、モータ２０のトルク出力を停止するようにモータ２０を制御する条件は、セーフティユニット５０からの出力遮断信号を受信し、または、出力許可信号を受信しないことに限られるものではない。サーボドライバ１０は、フィールドネットワーク３０を介して出力遮断信号を受信し、または、出力許可信号を受信しないと、モータ２０のトルク出力を停止ようにモータ２０を制御できればよい。
【００３５】
また、サーボドライバ１０はＩ／Ｏ部１３０を備え、Ｉ／Ｏ部１３０が所定の信号（停止信号）を受信した場合にも、モータ２０のトルク出力を停止するようにモータ２０を制御する。例えば、所定の信号として、非常停止スイッチの出力信号や、セーフティライトカーテンの出力信号、セーフティユニットの出力信号、を用いることができる。また、サーボドライバ１０に同期して動作する他のサーボドライバが停止したことを示す信号を所定の信号として用いることができる。
【００３６】
ＰＬＣ４０は、モータ２０などの制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラであり、位置制御ユニット等を含んでもよい。ＰＬＣ４０は、モータ２０を制御するように構成され、モータ２０の駆動制御（たとえば位置決め制御など）のための制御指示を、フィールドネットワーク３０を介してサーボドライバ１０へ送る。
【００３７】
ＰＬＣ４０は、例えば、フィールドネットワーク３０を介してサーボドライバ１０へ、ＰＬＣ４０によるユーザプログラムの実行結果としての制御指示を送信する。また、ＰＬＣ４０に不図示のサポートツールを接続し、当該サポートツールが受け付けたユーザ操作に対応する制御コマンド（制御指示）を、フィールドネットワーク３０を介してサーボドライバ１０へ送信してもよい。
【００３８】
フィールドネットワーク３０は、サーボドライバ１０とＰＬＣ４０との間で送受信される各種データを伝送し、例えば、ＰＬＣ４０によるユーザプログラムの実行結果としての制御指示は、フィールドネットワーク３０を介してサーボドライバ１０へ伝送される。すなわち、フィールドネットワーク３０は、ＰＬＣ４０が受信し、またはＰＬＣ４０が送信する各種データを伝送する。フィールドネットワーク３０としては、典型的には、各種の産業用イーサネット（登録商標）を用いることができる。産業用イーサネット（登録商標）としては、たとえば、ＥｔｈｅｒＣＡＴ（登録商標）、Ｐｒｏｆｉｎｅｔ  ＩＲＴ、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩ、Ｐｏｗｅｒｌｉｎｋ、ＳＥＲＣＯＳ（登録商標）−ＩＩＩ、ＣＩＰ  Ｍｏｔｉｏｎなどが知られており、これらのうちのいずれを採用してもよい。さらに、産業用イーサネット（登録商標）以外のフィールドネットワークを用いてもよい。たとえば、モーション制御を行わない場合であれば、ＤｅｖｉｃｅＮｅｔ、ＣｏｍｐｏＮｅｔ／ＩＰ（登録商標）などを用いてもよい。本実施の形態に係る制御システム１では、典型的に、産業用イーサネット（登録商標）であるＥｔｈｅｒＣＡＴ（登録商標）をフィールドネットワーク３０として採用する場合の構成について例示する。
【００３９】
サーボドライバ１０は、モータ２０の制御装置である。サーボドライバ１０は、ＰＬＣ４０からの指令値（すなわち、ＰＬＣ４０によるユーザプログラムの実行結果としての制御指示）を、フィールドネットワーク３０を介して受信する。そして、サーボドライバ１０は、フィールドネットワーク３０を介して受信したＰＬＣ４０からの指令値に従ってモータ２０を駆動することができる。例えば、サーボドライバ１０は、ＰＬＣ４０から一定周期で、位置指令値、速度指令値、トルク指令値といった指令値を受ける。また、サーボドライバ１０は、モータ２０の軸に接続されている位置センサ（ロータリーエンコーダ）およびトルクセンサといった検出器から、位置、速度（典型的には、今回位置と前回位置との差から算出される）、トルクといったモータ２０の動作に係る実測値を取得する。そして、サーボドライバ１０は、ＰＬＣ４０からの指令値を目標値に設定し、実測値をフィードバック値として、フィードバック制御を行なう。すなわち、サーボドライバ１０は、実測値が目標値に近づくようにモータ２０を駆動するための電流を調整する。なお、サーボドライバ１０は、サーボモータアンプと称されることもある。
【００４０】
サーボドライバ１０は、また、通信ケーブル７０を介して、サポートツール６０の受け付けたユーザ操作に対応する制御コマンド（制御指示）を、サポートツール６０から受信する。そして、サーボドライバ１０は、通信ケーブル７０を介して受信した、サポートツール６０の受け付けたユーザ操作に対応する制御コマンド（制御指示）に従ってモータ２０を駆動する。
【００４１】
なお、サーボドライバ１０は、フィールドネットワーク３０を介して、ＰＬＣ４０に接続された不図示のサポートツールが受け付けたユーザ操作に対応する制御コマンド（制御指示）を、ＰＬＣ４０から受信してもよい。そして、サーボドライバ１０は、ＰＬＣ４０に接続された不図示のサポートツールが受け付けたユーザ操作に対応する制御コマンド（制御指示）に従ってモータ２０を駆動してもよい。
【００４２】
サーボドライバ１０は、ＩＥＣ６１８００−５−２で定められている安全機能である、安全トルクオフ機能（ＳＴＯ）を有している。安全トルクオフ機能では、外部から遮断指令（出力遮断信号としてのＳＴＯ信号）を受け取った場合に、モータの動力を遮断する。
【００４３】
制御システム１において、サーボドライバ１０は、出力遮断信号としてのＳＴＯ信号がフィールドネットワーク３０を介してサーボドライバ１０に入力された場合に、モータ２０によるトルクの出力を停止させる（モータ２０の安全制御を行う）。具体的には、サーボドライバ１０にＳＴＯ信号が入力された場合、サーボドライバ１０は、モータ２０への給電を停止する。
【００４４】
サーボドライバ１０は、出力許可信号としてのＳＴＯ信号を、フィールドネットワーク３０を介して受信しない場合、フィールドネットワーク３０との通信が不要であると判定すると、モータ２０の安全制御を行わない。出力許可信号としてのＳＴＯ信号を、フィールドネットワーク３０を介して受信しない場合、サーボドライバ１０は、フィールドネットワーク３０との通信が必要であると判定すると、モータ２０によるトルクの出力を停止させる（モータ２０の安全制御を行う）。具体的には、サーボドライバ１０にＳＴＯ信号が入力された場合、サーボドライバ１０は、モータ２０への給電を停止する。
【００４５】
サーボドライバ１０は、さらに、非常停止スイッチ、セーフティライトカーテン等から停止指示（停止信号）を受信した場合にも、モータ２０によるトルクの出力を停止させる（モータ２０の安全制御を行う）。具体的には、前記停止指示（停止信号）を受信したサーボドライバ１０は、モータ２０への給電を停止する。
【００４６】
なお、ＳＴＯ指令の内容が「（出力）許可」である時のＳＴＯ指令を、以下では「出力許可信号」と呼ぶことがある。また、ＳＴＯ指令の内容が「（出力）遮断」である時のＳＴＯ指令を、以下では「出力遮断信号」と呼ぶことがある。
【００４７】
セーフティユニット５０は、所定の条件が満たされている場合には出力許可信号をサーボドライバ１０に送信し、前記所定の条件が満たされないと、出力遮断信号としてのＳＴＯ信号を発生させるとともに、そのＳＴＯ信号をサーボドライバ１０に送信する。セーフティユニット５０は、例えば、セーフティユニット５０に設けられた緊急停止スイッチがユーザによって押下される等のユーザ操作を受け付けると、ＳＴＯ信号を発生させる。また、セーフティユニット５０が、サーボドライバ１０によるモータ２０の制御が正しくないと判断した場合にもＳＴＯ信号を発生させる。
【００４８】
なお、前述の通り、サーボドライバ１０がフィールドネットワーク３０を介して受信する出力許可信号／出力遮断信号は、セーフティユニット５０の生成したものに限られるわけではない。サーボドライバ１０は、フィールドネットワーク３０を介して出力遮断信号を受信し、または、出力許可信号を受信しないと、モータ２０のトルク出力を停止ようにモータ２０を制御できればよい。
【００４９】
サポートツール６０は、制御システム１に対して各種のパラメータを設定するための情報処理装置である。サポートツール６０は、通信ケーブル７０によってサーボドライバ１０と接続されており、サーボドライバ１０に記憶される制御パラメータを設定および調整する。また、サポートツール６０は、モータ２０の駆動等を制御しようとするユーザ操作を受け付ける。サポートツール６０は、設定・調整しようとする制御パラメータ、および、サポートツール６０の受け付けたユーザ操作に対応する制御コマンド（制御指示）を、通信ケーブル７０を介してサーボドライバ１０に出力する。サーボドライバ１０は、サポートツール６０によって設定および調整された制御パラメータを記憶するとともに、その制御パラメータに従ってモータ２０を駆動する。サーボドライバ１０は、また、サポートツール６０の受け付けたユーザ操作に対応する制御コマンド（制御指示）に従ってモータ２０を駆動することができる。
【００５０】
サポートツール６０は、典型的には、汎用のコンピュータで構成される。例えば、サポートツール６０で実行される情報処理プログラムは、図示しないＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）に格納されて流通してもよい。このＣＤ−ＲＯＭに格納されたプログラムは、図示しないＣＤ−ＲＯＭ駆動装置によって読取られ、サポートツール６０のハードディスクなどへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。なお、メンテナンス性の観点からは、サポートツール６０として利用するコンピュータは、可搬性に優れたノート型のパーソナルコンピュータが好ましい。
【００５１】
制御システム１において、サーボドライバ１０は、フィールドネットワーク３０を介して出力許可信号を受信しない場合であっても、モータ２０を安全に制御することができると判定した場合には、サポートツール６０の受け付けたユーザ操作に対応する制御指示に従ってモータ２０を制御することができる。サーボドライバ１０による安全制御についての理解を容易にするため、従来のモータ制御装置（従来のサーボドライバ）による安全制御（ＳＴＯ機能）の概要を説明しておく。
【００５２】
モータの駆動制御のための制御指示を出力するコントローラ（例えば、ＰＬＣ）とフィールドネットワークを介して接続される従来のサーボドライバ（モータ制御装置）は、フィールドネットワークを介した安全通信の状態を監視し、通信の異常を検出した場合は安全状態としてＳＴＯの状態になることが一般的である。下記に説明する従来のサーボドライバは、モータの駆動制御のための制御指示を出力するコントローラ（例えば、ＰＬＣ）と通信するためのフィールドネットワークから出力許可信号を受信すると、前記制御指示に従って前記モータを制御するものとする。すなわち、従来のサーボドライバは、前記フィールドネットワークを介して出力許可信号を受信しない場合、モータを安全に制御することができるか否かに関わらず一律に安全制御を実行する。したがって、従来のサーボドライバは、前記フィールドネットワークを構築していない場合、モータを制御して試運転等を行うことができない。以下、詳細を説明していく。
【００５３】
（従来技術の概要）
図８は、従来のサーボドライバの実行するＳＴＯ機能の概要を説明するための図である。図８の（Ａ）には、「従来のサーボドライバは、セーフティユニットからの出力許可信号がある状態においてはモータへの出力を許可し、セーフティユニットからの出力許可信号がある状態以外の状態においてはモータへの出力を遮断する」ことが示されている。図８の（Ａ）において、「セーフティユニットからの出力許可信号がある状態以外の状態」は、「セーフティユニットからの出力遮断信号がある状態」に加えて、「セーフティユニットからの出力許可信号を受信していない状態」を含む。すなわち、従来のサーボドライバは、「セーフティユニットからの出力許可信号を受信していない状態」においては「モータへの出力を遮断する」。したがって、従来のサーボドライバは、例えば、セーフティユニットが接続されているフィールドネットワークに従来のサーボドライバが接続していない状態においては、フィールドネットワークから出力許可信号を受信しないので、モータへの出力を遮断する。
【００５４】
図８の（Ｂ）には、「従来のサーボドライバは、フィールドネットワークとの通信（上位通信）の有無と、ＳＴＯ指令の内容（遮断／許可）とに応じて、モータへの出力を遮断し（安全制御を実行し）、または出力を許可する（制御指示に従ってモータを制御する）」ことが示されている。図８の（Ｂ）に示すように、従来のサーボドライバは、「上位通信なし」の状態、つまり、「セーフティユニットが接続されているフィールドネットワークに従来のサーボドライバが接続していない」状態においては、モータへの出力を遮断する。また、従来のサーボドライバは、「上位通信あり」の状態、つまり、「セーフティユニットが接続されているフィールドネットワークに従来のサーボドライバが接続している」状態においては、ＳＴＯ指令の内容（遮断／許可）に応じて、モータへの出力を遮断するか、許可するかを安全制御する。
【００５５】
図８を用いて以上に概要を説明したような従来のサーボドライバは、モータの駆動制御のための指令信号を出力するコントローラと通信するためのフィールドネットワークを介した安全通信が確立された状況を作らなければ、モータを試運転させることができない。すなわち、従来のサーボドライバは、前記フィールドネットワークを介して出力許可信号を受信していないと、制御指示に従ってモータを制御することができない。
【００５６】
例えば、前記フィールドネットワークを構成する系の一部のみを設計・構築し、前記フィールドネットワーク全体を構成しない場合、従来のサーボドライバは、前記フィールドネットワークを介して出力許可信号を受信しないため、制御指示に従ってモータを制御することができない。
【００５７】
これに対して、サーボドライバ１０は、例えば、フィールドネットワーク３０にサーボドライバ１０を接続させていない等の理由により、フィールドネットワーク３０を介して出力許可信号の受信できていない状況であっても、フィールドネットワーク３０との接続が不要な場合には、モータ２０を制御することができる。以下、詳細を説明していく。
【００５８】
（サーボドライバについて）
これまで、制御システム１、および制御システム１に含まれる装置（サーボドライバ１０、モータ２０、ＰＬＣ４０、セーフティユニット５０、および、サポートツール６０）の概要について、図２を用いて説明を行ってきた。次に、制御システム１に含まれるサーボドライバ１０について、その構成および処理の内容等を、図１等を用いて説明していく。図１を参照してサーボドライバ１０の詳細について説明する前に、サーボドライバ１０についての理解を容易にするため、サーボドライバ１０の概要について以下のように整理しておく。
【００５９】
（サーボドライバの概要）
図１を参照してサーボドライバ１０の詳細について説明する前に、サーボドライバ１０についての理解を容易にするため、サーボドライバ１０の概要について以下のように整理しておく。
【００６０】
サーボドライバ１０（モータ制御装置）は、フィールドネットワーク３０（ネットワーク）を介して受信するＳＴＯ信号（出力許可信号）に応じてモータ２０を安全制御するモータ制御装置であって、フィールドネットワーク３０に接続するための上位通信部１１０（第１インタフェース）と、フィールドネットワーク３０を介して受信する制御指示に基づいてモータ２０を制御する制御部１００と、を備え、制御部１００は、所定の条件に基づいてフィールドネットワーク３０との接続要否を判定する接続判定部１０１と、前記出力許可信号の受信の有無と、接続判定部１０１による判定結果とに基づいて、モータ２０の安全制御を行うための安全指令を生成可能な信号生成部１０４と、信号生成部１０４により生成された前記安全指令を取得すると、モータ２０を安全制御するセーフティ部１４０（安全駆動部）と、を含み、信号生成部１０４は、前記出力許可信号を受信しておらず、かつ、接続判定部１０１により接続要と判定されたときに、前記安全指令を生成し、前記出力許可信号を受信しておらず、かつ、接続判定部１０１により接続不要と判定されたときに、前記安全指令を生成しない。
【００６１】
前記の構成によれば、セーフティ部１４０は、信号生成部１０４により生成された前記安全指令を取得すると、モータ２０を安全制御する。ここで、信号生成部１０４は、前記出力許可信号を受信しておらず、かつ、接続判定部１０１により接続要と判定されたときに、前記安全指令を生成し、前記出力許可信号を受信しておらず、かつ、接続判定部１０１により接続不要と判定されたときに、前記安全指令を生成しない。つまり、サーボドライバ１０は、フィールドネットワーク３０を介して前記出力許可信号を受信していない場合であっても、フィールドネットワーク３０との接続を不要と判定すると、モータ２０の駆動を前記安全制御しない。
【００６２】
したがって、サーボドライバ１０は、自装置をフィールドネットワーク３０に接続させておらず、つまり、出力許可信号を受信していなくとも、フィールドネットワーク３０との接続が不要であると判定する場合は、モータ２０について、前記制御指示に基づく制御を行うことができるという効果を奏する。サーボドライバ１０は、例えば、フィールドネットワーク３０を介して出力許可信号を受信していない場合であっても、ユーザが安全にモータ２０の駆動させることができると判定するときは、モータ２０について試運転等の制御を行うことができるという効果を奏する。
【００６３】
また、サーボドライバ１０は、フィールドネットワーク３０を介して前記出力許可信号を受信していない場合であっても、フィールドネットワーク３０との接続を必要と判定すると、前記安全指令を生成し、モータ２０を安全制御する。
【００６４】
したがって、サーボドライバ１０は、フィールドネットワーク３０を介して出力許可信号を受信していない原因が通信の不具合等にある場合、フィールドネットワーク３０との接続を必要と判定して、モータ２０を安全制御することができるという効果を奏する。
【００６５】
サーボドライバ１０は、外部機器（例えば、非常停止スイッチ、セーフティライトカーテン等）からモータ２０のトルク出力を停止させる停止指示を受信可能なＩ／Ｏ部１３０（第２インタフェース）をさらに備え、セーフティ部１４０は、Ｉ／Ｏ部１３０を介して前記停止指示を取得すると、モータ２０を安全制御する。
【００６６】
前記の構成によれば、セーフティ部１４０は、Ｉ／Ｏ部１３０を介して、外部機器からモータ２０のトルク出力を停止させる前記停止指示を取得すると、モータ２０を安全制御する。
【００６７】
したがって、サーボドライバ１０は、自装置をフィールドネットワーク３０に接続させていない場合であっても、Ｉ／Ｏ部１３０を介して、外部機器からモータ２０のトルク出力を停止させる前記停止指示を取得すると、モータ２０を安全制御することができるという効果を奏する。
【００６８】
サーボドライバ１０は、外部機器からモータ２０のトルク出力を停止させる停止指示を受信可能なＩ／Ｏ部１３０を備えている。そして、セーフティ部１４０は、Ｉ／Ｏ部１３０を介して前記停止指示を取得すると、モータ２０を安全制御する。
【００６９】
つまり、ユーザは、外部機器（例えば、非常停止スイッチ、セーフティライトカーテン等）を用いてモータ２０のトルク出力を停止させる停止指示をサーボドライバ１０に送信することにより、サーボドライバ１０にモータ２０を安全制御させることができる。
【００７０】
（サーボドライバの詳細）
以上に概要を説明したサーボドライバ１０について、次に、サーボドライバ１０の構成の詳細を、図１を用いて説明する。
【００７１】
図１は、サーボドライバ１０の要部構成を示すブロック図である。図１に示すサーボドライバ１０は、制御部１００と、上位通信部１１０と、ツール通信部１２０と、Ｉ／Ｏ部１３０と、セーフティ部１４０と、を含む構成である。
【００７２】
上位通信部１１０は、フィールドネットワーク３０を介して、ＰＬＣ４０との通信を行う。上位通信部１１０は、フィールドネットワーク３０を介して、ＰＬＣ４０から、サーボドライバ１０によるモータ２０の制御のための制御指示を受信する。例えば、上位通信部１１０は、フィールドネットワーク３０を介して、ＰＬＣ４０から、ＰＬＣ４０によるユーザプログラムの実行結果としての制御指示を受信する。上位通信部１１０は、また、フィールドネットワーク３０を介して、ＰＬＣ４０から、ＰＬＣ４０に接続された不図示のサポートツールが受け付けたユーザ操作に対応する制御指示を受信してもよい。
【００７３】
上位通信部１１０は、フィールドネットワーク３０を介して、セーフティユニット５０から、サーボドライバ１０によるモータ２０の安全制御のための出力許可信号または出力遮断信号を受信する。なお、前述の通り、上位通信部１１０がフィールドネットワーク３０を介して受信可能な出力許可信号および出力遮断信号は、セーフティユニット５０が生成したものでなくともよい。上位通信部１１０は、フィールドネットワーク３０を介して、出力許可信号または出力遮断信号を受信できればよい。
【００７４】
上位通信部１１０は、フィールドネットワーク３０を介してＰＬＣ４０から受信した制御指示、および、フィールドネットワーク３０を介してセーフティユニット５０から受信した出力許可信号または出力遮断信号を、接続判定部１０１に出力する。
【００７５】
ツール通信部１２０は、通信ケーブル７０を介してサポートツール６０との通信を行う。ツール通信部１２０は、通信ケーブル７０を介して、サポートツール６０から、サポートツール６０が受け付けたユーザ操作に対応する制御指示を受信する。ツール通信部１２０は、通信ケーブル７０を介して、サポートツール６０から、サポートツール６０が受け付けたユーザ操作に対応する制御指示を、接続判定部１０１に出力する。
【００７６】
Ｉ／Ｏ部１３０は、非常停止スイッチ、セーフティライトカーテン等から停止指示（停止信号）を受信する。Ｉ／Ｏ部１３０は、また、他のモータ（不図示）の駆動状態を示す信号等を受信してもよい。Ｉ／Ｏ部１３０は、受信した停止指示（停止信号）を、セーフティ部１４０に出力する。
【００７７】
セーフティ部１４０は、信号生成部１０４により生成された前記安全指令を取得すると、モータ２０を安全制御する。セーフティ部１４０は、また、Ｉ／Ｏ部１３０が受信した停止指示（停止信号）を取得すると、モータ２０を安全制御する。
【００７８】
制御部１００はサーボドライバ１０の機能を統括して制御するものである。図示の制御部１００には、機能ブロックとして、接続判定部１０１と、試運転指令部１０２と、モータ制御部１０３と、信号生成部１０４と、が含まれている。
【００７９】
接続判定部１０１は、上位通信部１１０とフィールドネットワーク３０とが通信しているか（例えば、上位通信部１１０にフィールドネットワーク３０との通信のためのケーブルが接続されているか）を判定する。接続判定部１０１は、また、フィールドネットワーク３０を介して出力許可信号または出力遮断信号を受信しているかを判定し、出力許可信号または出力遮断信号を受信している場合、いずれを受信しているか（受信しているのが出力許可信号および出力遮断信号のいずれであるのか）を判定する。
【００８０】
接続判定部１０１は、さらに、所定の条件に基づいてフィールドネットワーク３０との接続要否を判定する。ここで、接続判定部１０１がフィールドネットワーク３０との接続要否を判定する際に用いる「所定の条件」とは、例えば、「接続要否に係るユーザ確認の有無」、「フィールドネットワーク３０との接続の有無と、自装置の電源の有無との関係」、および「フィールドネットワーク３０との接続状態の遷移」等であり、詳細は後述する。
【００８１】
接続判定部１０１は、上位通信部１１０から、上位通信部１１０がフィールドネットワーク３０を介してＰＬＣ４０から受信した制御指示を、ツール通信部１２０から、ツール通信部１２０が通信ケーブル７０を介してサポートツール６０から受信した制御指示を、取得する。
【００８２】
接続判定部１０１は、前記制御指示、および、前記判定の結果（「出力許可信号または出力遮断信号を受信しているか」に係る判定結果、フィールドネットワーク３０との接続要否に係る判定結果など）を、試運転指令部１０２、モータ制御部１０３、および信号生成部１０４に出力する。
【００８３】
具体的には、接続判定部１０１は、上位通信部１１０がフィールドネットワーク３０を介してＰＬＣ４０から受信した制御指示を、モータ制御部１０３に出力する。接続判定部１０１は、また、ツール通信部１２０が通信ケーブル７０を介してサポートツール６０から受信した制御指示を、試運転指令部１０２に出力する。接続判定部１０１は、さらに、ＰＬＣ４０に接続された不図示のサポートツールが受け付けたユーザ操作に対応する制御指示を、試運転指令部１０２に出力してもよい。
【００８４】
接続判定部１０１は、さらに、フィールドネットワーク３０を介してセーフティユニット５０から受信した出力許可信号または出力遮断信号を、信号生成部１０４に出力する。
【００８５】
試運転指令部１０２は、サポートツール６０からの制御指示を、接続判定部１０１から取得する。試運転指令部１０２は、また、ＰＬＣ４０に接続された不図示のサポートツールが受け付けたユーザ操作に対応する制御指示を、接続判定部１０１から取得してもよい。試運転指令部１０２は、接続判定部１０１から取得した制御指示を、モータ制御部１０３により処理可能な信号に変換してモータ制御部１０３に出力する。
【００８６】
モータ制御部１０３は、接続判定部１０１から、ＰＬＣ４０からの制御指示を受信する。すなわち、モータ制御部１０３は、フィールドネットワーク３０を介してＰＬＣ４０から受信する制御指示（すなわち、ＰＬＣ４０によるユーザプログラムの実行結果としての制御指示）を受信する。そして、モータ制御部１０３は、ＰＬＣ４０からの制御指示に基づいて、モータ２０を制御する。
【００８７】
モータ制御部１０３は、また、試運転指令部１０２から、サポートツール６０からの制御指示（より正確には、試運転指令部１０２による変換後の制御指示）を受信する。モータ制御部１０３は、試運転指令部１０２から、ＰＬＣ４０に接続された不図示のサポートツールが受け付けたユーザ操作に対応する制御指示（より正確には、試運転指令部１０２による変換後の制御指示）を受信してもよい。そして、モータ制御部１０３は、試運転指令部１０２から取得した制御指示（例えば、試運転指令部１０２によって変換された、サポートツール６０からの制御指示）に基づいて、モータ２０を制御する。なお、前述の通り、モータ制御部１０３は、ＰＬＣ４０に接続された不図示のサポートツールが受け付けたユーザ操作に対応する制御指示（より正確には、当該制御指示が試運転指令部１０２により変換された制御指示）に基づいて、モータ２０を制御してもよい。
【００８８】
信号生成部１０４は、出力許可信号の受信の有無と、接続判定部１０１による判定結果とに基づいて、モータ２０の安全制御を行うための安全指令を生成し、または生成しない。具体的には、信号生成部１０４は、出力許可信号を受信している場合は安全指令を生成しない。信号生成部１０４は、出力遮断信号を受信している場合は安全指令を生成する。信号生成部１０４は、出力許可信号を受信しておらず、かつ、接続判定部１０１により接続要と判定されたときに、安全指令を生成する。信号生成部１０４は、出力許可信号を受信しておらず、かつ、接続判定部１０１により接続不要と判定されたときに、安全指令を生成しない。信号生成部１０４は、安全指令を生成すると、生成した安全指令をセーフティ部１４０に出力する。
【００８９】
以上に構成の概要を説明したサーボドライバ１０について、次に、サーボドライバ１０において実行される処理（特に、接続要否判定処理）について説明していく。
【００９０】
（接続判定処理の概要について）
サーボドライバ１０が実行する処理（特に、接続要否判定処理）について詳細に説明する前に、サーボドライバ１０が実行する処理の概要を、図３を用いて説明しておく。
【００９１】
図３は、サーボドライバ１０の実行する接続判定処理の概要を示すフロー図である。
【００９２】
先ず、接続判定部１０１は、出力許可信号または出力遮断信号を受信しているかを判定する（Ｓ１１０）。出力許可信号または出力遮断信号を受信している場合（Ｓ１１０でＹｅｓ）、接続判定部１０１は、次に、出力許可信号を受信しているかを判定する（Ｓ１２０）。
【００９３】
出力許可信号を受信している場合（Ｓ１２０でＹｅｓ）、信号生成部１０４は安全指令を生成せず（Ｓ１３０）、モータ制御部１０３は、サポートツール６０からの制御指示に基づいてモータ２０を制御し、つまり、制御指示に基づく制御を実行する（Ｓ１４０）。
【００９４】
出力許可信号を受信しておらず、出力遮断信号を受信している場合（Ｓ１２０でＮｏ）、信号生成部１０４は安全指令を生成して（Ｓ１５０）、セーフティ部１４０は、信号生成部１０４により生成された安全指令を取得してモータ２０を安全制御する。つまり、サーボドライバ１０は安全制御を実行する（Ｓ１６０）。
【００９５】
出力許可信号または出力遮断信号を受信していない場合（Ｓ１１０でＮｏ）、接続判定部１０１は、フィールドネットワーク３０との接続要否を判定する（Ｓ１７０）。接続判定部１０１がフィールドネットワーク３０との接続が不要であると判定した場合（Ｓ１７０でＹｅｓ）、信号生成部１０４は安全指令を生成せず（Ｓ１８０）、モータ制御部１０３は、サポートツール６０からの制御指示に基づいてモータ２０を制御し、つまり、制御指示に基づく制御を実行する（Ｓ１９０）。
【００９６】
接続判定部１０１がフィールドネットワーク３０との接続が不要であると判定した場合（Ｓ１７０でＮｏ）、信号生成部１０４は安全指令を生成して（Ｓ２００）、セーフティ部１４０は、信号生成部１０４により生成された安全指令を取得してモータ２０を安全制御する。つまり、サーボドライバ１０は安全制御を実行する（Ｓ２１０）。
【００９７】
図３を用いて以上に説明したサーボドライバ１０の実行する処理は、以下のように整理することができる。すなわち、サーボドライバ１０の実行する処理は、ネットワークを介して受信する出力許可信号に応じてモータ２０を安全制御するモータ制御装置であって、フィールドネットワーク３０に接続するための上位通信部１１０（第１インタフェース）を備えるモータ制御装置であるサーボドライバ１０の制御方法であって、所定の条件に基づいてフィールドネットワーク３０との接続要否を判定する接続判定ステップ（Ｓ１７０）と、前記出力許可信号の受信の有無と、前記接続判定ステップにおける判定結果とに基づいて、モータ２０の安全制御を行うための安全指令を生成可能な信号生成ステップ（Ｓ１８０／Ｓ２００）と、前記信号生成ステップにて生成した前記安全指令を取得すると、モータ２０を安全制御する安全駆動ステップ（Ｓ２１０）と、を含み、前記信号生成ステップ（Ｓ１８０／Ｓ２００）は、前記出力許可信号を受信しておらず、かつ、前記接続判定ステップにて接続要と判定したときに、前記安全指令を生成し（Ｓ２００）、前記出力許可信号を受信しておらず、かつ、前記接続判定ステップにて接続不要と判定されたときに、前記安全指令を生成しない（Ｓ１８０）ことを特徴としている。
【００９８】
前記の方法によれば、前記安全駆動ステップは、前記信号生成ステップにて生成した前記安全指令を取得すると、モータ２０を安全制御する。ここで、前記信号生成ステップは、前記出力許可信号を受信しておらず、かつ、前記接続判定ステップにて接続要と判定したときに、前記安全指令を生成し、前記出力許可信号を受信しておらず、かつ、前記接続判定ステップにて接続不要と判定したときに、前記安全指令を生成しない。つまり、前記制御方法は、フィールドネットワーク３０を介して前記出力許可信号を受信していない場合であっても、フィールドネットワーク３０との接続を不要と判定すると、モータ２０の駆動を前記安全制御しない。
【００９９】
したがって、制御方法は、自装置をフィールドネットワーク３０に接続させておらず、つまり、出力許可信号を受信していなくとも、フィールドネットワーク３０との接続が不要であると判定する場合は、モータ２０について、前記制御指示に基づく制御を行うことができるという効果を奏する。前記制御方法は、例えば、フィールドネットワーク３０を介して出力許可信号を受信していない場合であっても、ユーザが安全にモータ２０の駆動させることができると判定するときは、モータ２０について試運転等の制御を行うことができるという効果を奏する。
【０１００】
また、前記制御方法は、フィールドネットワーク３０を介して前記出力許可信号を受信していない場合であっても、フィールドネットワーク３０との接続を必要と判定すると、前記安全指令を生成し、モータ２０を安全制御する。
【０１０１】
したがって、前記制御方法は、フィールドネットワーク３０を介して出力許可信号を受信していない原因が通信の不具合等にある場合、フィールドネットワーク３０との接続を必要と判定して、モータ２０を安全制御することができるという効果を奏する。
【０１０２】
（接続要否の判定要因）
図４は、試運転時に、サーボドライバ１０の実行する接続判定処理の例を示すフロー図である。なお、図４において「試運転時」とは、フィールドネットワーク３０を構築していない時点（状態）を指している。通常、「試運転時」には、上位通信部１１０（第１インタフェース）にフィールドネットワーク３０との通信のためのケーブルが接続されていない。つまり、「試運転時」には、フィールドネットワーク３０を介して出力許可信号を受信していない。
【０１０３】
図４に示すように、サーボドライバ１０は、モータ２０の試運転を開始しようとする場合（Ｓ３１０）、より正確には、サーボドライバ１０が出力許可信号を受信していない状態で、モータ２０を試運転させようとするユーザ操作をサポートツール６０が受け付けた場合、サーボドライバ１０は、以下の判定を実行する。すなわち、接続判定部１０１は、「フィールドネットワーク３０（上位通信ネットワーク）との通信が無いことをユーザが確認したか」を確認する（Ｓ３２０）。
【０１０４】
接続判定部１０１が、「フィールドネットワーク３０（上位通信ネットワーク）との通信が無いことをユーザが確認した」ことを確認すると（Ｓ３２０でＹｅｓ）、接続判定部１０１は「接続不要（フィールドネットワーク３０との通信が不要）」と判定する。そして、信号生成部１０４は、上述の通り、「出力許可信号を受信しておらず、かつ、接続判定部１０１により接続不要と判定された」ので、安全指令を生成しない。したがって、サーボドライバ１０は、出力許可を実行し、つまり、サポートツール６０からの制御指示に基づいてモータ２０を制御する（Ｓ３３０）。
【０１０５】
接続判定部１０１が、「フィールドネットワーク３０（上位通信ネットワーク）との通信が無いことをユーザが確認した」ことを確認できない場合（Ｓ３２０でＮｏ）、接続判定部１０１は「接続要（フィールドネットワーク３０との通信が必要）」と判定する。そして、信号生成部１０４は、上述の通り、「出力許可信号を受信しておらず、かつ、接続判定部１０１により接続要と判定された」ので、安全指令を生成し、セーフティ部１４０は、信号生成部１０４により生成された安全指令を取得してモータ２０を安全制御する。つまり、サーボドライバ１０は、出力遮断を実行し、モータ２０を安全制御する（Ｓ３４０）。
【０１０６】
図５は、サーボドライバ１０が安全な試運転制御を実行するためにユーザに確認する情報の一例を示す図である。接続判定部１０１は、図５に例示するように、「上位通信ネットワークとの通信がありません。試運転ですか？」といった表示を行うことにより、上位通信ネットワークとの通信が無いことをユーザが確認したかを問い合わせる。そして、接続判定部１０１は、自装置がフィールドネットワーク３０に接続していないことをユーザが確認したことを示す情報を取得すると、接続不要と判定する。例えば図５において、ユーザが「はい」を選択したことを示す情報を接続判定部１０１が取得すると、接続判定部１０１は接続不要と判定する。その場合、信号生成部１０４は、上述の通り、「出力許可信号を受信しておらず、かつ、接続判定部１０１により接続不要と判定された」ので、安全指令を生成しない。したがって、サーボドライバ１０は、フィールドネットワーク３０を介して出力許可信号を受信していない場合であっても、出力許可を実行し、つまり、サポートツール６０からの制御指示に基づいてモータ２０を制御することができる。
【０１０７】
以上に説明したように、サーボドライバ１０において、接続判定部１０１は、自装置がフィールドネットワーク３０に接続していないことをユーザが確認したことを示す情報を取得すると、接続不要と判定する。
【０１０８】
前記の構成によれば、接続判定部１０１は、フィールドネットワーク３０に接続していないことをユーザが確認したことを示す情報を取得すると、フィールドネットワーク３０への接続が不要であると判定する。
【０１０９】
したがって、サーボドライバ１０は、フィールドネットワーク３０に接続していないことをユーザが確認したことを示す情報を取得したと判定する場合、つまり、通信の不具合等によるのではなくユーザが意図的にフィールドネットワーク３０へ自装置を接続させずにモータ２０を安全に駆動させようとしていると判定する場合は、モータ２０について、前記制御指示に基づく制御を行うことができるという効果を奏する。
【０１１０】
（接続要否判定のタイミングについて）
図６は、試運転時に、サーボドライバ１０の実行する、図４に示したのとは別の接続判定処理の一例を示すフロー図である。なお、図４と同様に、図６において「試運転時」とは、フィールドネットワーク３０を構築していない時点（状態）を指している。通常、「試運転時」には、上位通信部１１０（第１インタフェース）にフィールドネットワーク３０との通信のためのケーブルが接続されていない。つまり、「試運転時」には、フィールドネットワーク３０を介して出力許可信号を受信していない。
【０１１１】
図６に示すように、モータ２０の試運転を開始しようとする場合（Ｓ４１０）、より正確には、サーボドライバ１０が出力許可信号を受信していない状態で、モータ２０を試運転させようとするユーザ操作をサポートツール６０が受け付けた場合、サーボドライバ１０は、以下の判定を実行する。
【０１１２】
すなわち、接続判定部１０１は、「サーボドライバ１０の電源オン時に、上位通信部１１０（上位通信ポート）にフィールドネットワーク３０との通信のためのケーブルが接続されているか（ケーブル接続があるか）」を確認する（Ｓ４２０）。
【０１１３】
接続判定部１０１が、「電源オン時に、上位通信部１１０にケーブル接続がある」ことを確認すると（Ｓ４２０でＹｅｓ）、接続判定部１０１は、「接続要」と判定する。そして、信号生成部１０４は、上述の通り、「出力許可信号を受信しておらず、かつ、接続判定部１０１により接続要と判定された」ので、安全指令を生成し、セーフティ部１４０は、信号生成部１０４により生成された安全指令を取得してモータ２０を安全制御する。つまり、サーボドライバ１０は、出力遮断を実行し、モータ２０を安全制御する（Ｓ４３０）。
【０１１４】
接続判定部１０１が、「電源オン時に、上位通信部１１０にケーブル接続がない」ことを確認すると（Ｓ４２０でＮｏ）、接続判定部１０１は、「接続不要」と判定する。そして、信号生成部１０４は、上述の通り、「出力許可信号を受信しておらず、かつ、接続判定部１０１により接続不要と判定された」ので、安全指令を生成しない。したがって、サーボドライバ１０は、出力許可を実行し、つまり、サポートツール６０からの制御指示に基づいてモータ２０を制御する（Ｓ４４０）。
【０１１５】
以上に説明したように、サーボドライバ１０において、接続判定部１０１は、自装置の電源がオンになった時点で上位通信部１１０（第１インタフェース）にケーブルが接続されていないと、接続不要と判定する。
【０１１６】
前記の構成によれば、接続判定部１０１は、上位通信部１１０に自装置の電源がオンになった時点でケーブルが接続されていないと、フィールドネットワーク３０への接続が不要であると判定する。
【０１１７】
したがって、サーボドライバ１０は、上位通信部１１０から前記ケーブルが予め抜かれた状態で自装置の電源がオンにされた場合、通信の不具合等によるのではなくユーザが意図的にフィールドネットワーク３０へ自装置を接続させずにモータ２０を安全に駆動させようとしていると判定し、モータ２０について、前記制御指示に基づく制御を行うことができるという効果を奏する。
【０１１８】
例えば、サーボドライバ１０は、電源オンの時点でフィールドネットワーク３０のケーブルが上位通信部１１０に接続されていない状態を検出すると、ユーザが意図的にフィールドネットワーク３０へ自装置を接続させずにモータ２０を安全に駆動させようとしている（例えば、モータ２０を試運転させようとしている）と判定する。したがって、サーボドライバ１０は、上位通信部１１０との接続は不要と判定し、サポートツール６０を用いたモータ２０の試運転を可能とする。
【０１１９】
（ネットワークとの接続状態の変化と判定結果との関係について）
サーボドライバ１０において、接続判定部１０１は、フィールドネットワーク３０との接続を受け付ける上位通信部１１０（第１インタフェース）にケーブルが接続されていない状態から、ケーブルが接続された状態へと遷移したことを示す情報を取得すると、接続要と判定する。
【０１２０】
前記の構成によれば、接続判定部１０１は、上位通信部１１０にケーブルが接続されていない状態から接続された状態に遷移したことを示す情報を取得すると、フィールドネットワーク３０への接続が必要であると判定する。
【０１２１】
したがって、サーボドライバ１０は、フィールドネットワーク３０への接続がない状態からある状態へ遷移したにもかかわらず前記出力許可信号を受信しない場合、通信の不具合等により前記出力許可信号を受信できていない可能性があるのでフィールドネットワーク３０との接続を必要と判定し、前記安全指令を生成し、モータ２０を安全制御することができるという効果を奏する。例えば、サーボドライバ１０は、フィールドネットワーク３０のケーブルが上位通信部１１０に接続されていない状態から、接続された状態へ遷移したのを検出すると、安全制御を実行する。
【０１２２】
〔ソフトウェアによる実現例〕
図７は、サーボドライバ１０として利用可能なコンピュータの要部構成を例示したブロック図である。
【０１２３】
サーボドライバ１０の制御部１００（特に、接続判定部１０１、試運転指令部１０２、モータ制御部１０３、および信号生成部１０４）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１２４】
例えば、制御部１００における、接続判定部１０１、試運転指令部１０２、および信号生成部１０４は、図７に示すマイクロプロセッサ１０５によって実現することができる。同様に、制御部１００におけるモータ制御部１０３は、図７に示す出力回路１０６によって実現することができる。
【０１２５】
また、サーボドライバ１０のセーフティ部１４０は、図７に示す出力遮断回路１４１によって実現することができる。出力遮断回路１４１は、信号生成部１０４（マイクロプロセッサ１０５）により生成された安全指令を取得すると、モータ２０への給電を遮断してモータ２０によるトルクの出力を停止させる。一方、マイクロプロセッサ１０５から安全指令を取得しない場合、出力遮断回路１４１は、モータ２０を制御する信号（給電）を遮断しない。
【０１２６】
制御部１００を、ＣＰＵを用いてソフトウェアによって実現する場合、サーボドライバ１０は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ（または、マイクロプロセッサ１０５および出力回路１０６）、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ、もしくは、マイクロプロセッサ１０５および出力回路１０６）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ、もしくは、マイクロプロセッサ１０５および出力回路１０６）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１２７】
また、サーボドライバ１０の上位通信部１１０は、上位通信ポート１１１によって実現してもよい。上位通信部１１０は、例えば、フィールドネットワーク３０を介したデータ伝送を管理するフィールドバス制御部と、ＰＬＣ４０からフィールドネットワーク３０を介して送信される上位通信フレームを受信してデータへ復号した上で、フィールドバス制御部へ出力するフィールドバス受信部と、フィールドバス制御部から出力されるデータから上位通信フレームを再生成してフィールドネットワーク３０を介して再送信（フォワード）するフィールドバス送信部と、を含んでいる。フィールドバス制御部は、フィールドバス受信部およびフィールドバス送信部と協働して、フィールドネットワーク３０を介して予め定められた制御周期毎にＰＬＣ４０との間でデータを送受信する。
【０１２８】
さらに、サーボドライバ１０のツール通信部１２０は、ツールポート１２１によって実現してもよい。ツールポート１２１は、例えばＵＳＢコネクタであり、サーボドライバ１０とサポートツール６０とを接続するためのインタフェースである。典型的には、サポートツール６０からの制御コマンド（制御指示）は、前記ＵＳＢコネクタであるツール通信部１２０を介してサーボドライバ１０に取込まれ、マイクロプロセッサ１０５および出力回路１０６で実行される。
【０１２９】
同様に、サーボドライバ１０のＩ／Ｏ部１３０は、Ｉ／Ｏポート１３１によって実現してもよい。Ｉ／Ｏポート１３１は、例えば、汎用のＩ／Ｏポートを利用することができる。
【０１３０】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１３１】
１０  サーボドライバ（モータ制御装置）
２０  モータ
３０  フィールドネットワーク（ネットワーク）
１００  制御部
１０１  接続判定部
１０４  信号生成部
１１０  上位通信部（第１インタフェース）
１３０  Ｉ／Ｏ部（第２インタフェース）
１４０  セーフティ部（安全駆動部）
【図１】
0006424852.tif 000002
【図２】
0006424852.tif 000003
【図３】
0006424852.tif 000004
【図４】
0006424852.tif 000005
【図５】
0006424852.tif 000006
【図６】
0006424852.tif 000007
【図７】
0006424852.tif 000008
【図８】
0006424852.tif 000009