(57)【要約】【課題】コマンドが格納された通信フレームを制御装置が受信してから制御動作を行うまでの遅延時間を小さくすることが可能な制御システムを得ること。【解決手段】制御システム１００は、制御対象機器の動作を指令する指令値を生成する制御装置１と、指令値に従って制御対象機器を制御する制御装置２とを備え、制御装置１は、指令値および指令値の格納先を指定する指令値格納先アドレスを含んだコマンドを生成するコマンド生成部１６と、コマンドを制御装置２へ送信する通信部１１と、を備え、制御装置２は、コマンドを受信した場合に指令値格納先アドレスが指定する格納先へ指令値を格納する通信部２１と、格納先に格納された指令値に従って制御対象機器を制御する制御部２２と、を備える。【選択図】図１
2018147017.tif 000002
【特許請求の範囲】
【請求項１】
制御対象機器の動作を指令する指令値を生成する第１の制御装置と、前記指令値に従って前記制御対象機器を制御する第２の制御装置とを備え、
前記第１の制御装置は、
前記指令値および前記指令値の格納先を指定する指令値格納先アドレスを含んだコマンドを生成するコマンド生成部と、
前記コマンドを前記第２の制御装置へ送信する通信部と、
を備え、
前記第２の制御装置は、
前記コマンドを受信した場合に前記指令値格納先アドレスが指定する格納先へ前記指令値を格納する通信部と、
前記格納先に格納された指令値に従って前記制御対象機器を制御する制御部と、
を備えることを特徴とする制御システム。
【請求項２】
前記第２の制御装置の通信部は、前記受信したコマンドの解析を行わずに前記格納先へ当該指令値を格納する、
ことを特徴とする請求項１に記載の制御システム。
【請求項３】
前記制御対象機器をモータとし、
前記モータを駆動する電流の指令値を含んだ位置指令を前記コマンドとする、
ことを特徴とする請求項１または２に記載の制御システム。
【請求項４】
前記制御対象機器の緊急停止を指令する指令値を含んだ緊急停止指令を前記コマンドとする、
ことを特徴とする請求項１または２に記載の制御システム。
【請求項５】
制御対象機器を制御する制御装置であって、
前記制御対象機器の動作を指令する指令値および前記指令値の格納先を指定する指令値格納先アドレスを含んだコマンドを受信し、前記指令値格納先アドレスが指定する格納先へ前記指令値を格納する通信部と、
前記格納先に格納された指令値に従って前記制御対象機器を制御する制御部と、
を備えることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機能を有する制御装置により構成された制御システムに関する。
【背景技術】
【０００２】
通信機能を有する制御装置で形成されたネットワークにおける通信では、通信プロトコルで規定されたコマンドをデータとして通信フレームに格納して制御装置間で送受信する。通信機能を有する制御装置は、通信フレームを受信すると、通信フレームに格納されたデータを抽出して通信用のメモリにデータを格納する。そして、マイクロコントローラ（以下、マイコンと称する）が通信用のメモリからデータを読み出してデータすなわちコマンドを解釈し、制御対象機器に対する制御内容を示すデータをレジスタ上の適切な領域に格納する。制御装置は、制御対象機器を制御する際にはレジスタからデータを読み出し、読み出したデータに応じた制御を行う。
【０００３】
特許文献１には、コマンドを送信する１次局とコマンドを受信して制御対象機器を制御する２次局とにより形成された通信システムにおいて、各２次局が１次局から受信したコマンドで指令された制御動作を速やかに実行できるようにする技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３４１４６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術によれば、制御対象機器を速やかに非常停止させることは可能である。しかしながら、非常停止させる制御以外の制御を速やかに行うことは難しい。すなわち、非常停止用のコマンドとは異なるコマンドを含んだ通信フレームを制御装置が受信した場合に、通信フレームを受信してから通信フレームに格納されたコマンドで指令された制御動作を行うまでの遅延時間を小さくすることは難しい。
【０００６】
従来は、通信フレームに格納されたコマンドの解釈処理をマイコンで行うため、コマンドの解釈処理に時間がかかる。すなわち、従来は、通信フレームで受信したコマンドの内容をマイコンが解釈し、コマンドの内容に応じて、受信したコマンドをメモリ内のどの領域に格納するかを決定するといった処理を実行していた。その結果、通信フレームを受信してから制御を行うまでの遅延時間が大きくなる。また、マイコンはコマンドの解釈処理以外の処理も行うため、処理時間にばらつきが生じ、これが原因で通信フレームを受信してから制御を行うまでの遅延時間にばらつきが生じる。
【０００７】
このため、ネットワークで接続された複数の制御装置間で、通信データに基づき複数の制御対象機器をタンデム運転させるとき、マイコンにおける処理遅延の増加と処理時間のばらつきにより、制御対象機器のタンデム運転に時間のずれとばらつきとが生じる。
【０００８】
また、制御装置のマイコンに異常が発生すると、通信フレームを受信してもコマンドの解釈処理を実行できず、制御対象機器の制御を行うことができない。たとえば、特許文献１に記載の技術では、受信した通信フレームに格納されたデータをマイコンで読み出して、２次局の非常停止処理を行っているが、ウォッチドッグタイマエラーなどのマイコンの異常が発生すると、制御対象機器を非常停止することができない。
【０００９】
本発明は、上記に鑑みてなされたものであって、コマンドが格納された通信フレームを制御装置が受信してから制御動作を行うまでの遅延時間を小さくすることが可能な制御システムを得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明にかかる制御システムは、制御対象機器の動作を指令する指令値を生成する第１の制御装置と、指令値に従って制御対象機器を制御する第２の制御装置とを備える。第１の制御装置は、指令値および指令値の格納先を指定する指令値格納先アドレスを含んだコマンドを生成するコマンド生成部と、コマンドを第２の制御装置へ送信する通信部と、を備える。第２の制御装置は、コマンドを受信した場合に指令値格納先アドレスが指定する格納先へ指令値を格納する通信部と、格納先に格納された指令値に従って制御対象機器を制御する制御部と、を備える。
【発明の効果】
【００１１】
本発明にかかる制御システムによれば、コマンドが格納された通信フレームを受信する制御装置が通信フレームを受信してから制御動作を行うまでの遅延時間を小さくすることができる、という効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１にかかる制御システムの一例を示す図
【図２】実施の形態１にかかる制御システムにおける通信で使用する通信フレームの構成例を示す図
【図３】実施の形態１にかかる制御システムにおいてスレーブとして動作する制御装置の構成例を示す図
【図４】実施の形態２にかかる制御システムの一例を示す図
【発明を実施するための形態】
【００１３】
以下に、本発明の実施の形態にかかる制御システムおよび制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態１．
図１は、本発明の実施の形態１にかかる制御システムの一例を示す図である。実施の形態１にかかる制御システム１００は、マスタとして動作する制御装置１と、スレーブとして動作する複数の制御装置２とを備える。制御装置１は第１の制御装置、制御装置２は第２の制御装置である。図１では、制御システム１００を構成している制御装置１および２の構成例も併せて記載している。また、制御対象機器の一例としてモータ１５および２５を記載している。制御装置１および２は通信機能を有し、通信ネットワークを形成している。図１ではスレーブの制御装置２を２台としているが一例であり、制御装置２は１台または３台以上であってもよい。
【００１５】
制御装置１は、制御装置２との間で通信フレームを送受信する通信部１１と、モータ１５を制御する制御部１２と、制御装置１の制御対象機器であるモータ１５および制御装置２の制御対象機器であるモータ２５を制御するコマンドを生成するコマンド生成部１６と、を備える。コマンド生成部１６が生成するコマンドとしては、モータ１５を駆動するための位置指令１３およびモータ２５を駆動するための位置指令２３が例示される。本実施の形態では、コマンドが位置指令１３および２３である場合の例について説明する。
【００１６】
制御装置２は、制御装置１または他の制御装置２との間で通信フレームを送受信する通信部２１と、モータ２５を制御する制御部２２と、を備える。
【００１７】
制御装置１において、コマンド生成部１６は、モータ１５を駆動するための電流値の演算で必要な、モータ１５の位置を算出し、算出した位置を示す値を指令値として含む位置指令１３を生成する。モータ１５の位置とは、モータ１５の回転子の位置である。また、コマンド生成部１６は、モータ２５を駆動するための電流値の演算で必要な、モータ２５の位置を算出し、算出した位置を示す値を指令値として含む位置指令２３を生成する。コマンド生成部１６は、位置指令１３を生成するとこれを制御部１２内の図示を省略したメモリに書き込み、また、位置指令２３を生成するとこれを通信部１１内の図示を省略したメモリに書き込む。なお、詳細については後述するが、位置指令２３は、モータ２５を制御する制御装置２へ送信された後、制御装置２において上記の指令値が取り出され、制御装置２の制御部２２が有しているレジスタ（図示せず）に書き込まれることになる。コマンド生成部１６は、モータ２５を駆動するための電流値の演算で必要なモータ２５の位置を算出した後、算出した位置を指令する指令値と、指令値の最終的な格納先のアドレスとを含んだ位置指令２３を生成する。指令値の最終的な格納先のアドレスとは、制御装置２の制御部２２が有しているレジスタのどこに指令値を格納すべきかを示す情報である。これ以降の説明では、指令値の最終的な格納先のアドレスを指令値格納先アドレスと称する。位置指令１３は、指令値の格納先のアドレスを含まない。すなわち、モータ１５を駆動するための電流値である指令値そのものが位置指令１３となる。
【００１８】
なお、コマンド生成部１６は、位置指令１３および２３の生成と内部メモリへの書き込みとを予め決められた周期で繰り返し実行する。以降、コマンド生成部１６が位置指令１３および２３を生成して制御部１２または通信部１１内のメモリ（以下、内部メモリと称する）に書き込む処理を実行する周期を制御周期と呼ぶ。
【００１９】
また、指令値格納先アドレスは固定とし、制御装置１から制御装置２へ繰り返し送信される位置指令２３に含まれる指令値の各々は、制御部２２が有しているレジスタの同じ領域に格納される。
【００２０】
制御部１２は、内部メモリに位置指令１３が書き込まれると、位置指令１３に応じた値の電流１４を生成してモータ１５に供給し、モータ１５を駆動する。通信部１１は、内部メモリに位置指令２３が書き込まれると、位置指令２３を通信フレーム１７に載せてスレーブの制御装置２へ送信する。なお、通信部１１は、内部メモリに書き込まれたコマンドが位置指令２３であることを認識する必要は無い。
【００２１】
図２は、位置指令２３を載せる通信フレーム１７の構成例を示す図である。通信フレームは、通信フレームの送信元を示す情報および宛先を示す情報といった情報を格納するヘッダと、位置指令２３を格納するペイロードとにより構成される。位置指令２３に含まれる指令値格納先アドレスおよび指令値はペイロードに格納される。指令値格納先アドレスおよび指令値がペイロード内のどこに格納されるかは固定とする。
【００２２】
制御装置２は、位置指令２３が格納された通信フレーム１７が送信されてくるとこれを通信部２１で受信する。通信部２１は、通信フレーム１７のヘッダを確認し、通信フレーム１７が自装置宛である場合はペイロードに格納されたデータすなわち位置指令２３を処理する。また、通信部２１は、通信フレーム１７が自装置宛ではない、すなわち他の制御装置２宛である場合、宛先の他の制御装置２に向けて転送する。通信部２１は、自装置宛の通信フレーム１７を受信した場合、位置指令２３すなわち指令値格納先アドレスおよび指令値を取り出し、指令値格納先アドレスが示す領域、具体的には制御部２２が有しているレジスタ（図示せず）内の領域に指令値を書き込む。このとき、通信部２１は、通信フレーム１７のペイロードに格納されているコマンドが位置指令２３であることを認識する必要は無い。すなわち、通信部２１は、通信フレーム１７のペイロードに格納されているコマンドを解析するといった処理は行わない。
【００２３】
図３は、スレーブとして動作する制御装置２の通信部２１および制御部２２の構成例を示す図である。制御装置２の通信部２１は、受信処理部２１１およびコマンド抽出部２１２を備える。また、制御部２２は、レジスタ２２１およびモータ駆動部２２２を備える。
【００２４】
通信部２１の受信処理部２１１は、通信フレーム１７の宛先が自装置か否かを確認し、自装置宛の場合は通信フレーム１７のペイロードに格納されたデータをコマンド抽出部２１２へ出力する。なお、受信処理部２１１は、通信フレーム１７が自装置宛ではない場合、他の制御装置２に向けた転送処理を実行する。
【００２５】
コマンド抽出部２１２は、受信処理部２１１からデータを受け取ると、データから指令値格納先アドレスおよび指令値を取り出し、指令値格納先アドレスが示す、制御部２２のレジスタ２２１内の領域に指令値を書き込む。上述したように、制御装置１のコマンド生成部１６は、制御周期で位置指令２３を繰り返し生成し、また、位置指令２３に含まれる指令値の格納先は固定であるため、レジスタ２２１の予め決められた領域に書き込まれる指令値は制御周期で更新されることになる。
【００２６】
制御部２２のモータ駆動部２２２は、スイッチング素子を含んで構成されたインバータ、インバータのスイッチング素子を制御する制御回路などを含んで構成され、制御装置１から送信される位置指令２３に従いモータ２５を駆動する電流２４を生成する。このモータ駆動部２２２は、レジスタ２２１内のどの領域に位置指令２３の指令値が書き込まれるのかを把握しており、当該領域を制御周期と同じかこれよりも短い周期で確認し、当該領域に書き込まれている指令値に従い電流２４を生成する。
【００２７】
ここでは、制御装置１が位置指令２３をコマンドとして通信フレームに格納して送信し、これを受信した制御装置２が位置指令２３に従ってモータ２５を駆動する場合の動作について説明したが、位置指令２３以外のコマンドを通信フレームに格納して送信する場合の動作も同様である。すなわち、制御装置１は、指令値格納先アドレスと指令値とで構成されるコマンドを通信フレームのペイロードに格納して送信する。制御装置２は、自装置宛の通信フレームを受信すると、受信した指令値格納先アドレスが示す、レジスタ２２１内の領域に、受信した指令値を格納する。図３に示した制御装置２のコマンド抽出部２１２が行う処理は、通信フレームで受信したコマンドに含まれる指令値を指令値格納先アドレスが示す領域（レジスタ２２１内の領域）に書き込むだけであり、マイコンを利用してコマンドの詳細を解析するといった複雑な処理を行う必要は無い。そのため、コマンドが格納された通信フレームを制御装置２が受信してからコマンドで指令された処理を行うまでの遅延時間を小さくすることができる。また、マイコンでの処理を必要としないことから、コマンドで指令された処理を行うまでの遅延時間がばらつくこともない。従って、マスタの制御装置１がコマンドすなわち位置指令２３を生成してから、スレーブの各制御装置２がモータ２５に与える電流２４を位置指令２３に従って変更するまでの一連の処理を低遅延かつ低ジッタで行うことができる。すなわち、モータ１５とモータ２５とのダンデム運転を高精度かつ低ジッタで行うことができる。
【００２８】
なお、制御部２２の内部にレジスタ２２１が存在するものとして説明を行ったが、レジスタ２２１は、通信部２１の内部に存在してもよいし、通信部２１および制御部２２とは独立した形で存在してもよい。
【００２９】
以上のように、本実施の形態にかかる制御システム１００において、マスタの制御装置１は、コマンドに含まれる指令値の格納先を指定するデータである指令値格納先アドレスと指令値とを含んだコマンドをスレーブの制御装置２へ送信し、制御装置２は、指令値格納先アドレスで指定された、自装置内のレジスタの領域に指令値を格納する。また、指令値の格納先としてモータを駆動するモータ駆動部が参照する領域を指定することとした。これにより、制御装置２による通信フレームの受信処理が簡略化され、制御装置２がコマンドを受信してからコマンドで指令された処理を行うまでの遅延時間を小さくすることができる。また、制御装置２がコマンドを受信してからコマンドで指令された処理を行うまでの遅延時間がばらつくのを防止することができる。
【００３０】
実施の形態２．
図４は、実施の形態２にかかる制御システムの一例を示す図である。実施の形態２にかかる制御システム１００ａは、マスタとして動作する制御装置１ａと、スレーブとして動作する複数の制御装置２ａとを備える。制御装置２ａには制御対象機器６が接続されている。制御装置１ａおよび２ａは実施の形態１で説明した制御装置１および２と同様に通信機能を有し、通信ネットワークを形成している。図４ではスレーブの制御装置２ａを２台としているが一例であり、制御装置２ａは１台または３台以上であってもよい。
【００３１】
制御装置１ａは、制御装置２ａとの間で通信フレームを送受信する通信部１１と、制御装置２ａに接続された制御対象機器６を制御するコマンドを生成するコマンド生成部１６ａと、を備える。コマンド生成部１６ａが生成するコマンドとしては、動作中の制御対象機器６を緊急停止させるための指令が例示される。以下の説明では、制御対象機器６を緊急停止させるための指令を緊急停止指令と称する。通信部１１は実施の形態１にかかる制御装置１の通信部１１と同じものである。
【００３２】
制御装置２ａは、制御装置１ａまたは他の制御装置２ａとの間で通信フレームを送受信する通信部２１と、制御対象機器６を制御する制御部２２ａと、を備える。通信部２１は実施の形態１にかかる制御装置２の通信部２１と同じものである。制御対象機器６は、実行中の動作を緊急停止させる緊急停止機能部６１を有するものとする。なお、図４では、制御対象機器６が有するその他の機能についての記載を省略している。
【００３３】
つづいて、制御システム１００ａの動作例を説明する。一例として、制御装置１ａが、制御装置２ａに接続された制御対象機器６を緊急停止させる場合の動作を説明する。
【００３４】
制御装置１ａにおいて、コマンド生成部１６ａは、制御対象機器６を緊急停止させる必要がある場合、緊急停止指令４３を生成し、通信部１１の図示を省略した内部メモリに書き込む。制御対象機器６を緊急停止させる必要がある場合とは、例えば、制御対象機器６を緊急停止させるための緊急停止ボタン（図示せず）が押されたことを示す信号を制御装置１ａが受信した場合、危険を検知するためのセンサ（図示せず）から危険検知を示す信号を制御装置１ａが受信した場合などが例示される。コマンド生成部１６ａは、実施の形態１で説明したコマンド生成部１６と同様に、緊急停止指令４３の指令値の最終的な格納先のアドレス、すなわち、制御装置２ａの制御部２２ａが有しているレジスタのどこに緊急停止指令４３の指令値を格納すべきかを示す指令値格納先アドレスを含んだ緊急停止指令４３を生成する。コマンド生成部１６ａは、緊急停止指令４３を生成すると、これを通信部１１の内部メモリに書き込む。
【００３５】
通信部１１は、内部メモリに緊急停止指令４３が書き込まれると、緊急停止指令４３を通信フレーム４４に載せて制御装置２ａへ送信する。通信フレーム４４の構成は実施の形態１で説明した通信フレーム１７と同様である。
【００３６】
制御装置２ａは、緊急停止指令４３が格納された通信フレーム４４が送信されてくるとこれを通信部２１で受信する。通信部２１は、通信フレーム４４のヘッダを確認し、通信フレーム４４が自装置宛である場合はペイロードに格納されたデータすなわち緊急停止指令４３を処理する。また、通信部２１は、通信フレーム４４が自装置宛ではない、すなわち他の制御装置２ａ宛である場合、宛先の他の制御装置２ａに向けて転送する。通信部２１は、自装置宛の通信フレーム４４を受信した場合、緊急停止指令４３すなわち指令値格納先アドレスおよび指令値を取り出し、指令値格納先アドレスが示す領域、具体的には制御部２２ａが有しているレジスタ（図示せず）内の領域に指令値を書き込む。このとき、通信部２１は、通信フレーム４４のペイロードに格納されているコマンドが緊急停止指令４３であることを認識する必要は無い。すなわち、通信部２１は、通信フレーム４４のペイロードに格納されているコマンドを解析するといった処理は行わない。
【００３７】
制御部２２ａは、レジスタに緊急停止指令４３の指令値が書き込まれると、制御対象機器６に対して緊急停止を指示する信号を出力する。制御対象機器６は、緊急停止を指示する信号を受信すると、動作を停止する。
【００３８】
以上のように、本実施の形態にかかる制御システム１００ａにおいて、制御装置１ａは、制御装置２ａが制御している制御対象機器６を緊急停止させる場合、指令値格納先アドレスと緊急停止を示す指令値とを含んだコマンドである緊急停止指令を制御装置２ａへ送信し、制御装置２ａは、指令値格納先アドレスで指定された、自装置内のレジスタの領域に指令値を格納する。これにより、実施の形態１にかかる制御システム１００と同様の効果を得ることができる。また、制御装置２ａにおいて、通信部２１はマイコンを利用してコマンドの詳細を解析するといった複雑な処理を行う必要が無く、ハードウェアによる処理で緊急停止指令の指令値をレジスタ内の決められた領域に格納することができる。よって、制御装置２ａのマイコンに異常が発生した場合でも制御対象機器６を緊急停止させることが可能である。
【００３９】
なお、本実施の形態の制御システム１００ａで行う制御を実施の形態１で説明した制御システム１００に対して適用し、モータ１５および２５を緊急停止させることが可能な制御システムを実現してもよい。
【００４０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００４１】
１，１ａ，２，２ａ  制御装置、６  制御対象機器、１１，２１  通信部、１２，２２，２２ａ  制御部、１５，２５  モータ、１６，１６ａ  コマンド生成部、１７，４４  通信フレーム、６１  緊急停止機能部、１００，１００ａ  制御システム、２１１  受信処理部、２１２  コマンド抽出部、２２１  レジスタ、２２２  モータ駆動部。
【図１】
2018147017.tif 000003
【図２】
2018147017.tif 000004
【図３】
2018147017.tif 000005
【図４】
2018147017.tif 000006