(57)【要約】【課題】装置の電源投入後、異常が発生したユニット機器を稼働させないことができる制御装置及び制御方法を提供することを課題とする。【解決手段】制御機器と、該制御機器により制御される一以上の被制御機器とを有する制御装置であって、前記被制御機器は、前記被制御機器の異常の発生を検知する検知手段を有し、前記制御機器は、前記被制御機器毎に、異常が発生したか否かを示す異常発生情報を記憶する第１の記憶手段と、前記制御装置の電源投入を契機として、前記第１の記憶手段に記憶されている異常発生情報を参照し、前記被制御機器を稼働させるための稼働要求を、異常が発生した被制御機器を除く前記一以上の被制御機器に対して行う制御手段と、を有し、前記制御機器は、前記検知手段により異常の発生が検知された場合、該異常が発生した被制御機器の異常発生情報を、異常が発生したことを示す情報に更新する、ことにより上記課題を解決する。【選択図】  図３
2016042618.tif 000002
【特許請求の範囲】
【請求項１】
制御機器と、該制御機器により制御される一以上の被制御機器とを有する制御装置であって、
前記被制御機器は、
前記被制御機器の異常の発生を検知する検知手段を有し、
前記制御機器は、
前記被制御機器毎に、異常が発生したか否かを示す異常発生情報を記憶する第１の記憶手段と、
前記制御装置の電源投入を契機として、前記第１の記憶手段に記憶されている異常発生情報を参照し、前記被制御機器を稼働させるための稼働要求を、異常が発生した被制御機器を除く前記一以上の被制御機器に対して行う制御手段と、
を有し、
前記制御機器は、前記検知手段により異常の発生が検知された場合、該異常が発生した被制御機器の異常発生情報を、異常が発生したことを示す情報に更新する、制御装置。
【請求項２】
前記制御手段は、さらに、前記異常が発生した被制御機器に対して、該異常が発生した被制御機器の稼働を抑止するための稼働抑止要求を行う、請求項１記載の制御装置。
【請求項３】
前記被制御機器は、
前記被制御機器毎に、該被制御機器の状態を示す状態情報を記憶する第２の記憶手段を有し、
前記検知手段により異常の発生が検知された場合、前記第２の記憶手段に記憶される前記状態情報を、異常発生を示す状態情報に更新し、
前記制御機器から前記稼働要求を受け付けると、前記状態情報を、稼働中を示す状態情報に更新し、
前記状態情報が稼働中である場合において、前記制御機器から前記稼働抑止要求を受け付けると、前記状態情報を、スタンバイ中を示す状態情報に更新する、請求項２記載の制御装置。
【請求項４】
前記制御装置は、
ユーザからの入力操作を受け付ける入力受付手段を有し、
前記検知手段により異常の発生が検知された被制御機器の異常状態の解除を行うための入力操作が前記入力受付手段により受け付けられた場合、前記第１の記憶手段に記憶されている該被制御機器の異常発生情報を、異常が発生していないことを示す情報に更新する、請求項１ないし３のいずれか１項に記載の制御装置。
【請求項５】
前記制御装置は、ＵＰＳである、請求項１ないし４のいずれか１項に記載の制御装置。
【請求項６】
制御機器と、該制御機器により制御される一以上の被制御機器とを有する制御装置において用いられる制御方法であって、
前記被制御機器の異常の発生を検知する検知手順と、
前記制御装置の電源投入を契機として、前記被制御機器毎に異常が発生したか否かを示す異常発生情報が記憶された記憶手段を参照し、前記被制御機器を稼働させるための稼働要求を、異常が発生した被制御機器を除く前記一以上の被制御機器に対して行う制御手順と、
を有し、
前記検知手順により異常の発生が検知された場合、該異常が発生した被制御機器の異常発生情報を、異常が発生したことを示す情報に更新する、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び制御方法に関する。
【背景技術】
【０００２】
故障等の異常が発生した機器の電源を停止する技術は従来より知られている（例えば特許文献１及び２参照）。これにより、例えば、制御機器と、１台以上のユニット機器とを有する制御装置において、１又は複数台のユニット機器（被制御機器）に異常が発生した場合でも異常が発生したユニット機器のみを停止させることで、制御装置は動作を継続させることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２３９６８８号公報
【特許文献２】特開２００９−１７６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術においては、例えば、制御装置が再起動された場合、異常が発生したユニット機器も再起動される。したがって、再度異常が発生する可能性があるユニット機器が動作することとなり、制御装置の安全上問題である。
【０００５】
本発明の実施の形態は、上記の点に鑑みてなされたもので、装置の電源投入後、異常が発生したユニット機器を稼働させないことを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、本発明の実施の形態は、制御機器と、該制御機器により制御される一以上の被制御機器とを有する制御装置であって、前記被制御機器は、前記被制御機器の異常の発生を検知する検知手段を有し、前記制御機器は、前記被制御機器毎に、異常が発生したか否かを示す異常発生情報を記憶する第１の記憶手段と、前記制御装置の電源投入を契機として、前記第１の記憶手段に記憶されている異常発生情報を参照し、前記被制御機器を稼働させるための稼働要求を、異常が発生した被制御機器を除く前記一以上の被制御機器に対して行う制御手段と、を有し、前記制御機器は、前記検知手段により異常の発生が検知された場合、該異常が発生した被制御機器の異常発生情報を、異常が発生したことを示す情報に更新することを特徴とする。
【発明の効果】
【０００７】
本発明の実施の形態によれば、装置の電源投入後、異常が発生したユニット機器を稼働させないことができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る制御装置の一例の構成を説明する図である。
【図２】本実施形態に係る制御装置の一例のハードウェア構成図である。
【図３】本実施形態に係る制御装置の一例の機能ブロック図である。
【図４】異常発生ユニット情報の一例の構成図である。
【図５】通信フレームの一例の構成図である。
【図６】本実施形態に係る異常発生時の処理の一例のシーケンス図である。
【図７】本実施形態に係る制御装置の再起動時の処理の一例のシーケンス図である。
【図８】本実施形態に係る異常状態の解除操作時の処理の一例のシーケンス図である。
【図９】異常状態解除の操作画面の一例のイメージ図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について添付の図面を参照しながら詳細に説明する。
【００１０】
＜構成＞
まず、本実施形態に係る制御装置の構成について説明する。図１は、本実施形態に係る制御装置の一例の構成を説明する図である。図１に示す制御装置１０は、プロセッサを用いて制御装置内の制御を行う制御機器１００と、制御命令に応じて動作する複数の被制御機器２００−１、２００−２、・・・、２００−１０と、入力を受け付ける入出力機器３００とを有する。以降では、複数の被制御機器２００−１、２００−２、・・・、２００−１０を互いに区別しない場合は、「被制御機器２００」と表す。なお、制御装置１０は、任意の数の被制御機器２００を有していてもよい。
【００１１】
また、制御機器１００と各被制御機器２００は、通信線４００−１及び４００−２により接続されている。通信線４００−１は、例えば、ハードウェア通信線であり、他方、通信線４００−２は、例えば、ＣＡＮ（Controller Area Network）規格の通信線である。以降では、通信線４００−１及び４００−２を互いに区別しない場合は、「通信線４００」と表す。
【００１２】
各被制御機器２００は、制御装置１０内で被制御機器２００を識別するための識別情報であるユニットＩＤを有する。
【００１３】
ある制御装置１０の制御機器１００は、入出力機器３００を通じてユーザから入力された指示や予め組み込まれたプログラムの動作に応じて、制御命令を被制御機器２００に対して送信する。ここで、制御機器１００は、例えば、図５に示される構成を有する通信フレーム１６０を用いて、送信先となる被制御機器２００のユニットＩＤをユニット情報の領域に格納する。また、制御機器１００は、制御命令を表すコマンドコードをコマンドコードの領域に格納する。
【００１４】
本実施形態に係る制御装置１０は、例えばＵＰＳ（Uninterruptible Power Supply）又はＰＬＣ（Programmable Logic Controller）などである。制御装置１０が、ＵＰＳ又はＰＬＣのように高ノイズ下でも安全に動作する必要がある場合には、上述したように、ＣＡＮのような信頼性の高い通信線を用いることが有用である。ただし、制御機器１００と被制御機器２００との間は、例えば、ＬＡＮ（Local Area Network）のような任意のネットワークで接続されていてもよい。また、通信線４００−１及び通信線４００−２が共にハードウェア通信線で構成されていてもよい。なお、図示していないが、制御装置１０は、例えば、ＣＡＮやＬＡＮのようなネットワークを介して、他の制御装置１０に接続されていてもよい。
【００１５】
＜ハードウェア構成＞
次に、本実施形態に係る制御装置のハードウェア構成について説明する。図２は、本実施形態に係る制御装置の一例のハードウェア構成図である。図２は、制御装置１０がＵＰＳである場合のハードウェア構成の一例である。図２に示す制御装置１０は、制御機器１００と、被制御機器２００と、入出力機器３００とを有する。
【００１６】
制御機器１００は、プロセッサ１１、１２と、ＡＤ変換器１３と、ＦＰＧＡ１４と、ＲＯＭ１５と、ＳＲＡＭ１６と、通信Ｉ／Ｆ１７とを有する。バス１８は、制御機器１００内の各部品を接続する。
【００１７】
プロセッサ１１は、主に、被制御機器２００の制御に係る処理を実行する。プロセッサ１２は、主に、入出力機器３００から入力された情報の処理を実行する。ＡＤ変換器１３は、図示しないセンサ等から入力されたアナログ値をデジタル値に変換する。ＦＰＧＡ１４は、入力されたデジタル値を処理する。ＲＯＭ１５は、制御機器１００を制御するプログラムや、プログラムの動作に必要なデータ等を格納する。ＳＲＡＭ１６は、プロセッサ１２のワークエリアとして動作する。通信Ｉ／Ｆ１７は、被制御機器２００とのインタフェースを提供する。
【００１８】
被制御機器２００は、プロセッサ２１と、ＦＰＧＡ２２とを有する。バス２３は、被制御機器２００内の各部品を接続する。
【００１９】
プロセッサ２１は、被制御機器２００の動作を制御する。ＦＰＧＡ２２は、プロセッサ２１からの制御に応じて、リレーなどのＯＮ／ＯＦＦ制御や検出器から入力された図示していない電圧、電流、温度などのアナログ値をデジタル値に変換し、異常時の保護とともにプロセッサ２１に異常を通知する。
【００２０】
入出力機器３００は、例えば、タッチパネルであり、ユーザに対して情報を提示するとともに、ユーザからの操作入力を受け付ける装置である。
【００２１】
＜ソフトウェア構成＞
次に、本実施形態に係る制御装置１０の機能構成について説明する。図３は、本実施形態に係る制御装置の一例の機能ブロック図である。図３は、制御装置１０が備える様々な要素のうち、本実施形態の説明に特に関連する要素を示す。以下の例では、説明を簡単にするために、制御装置１０に含まれる一の被制御機器２００を図示して説明を行う。また、図２において説明した入出力機器３００の記載は省略する。
【００２２】
≪制御機器≫
制御装置１０の制御機器１００は、記憶部１０１と、入力受付部１０２と、制御部１０３と、生成部１０４と、ユニット間通信部１０５と、判定部１０６とを有する。
【００２３】
記憶部１０１は、図４に示すような異常発生ユニット情報１５０を記憶する。異常発生ユニット情報１５０は、ユニットＩＤ毎に、各被制御機器２００に異常が発生したか否かを示す情報であり、１０ビットのユニット情報の領域を含む。なお、下位１１ビット目〜１６ビットは予約領域が設けられている。なお、記憶部１０１は、例えば、ＲＯＭ１５などの不揮発性メモリにより実現される。
【００２４】
ここで、図５に示す異常発生ユニット情報１５０は、ユニット情報の領域の各ビットが、被制御機器２００のユニットＩＤと対応付けられる。例えば、ユニット情報の領域の最下位ビットがユニットＩＤ「１」と対応し、ユニット情報の領域の下位から２番目のビットがユニットＩＤ「２」と対応する。また、ユニット情報の領域の各ビット値が、「０」の場合、異常が発生していないことを示す一方、「１」の場合、異常が発生したことを示す。したがって、例えば、ユニット情報の領域の最下位のビット値が「１」の場合、ユニットＩＤ「１」の被制御機器２００に異常が発生したことを示す。他方、ユニット情報の領域の下位から２番目のビット値が「０」の場合、ユニットＩＤ「２」の被制御機器２００には異常が発生していないことを示す。
【００２５】
入力受付部１０２は、ユーザから入力された操作入力を受け付け、その操作入力の内容を制御部１０３に通知する。ここで、入力受付部１０２は、例えば、制御命令の内容と、制御命令の対象となる一以上の被制御機器２００のユニットＩＤとの入力を受け付ける。例えば、入力受付部１０２は、ユーザから制御命令の内容として被制御機器２００を稼働させるための「稼働要求」と、稼働対象となる被制御機器２００のユニットＩＤ「２」との入力を受け付ける。
【００２６】
制御部１０３は、入力受付部１０２から通知された操作入力の内容に応じて、制御命令を発行する。このため、制御部１０３は、例えば図５に示される通信フレームを生成するように、生成部１０４に指示する。このとき、制御部１０３は、入力受付部１０２から受け取った制御命令の内容に対応するコマンドコードと、制御命令の対象となる一以上の被制御機器２００のユニットＩＤとを生成部１０４に通知する。なお、コマンドコードは、例えば、図５に示されるように制御命令の内容に対応する１６ビットの値である。
【００２７】
生成部１０４は、制御部１０３からの指示に応じて、例えば図５に示される通信フレーム１６０を生成する。ここで、図５に示す通信フレームについて説明する。
【００２８】
図５に示す通信フレーム１６０は、下位ビットから順に、１６ビットのコマンドコードの領域と、１０ビットのユニット情報の領域とを含む。なお、コマンドコードの領域とユニット情報の領域との間には、６ビットの予約領域が設けられている。なお、コマンドコードの領域及びユニット情報の領域のビット長は一例であり、それぞれ任意のビット長を用いることができる。
【００２９】
上述したように、コマンドコードの領域には、制御命令の内容に対応するコマンドコードが格納される。ユニット情報の領域には、制御命令を実行させる対象となる被制御機器２００のユニットＩＤが指定される。ここで、通信フレームのユニット情報の領域の各ビットが、被制御機器２００のユニットＩＤと対応付けられる。例えば、ユニット情報の領域の最下位ビットがユニットＩＤ「１」と対応し、ユニット情報の領域の下位から２番目のビットがユニットＩＤ「２」と対応する。したがって、例えば、ユニット情報の領域の最下位のビット値が「１」の場合、ユニットＩＤ「１」の被制御機器２００に対してコマンドコードの領域で指定された制御命令を実行させることを示す。他方、ユニット情報の領域の下位から２番目のビット値が「０」の場合、ユニットＩＤ「２」の被制御機器２００に対してはコマンドコードの領域で指定された制御命令を実行させないことを示す。なお、通信フレーム１６０に含まれるコマンドコードは一例であり、被制御機器２００を制御するための制御命令であればコマンドコードに限られない。
【００３０】
生成部１０４は、制御部１０３から受け取った一以上のユニットＩＤに対応するビットをユニット情報の領域に格納するとともに、制御部１０３から受け取ったコマンドコードをコマンドコードの領域に格納することにより、通信フレームを生成する。そして、生成部１０４は、生成した通信フレームをユニット間通信部１０５に渡す。
【００３１】
ユニット間通信部１０５は、生成部１０４から受け取った通信フレームを、被制御機器２００に対して送信する。なお、ユニット間通信部１０５は、生成部１０４から受け取った通信フレームのユニット情報の領域にビット値「１」が指定されているユニットＩＤの被制御機器２００に対して、通信フレームをマルチキャストする。例えば、通信フレームのユニット情報の領域がすべて「１」である場合、被制御機器２００−１〜２００−１０に対して通信フレームをマルチキャストする。他方、例えば、通信フレームの下位から２番目のビット値が「０」、他のビット値が「１」である場合、被制御機器２００−１、２００−３〜２００−１０に対して通信フレームをマルチキャストする。
【００３２】
また、ユニット間通信部１０５は、被制御機器２００において異常が発生したことを示す異常発生通知を受信する。なお、異常発生通知は、例えば通信線４００−１を介して受信される一方、通信フレームは、例えば通信線４００−２を介して受信される。このように、異常発生通知のような緊急性の高い情報は、伝送速度が高いハードウェア信号線などの通信線４００−１で送受信される。より詳細には、ある被制御機器２００に異常が発生すると、この被制御機器２００のハードウェアの基本制御を行っているファームウェアにより異常が検知され、通信線４００−１を介して異常発生を示す信号（異常信号）が制御機器１００に送信される。他方で、異常が発生した被制御機器２００は、発生した異常の詳細な内容を示す情報（詳細異常情報）を取得し、通信線４００−２を介して制御機器１００に送信する。このように、制御機器１００は、異常が発生した被制御機器２００から通信線４００−１を介して異常信号を受信するとともに、通信線４００−２を介して詳細異常情報を受信する。なお、制御機器１００は、詳細異常情報を受信すると、詳細異常情報に含まれる異常原因や異常箇所等の情報に応じて、所定のアプリケーション処理を行い、例えば、他の被制御機器２００に異常発生を通知したり、制御装置１０の停止等の処理が実行されてもよい。
【００３３】
判定部１０６は、異常発生ユニット情報１５０に基づき、異常が発生した被制御機器２００の有無を判定する。具体的には、判定部１０６は、異常発生ユニット情報１５０のユニット情報の領域を参照し、「１」が指定されているビットに対応する被制御機器２００を異常が発生した機器と判定する。他方、「０」が指定されているビットに対応する被制御機器２００を異常が発生していない機器と判定する。
【００３４】
≪被制御機器≫
制御装置１０の被制御機器２００は、記憶部２０１と、ユニット間通信部２０２と、制御部２０３と、検知部２０４とを有する。
【００３５】
記憶部２０１は、ユニットＩＤ２５０と、状態情報２６０とを記憶する。ユニットＩＤ２５０は、上述したように、制御装置１０内において各被制御機器２００を識別するための情報である。ユニットＩＤ２５０は、予めユーザにより定められた固定の値であってもよいし、被制御機器２００に付されたディップスイッチ（図示しない）により設定された値であってもよい。
【００３６】
状態情報２６０は、被制御機器２００の状態を示す情報である。状態情報２６０は、例えば、被制御機器２００が所定の処理（例えば電圧の計測）を実行していることを示す「稼働中」、電源は供給されているが稼働中でないことを示す「スタンバイ」、異常が発生したことを示す「異常状態」などである。なお、制御装置１０の外部には、各被制御機器２００の状態情報２６０とそれぞれ連動して点灯する、図示しないランプが設けられていてもよい。例えば、ある被制御機器２００の状態情報２６０が「稼働中」である場合、この被制御機器２００に対応するランプは緑色に点灯し、「スタンバイ」である場合、オレンジ色に点灯し、「異常状態」である場合、赤色に点灯する等である。これにより、制御装置１０の管理者等のユーザは、制御装置１０に含まれる各被制御機器２００の状態を視認することができ、ひいては各被制御機器２００の異常の発生を視認することができる。
【００３７】
ユニット間通信部２０２は、制御機器１００から通信フレームを受信する。また、ユニット間通信部２０２は、上述したように、被制御機器２００に異常が発生した場合に通信線４００−１を介して制御機器１００に異常信号を送信するとともに、後述する検知部２０４において異常の発生が検知された場合に、通信線４００−２を介して制御機器１００に対して詳細異常情報を含む異常発生通知を送信する。
【００３８】
制御部２０３は、制御機器１００から受信した通信フレームに含まれるコマンドコードに対応する制御命令を実行する。例えば、被制御機器２００の状態情報２６０が「スタンバイ」である場合において、制御機器１００から被制御機器２００を稼働させるためのコマンドコードが含まれた通信フレームを受信すると、制御部２０３は、被制御機器２００を稼働させるための制御命令を実行する。
【００３９】
検知部２０４は、被制御機器２００に異常が発生したこと、異常原因、及び異常箇所等を検知する。ここで、検知部２０４により検知される異常とは、例えば、被制御機器２００の温度異常、電圧異常などの他、故障の発生などである。
【００４０】
＜処理の詳細＞
次に、本実施形態に係る制御装置１０の処理の詳細について説明する。
【００４１】
≪異常発生時の処理≫
まず、本実施形態に係る制御装置１０に含まれる被制御機器２００に異常が発生した場合の処理について説明する。図６は、本実施形態に係る異常発生時の処理の一例のシーケンス図である。以降では、異常が発生した被制御機器２００は、被制御機器２００−１であるとして説明する。
【００４２】
まず、被制御機器２００−１に異常が発生したとする。ここで、発生した異常は、上述したように、例えば温度異常、電圧異常、故障などである。
【００４３】
被制御機器２００−１に異常が発生すると、上述したように、この被制御機器２００−１のハードウェアの基本制御を行っているファームウェアにより異常が検知され、通信線４００−１を介して異常信号が制御機器１００に送信される。これにより、制御機器１００は、被制御機器２００−１に異常が発生したことを検知することができる。
【００４４】
被制御機器２００−１に異常が発生すると、検知部２０４は、異常の発生を検知する（ステップＳ６０１）。このとき、検知部２０４は、異常原因や異常箇所等も検知する。検知部２０４により異常の発生が検知されると、異常が発生したことを制御機器１００に通知するため、異常原因や異常箇所等を示す詳細異常情報を含む異常発生通知の送信要求をユニット間通信部２０２に対して行う（ステップＳ６０２）。
【００４５】
ユニット間通信部２０２は、検知部２０４より異常発生通知の送信要求を受け取ると、記憶部２０１に対してユニットＩＤ２５０の取得する（ステップＳ６０３）。ここでは、被制御機器２００−１のユニット間通信部２０２は、ユニットＩＤ「１」を取得する。
【００４６】
そして、ユニット間通信部２０２は、記憶部２０１から取得したユニットＩＤを含む異常発生通知を制御機器１００に対して送信する（ステップＳ６０４）。
【００４７】
また、ユニット間通信部２０２は、記憶部２０１の状態情報２６０を、被制御機器２００−１に異常が発生したことを示す「異常状態」に更新する（ステップＳ６０５）。
【００４８】
一方、制御機器１００のユニット間通信部１０５は、被制御機器２００から異常発生通知を受け取ると、異常発生通知からユニットＩＤを取得し、取得したユニットＩＤに基づき異常発生ユニット情報１５０を更新する（ステップＳ６０６）。すなわち、ユニット間通信部１０５は、受け取った異常発生通知からユニットＩＤ「１」を取得した場合、図４に示す異常発生ユニット情報１５０のユニット情報の領域の最下位ビットを、異常が発生したことを示すビット値「１」に更新する。これにより、制御機器１００は、異常が発生した被制御機器２００を管理することができる。したがって、後述するように、制御装置１０が再起動された場合、異常が発生した被制御機器２００を稼働させないようにすることができる。なお、制御機器１００は、被制御機器２００から異常発生の通知を受け取ると、異常が発生した被制御機器２００を解列するように制御する。換言すれば、制御装置１０は、異常が発生した被制御機器２００を除く被制御機器２００で動作を継続する。また、制御機器１００は、上述したように、異常発生通知に含まれる詳細異常情報に応じて、所定のアプリケーション処理を実行してもよい。
【００４９】
≪制御装置の再起動時の処理≫
次に、制御装置１０を再起動した場合の処理について説明する。図７は、本実施形態に係る制御装置の再起動時の処理の一例のシーケンス図である。以降では、被制御機器２００−１で異常が発生して、上記で説明した「異常発生時の処理」が行われた後に制御装置１０が再起動されるものとして説明する。また、簡単のため、制御装置１０に含まれる被制御機器２００は、被制御機器２００−１及び被制御機器２００−２であるものとして説明する。
【００５０】
まず、制御装置１０の電源投入して、制御装置１０を起動させる（ステップＳ７０１）。例えば、制御装置１０の管理者等のユーザが、制御装置１０の電源ボタンを押下することなどにより電源を投入することができる。また、管理者等のユーザは、ネットワークを介して遠隔操作により制御装置１０の電源を投入してもよい。
【００５１】
制御装置１０が起動されると、制御機器１００の制御部１０３は、記憶部１０１から異常発生ユニット情報１５０を取得する（ステップＳ７０２）。そして、制御部１０３は、取得した異常発生ユニット情報１５０を判定部１０６に渡して、異常発生ユニットの有無の判定を要求する（ステップＳ７０３）。
【００５２】
制御機器１００の判定部１０６は、異常発生ユニット情報１５０に基づき、異常が発生した被制御機器２００の有無、及び異常が発生した被制御機器２００のユニットＩＤを特定し、判定結果を制御部１０３に返す（ステップＳ７０４）。具体的には、判定部１０６は、図４に示す異常発生ユニット情報１５０のユニット情報の領域を参照し、「１」が指定されているビットがある場合、異常が発生した被制御機器２００が存在すると判定する。また、判定部１０６は、異常発生ユニット情報１５０のユニット情報の領域の「０」が指定されているビットに対応する被制御機器２００（すなわち、異常が発生していない被制御機器２００）のユニットＩＤを特定する。本実施形態では、被制御機器２００−１は異常が発生しているため、判定部１０６は、ユニットＩＤ「１」の被制御機器２００−１に異常が発生したと判定し、判定結果を制御部１０３に返す。
【００５３】
制御部１０３は、判定部１０６から判定結果を受け取ると、判定結果に含まれるユニットＩＤ（本実施形態では、異常が発生していない被制御機器２００−２のユニットＩＤ「２」）を含む通信フレームの生成要求を生成部１０４に対して送信する（ステップＳ７０５）。なお、ここで制御部１０３が送信する生成要求は、被制御機器２００を稼働させるための制御内容に対応するコマンドコードが含まれる通信フレームの生成要求である。
【００５４】
生成部１０４は、制御部１０３から通信フレームの生成要求を受け付けると、受け取った生成要求に含まれるユニットＩＤを稼働させるための制御内容を含む通信フレームを生成する（ステップＳ７０６）。具体的には、図５に示す通信フレーム１６０のユニット情報の領域のビット値を、受け取った生成要求に含まれるユニットＩＤに対応するビットに「１」を格納し、他のビットには「０」を格納する。また、図５に示す通信フレーム１６０のコマンドコードの領域のビット値を、被制御機器２００を稼働させるための制御内容に対応する値を格納する。本実施形態では、制御部１０３から受け取った生成要求には、ユニットＩＤ「２」が含まれるため、ユニット情報の領域の下位から２番目のビットには「１」を、他のビットには「０」が格納される。これにより、異常が発生していない被制御機器２００のみを稼働させるための通信フレームが生成される。
【００５５】
さらに、生成部１０４は、異常が発生した被制御機器２００の稼働を抑止するための制御内容に対応するコマンドコードが含まれる通信フレームの生成を行ってもよい。すなわち、上記のステップＳ７０４において、異常が発生した被制御機器２００のユニットＩＤも特定し、この特定されたユニットＩＤに基づき通信フレームを生成すればよい。これにより、異常が発生した被制御機器２００の稼働を抑止させるための通信フレームが生成される。なお、異常が発生してない被制御機器２００のみを稼働させるための通信フレームと、異常が発生した被制御機器２００の稼働を抑止させるための通信フレームとが、１つの通信フレームにより実現されていてもよい。
【００５６】
なお、異常が発生した被制御機器２００の稼働を抑止させるための通信フレームが生成されない場合でも、異常が発生した被制御機器２００には、被制御機器２００を稼働させるための通信フレームが送信されないため、異常が発生した被制御機器２００が稼働状態となることはない。しかしながら、異常が発生した被制御機器２００に対して、明示的に稼働を抑止させることで、誤動作を防止することができる。以降では、異常が発生していない被制御機器２００−２に対して、被制御機器２００を稼働させるための通信フレームを送信する一方で、異常が発生した被制御機器２００−１に対しては、被制御機器２００の稼働を抑止するための通信フレームを送信する場合について説明する。
【００５７】
制御部１０３は、生成部１０４により通信フレームが生成されると、ユニット間通信部１０５に対して、生成された通信フレームの送信要求を行う（ステップＳ７０７）。以降では、該当の被制御機器２００を稼働させるための制御内容に対応するコマンドコードを含む通信フレームを「稼働要求」と表す。他方、該当の被制御機器２００の稼働を抑止するための制御内容に対応するコマンドコードを含む通信フレームを「稼働抑止要求」と表す。
【００５８】
ユニット間通信部１０５は、稼働要求の送信要求を受け付けると、被制御機器２００−２に対して稼働要求を送信する（ステップＳ７０８−１）。また、ユニット間通信部１０５は、稼働抑止要求の送信要求を受け取ると、被制御機器２００−１に対して稼働抑止要求を送信する（ステップＳ７０８−２）。
【００５９】
被制御機器２００−２のユニット間通信部２０２は、制御機器１００から稼働要求を受信すると、制御部２０３に対して、稼働要求を送信する（ステップＳ７０９−１）。制御部２０３は、ユニット間通信部２０２から稼働要求を受け付けると、稼働要求に含まれるコマンドコードに基づき、被制御機器２００−２を稼働させる（ステップＳ７１０−１）。これにより、被制御機器２００−２は、所定の処理（例えば電圧の計測）の実行を開始する。そして、制御部２０３は、記憶部２０１の状態情報２６０を、「稼働中」に更新する。
【００６０】
他方、被制御機器２００−１のユニット間通信部２０２は、制御機器１００から稼働抑止要求を受信すると、制御部２０３に対して、稼働抑止要求を送信する（ステップＳ７０９−２）。制御部２０３は、ユニット間通信部２０２から稼働抑止要求を受け付けると、稼働抑止要求に含まれるコマンドコードに基づき、被制御機器２００−１を稼働を抑止させる（ステップＳ７１０−２）。これにより、被制御機器２００−１の稼働が明示的に抑止される。そして、制御部２０３は、記憶部２０１の状態情報２６０を、「異常状態」に更新する。このように、異常が発生した被制御機器２００−１に対して明示的に稼働を抑止させることにより、例えば、電源投入時に被制御機器２００−１の状態情報２６０が「スタンバイ」となる場合に、被制御機器２００−１の状態情報２６０と制御機器１００の異常発生ユニット情報１５０とを整合させることができる。なお、記憶部２０１の状態情報２６０が「稼働中」である被制御機器２００が稼働抑止要求を受信した場合、この被制御機器２００はスタンバイ状態に移行し、状態情報２６０を「スタンバイ」に更新させる。
【００６１】
また、電源投入時に被制御機器２００−１の状態情報２６０が「スタンバイ」となる場合、上述した制御装置１０の外部に設けられた図示しないランプはオレンジ色に点灯されるため、未だ異常が内在している可能性がある被制御機器２００−１をユーザが誤って稼働させるおそれがある。異常が発生した被制御機器２００−１に対して明示的に稼働を抑止させることにより、このような事態を防止することができる。
【００６２】
以上により、制御装置１０が再起動された場合においても、異常が発生した被制御機器２００が稼働されないようにすることができる。これにより、異常が発生した被制御機器２００について、異常が発生した原因が内在したまま再び稼働されることを防止することができ、制御装置１０を安全に動作させることができるようになる。なお、異常が発生した被制御機器２００は、後述する処理で説明するように、管理者等のユーザが明示的に異常を解除する必要がある。
【００６３】
≪異常状態の解除操作時の処理≫
次に、異常が発生した被制御機器２００の異常を解除するための操作が行われた場合の処理について説明する。このような操作は、管理者等のユーザにより、例えば、異常が発生した原因が取り除かれた場合や異常が発生した被制御機器２００がリプレースされた場合などに行われる。図８、本実施形態に係る異常状態の解除操作時の処理の一例のシーケンス図である。
【００６４】
まず、ユーザは、制御装置１０の入出力機器３００に表示された図９（ａ）に示すような異常状態の解除操作画面１０００から異常状態を解除したい被制御機器２００を選択する。ここで、図９（ａ）に示す異常状態の解除操作画面１０００では、各被制御機器２００のユニットＩＤと、状態情報とが表示されている。例えば、ユニットＩＤ「１」の被制御機器２００−１の状態情報は「異常状態」、ユニットＩＤ「２」の被制御機器２００−２の状態情報は「稼働中」、ユニットＩＤ「７」の被制御機器２００−７の状態情報は「スタンバイ」であることが示されている。
【００６５】
ユーザは、異常状態を解除したい被制御機器２００（図９（ａ）ではユニットＩＤ「１」の被制御機器２００−１）を選択する。すると、図９（ｂ）に示すような確認画面１００１に遷移する。確認画面１００１においてユーザが「ＯＫ」ボタンを押下すると、制御機器１００の入力受付部１０２は、ユニットＩＤ「１」の被制御機器２００−１の異常状態の解除操作を受け付ける（ステップＳ８０１）。他方、確認画面１００１においてユーザが「キャンセル」ボタンを押下すると、異常状態の解除操作はキャンセルされる。以降では、ユーザによりユニットＩＤ「１」の被制御機器２００−１の異常状態の解除操作がなされたものとして説明する。
【００６６】
入力受付部１０２は、異常状態の解除操作を受け付けると、被制御装置２００の異常状態の解除操作がされたことを制御部１０３に対して通知する（ステップＳ８０２）。すると、制御部１０３は、該当の被制御機器２００の異常状態を解除する制御内容に対応するコマンドコードを含む通信フレームの生成要求を生成部１０４に対して行う（ステップＳ８０３）。なお、通信フレームの生成要求には、異常解除の解除操作に係るユニットＩＤが含まれる。
【００６７】
生成部１０４は、通信フレームの生成要求を受け付けると、異常状態の解除操作に係るユニットＩＤの被制御機器２００の異常状態を解除するための通信フレームを生成する（ステップＳ８０４）。具体的には、図５に示す通信フレーム１６０のユニット情報の領域に異常状態の解除操作に係るユニットＩＤに対応するビットに「１」を格納する。例えば、異常状態の解除操作に係るユニットＩＤが「１」の場合、ユニット情報の領域の最下位ビットに「１」を格納する。また、通信フレーム１６０のコマンドコードの領域には、異常状態を解除する制御内容に対応する値が格納される。
【００６８】
制御部１０３は、生成部１０４により通信フレームが生成されると、該当の被制御機器２００の異常状態を解除するための制御内容に対応するコマンドコードを含む通信フレームの送信要求をユニット間通信部１０５に対して行う（ステップＳ１０５）。以降では、該当の被制御機器２００の異常状態を解除するための制御内容に対応するコマンドコードを含む通信フレームを「異常状態の解除要求」を表す。
【００６９】
ユニット間通信部１０５は、異常状態の解除要求を該当の被制御機器２００（ここでは、ユニットＩＤ「１」の被制御機器２００−１）に送信する（ステップＳ８０６）。被制御機器２００−１のユニット間通信部２０２は、異常状態の解除要求を受信すると、制御部２０３に対して、異常状態の解除要求を送信する（ステップＳ８０７）。制御部２０３は、ユニット間通信部２０２から異常状態の解除要求を受け付けると、異常状態の解除要求に含まれるコマンドコードに基づき、被制御機器２００−１の異常状態を解除する（ステップＳ８０８）。そして、制御部２０３は、記憶部２０１の状態情報２６０を、「スタンバイ」に更新する。なお、例えば、異常が発生した被制御機器２００−１をリプレースした場合等は、ステップＳ８０８及びＳ８０９の処理は行わなくてもよい。
【００７０】
続いて、制御機器１００のユニット間通信部１０５は、異常発生ユニット情報１５０を更新する（ステップＳ８１０）。すなわち、ユニット間通信部１０５は、異常発生ユニット情報１５０のユニット情報の領域について、異常状態の解除操作に係るユニットＩＤに対応するビット値を「０」に更新する。これにより、該当の被制御機器２００の異常状態が解除される。したがって、異常状態の解除操作後、例えば、制御装置１０を再起動した場合や、入出力機器３００を介してユーザが被制御機器２００を稼働させるための稼働操作を行った場合等には、異常状態が解除された被制御機器２００を稼働させることができる。
【００７１】
＜まとめ＞
以上のように、本実施形態に係る制御装置１０の制御機器１００は、異常が発生した被制御機器２００の情報を不揮発性メモリに管理する。また、制御装置１０が再起動された場合等には、異常が発生した被制御機器２００は稼働させない。したがって、異常が発生した原因が未だ内在する可能性のある被制御機器２００の稼働を防止することができ、制御装置１０を安全に動作させることができる。
【００７２】
他方、異常が発生した被制御機器２００の異常状態は、ユーザが入出力機器３００を介して、異常状態を解除することができる。換言すれば、このような、ユーザによる明示的な解除操作がなされるまで、異常が発生した被制御機器２００を稼働させないことにより制御装置１０の安全性が保証される。
【００７３】
なお、検知部２０４は、検知手段の一例である。記憶部１０１は、第１の記憶手段の一例である。制御部１０３は、制御手段の一例である。記憶部２０１は、第２の記憶手段の一例である。入力受付部１０２は、入力受付手段の一例である。
【００７４】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００７５】
１０      制御装置
１００    制御機器
１０１    記憶部
１０２    入力受付部
１０３    制御部
１０４    生成部
１０５    ユニット間通信部
１０６    判定部
２００    被制御機器
２０１    記憶部
２０２    ユニット間通信部
２０３    制御部
２０４    検知部
３００    入出力機器
４００    通信線
【図１】
2016042618.tif 000003
【図２】
2016042618.tif 000004
【図３】
2016042618.tif 000005
【図４】
2016042618.tif 000006
【図５】
2016042618.tif 000007
【図６】
2016042618.tif 000008
【図７】
2016042618.tif 000009
【図８】
2016042618.tif 000010
【図９】
2016042618.tif 000011