(57)【要約】【課題】安全性と利便性を両立させた制御装置を提供する。【解決手段】マスタ装置と接続され、前記マスタ装置との通信内容に基づいて駆動対象物の制御を行う制御装置であって、前記マスタ装置との間で、前記駆動対象物の制御に関する情報である第一の情報と、安全に関する情報である第二の情報と、を周期的に送受信する通信手段と、前記第一の情報を処理することで、前記駆動対象物を制御する第一の処理手段と、前記第二の情報を処理することで、前記駆動対象物の安全を担保する処理を行う第二の処理手段と、前記第一の情報および第二の情報の双方が所定の期間において処理されなかった場合に、異常が発生したことを判定する異常判定手段と、を有することを特徴とする。【選択図】図１
2018147258.tif 000002
【特許請求の範囲】
【請求項１】
マスタ装置と接続され、前記マスタ装置との通信内容に基づいて駆動対象物の制御を行う制御装置であって、
前記マスタ装置との間で、前記駆動対象物の制御に関する情報である第一の情報と、安全に関する情報である第二の情報と、を周期的に送受信する通信手段と、
前記第一の情報を処理することで、前記駆動対象物を制御する第一の処理手段と、
前記第二の情報を処理することで、前記駆動対象物の安全を担保する処理を行う第二の処理手段と、
前記第一の情報および第二の情報の双方が所定の期間において処理されなかった場合に、異常が発生したことを判定する異常判定手段と、
を有することを特徴とする、制御装置。
【請求項２】
前記異常判定手段は、
前記駆動対象物が駆動している間は、前記第一の情報が所定の期間において処理されなかった場合に、前記異常が発生したことを判定し、
前記駆動対象物が駆動していない間は、前記第一の情報および第二の情報の双方が所定の期間において処理されなかった場合に、前記異常が発生したことを判定する
ことを特徴とする、請求項１に記載の制御装置。
【請求項３】
前記第一の情報および第二の情報がそれぞれ独立したパケットによって送受信される
ことを特徴とする、請求項１または２に記載の制御装置。
【請求項４】
前記第一の情報および第二の情報が異なる周期で送受信される
ことを特徴とする、請求項１から３のいずれかに記載の制御装置。
【請求項５】
前記第一の情報の送受信周期が、前記第二の情報の送受信周期よりも短い
ことを特徴とする、請求項４に記載の制御装置。
【請求項６】
マスタ装置と接続され、前記マスタ装置との通信内容に基づいて駆動対象物の制御を行う制御装置が行う制御方法であって、
前記マスタ装置との間で、前記駆動対象物の制御に関する情報である第一の情報と、安全に関する情報である第二の情報と、を周期的に送受信する通信ステップと、
前記第一の情報を処理することで、前記駆動対象物を制御する第一の処理ステップと、
前記第二の情報を処理することで、前記駆動対象物の安全を担保する処理を行う第二の処理ステップと、
前記第一の情報および第二の情報の双方が所定の期間において処理されなかった場合に、異常が発生したことを判定する異常判定ステップと、
を含むことを特徴とする、制御方法。
【請求項７】
請求項６に記載の制御方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置および制御方法に関する。
【背景技術】
【０００２】
生産ラインなどに含まれる複数の機械（モータ、ロボット、センサ等）を制御する制御装置として、ＰＬＣ（Programmable Logic Controller）が利用されている。また、複数
の制御装置が接続されるシステムにおいて、システム構成を簡素にするため、イーサネット（登録商標）といった既存の規格を利用して通信を行う技術が普及している。このような規格として、例えば、ＥｔｈｅｒＣＡＴ（登録商標）が存在する（特許文献１）。
【０００３】
ＥｔｈｅｒＣＡＴにおいては、ネットワーク接続されたマスタが、複数のスレーブに対してフレームを送出し、複数のスレーブが、受信したフレームにオンザフライでマスタ宛のデータを書き込む。このとき利用される通信に、プロセスデータ通信とメールボックス通信がある。プロセスデータ通信とは、全てのスレーブに対して周期的に行われる通信であり、メールボックス通信とは不特定の周期で特定のスレーブに対して行われる通信である。前者において送信されるデータをＰＤＯ（Process Data Object）と称し、後者にお
いて送信されるデータをＳＤＯ（Service Data Object）と称する。
プロセスデータ通信（以下、ＰＤＯ通信）を行う場合、マスタから複数のスレーブ（例えばモータドライバ）に対して指示（例えば動作指令が目標値）が送信され、複数のスレーブからマスタに対しては、動作ステータスやセンシングされた値が送信される。
【０００４】
モータドライバをはじめとするＥｔｈｅｒＣＡＴスレーブは、例えば、「位置制御とラッチ機能が利用できるＰＤＯマッピング」、「位置制御、速度制御、トルク制御、ラッチ機能が利用できるＰＤＯマッピング」、「位置制御、速度制御、トルク制限、ラッチ機能が利用できるＰＤＯマッピング」といったように、複数のＰＤＯマッピングを有している。これにより、アプリケーションの要求に応じて適切なマッピングを選択できる。
【０００５】
また、ＰＤＯマッピングの一つに、セーフティ機能を含ませることができる。セーフティ機能を有するＥｔｈｅｒＣＡＴスレーブは、一般的に、通常の運転において利用されるＰＤＯを処理するモジュール（以下、スタンダード部）と、安全機能に特化したＰＤＯを処理するモジュール（以下、セーフティ部）に分割されている。
モジュールをスタンダード部とセーフティ部に分割することで、安全を担保する処理を独立して実行できるようになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許８０６０６７７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、従来の制御装置においては、スレーブ側において、スタンダード部とセーフティ部のどちらか片方のモジュールのみを停止させることができない。これは、スタンダード部向けの通信とセーフティ部向けの通信を同時に処理しており、どちらか片方が停止すると通信異常とみなしてしまうためである。従って、例えば、スタンダード部のプログラムをアップデートしたい場合であっても、セーフティ部を含めた装置全体を停止させる必要があった。
【０００８】
本発明は上記の課題を考慮してなされたものであり、安全性と利便性を両立させた制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る制御装置は、マスタ装置と接続され、前記マスタ装置との通信内容に基づいて駆動対象物の制御を行う制御装置である。
具体的には、前記マスタ装置との間で、前記駆動対象物の制御に関する情報である第一の情報と、安全に関する情報である第二の情報と、を周期的に送受信する通信手段と、前記第一の情報を処理することで、前記駆動対象物を制御する第一の処理手段と、前記第二の情報を処理することで、前記駆動対象物の安全を担保する処理を行う第二の処理手段と、前記第一の情報および第二の情報の双方が所定の期間において処理されなかった場合に、異常が発生したことを判定する異常判定手段と、を有することを特徴とする。
【００１０】
本発明は、マスタ装置と、駆動対象物を制御する制御装置とが接続された制御システムに適用することができる。駆動対象物とは、典型的にはサーボモータ等であるが、これに限られない。被制御対象の装置であれば、可動部を有さないもの（例えばレーザ装置等）であってもよい。
第一の情報は、駆動対象物の制御に関する情報である。第一の情報は、例えば、制御対象がサーボモータである場合、位置情報、速度情報、トルク情報などが含まれる。また、第二の情報は、駆動対象物の安全に関する情報である。第二の情報は、例えば、ＦＳｏＥ（Fail Safe over EtherCAT）プロトコル上に定義されたＳＴＯ（Safe Torque Off）コマンドや、異常フラグなどが含まれる。本発明に係る制御装置は、第一の情報に基づいて駆動対象物の制御処理を行い、また、第二の情報に基づいて前記駆動対象物の安全を担保する処理（例えば、出力遮断など）を実行する。
【００１１】
また、本発明に係る制御装置は、第一の情報および第二の情報の双方が所定の期間において処理されなかった場合に、異常が発生したことを判定する。なお、情報が処理されなかった場合とは、情報自体が伝送できなかった場合のほか、パケットやフレームは送出されたが、正常な処理結果が得られなかった場合（例えば、更新されるべき情報が更新されずに戻ってきた場合など）も含まれる。
【００１２】
かかる構成によると、安全を担保する処理を実行させたまま、駆動対象物を制御する手段のみを停止させることができるようになる。すなわち、装置の安全性を保ったまま、メンテナンス等を行うことができるようになり、利便性が向上する。
【００１３】
また、前記異常判定手段は、前記駆動対象物が駆動している間は、前記第一の情報が所定の期間において処理されなかった場合に、前記異常が発生したことを判定し、前記駆動対象物が駆動していない間は、前記第一の情報および第二の情報の双方が所定の期間において処理されなかった場合に、前記異常が発生したことを判定することを特徴としてもよい。
【００１４】
駆動対象物が駆動している間は、対象を第一の情報のみに絞って異常判定を行うことが好ましい。これにより、意図しない通信断が発生した場合に、駆動対象物を安全に停止させることができる。
【００１５】
また、前記第一の情報および第二の情報がそれぞれ独立したパケットによって送受信されることを特徴としてもよい。また、前記第一の情報および第二の情報が異なる周期で送受信されることを特徴としてもよい。
【００１６】
第一の情報と第二の情報とをそれぞれ独立したパケットで送受信することで、それぞれ
を異なる周期で送受信させることができるようになる。これにより、例えば、駆動対象物の制御を行うための通信は高頻度で行い、安全を担保するための通信は低頻度で行うといった使い分けが可能になる。また、通信や処理のリソース配分を最適化することができる。
【００１７】
また、前記第一の情報の送受信周期が、前記第二の情報の送受信周期よりも短いことを特徴としてもよい。
【００１８】
かかる構成によると、駆動対象物を制御するための通信をより高頻度で行わせることができるようになる。また、通信容量に限りがある場合、第一の情報により多くの情報量を割り当てるといったことが可能になる。
【００１９】
なお、本発明は、上記手段の少なくとも一部を含む制御装置として特定することができる。また、上記制御装置が行う制御方法として特定することもできる。上記処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【発明の効果】
【００２０】
本発明によれば、安全性と利便性を両立させた制御装置を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】第一の実施形態に係る制御システムの模式図である。
【図２】従来技術に係るＣＰＵユニット２２のモジュール構成図である。
【図３】ＰＤＯ通信を説明する図である。
【図４】第一の実施形態に係るＣＰＵユニット２２のモジュール構成図である。
【発明を実施するための形態】
【００２２】
（第一の実施形態）
<システム構成>
以下、本発明の好ましい実施形態について図面を参照しながら説明する。
図１は、第一の実施形態に係る制御システムを示す模式図である。第一の実施形態に係る制御システムは、マスタノードであるマスタＰＬＣと、スレーブノードである複数のスレーブを有して構成される。
【００２３】
マスタＰＬＣ１０は、複数のスレーブ２０を統括する装置である。具体的には、スレーブ２０で実行されるプログラムの管理、スレーブ２０の運転状態の監視などを行う。
【００２４】
スレーブ２０は、マスタＰＬＣ１０およびサーボモータ３０、センサ４０と電気的に接続され、マスタＰＬＣ１０から受信した命令に従ってサーボモータ３０を駆動し、また、サーボモータ３０の駆動に関する情報をセンサ４０から取得し、マスタＰＬＣ１０へ送信する装置である。また、スレーブ２０は、セーフティコントローラ機能を有している。
【００２５】
スレーブ２０は、典型的には、ネットワーク通信を行う通信ユニット２１と、プログラムを実行する主体であるＣＰＵユニット２２と、フィールドからの信号を入出力するＩ／Ｏユニットを含む。具体的には、出力ユニット２３が、ＣＰＵユニット２２で実行したプログラムの実行結果に基づいてサーボモータ３０を駆動し、入力ユニット２４が、サーボモータ３０をセンシングするセンサ４０から入力信号を取得する。
なお、図示していないが、ＣＰＵユニット２２は、入出力を行う手段（タッチパネルやディスプレイ等）を有していてもよい。例えば、ＰＬＣの動作に関する情報をユーザに提供してもよい。
【００２６】
マスタＰＬＣ１０とスレーブ２０は、イーサネット（登録商標）などのネットワークを介して接続される。本実施形態では、マスタＰＬＣ１０とスレーブ２０は、ＥｔｈｅｒＣＡＴ（登録商標）を利用して通信するように構成される。
【００２７】
複数のスレーブ２０には、それぞれ異なるサーボモータ３０が接続される。なお、図１には一つのスレーブ２０に一つのサーボモータ３０を接続した例を示したが、スレーブ２０に接続されるモータの数は複数であってもよい。スレーブ２０に接続されるモータの数が複数である場合、各サーボモータ３０の駆動に関する情報がスレーブによって一元化され、マスタＰＬＣ１０へ伝送される。
また、図１には、３つのスレーブ２０を図示したが、ネットワークに接続されるスレーブの数に制限は無い。
【００２８】
<従来例におけるＣＰＵユニット>
次に、ＣＰＵユニット２２のモジュール構成について説明する。図２は、従来技術におけるＣＰＵユニット２２のモジュール構成図である。
また、本実施形態の説明では、プロセスデータ通信を行うモジュールのみを図示し、メールボックス通信を行うモジュールについては図示および説明を省略する。
ＣＰＵユニット２２は、マスタＰＬＣに対してＰＤＯを送受信するモジュールと、受信したＰＤＯを処理するモジュールを有している。
【００２９】
本例では、ＰＤＯ受信モジュール２２１Ａが、マスタＰＬＣから送信されたＰＤＯを受信し、スタンダードＰＤＯとセーフティＰＤＯにそれぞれ分割する。
【００３０】
ここで、スタンダードＰＤＯとセーフティＰＤＯについて説明する。
本発明が適用可能な制御システムは、ＰＤＯ通信によってマスタＰＬＣとスレーブが情報交換を行う。ＰＤＯ通信はサイクリック（周期的）に行われ、マスタＰＬＣから送信されたＰＤＯは全てのスレーブを巡回する。また、本例では、マスタＰＬＣから送信されるＰＤＯは、モータの制御を行うための情報（例えば、位置情報や速度情報、トルク情報など）が格納されたスタンダードＰＤＯと、安全に関する情報（例えば、ＦＳｏＥコマンドや緊急停止コマンドなど）が格納されたセーフティＰＤＯを同一のパケットに含んでいる。
図３（Ａ）は、ＰＤＯの送信を説明する図である。図示したように、ＰＤＯは周期的（例えば数マイクロ秒〜数ミリ秒おき）に送信される。
【００３１】
図２に戻って説明を続ける。
ＰＤＯ受信モジュール２２１Ａは、受信したＰＤＯをスタンダードＰＤＯとセーフティＰＤＯに分割し、スタンダードＰＤＯを、スタンダードＰＤＯを処理するモジュール（２２２Ａ）へ送信する。また、セーフティＰＤＯを、セーフティＰＤＯを処理するモジュール（２２２Ｃ）へ送信する。また、各モジュールは、受信したＰＤＯに従って所定の処理を行い、サーボモータ３０へ出力する制御信号を生成する。
【００３２】
また、センサ４０が取得した情報が、スタンダードＰＤＯを処理するモジュール（２２２Ｂ）と、セーフティＰＤＯを処理するモジュール（２２２Ｄ）によって取得される。そして、ＰＤＯ送信モジュール２２１Ｂが、ＰＤＯに格納される情報を生成し、パケットを構成したうえで、当該パケットをネットワークに送信する。これにより、マスタＰＬＣ１０から送信されたＰＤＯが各スレーブによってリレーされ、ネットワークを巡回する。
【００３３】
なお、実施形態の説明では、スタンダードＰＤＯを処理するモジュール（２２２Ａおよび２２２Ｂ）をスタンダード部と称し、セーフティＰＤＯを処理するモジュール（２２２Ｃおよび２２２Ｄ）をセーフティ部と称する。
【００３４】
ところで、このような構成においては、スタンダード部とセーフティ部を個別に休止できないという問題が発生する。例えば、スタンダード部を受け持つモジュール２２２Ａおよび２２２Ｂをアップデートしたい場合、スタンダードＰＤＯの送受信を停止しなければならない。しかし、スタンダードＰＤＯとセーフティＰＤＯが一体となって送受信される形態においては、スタンダード部を停止させると、スタンダードＰＤＯの通信が停止し、これに起因して、ＣＰＵユニット２２が有するウォッチドッグ（不図示）が通信異常を検知してしまう。また、通信異常が検知されると、セーフティ部を含んだ装置全体の動作が停止してしまう。このため、装置の安全性が十分に担保できなくなるという課題があった。また、装置全体が停止してしまうと、再立ち上げに時間を要するという課題があった。
【００３５】
<本実施形態におけるＣＰＵユニット>
次に、本実施形態におけるＣＰＵユニット２２のモジュール構成を、図４を参照しながら説明する。本実施形態におけるＣＰＵユニット２２は、従来例と同様に、ネットワークからＰＤＯを受信するモジュールと、ネットワークにＰＤＯを送信するモジュールを有しているが、スタンダードＰＤＯを送受信するモジュールと、セーフティＰＤＯを送受信するモジュールとが分割されているという特徴を有する。
具体的には、スタンダードＰＤＯ受信モジュール２２１ＥがスタンダードＰＤＯの受信を行い、スタンダードＰＤＯ送信モジュール２２１ＦがスタンダードＰＤＯの送信を行う。また、セーフティＰＤＯ受信モジュール２２１ＧがセーフティＰＤＯの受信を行い、セーフティＰＤＯ送信モジュール２２１ＨがセーフティＰＤＯの送信を行う。
受信ＰＤＯおよび送信ＰＤＯを処理する手段（２２２Ａ〜２２２Ｄ）については、従来例と同様である。
【００３６】
また、本実施形態では、図３（Ｂ）に示したように、スタンダードＰＤＯとセーフティＰＤＯがそれぞれ独立したパケットで送受信される。すなわち、スタンダードＰＤＯ受信モジュール２２１ＥおよびスタンダードＰＤＯ送信モジュール２２１Ｆは、スタンダードＰＤＯのみを対象として送受信動作を行い、セーフティＰＤＯ受信モジュール２２１ＧおよびセーフティＰＤＯ送信モジュール２２１Ｈは、セーフティＰＤＯのみを対象として送受信動作を行う。
【００３７】
さらに、本実施形態では、ＣＰＵユニット２２にて動作するウォッチドッグ（不図示）が、以下のような特徴を有している。
（１）サーボモータ３０の停止中においては、スタンダードＰＤＯおよびセーフティＰＤＯの双方の通信が共に停止した場合に、通信異常イベントを発生させる
（２）サーボモータ３０の運転中においては、スタンダードＰＤＯの通信が停止した場合に、通信異常イベントを発生させる
なお、通信が停止した場合とは、モジュール２２２Ａ〜Ｄが通信や入出力を停止した場合を指すが、通信や入出力が可能な場合であっても、モジュール２２２Ａ〜ＤがＰＤＯを正常に処理しなくなったら、通信が停止したものとみなす。
通信異常イベントが発生した場合、ＣＰＵユニット２２は、従来の構成と同様に、装置全体の動作を停止させ、これによりモータが停止する。
【００３８】
かかる構成によると、サーボモータの停止中に、スタンダード部またはセーフティ部のどちらか片方のみを停止させることが可能になる。すなわち、安全性を担保したままでメンテナンス性を向上させることができる。また、これにより、装置の再立ち上げなどの準備工数を削減することができる。
なお、サーボモータの運転中は、スタンダード部に対する通信が停止したら通信異常イベントを発生させる。これは、従来の構成と同様である。
【００３９】
（第二の実施形態）
第二の実施形態は、第一の実施形態に加え、スタンダードＰＤＯとセーフティＰＤＯそれぞれを異なる周期で送受信させる実施形態である。
図３（Ｃ）は、第二の実施形態における通信シーケンスを説明する図である。図示した例では、スタンダードＰＤＯが２タイムスロットごとに送受信され、セーフティＰＤＯが４タイムスロットごとに送受信される。このように、スタンダードＰＤＯとセーフティＰＤＯとで通信周期を異ならせることで、装置の処理負荷とネットワークの負荷を最適に設計することができる。ＰＤＯ通信においては、通信可能な電文の容量が予め定まっているが、例えば、セーフティＰＤＯの配置を最適化することで、スタンダード部に対する通信容量を増加させることができる。
【００４０】
（変形例）
なお、実施形態の説明は本発明を説明する上での例示であり、本発明は、発明の趣旨を逸脱しない範囲で適宜変更または組み合わせて実施することができる。
【００４１】
例えば、ＣＰＵユニット２２の説明では、モジュールという語を用いたが、モジュールはソフトウェアモジュールであってもよいし、専用に設計されたハードウェア（回路や基板）モジュールなどであってもよい。
【００４２】
また、実施形態の説明ではサーボモータを制御するシステムを例示したが、制御対象はサーボモータ以外であってもよい。例えば、インバータなどであってもよい。また、制御対象は必ずしも可動部を有するものでなくてもよい。例えば、センシング装置やレーザ装置などであってもよい。
【符号の説明】
【００４３】
１０・・・マスタＰＬＣ
２０・・・スレーブ
２１・・・通信ユニット
２２・・・ＣＰＵユニット
２３・・・出力ユニット
２４・・・入力ユニット
３０・・・モータ
４０・・・センサ
【図１】
2018147258.tif 000003
【図２】
2018147258.tif 000004
【図３】
2018147258.tif 000005
【図４】
2018147258.tif 000006