(57)【要約】【課題】フィールドネットワークの通信コントローラを内蔵するワンチップマイコンを備えるスレーブ装置について、制御装置の動作に異常が発生した場合にフィールドネットワークの通信を継続することができる制御を実現させる。【解決手段】スレーブコントローラ（３１）と、プロセッサ（３２）と、ウォッチドッグ回路（３３）とがワンチップ化された集積回路を備え、ウォッチドッグ回路（３３）は、主制御部（３０）の動作に異常が発生したことを検出した場合に、プロセッサ（３２）をリセットし、その一方で、スレーブコントローラ（３１）の動作を停止させない。【選択図】図２
2019074844.tif 000002
【特許請求の範囲】
【請求項１】
フィールドネットワークを介してマスタ装置と接続されるスレーブ装置に搭載されて、該スレーブ装置の動作を制御する制御装置であって、
前記フィールドネットワークを介した通信を制御するスレーブ通信コントローラと、
演算処理を行う演算処理部と、
前記制御装置の動作を監視する動作監視部と、を備え、
前記スレーブ通信コントローラ、前記演算処理部、前記動作監視部は、ワンチップ化された集積回路として構成されており、
前記動作監視部は、前記制御装置の動作に異常が発生したことを検出した場合に、前記演算処理部をリセットし、その一方で、前記スレーブ通信コントローラの動作を停止させないことを特徴とする制御装置。
【請求項２】
前記制御装置からの指令に基づいて動作が制御される制御対象装置に制御信号を出力する出力部をさらに備え、
前記動作監視部は、ウォッチドッグタイマと、前記制御装置の動作に異常が発生した場合における異常時動作を制御する異常時動作制御部と、割り込みコントローラとを備え、
前記異常時動作制御部は、前記ウォッチドッグタイマからウォッチドッグタイムアップが発生した旨の異常発生信号を受信した場合に、前記割り込みコントローラに前記演算処理部をリセットさせる割り込み信号を送信させ、かつ、前記出力部による前記制御対象装置への出力を遮断する制御を行うことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記異常時動作制御部は、前記異常発生信号を受信した場合に、エラー出力信号を送信し、
前記エラー出力信号は、該エラー出力信号を受信した前記制御対象装置に、該制御対象装置における動作を停止させる制御を行わせる信号であることを特徴とする請求項２に記載の制御装置。
【請求項４】
前記制御装置の状態を報知する報知部を備え、
前記報知部は、前記エラー出力信号を受信した場合に、前記制御装置に異常が発生している旨の異常情報を報知することを特徴とする請求項３に記載の制御装置。
【請求項５】
前記フィールドネットワークは、ＥｔｈｅｒＣＡＴであり、
前記異常時動作制御部は、前記異常発生信号を受信した場合に、前記制御装置に異常が発生している旨の情報を、前記ＥｔｈｅｒＣＡＴのデータフレームを用いて前記マスタ装置に伝達することを特徴とする請求項２〜４のいずれか１項に記載の制御装置。
【請求項６】
フィールドネットワークを介してマスタ装置と接続されるスレーブ装置の動作を制御する制御方法であって、
前記スレーブ装置の主制御部は、前記フィールドネットワークを介した通信を制御するスレーブ通信コントローラと、演算処理を行う演算処理部と、前記主制御部の動作を監視する動作監視部と、がワンチップ化された集積回路として構成されており、
前記動作監視部によって前記主制御部の動作に異常が発生したことが検出された場合に、前記演算処理部をリセットし、その一方で、前記スレーブ通信コントローラの動作を停止させないように制御を行う動作異常時制御ステップを含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールドネットワークを介してマスタ装置と接続されるスレーブ装置の動作を制御する制御装置等に関するものである。
【背景技術】
【０００２】
従来、様々な電子機器にマイクロコントローラ（以下、マイコンと称する）が搭載されている。マイコンは、ＣＰＵ（Central processing Unit）、メモリ、および周辺機能等により構成されている。マイコンは、ワンチップ化が進行しており、上記ＣＰＵ等が実装された１個（ワンチップ）のＬＳＩ（Large-Scale Integrated Circuit：大規模集積回路）として提供されている。
【０００３】
また、一般に、マイコンは、ウォッチドッグタイマを備えている。ウォッチドッグタイマは、マイコンが正常に動作しているか否かを監視し、マイコンの暴走等によってウォッチドッグタイムアップが発生した場合にはマイコンの動作をリセットする。これにより、マイコンの暴走を防止することができる（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２３１４８９号公報（１９９５年８月２９日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、工場等の生産現場で使用される機械および設備は、ＰＬＣ（Programmable Logic Controller：プログラマブルコントローラ）等の上位制御装置（マスタ装置とも呼ばれる）を含む制御システムによって制御される。マスタ装置と通信可能に接続される機械および設備は、スレーブ装置と呼ばれることがある。マスタ装置とスレーブ装置とは、種々のフィールドネットワークを介して接続され得る。スレーブ装置は、該スレーブ装置の制御を行うマイコンと、フィールドネットワークを介して情報を送受信するための通信コントローラとを備える。
【０００６】
ここで、スレーブ装置が、上記マイコンと通信コントローラとをそれぞれ個別のチップとして備えている場合、以下のことがいえる。すなわち、ウォッチドッグタイムアップが発生した場合、マイコンの動作がリセットされる一方で、上記通信コントローラはリセットされない。そのため、フィールドネットワークを介した通信が継続される。
【０００７】
一方で、近年、スレーブ装置として、マイコン内に上記通信コントローラが内蔵されたワンチップマイコンを備える装置が用いられることがある。これは、高速動作および部品の大きさの低減等の要求に応じるためである。
【０００８】
しかしながら、このようなワンチップマイコンを備えるスレーブ装置においては、マイコン内のＣＰＵと通信コントローラとは、リセット回路を共有することになる。そのため、ウォッチドッグタイムアップが発生した場合、ＣＰＵの動作がリセットされるとともに通信コントローラの動作も停止し、フィールドネットワークの通信が途切れてしまうという問題がある。
【０００９】
本開示の一態様は、前記の問題点に鑑みなされたものであり、その目的は、フィールドネットワークの通信コントローラを内蔵するワンチップマイコン（制御装置）を備えるスレーブ装置について、制御装置の動作に異常が発生した場合にフィールドネットワークの通信を継続することができる制御を実現させることにある。
【課題を解決するための手段】
【００１０】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００１１】
すなわち、本発明の一側面に係る制御装置は、フィールドネットワークを介してマスタ装置と接続されるスレーブ装置に搭載されて、該スレーブ装置の動作を制御する制御装置であって、前記フィールドネットワークを介した通信を制御するスレーブ通信コントローラと、演算処理を行う演算処理部と、前記制御装置の動作を監視する動作監視部と、を備え、前記スレーブ通信コントローラ、前記演算処理部、前記動作監視部は、ワンチップ化された集積回路として構成されており、前記動作監視部は、前記制御装置の動作に異常が発生したことを検出した場合に、前記演算処理部をリセットし、その一方で、前記スレーブ通信コントローラの動作を停止させない。
【００１２】
制御装置は、スレーブ通信コントローラ、演算処理部、動作監視部がワンチップ化された集積回路を備えている。動作監視部は、制御装置の動作が正常であるか否かを監視し、動作に異常が発生したことを検出した場合には、制御装置の初期化を行う。一般に、ワンチップ化された集積回路が含む動作監視部によって制御装置の初期化が行われると、演算処理部だけでなくスレーブ通信コントローラも初期化される。この場合、スレーブ通信コントローラによる通信の制御が停止し、フィールドネットワークが遮断されるという問題があった。例えば、フィールドネットワークがＥｔｈｅｒＣＡＴ（登録商標）である場合、フィールドネットワーク全体の動作が停止し得る。
【００１３】
これに対して、上記の構成では、動作監視部は、演算処理部をリセットする一方で、スレーブ通信コントローラの動作を停止させないように構成されている。そのため、制御装置の動作に異常が発生して制御装置の初期化が行われる場合に、スレーブ通信コントローラは動作を継続することができる。その結果、フィールドネットワークが遮断されることがなく、マスタ装置とスレーブ装置との間の通信を継続することができる。したがって、マスタ装置によってスレーブ装置が制御されるように構成された制御システムの安定性を高めることができる。特に、複数のスレーブ装置がマスタ装置にデイジーチェーン型に接続されている構成の制御システムにおいて、該制御システムは、動作に異常が発生したスレーブ装置から他のスレーブ装置に通信を継続することができる。マスタ装置は、各スレーブ装置の状態を確認することができる。
【００１４】
上記一側面に係る制御装置において、前記制御装置からの指令に基づいて動作が制御される制御対象装置に制御信号を出力する出力部をさらに備え、前記動作監視部は、ウォッチドッグタイマと、前記制御装置の動作に異常が発生した場合における異常時動作を制御する異常時動作制御部と、割り込みコントローラとを備え、前記異常時動作制御部は、前記ウォッチドッグタイマからウォッチドッグタイムアップが発生した旨の異常発生信号を受信した場合に、前記割り込みコントローラに前記演算処理部をリセットさせる割り込み信号を送信させ、かつ、前記出力部による前記制御対象装置への出力を遮断する制御を行ってよい。
【００１５】
上記構成では、動作監視部は、典型的には、ウォッチドッグ回路であってよい。ウォッチドッグタイムアップ時に、異常時動作制御部は、割り込みコントローラに割り込み指令を送信する。割り込みコントローラは、該指令に基づいて、演算処理部をリセットする。それとともに、異常時動作制御部は、ウォッチドッグタイムアップ時に、出力部の出力を遮断する。これにより、制御対象装置への制御信号の送信が遮断される。そのため、暴走した制御装置から、異常な制御信号が制御対象装置に送信されることを防止することができる。また、制御対象装置は運転を停止することができる。したがって、スレーブ装置による制御対象装置の制御の安全性を高めることができる。
【００１６】
上記一側面に係る制御装置において、前記異常時動作制御部は、前記異常発生信号を受信した場合に、エラー出力信号を送信し、前記エラー出力信号は、該エラー出力信号を受信した前記制御対象装置に、該制御対象装置における動作を停止させる制御を行わせる信号であってよい。
【００１７】
上記構成では、エラー出力信号によって、制御対象装置が備える制御部（例えばマイコン）に異常を通知することができる。そのため、該制御部は、制御対象装置の動作をどのように制御するか選択することができる。例えば、制御対象装置がサーボモータである場合、制御対象装置の制御部は、モータをフリーラン停止ではなく、減速停止させる制御を行うことができる。その結果、モータをより迅速に停止することができる。したがって、スレーブ装置による制御対象装置の制御の安全性をより一層高めることができる。
【００１８】
上記一側面に係る制御装置において、前記制御装置の状態を報知する報知部を備え、前記報知部は、前記エラー出力信号を受信した場合に、前記制御装置に異常が発生している旨の異常情報を報知してよい。
【００１９】
上記構成では、制御装置に異常が発生した場合、報知部が異常情報を報知する。そのため、使用者は、報知されて異常情報に基づいて、制御装置に異常が発生していることを把握することができる。例えば、使用者は、フィールドネットワークに接続された複数のスレーブ装置のうち、どのスレーブ装置に異常が発生したかを把握し易くすることができ、そのことに対する対処をし易くすることができる。
【００２０】
上記一側面に係る制御装置において、前記フィールドネットワークは、ＥｔｈｅｒＣＡＴであり、前記異常時動作制御部は、前記異常発生信号を受信した場合に、前記制御装置に異常が発生している旨の情報を、前記ＥｔｈｅｒＣＡＴのデータフレームを用いて前記マスタ装置に伝達してよい。
【００２１】
上記の構成では、制御装置に異常が発生している旨の情報を、ＥｔｈｅｒＣＡＴにおけるデータフレームを利用して、マスタ装置に伝達することができる。そのため、マスタ装置は迅速に上記情報を把握することができ、スレーブ装置の動作不良に対する対処を選択することができる。
【００２２】
本発明の一側面に係る制御方法は、フィールドネットワークを介してマスタ装置と接続されるスレーブ装置の動作を制御する制御方法であって、前記スレーブ装置の主制御部は、前記フィールドネットワークを介した通信を制御するスレーブ通信コントローラと、演算処理を行う演算処理部と、前記制御装置の動作を監視する動作監視部と、がワンチップ化された集積回路として構成されており、前記動作監視部によって前記制御装置の動作に異常が発生したことが検出された場合に、前記演算処理部をリセットし、その一方で、前記スレーブ通信コントローラの動作を停止させないように制御を行う動作異常時制御ステップを含む。
【００２３】
上記構成では、前述した制御装置と同様に、スレーブ装置の主制御部の動作に異常が発生した場合に、フィールドネットワークの通信を継続することができる制御を実現させることができる。
【発明の効果】
【００２４】
本開示の一態様によれば、フィールドネットワークの通信コントローラを内蔵するワンチップマイコン（制御装置）を備えるスレーブ装置について、制御装置の動作に異常が発生した場合にフィールドネットワークの通信を継続することができる制御を実現させることができるという効果を奏する。
【図面の簡単な説明】
【００２５】
【図１】実施の形態における制御装置としての主制御部を備えるスレーブ装置と、マスタ装置とを含む制御システムの一例を概略的に示すブロック図である。
【図２】実施の形態における制御装置としての主制御部を備えるスレーブ装置、および該スレーブ装置に接続された制御対象装置の要部構成を示すブロック図である。
【図３】実施の形態における制御装置としての主制御部が実行する処理の流れの一例を示すフローチャート図である。
【図４】比較例の制御システムの概略的な構成を示すブロック図である。
【図５】比較例の制御システムに含まれるスレーブ装置にて実行される動作監視処理の流れを示すフローチャート図である。
【発明を実施するための形態】
【００２６】
以下、本開示の一態様に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。
【００２７】
§１  比較例
まず始めに、実施の形態における制御システムおよび制御装置の理解を容易にするために、マイコンと通信コントローラとが互いに個別のチップとして搭載されたスレーブ装置を含む比較例の制御システムについて、図４および図５を参照して説明する。図４は、比較例の制御システム１００の概略的な構成を示すブロック図である。図５は、比較例の制御システム１００に含まれるスレーブ装置１２０にて実行される動作監視処理の流れを示すフローチャート図である。
【００２８】
図４に示すように、比較例の制御システム１００は、マスタ装置１１０と、マスタ装置１１０に接続されるスレーブ装置１２０と、制御対象装置１４０とを含む。ここでは、マスタ装置１１０に対して、３つのスレーブ装置１２０が直列に接続している。このようなネットワーク配列（トポロジ）はデイジーチェーン接続とも呼ばれる。各スレーブ装置１２０は、フィールドネットワーク１３０（ダウンリンク１３１およびアップリンク１３２）を介してマスタ装置１１０と通信可能に接続されている。また、スレーブ装置１２０は、マスタ装置１１０とのデータ通信に基づいて制御対象装置１４０を制御する。
【００２９】
マスタ装置１１０は、フィールドネットワーク１３０を管理するマスタコントローラ１１１を備えている。スレーブ装置１２０は、スレーブコントローラ１２１と主制御部１２２とを備えている。主制御部１２２は、例えばマイコンであり、プロセッサ１２２ａおよびウォッチドッグ回路１２２ｂを備えている。
【００３０】
ここで、スレーブ装置１２０は、該装置内において、スレーブコントローラ１２１と主制御部１２２とを互いに個別のチップとして実装している。このようなスレーブコントローラ１２１は、例えばＡＳＩＣ（Application Specific Integrated Circuit；特定用途向けＩＣ）である。
【００３１】
比較例のスレーブ装置１２０におけるウォッチドッグ回路１２２ｂの動作について、図５を用いて説明する。
【００３２】
図５に示すように、ウォッチドッグ回路１２２ｂは、主制御部１２２の動作を監視する（ステップ１０１；以下Ｓ１０１のように略記する）。ウォッチドッグタイムアップが発生しない場合（Ｓ１０２でＮｏ）、Ｓ１０１の動作を繰り返す。プロセッサ１２２ａが暴走してウォッチドッグタイムアップが発生した場合（Ｓ１０２でＹｅｓ）、ウォッチドッグ回路１２２ｂは、プロセッサ１２２ａの動作をリセット（初期化）する（Ｓ１０３）。一方で、スレーブコントローラ１２１は、その内部に図示しないプロセッサを有しており、ウォッチドッグタイムアップが発生した場合、当該プロセッサはリセットされない。
【００３３】
比較例の制御システム１００の構成では、ウォッチドッグタイムアップが発生した場合に、スレーブコントローラ１２１が動作を停止しないため、フィールドネットワーク１３０の通信を継続することができる。
【００３４】
しかしながら、近年、スレーブ装置は、スレーブコントローラが内蔵されたマイコンが搭載されている場合がある。そのような場合、ウォッチドッグタイムアップが発生すると、スレーブコントローラの動作も停止し、フィールドネットワークの通信が途切れてしまうという問題が生じ得る。
【００３５】
§２  適用例
次に、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本実施形態における制御装置としての主制御部３０を備えるスレーブ装置３ａ〜３ｃと、マスタ装置２とを含む制御システム１の一例を概略的に示すブロック図である。スレーブ装置３ａ〜３ｃのそれぞれには、制御対象装置５０が通信可能に接続されている。本実施形態の制御システム１は、マスタ装置２からフィールドネットワーク４０を介して送信される指令に基づいて、各スレーブ装置３ａ〜３ｃが制御対象装置５０を制御するシステムである。フィールドネットワークはフィールドバスシステムとも称される。以下では、スレーブ装置３ａ〜３ｃを区別せずに説明する場合、まとめてスレーブ装置３と称することがある。
【００３６】
図１の例では、制御システム１は、マスタ装置２と、フィールドネットワーク４０を介してマスタ装置２と通信可能に接続された３つのスレーブ装置３ａ〜３ｃと、制御対象装置５０とを含む。スレーブ装置３ａ〜３ｃは、マスタ装置２とのデータ通信に基づいて制御対象装置５０を制御する。
【００３７】
マスタ装置２は、例えばＰＬＣである。マスタ装置２には、接続ケーブル等を介して、図示しないＰＣ（Personal Computer）等のサポート装置が接続されていてよい。マスタ装置２は、フィールドネットワーク４０を介したスレーブ装置３ａ〜３ｃとのデータ伝送を管理するマスタコントローラ２ａを備えている。マスタコントローラ２ａは、例えばマイコン、ＡＳＩＣ等である。
【００３８】
本実施形態の制御システム１におけるフィールドネットワーク４０は、ＥｔｈｅｒＣＡＴ（Ethernet for Control Automation Technology）（登録商標）である。ＥｔｈｅｒＣＡＴは、イーサネット（登録商標）ベースの通信方式であり、近年、広く使用されている。ＥｔｈｅｒＣＡＴでは、マスタ装置が、イーサネット（伝送路）を通じてIEEE802.3に準拠したイーサネットプロトコル（イーサネットフレーム）を定期的に送信し、各スレーブ装置が、上記イーサネットフレームに載せられたプロセスデータをオンザフライ方式にて処理する。
【００３９】
本実施形態の制御システム１におけるフィールドネットワーク４０のトポロジは、デイジーチェーン型の接続となっている。つまり、フィールドネットワーク４０を介して、３つのスレーブ装置３ａ〜３ｃが直列に配列してマスタ装置２に接続している。
【００４０】
上記ＥｔｈｅｒＣＡＴにおけるデータ伝送については公知であることから、記載の冗長化を避けるために詳細な説明は省略するが、概略的に説明すれば以下のとおりである。マスタ装置２から定期的に送信される上記イーサネットフレームを受信したスレーブ装置３ａは、そのイーサネットフレーム上のプロセスデータの中から、自己に割り当てられた領域のデータの読み込みおよび書き込みを行う。そして、スレーブ装置３ａは、該読み込みおよび書き込みを行うとともに、該イーサネットフレームを次のスレーブ装置３ｂに転送する。
【００４１】
フィールドネットワーク４０は、ダウンリンク４１とアップリンク４２とを含む。イーサネットフレームが、ダウンリンク４１を通じて、マスタ装置２、スレーブ装置３ａ、スレーブ装置３ｂ、スレーブ装置３ｃと、この順に転送される。その後、該イーサネットフレームは、アップリンク４２を通じて、スレーブ装置３ｃ、スレーブ装置３ｂ、スレーブ装置３ａ、マスタ装置２と、この順に転送される。
【００４２】
スレーブ装置３ａ〜３ｃはそれぞれ、主制御部３０を備えている。主制御部３０は、スレーブコントローラ（スレーブ通信コントローラ）３１、プロセッサ（演算処理部）３２、およびウォッチドッグ回路（動作監視部）３３を備えている。スレーブコントローラ３１は、フィールドネットワーク４０を介した通信を制御する。プロセッサ３２は、例えばＣＰＵであり、スレーブコントローラ３１とデータを送受信し、主制御部３０が行う制御に関する演算処理を行う。ウォッチドッグ回路３３は、主制御部３０の動作が正常であるか否かを監視する動作監視部である。
【００４３】
ウォッチドッグ回路３３が主制御部３０の動作を監視する手法については、一般に知られている手法であってよく、詳細な説明は省略するが、概略的に説明すれば以下のとおりである。例えば、ウォッチドッグタイマのカウンタがタイムアップする前に、プログラムでカウンタをリセットする。このカウンタをリセットする動作をプロセッサ３２が実行するプログラムの一部に取り入れ、周期的にカウンタをリセットする。カウンタのリセット動作について、リセットという言葉の区別のために以下ではリフレッシュと称する。プロセッサ３２が暴走すると、リフレッシュが行われなくなり、タイマがオーバーフローする。その場合、ウォッチドッグ回路３３は、プロセッサ３２をリセットする。なお、タイマのカウントは、所定の初期値からのダウンカウントであってもよい。
【００４４】
主制御部３０は、例えばマイコンであり、ワンチップ化された集積回路として構成されている。主制御部３０は、図示しないメモリおよび各種の周辺機能部品を備えている。
【００４５】
スレーブ装置３ａ〜３ｃに接続された制御対象装置５０は、例えばサーボモータである。制御対象装置５０としては、フィールドネットワーク４０の規格に該当する装置であればよく、多種多様な装置を適用することができる。
【００４６】
上記のように、スレーブ装置３ａ〜３ｃが備える主制御部３０は、スレーブコントローラ３１とプロセッサ３２とウォッチドッグ回路３３とが１個のチップ上に実装されている（ワンチップ化されている）。なお、主制御部３０には、当然、その他の機能を有する回路も実装されている。
【００４７】
このような構成において、従来は、以下のような問題があった。すなわち、図１に示す部材番号を用いて説明すれば、従来、ウォッチドッグタイムアップが発生した場合、ウォッチドッグ回路３３はプロセッサ３２とともにスレーブコントローラ３１をリセットする。そのために、フィールドネットワーク４０を介したマスタ装置２とスレーブ装置３ａ〜３ｃとの間の通信が途絶えてしまうことが有り得るという問題があった。このことは、スレーブ装置３ａ〜３ｃがデイジーチェーン型のトポロジである場合に、影響が顕著である。例えばＥｔｈｅｒＣＡＴにおけるデータ伝送では、スレーブ装置３ａ〜３ｃのいずれかのスレーブコントローラ３１が停止した場合、フィールドネットワーク４０の全体が強制停止することになる。
【００４８】
これに対して、本実施形態の制御システム１では、ウォッチドッグタイムアップが発生した場合、ウォッチドッグ回路３３はプロセッサ３２をリセットする一方で、スレーブコントローラ３１の動作を停止させない。また、ウォッチドッグタイムアップが発生した場合、ウォッチドッグ回路３３は、エラー出力信号（ＥＲＲＯＲＯＵＴ信号とも称される）を送信し、このエラー出力信号によって、スレーブ装置３の一部の機能のみを停止させる。これにより、ウォッチドッグタイムアップが発生した場合に、スレーブコントローラ３１による通信を継続することができる。そのため、マスタ装置２に、どのスレーブ装置３に異常が発生したのかを知らせ易くなる。ユーザは、その情報を参照して、制御システム１を復旧し易くすることができる。特に、スレーブ装置３がデイジーチェーン（直列）のトポロジ（配列）の場合、他のスレーブへの通信を継続することができ、フィールドネットワーク４０の全体が強制停止することを防止できる。
【００４９】
また、ウォッチドッグ回路３３は、エラー出力信号を送信し、該エラー出力信号を用いて、例えばスレーブ装置３の外部への出力は遮断する一方で、スレーブ装置３の外部から内部への入力は遮断しないように制御する。これにより、ウォッチドッグタイムアップが発生した場合における、スレーブ装置３が実行するエラー時動作の自由度を高めることができる。
【００５０】
§３  構成例
［ハードウェア構成］
次に、図２を用いて、本実施形態における制御システム１における要部のハードウェア構成の一例について説明する。具体的には、スレーブ装置３ａ〜３ｃのうちスレーブ装置３ａを例示して、該スレーブ装置３ａおよび制御対象装置５０の要部構成について説明する。図２は、本実施形態における制御装置としての主制御部３０を備えるスレーブ装置３ａ、および該スレーブ装置３ａに接続された制御対象装置５０の要部構成を示すブロック図である。なお、図２において、矢印で示す線はウォッチドッグタイムアップ時の信号伝達の流れを示しており、この流れについては後述する。
【００５１】
（スレーブ装置）
図２の例では、スレーブ装置３ａは、主制御部３０、報知部３５、リセット回路（外部リセット回路）３６、および通信インターフェイス３７を備えている。本実施形態の主制御部３０は、本開示の「制御装置」に相当する。なお、図２では、通信インターフェイスを「通信ＩＦ」と記載している。
【００５２】
主制御部３０は、スレーブコントローラ３１、プロセッサ３２、ウォッチドッグタイマ３３ａ、エラーコントロールモジュール３３ｂ、割り込みコントローラ３３ｃ、および記憶部３４を備えている。ウォッチドッグタイマ３３ａ、エラーコントロールモジュール３３ｂ、および割り込みコントローラ３３ｃは、前述したウォッチドッグ回路３３に相当する。
【００５３】
ウォッチドッグタイマ３３ａは、例えば、一般に知られている独立型ウォッチドッグタイマである。ウォッチドッグタイマ３３ａは、例えば１４ビットのダウンカウンタを内蔵しており、カウント値がアンダフローに到達すると、主制御部３０の動作に異常が発生した旨のエラー通知（以下、異常発生信号と称する）をエラーコントロールモジュール３３ｂに送信する。なお、ウォッチドッグタイマ３３ａは、アップカウンタを内蔵していてもよい。この場合、ウォッチドッグタイマ３３ａは、カウント値がオーバーフローに到達すると、異常発生信号を送信する。カウンタとしては、例えば、ＲＣ発振回路を利用することができる。
【００５４】
エラーコントロールモジュール３３ｂは、ウォッチドッグタイマ３３ａから異常発生信号を受信した場合、すなわち主制御部３０の動作に異常が発生した場合に、プロセッサ３２とは独立して主制御部３０の異常時動作を制御する。つまり、エラーコントロールモジュール３３ｂは、割り込み信号を発生させる、エラー出力信号を送信する、等の動作を実行する異常時動作制御部であるといえる。エラーコントロールモジュール３３ｂは、ワンチップの集積回路として構成された主制御部３０に、電子回路として実現されている。
【００５５】
割り込みコントローラ３３ｃは、エラーコントロールモジュール３３ｂからの指令を受けて、プロセッサ３２に強制割り込み（ノンマスカブル割り込み）処理を実行する。
【００５６】
記憶部３４は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等のメモリである。ＲＯＭにはプロセッサ３２が実行するプログラム等を記憶する。ＲＡＭはワーキングエリアとして使用される。また、記憶部３４は、主制御部３０の各部の動作を設定するレジスタ値を記憶する。
【００５７】
ウォッチドッグタイムアップ時にエラーコントロールモジュール３３ｂおよび割り込みコントローラ３３ｃが行う処理、並びに記憶部３４に格納されている上記レジスタ値について、詳しくは後述する。
【００５８】
報知部３５は、例えばＬＥＤ（Light Emitting Diode）、スピーカ、ディスプレイ等であり、スレーブ装置３ａの外部に向けて各種の情報を発信する。例えば、ウォッチドッグタイムアップ時に、報知部３５は、スレーブ装置３ａに異常が発生している旨の異常情報を報知する。この報知は、例えばＬＥＤが点灯することにより行うことができる。報知部３５が異常情報を報知する具体的な手段は、特に限定されるものではない。
【００５９】
リセット回路３６は、各種の電気機器が一般に備える、外部からのリセット信号に基づいて、機器の動作をリセットする回路である。リセット回路３６は、スレーブ装置３ａの電源投入時に、主制御部３０の動作をリセットする指令を割り込みコントローラ３３ｃに送信する。
【００６０】
通信インターフェイス３７は、受信部３７ａと送信部（出力部）３７ｂとを備えている。通信インターフェイス３７は、制御対象装置５０と通信可能に接続され、データの送受信を行う。本実施形態のスレーブ装置３ａでは、ウォッチドッグタイムアップ時に、受信部３７ａの動作は継続する一方で、送信部３７ｂは出力を停止するようになっている。このことについては後述する。
【００６１】
（制御対象装置）
また、図２の例では、制御対象装置５０は、通信インターフェイス５１、モータ制御部５２、モータ５３、およびエンコーダ５４を備えている。
【００６２】
通信インターフェイス５１は、スレーブ装置３ａから送信された制御信号を受信し、モータ制御部５２に送信する。モータ制御部５２は、例えばマイコンであり、モータ５３の動作を制御する。
【００６３】
エンコーダ５４は、エンコーダ制御部５４ａとセンサ５４ｂとを備えている。エンコーダ制御部５４ａは、例えばマイコンであり、センサ５４ｂを用いてモータ５３の回転を検出し、検出した情報をモータ制御部５２に送信する。
【００６４】
（その他）
スレーブ装置３ａの具体的なハードウェア構成は、実施形態に応じて、適宜、構成要素の省略、置換および追加が可能である。スレーブ装置３ａが含まれる制御システム１の具体的な構成についても、実施形態に応じて、適宜、設計されてよい。
【００６５】
§４  動作例
[制御装置]
次に、図２および図３を用いて、本実施形態における制御装置としての主制御部３０を備えるスレーブ装置３ａの、ウォッチドッグタイムアップ時の動作例について説明する。図３は、本実施形態における制御装置としての主制御部３０が実行する処理の流れの一例を示すフローチャート図である。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、および追加が可能である。
【００６６】
（起動）
まず、使用者は、制御システム１を起動し、マスタ装置２およびスレーブ装置３ａ〜３ｃが起動する。フィールドネットワーク４０を介して、マスタ装置２からスレーブ装置３ａへと、イーサネットフレームに載せてプロセスデータが送信される。スレーブ装置３ａでは、ウォッチドッグタイマ３３ａのカウンタが起動し、ウォッチドッグ回路３３が主制御部３０の動作を監視する（Ｓ１）。
【００６７】
（動作異常の監視）
ウォッチドッグタイムアップが発生しない場合（Ｓ２でＮＯ）、スレーブ装置３ａはＳ１の処理を繰り返す。ウォッチドッグタイムアップが発生した場合（Ｓ２でＹＥＳ）、ウォッチドッグタイマ３３ａからエラーコントロールモジュール３３ｂへ異常発生信号が送信される。
【００６８】
（動作異常時の処理１）
エラーコントロールモジュール３３ｂは、異常発生信号を受信すると、割り込みコントローラ３３ｃに割り込み指示を送信する（Ｓ３）。割り込みコントローラ３３ｃは、その指示に基づいて、プロセッサ３２に割り込みする処理を指令する（Ｓ４）。プロセッサ３２は、該割り込みする処理の指令を受けて、プロセッサ３２の動作をリセットする（Ｓ５）（動作異常時制御ステップ）。
【００６９】
ここで、一方で、エラーコントロールモジュール３３ｂは、スレーブコントローラ３１の動作をリセットしないように割り込みコントローラ３３ｃを制御する。このことは、例えば、エラーコントロールモジュール３３ｂから割り込みコントローラ３３ｃに送信する割り込み指示の一部をマスクすることによって実現することができる。具体的には、エラーコントロールモジュール３３ｂが異常発生信号を受信した際に実行する処理（出力信号）を設定するレジスタを、上記処理を実行するように変更する。
【００７０】
これにより、ウォッチドッグタイムアップが発生した場合に、プロセッサ３２の動作をリセットする一方で、スレーブコントローラ３１の動作を継続することができる。
【００７１】
（動作異常時の処理２）
また、上記Ｓ３において、エラーコントロールモジュール３３ｂは、割り込み処理とともに、エラー出力信号６０を送信する。エラー出力信号６０は、制御対象装置５０、報知部３５、通信インターフェイス３７に送信される。
【００７２】
エラー出力信号６０の送信の設定は、例えば以下のように行うことができる。すなわち、エラー出力信号６０の出力をマスクするか否かを設定するレジスタが存在し、エラーコントロールモジュール３３ｂは該レジスタの値に基づいてエラー出力信号６０を出力する。マスクされていないエラー出力信号６０が発生した場合、信号端子の出力がアクティブ（Ｌｏｗ）となる。当該レジスタの設定を変更することによって、エラー出力信号６０の送信の設定を変更することができる。
【００７３】
｛制御対象装置５０の動作｝
従来、上位の制御装置であるスレーブ装置の動作に異常が発生した場合、サーボモータは、スレーブ装置からの制御信号が失われたことにより、フリーラン停止を行っていた。この場合、モータの停止までに要する時間が長くなることがあり、制御システムの全体の動作に不具合が生じ得る。
【００７４】
これに対して、本実施形態のスレーブ装置３ａでは、エラー出力信号６０が制御対象装置５０に送信される。モータ制御部５２およびエンコーダ制御部５４ａは、エラー出力信号６０を受信することにより、主制御部３０の動作に異常が発生したことを把握する。そのため、モータ制御部５２およびエンコーダ制御部５４ａは、エラー出力信号６０を受信した場合に、モータ５３を減速させ、停止させる制御を行うことができる。これにより、モータ５３の動作を、より早く停止させることができる。その結果、制御システム１の動作の安定性を高めることができる。
【００７５】
｛報知部３５の動作｝
報知部３５は、例えば種々の情報を報知するための複数のＬＥＤを備えている。報知部３５は、エラー出力信号６０を受信すると、主制御部３０の動作に異常が発生した旨の異常情報を報知するエラーＬＥＤを点灯させ、その他のＬＥＤは消灯する。これにより、異常情報を使用者に報知し易くすることができる。
【００７６】
また、報知部３５が例えばスピーカである場合、異常情報を音または音声によって、使用者に報知してよい。
【００７７】
報知部３５は、エラー出力信号６０を受信した場合に、エラーＬＥＤ等のエラー報知手段以外の出力を、回路として遮断するようになっている。
【００７８】
｛通信インターフェイス３７の動作｝
通信インターフェイス３７は、エラー出力信号６０を受信すると、送信部３７ｂによる出力を遮断する。その一方で、受信部３７ａにおけるデータの受信は遮断しない。
【００７９】
これにより、主制御部３０が暴走していることに起因して異常なデータが出力されることを防止することができる。また、受信部３７ａを用いて、スレーブ装置３ａの外部からの通信を受信することができる。
【００８０】
通信インターフェイス３７は、エラー出力信号６０を受信した場合に、回路として出力遮断を行うようになっている。
【００８１】
（レジスタ設定について）
記憶部３４には、各エラー要因に対してそれぞれどのような制御を行うかを設定するレジスタが格納されている。該レジスタは、エラー出力設定レジスタ、内部リセット設定レジスタ、割り込み設定レジスタ等を含む。割り込み設定レジスタは、エラーコントロールモジュール３３ｂが実行するノンマスカブル割り込み制御の設定を行う。エラーコントロールモジュール３３ｂは、例えば９４個のエラー要因を一括で管理しており、割り込み設定レジスタの設定に基づいて動作する。
【００８２】
ここで、従来、記憶部３４に格納されたレジスタの初期値は、ウォッチドッグタイムアップが発生した場合に、エラーコントロールモジュール３３ｂが主制御部３０自体にマイコンリセットを実行する設定になっていた。
【００８３】
これに対して、本実施形態では、上記レジスタの初期設定を解除して、記憶部３４に格納されるレジスタ値を変更している。これにより、本実施形態の主制御部３０は、上述したような動作異常時の処理１および２を実行することができる。
【００８４】
（動作異常時の処理３）
また、ウォッチドッグタイムアップ時に、エラーコントロールモジュール３３ｂは、スレーブ装置３ａの動作に異常が発生した旨を伝える異常通知信号６１をスレーブコントローラ３１に送信する。この異常通知信号６１は、スレーブコントローラ３１およびフィールドネットワーク４０を介して、マスタ装置２に伝達される。この伝達は、例えば、イーサネットフレームのALStatusCodeを利用して行うことができる。
【００８５】
これにより、マスタ装置２は、フィールドネットワーク４０を介してスレーブ装置３ａの動作に異常が発生したことを迅速に把握することができる。そのため、マスタ装置２は、その情報に基づいて、どのように対処するかという制御内容を柔軟に決定することができる。
【００８６】
［作用効果］
以上のように、本実施形態では、スレーブコントローラ３１、プロセッサ３２、およびウォッチドッグ回路３３が、ワンチップマイコンに含まれる構成であるという前提構成の基で、以下のような作用効果を奏する。すなわち、ウォッチドッグタイムアップ時に、エラーコントロールモジュール３３ｂは、割り込みコントローラ３３ｃに、プロセッサ３２をリセットする一方で、スレーブコントローラ３１はリセットしないように指令を送信する。これにより、スレーブコントローラ３１の動作が停止しないため、フィールドネットワーク４０の通信を継続することができる。特に、フィールドネットワーク４０がＥｔｈｅｒＣＡＴの場合等には、フィールドネットワーク４０全体の動作が停止することを防止することができる。
【００８７】
また、エラーコントロールモジュール３３ｂは、ウォッチドッグタイムアップ時に、エラー出力信号６０を送信する。スレーブ装置３ａの各部および制御対象装置５０は、エラー出力信号６０を受信して、適切な処理を行うことができる。例えば、制御対象装置５０は、動作を柔軟に選択することができる。スレーブ装置３ａは、出力を遮断する一方で、外部からの通信の受信は可能なままとすることができる。また、スレーブ装置３ａは、動作に異常が発生したことを外部に報知することができる。そして、スレーブ装置３ａは、ウォッチドッグタイムアップ時に、受信部３７ａにおけるデータの受信は遮断しない。
【００８８】
エラーコントロールモジュール３３ｂは、スレーブコントローラ３１に異常通知信号６１を送信して、マスタ装置２に異常が発生した旨を通知することができる。
【００８９】
§５  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【００９０】
＜５．１＞
例えば、上記実施形態では、フィールドネットワーク４０として、ＥｔｈｅｒＣＡＴを用いている。しかしながら、フィールドネットワーク４０の種類は、このような例に限定されなくてもよい。例えば、フィールドネットワーク４０は、各種の産業用のイーサネットを用いてよい。また、フィールドネットワーク４０は、ＤｅｖｉｃｅＮｅｔ等のイーサネット以外の各種のフィールドネットワークであってよい。
【００９１】
＜５．２＞
また、上記実施形態の制御システム１では、３つのスレーブ装置３ａ〜３ｃがデイジーチェーン型のネットワークトポロジにてマスタ装置２と接続されている。しかしながら、制御システム１のトポロジはこのような例に限定されるものではなく、実施の形態に応じて適宜選択されてよい。例えば、リング型、スター型、ツリー型、等の各種のトポロジであってよい。また、制御システムに含まれるスレーブ装置の数は限定されるものではない。
【００９２】
〔ソフトウェアによる実現例〕
主制御部３０の制御ブロック（特にスレーブコントローラ３１およびプロセッサ３２）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ソフトウェアによって実現してもよい。
【００９３】
後者の場合、主制御部３０は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば１つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばＣＰＵ（Central Processing Unit）を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ（Read Only Memory）等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するＲＡＭ（Random Access Memory）などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００９４】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００９５】
２：マスタ装置  ３ａ〜３ｃ：スレーブ装置  ３０：主制御部（制御装置）  ３１：スレーブコントローラ（スレーブ通信コントローラ）  ３２：プロセッサ（演算処理部）  ３３：ウォッチドッグ回路（動作監視部）  ３３ａ：ウォッチドッグタイマ  ３３ｂ：エラーコントロールモジュール（異常時動作制御部）  ３３ｃ：割り込みコントローラ  ３５：報知部  ３６：リセット回路（外部リセット回路）  ３７ｂ：送信部（出力部）  ４０：フィールドネットワーク  ５０：制御対象装置  ６０：エラー出力信号
【図１】
2019074844.tif 000003
【図２】
2019074844.tif 000004
【図３】
2019074844.tif 000005
【図４】
2019074844.tif 000006
【図５】
2019074844.tif 000007