(57)【特許請求の範囲】
【請求項１】
少なくとも一つの端末装置と、
機械を制御する制御装置と、
ネットワークを介して接続されている前記端末装置および前記制御装置の少なくとも一方から画像および音声の少なくとも一方を含むデータを受信し、当該受信したデータを当該データの送信元とは異なる装置に配信するサーバ装置とを備え、
前記制御装置は、
制御演算を実行する制御部と、
制御対象の機械の稼働状況を示すデータを前記サーバ装置へ送信する通信部と、
前記サーバ装置が保持するそれぞれのデータにアクセス可能なユーザを定義する設定情報を格納する記憶部とを備え、
前記端末装置は、前記サーバ装置に接続している他の端末装置の状況とともに、前記制御装置が制御する機械の稼働状況を表示する表示部を備え、
前記サーバ装置は、前記制御装置から受信した設定情報に従って、保持するデータに前記端末装置を介してアクセス可能なユーザを制限する、ネットワークシステム。
【請求項２】
前記制御装置は、前記サーバ装置との間でセッションが確立されると、前記設定情報を前記サーバ装置へ送信する、請求項１に記載のネットワークシステム。
【請求項３】
前記制御装置は、予め登録された異常の発生を検出すると、前記サーバ装置との間でセッション確立の手続きを開始する、請求項１または２に記載のネットワークシステム。
【請求項４】
前記制御装置は、制御対象の機械から収集される入出力情報と属性情報とを関連付ける設定情報を格納する記憶部を備え、
前記制御装置は、前記サーバ装置から配信されるメッセージに含まれるテキストに対応する属性情報が存在するかを検索するとともに、当該テキストに対応する属性情報を検索できると、当該検索された属性情報に対応する入出力情報を、前記サーバ装置へ送信する、請求項１〜３のいずれか１項に記載のネットワークシステム。
【請求項５】
機械を制御する制御装置であって、
サーバ装置および少なくとも一つの端末装置とネットワーク接続可能な通信部と、
制御演算を実行する制御部と、
前記サーバ装置が保持するそれぞれのデータにアクセス可能なユーザを定義する設定情報を格納する記憶部とを備え、
前記サーバ装置は、
ネットワークを介して接続されている端末装置および前記制御装置の少なくとも一方から画像および音声の少なくとも一方を含むデータを受信し、当該受信したデータを当該データの送信元とは異なる装置に配信し、
前記制御装置から受信した設定情報に従って、保持するデータに前記端末装置を介してアクセス可能なユーザを制限し、
前記通信部は、制御対象の機械の稼働状況を示すデータを前記サーバ装置へ送信する、制御装置。
【請求項６】
前記制御装置は、制御対象の機械から収集される入出力情報と属性情報とを関連付ける設定情報を格納する記憶部をさらに備え、
前記制御装置は、前記サーバ装置から配信されるメッセージに含まれるテキストに対応する属性情報が存在するかを検索するとともに、当該テキストに対応する属性情報を検索できると、当該検索された属性情報に対応する入出力情報を、前記サーバ装置へ送信する、請求項５に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象を制御する制御装置を含むネットワークシステム、ならびにその制御装置に関する。
【背景技術】
【０００２】
従来から、ネットワークを介して遠隔地で稼働している装置の情報にアクセスするシステムが知られている。このようなシステムは、装置の異常動作や故障が発生した場合に、遠隔地からその要因を特定し、復旧を支援する目的においても用いられる。
【０００３】
例えば、特開２００９−２５８９８３号公報（特許文献１）は、数値制御装置に向けられた遠隔保守システムを開示する。この遠隔保守システムは、数値制御装置に設けられた表示装置において工作機械の動作状態を表示装置に表示させるとともに、当該表示装置の画面表示データを、インターネット回線を介して遠隔保守用のコンピュータに送信する。遠隔保守用のコンピュータは、画面表示用のデータを表示し、この表示に基づいて数値制御装置を制御する。
【０００４】
また、特開２０１０−０３９５６５号公報（特許文献２）は，機器からのデータを収集し、サーバ装置に送信するデータ収集装置と、データ収集装置から送信されたデータを受信して格納するサーバ装置と、サーバ装置にアクセスしデータを受信する端末装置から構成されるシステムを開示する。このような構成を採用することにより、端末装置から直接データ装置にアクセスする必要をなくしセキュリティを担保することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２５８９８３号公報
【特許文献２】特開２０１０−０３９５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したような従来技術では、装置が有する稼働状況などを示す情報にアクセスすることはできるものの、装置が有する稼働状況を示す情報と装置自体の動作状況を示す情報とを、合わせて共有することができなかった。また、装置が有する稼働状況を示す情報と装置自体の動作状況を示す情報に対して、複数の端末が同時にアクセスすることはできなかった。
【０００７】
そのため、遠隔地からの保守のシーンにおいて、装置の稼働状況を示す情報と合わせて、装置自体の動作状況を複数人で共有することができるシステムが要望されていた。
【課題を解決するための手段】
【０００８】
本発明のある局面に従うネットワークシステムは、少なくとも一つの端末装置と、機械を制御する制御装置と、ネットワークを介して接続されている端末装置および制御装置の少なくとも一方から画像および音声の少なくとも一方を含むデータを受信し、当該受信したデータを当該データの送信元とは異なる装置に配信するサーバ装置とを備える。制御装置は、制御演算を実行する制御部と、制御対象の機械の稼働状況を示すデータをサーバ装置へ送信する通信部とを備える。端末装置は、サーバ装置に接続している他の端末装置の状況とともに、制御装置が制御する機械の稼働状況を表示する表示部を備える。
【０００９】
好ましくは、制御装置は、サーバ装置が保持するそれぞれのデータにアクセス可能なユーザを定義する設定情報を格納する記憶部を備え、サーバ装置は、制御装置からの設定情報に従って、保持するデータにアクセス可能なユーザを制限する。
【００１０】
本構成によれば、複数のユーザのそれぞれに与えられえるアクセスレベルを制御装置で管理することができ、これによって、通信や通知先を制限できる。
【００１１】
好ましくは、制御装置は、予め登録された異常の発生を検出すると、サーバ装置に対するネットワーク接続を開始する。
【００１２】
本構成によれば、制御装置が異常の発生時に通知することができるので、より迅速な対処が可能になる。
【００１３】
好ましくは、制御装置は、制御対象の機械から収集される入出力情報と属性情報とを関連付ける設定情報を格納する記憶部を備える。制御装置は、サーバ装置から配信されるメッセージに含まれるテキストに対応する属性情報が存在するかを検索するとともに、当該テキストに対応する属性情報を検索できると、当該検索された属性情報に対応する入出力情報を、サーバ装置へ送信する。
【００１４】
本構成によれば、予めプログラムしておくことなく、制御装置内の任意のデータにアクセスできる。
【００１５】
本発明の別の局面に従えば、機械を制御する制御装置が提供される。制御装置は、サーバ装置および少なくとも一つの端末装置とネットワーク接続可能な通信部と、制御演算を実行する制御部とを備える。サーバ装置は、ネットワークを介して接続されている端末装置および制御装置の少なくとも一方から画像および音声の少なくとも一方を含むデータを受信し、当該受信したデータを当該データの送信元とは異なる装置に配信し、通信部は、制御対象の機械の稼働状況を示すデータをサーバ装置へ送信する。
【００１６】
好ましくは、制御装置は、制御対象の機械から収集される入出力情報と属性情報とを関連付ける設定情報を格納する記憶部をさらに備え、制御装置は、サーバ装置から配信されるメッセージに含まれるテキストに対応する属性情報が存在するかを検索するとともに、当該テキストに対応する属性情報を検索できると、当該検索された属性情報に対応する入出力情報を、サーバ装置へ送信する。
【発明の効果】
【００１７】
本実施の形態によれば、遠隔地からの保守のシーンにおいて、装置の稼働状況を示す情報と合わせて、装置自体の動作状況を複数人で共有することができるシステムを実現できる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態の保守システムの構成例を示す模式図である。
【図２】本実施の形態の制御装置の構成例を示す模式図である。
【図３】本実施の形態の制御装置のソフトウエア上の構成例を示す模式図である。
【図４】本実施の形態のサーバ装置の構成例を示す模式図である。
【図５】本実施の形態の保守システムが端末装置に提供する画面例を示す図である。
【図６】本実施の形態の保守システムで用いられる変数管理情報のデータ構造例を示す図である。
【図７】本実施の形態の保守システムで用いられるユーザ管理情報のデータ構造例を示す図である。
【図８】本実施の形態の保守システムで用いられる画面構成情報のデータ構造例を示す図である。
【図９】図８に示す画面構成情報に対応する画面要素をそれぞれ示す模式図である。
【図１０】本実施の形態の保守システムにおける制御装置の起動時の処理手順を示す図である。
【図１１】図１０のステップＳ１２２に示すメッセージ受信処理の処理手順を示すフローチャートである。
【図１２】図１０のステップＳ１２４に示す変数情報更新処理の処理手順を示すフローチャートである。
【図１３】図１０のステップＳ１０８に示すセッション確立監視モードでの処理手順を示すフローチャートである。
【図１４】本実施の形態の保守システムにおいて使用されるデータオブジェクトフォーマットの一例を示す図である。
【発明を実施するための形態】
【００１９】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。本実施の形態においては、本願発明に係るネットワークの一例として、保守システム１について説明する。この「保守システム」という用語は、当該システムの主たる使用形態を表現することを意図しているが、本願発明の技術的範囲はこの用語の範囲に限定されることはなく、特許請求の範囲の記載に基づいて、合理的に解釈されるべきである。
【００２０】
＜Ａ．保守システム１の構成＞
まず、本実施の形態の保守システム１の構成について説明する。図１は、本実施の形態の保守システム１の構成例を示す模式図である。図１を参照して、本実施の形態の保守システム１は、機械を制御する制御装置１００と、サーバ装置２００と、少なくとも一つの端末装置３００−１，３００−２，３００−３，・・・（以下、「端末装置３００」と総称することもある。）とを含む。
【００２１】
制御装置１００は、例えば、ＰＬＣ（Programmable Logic Controller）と称される産業用のコントローラであり、図示しない各種の機械（製造装置、ロボット、表示器など）を制御する。制御装置１００による機械の制御としては、機械側からセンサなどを用いて必要な情報を取得し、制御装置１００で実行されるプログラムに従って、それらの入力された情報を用いて予め定められた制御演算を実行することで、制御出力を算出し、算出された制御出力を対象の機械（典型的には、アクチュエータ）へ与える。
【００２２】
本実施の形態の保守システム１は、各種のデジタル情報（マルチメディア情報）をリアルタイムで共有することが可能な電子会議システムを有している。サーバ装置２００は、この電子会議システムを提供する。より具体的には、サーバ装置２００は、ネットワークを介して接続されている端末装置３００および制御装置１００の少なくとも一方から画像および音声の少なくとも一方を含むデータを受信し、当該受信したデータを恒久的または一時的に保持するとともに、当該データの送信元とは異なる装置に配信する。データの配信は、任意の方法を用いて実現できる。すなわち、ネットワーク接続されているすべての装置に対して、サーバ装置２００がマルチキャストまたはブロードキャストする方法を採用してもよいし、サーバ装置２００が共有対象のデータを保持しておき、その保持されているデータにネットワーク接続されている各装置がアクセスするような態様であってもよい。なお、電子会議システムが有効化されている間は、複数の装置間で共有できるように、サーバ装置２００がデータを一元的に保持するようにしてもよいが、セキュリティの観点から、電子会議システムが無効化（終了）すると、その共有されているデータを自動的に削除することが好ましい。
【００２３】
電子会議システムの典型例としては、図１には、Ｗｅｂ会議システムを例示するが、制御装置１００および１または複数の端末装置３００との間で、デジタル情報を共有できる構成であれば、どのような態様または名称のシステムを採用してもよい。例えば、「テレビ会議システム」と称されるシステムを採用してもよいし、将来的に新たなシステムが実用化された場合には、そのようなシステムを採用してもよい。また、電子会議システムは、特定のユーザのみがアクセス可能なプライベートネットワーク上で提供されてもよいし、インターネットなどのパブリックネットワーク上で提供されてもよい。いずれの場合にも、パスワードなどを用いて、ユーザに対するアクセス制限をすることが好ましい。
【００２４】
さらに、複数のネットワークシステムを組み合わせて利用してもよい。後述するように、本実施の形態の制御装置１００は、いずれかのユーザが投稿したメッセージに応答して、必要な処理を実行することも可能であり、インタラクティブな挙動を実現する。そのため、例えば、チャットシステムやＭＭＳ（Multimedia Messaging Service）などのシステムを利用することもできる。
【００２５】
本実施の形態の保守システム１においては、制御装置１００は、いわばユーザのように、電子会議システムに参加することが可能である。すなわち、ある端末装置３００のユーザから見れば、制御装置１００は、別の端末装置３００（または、その別の端末装置３００のユーザ）と同様に、１人のユーザのように見える。なお、仮想化技術を用いることで、制御装置１００が複数のユーザのように振る舞うこともできる。
【００２６】
端末装置３００の各ユーザは、他の端末装置３００のユーザとの間で電子データを遣り取り（共有）できるように、制御装置１００との間でも電子データを遣り取りすることができる。より具体的には、制御装置１００は、有する各種情報を電子会議システムへ送信するとともに、電子会議システムに接続しているいずれかの端末装置３００からの情報（指令）などを受信する。典型的な実装形態としては、サーバ装置２００が、電子会議システムに参加しているそれぞれの装置（制御装置１００および／または端末装置３００）からの情報を収集するとともに、それらの装置からの要求に応じて、収集済の情報を送信または配信する。
【００２７】
本実施の形態の保守システム１においては、制御装置１００とサーバ装置２００および／または端末装置３００との間で、インタラクティブな保守活動が可能になる。
【００２８】
なお、制御装置１００は、制御対象の装置を制御するものであり、外部からの不正なアクセスなどを防止する必要がある。そのため、本実施の形態の保守システム１においては、電子会議システムに参加する装置（あるいは、ユーザ）の種別や属性などに応じて、共有可能な情報の内容や情報共有可能な範囲などを制限できるようになっている。
【００２９】
一例として、図１には、制御装置１００が、本実施の形態の電子会議システムに対して適切な設定を行なうための設定情報１５０を保持している構成例を示す。より具体的には、制御装置１００は、設定情報１５０の一例として、変数管理情報１５２と、ユーザ管理情報１５４と、画面構成情報１５６とを保持している。これらの設定情報１５０の内容は、典型的には、制御装置１００の管理者／所有者などが、状況に応じて予め決定する。より具体的には、設定情報１５０は、電子会議システムに参加する端末装置３００に関する情報、および端末装置３００を使用するユーザに関する情報を含む。
【００３０】
図１には、制御装置１００が設定情報１５０のすべてを保持する構成例を示すが、これらの設定情報１５０の一部または全部を他の装置が保持するようにしてもよい。例えば、複数の制御装置１００が電子会議システムに参加するような構成例においては、いずれか１つの制御装置１００が設定情報１５０のすべてを保持するようにしてもよいし、複数の制御装置１００が設定情報１５０をそれぞれ部分的に保持するようにしてもよい。あるいは、サーバ装置２００またはいずれかの端末装置３００が設定情報１５０の一部または全部を保持するようにしてもよい。以下では、典型例として、制御装置１００が設定情報１５０を保持する形態を主体として説明する。
【００３１】
＜Ｂ．制御装置１００の構成＞
次に、制御装置１００の構成について説明する。図２は、本実施の形態の制御装置１００の構成例を示す模式図である。図２を参照して、制御装置１００は、予めインストールされたプログラムをプロセッサが実行することで、制御対象に対する制御を実現する。より具体的には、制御装置１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ１０２と、チップセット１０４と、メインメモリ１０６と、フラッシュメモリ１０８と、ネットワークコントローラ１１６と、メモリカードインターフェイス１１８と、内部バスコントローラ１２２と、フィールドバスコントローラ１２４とを含む。
【００３２】
プロセッサ１０２は、フラッシュメモリ１０８に格納されたシステムプログラム１１０およびユーザプログラム１１２を読み出して、メインメモリ１０６に展開して実行することで、制御対象に対する制御を実現する。すなわち、プロセッサ１０２は、メインメモリ１０６およびフラッシュメモリ１０８と連係することで、制御演算を実行する制御部を実現する。
【００３３】
システムプログラム１１０は、データの入出力処理や実行タイミング制御などの、制御装置１００の基本的な機能を提供するための命令コードを含む。ユーザプログラム１１２は、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラム１１２Ａおよびモーション制御を実行するためのモーションプログラム１１２Ｂとを含む。
【００３４】
チップセット１０４は、各コンポーネントを制御することで、制御装置１００全体としての処理を実現する。内部バスコントローラ１２２は、制御装置１００と内部バスを通じて連結されるＩ／Ｏユニット１２６とデータを遣り取りするインターフェイスである。フィールドバスコントローラ１２４は、制御装置１００とフィールドバスを通じて連結されるＩ／Ｏユニット１２８とデータを遣り取りするインターフェイスである。内部バスコントローラ１２２およびフィールドバスコントローラ１２４は、対応のＩ／Ｏユニット１２６および１２８にそれぞれ入力される制御状態値を取得するとともに、プロセッサ１０２での演算結果を対応のＩ／Ｏユニット１２６および１２８から制御指令としてそれぞれ出力する。
【００３５】
メモリカードインターフェイス１１８は、メモリカード１２０を着脱可能に構成されており、メモリカード１２０に対してデータを書込み、メモリカード１２０からデータを読出すことが可能になっている。
【００３６】
ネットワークコントローラ１１６は、各種の有線／無線ネットワークを通じたデータの遣り取りを制御する。本実施の形態の保守システム１においては、ネットワークコントローラ１１６を通じて、電子会議システムとの間でデータが遣り取りされる。すなわち、ネットワークコントローラ１１６は、サーバ装置２００および少なくとも一つの端末装置３００とネットワーク接続可能な通信部に相当する。
【００３７】
フラッシュメモリ１０８は、本実施の形態の保守システム１を実現するための、設定情報１５０および管理プログラム１６０をさらに保持している。設定情報１５０については、図１を参照して説明したように、変数管理情報１５２、ユーザ管理情報１５４、および画面構成情報１５６などを含む。管理プログラム１６０は、設定情報１５０などの情報に基づいて、電子会議システムとの間のデータの遣り取りを制御する。
【００３８】
なお、制御装置１００がプログラムを実行することで提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
【００３９】
次に、制御装置１００が提供する機能を実現するためのソフトウエア構成について説明する。図３は、本実施の形態の制御装置１００のソフトウエア上の構成例を示す模式図である。図３を参照して、制御装置１００は、フラッシュメモリ１０８（図２）にインストールされているプログラムなどを展開してプロセッサ１０２が実行することで、図３に示すような、ソフトウエア上の構成が実現される。
【００４０】
より具体的には、制御装置１００は、ソフトウエア的な構成として、ＯＳ（Operating System）１８０と、スケジューリング管理モジュール１８２と、変数制御モジュール１８４と、システム情報１８６、ユーザプログラム１１２と、変数監視プログラム１９０と、変数付加情報検索プログラム１９２と、設定情報制御プログラム１９４と、電子会議通信プログラム１９６と、設定情報１５０とを含む。
【００４１】
ＯＳ１８０は、制御装置１００上にプログラムの実行環境を提供したり、システム維持に必要な各種処理を実行したりする。
【００４２】
スケジューリング管理モジュール１８２は、ユーザプログラム１１２の適切なタイミングでの起動を管理する。変数制御モジュール１８４は、制御装置１００によるリソース制御を司る。変数制御モジュール１８４によるリソース制御の結果は、システム情報１８６に反映される。
【００４３】
設定情報１５０は、後述するように、変数、ユーザ、画面構成管理のデータベースである。
【００４４】
電子会議通信プログラム１９６は、電子会議システム（サーバ装置２００）とのセッション確立／通信を行なう。
【００４５】
変数監視プログラム１９０と、タスク周期毎に変数を監視して、いずれかの通知条件が合致しているか否かをチェックする。
【００４６】
変数付加情報検索プログラム１９２は、電子会議システムから送信されるメッセージに含まれるキーワードから変数に関連付けられた付加情報を検索する。
【００４７】
設定情報制御プログラム１９４と、電子会議システムから各種の設定情報１５０の更新が要求されたかをチェックするともに、現実の更新処理を行なう。
【００４８】
システム情報１８６には、電子会議システムの種類や通信プロトコルなどの情報が格納される。
【００４９】
なお、図３には、ソフトウエア構成の一実現例を示すのみであり、任意の実装形態を採用できる。
【００５０】
＜Ｃ．サーバ装置２００および端末装置３００の構成＞
次に、サーバ装置２００および端末装置３００の構成について説明する。図４は、本実施の形態のサーバ装置２００の構成例を示す模式図である。図４を参照して、サーバ装置２００は、汎用的なアーキテクチャを有するコンピュータである。サーバ装置２００は、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種処理を実現する。
【００５１】
サーバ装置２００は、ＣＰＵやＭＰＵなどのプロセッサ２０２と、メインメモリ２０４と、ハードディスク（ＨＤＤ）２０６と、ユーザへ情報を提示するためのディスプレイ２０８と、キーボードやマウスなどの入力部２１０と、他の装置との間でデータを遣り取りするためのネットワークコントローラ２１２とを含む。これらのコンポーネントは、内部バス２１４を介して互いにデータ通信可能に接続されている。ハードディスク２０６は、サーバ装置２００での基本的なプログラムの実行環境を提供するためのＯＳ（Operating System）２２０と、電子会議システムを提供するための会議運営プログラム２２２とを保持する。これらのプログラムがメインメモリ２０４に読み出されて、プロセッサ２０２で実行される。
【００５２】
端末装置３００についても、基本的には、サーバ装置２００と類似の構成が採用される。但し、ハードディスクには、サーバ装置２００とは異なり、会議運営プログラム２２２がインストールされる必要はなく、それに代えて、サーバ装置２００にアクセスするためのプログラム（典型的には、ブラウザアプリケーションなど）がインストールされる。
【００５３】
また、端末装置３００については、汎用的なパーソナルコンピュータであってもよいし、可搬型のデバイス（スマートフォンやタブレットなど）であってもよい。
【００５４】
なお、サーバ装置２００および端末装置３００がプログラムを実行することで提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
【００５５】
＜Ｄ．使用例＞
次に、本実施の形態の保守システム１の利便性の理解を容易にするために、典型的な使用例について説明する。
【００５６】
再度図１を参照して、本実施の形態の保守システム１は、遠隔地にある装置を保守する業務を支援することが想定されている。このような遠隔地にある装置（典型的には、工場）の保守には、当該工場を保守する企業の現場作業者や管理者に加えて、工場に装置を納入した装置ベンダーなどのユーザも接続することが好ましい。すなわち、本実施の形態の保守システム１についての典型的な使用形態としては、装置を所有・保持する組織に属するユーザに加えて、立案などに関与して、当該装置により詳しいユーザ（但し、当該装置に所有者である組織には属してない）が基本的には同じ情報を共有することで、何らかの装置の異常動作や故障などが発生した場合に、それぞれの知見を出し合って、問題を早期に解決することが想定されている。
【００５７】
後述するように、装置ベンダーのユーザは、納入した装置自体には責任を負うが、工場の運営自体には関与することはなく、工場を所有する組織に属するユーザに比較して、より限られた情報のみが提供されることになる。すなわち、本実施の形態の保守システム１では、電子会議システムに参加するそれぞれのユーザの間でインタラクティブに情報を共有することが可能であるが、同時に、それぞれのユーザに対して、必要に応じてアクセス可能な情報を制限することも可能になっている。このようなアクセス管理の一手法として、本実施の形態においては、各ユーザおよび／または各情報に対して、「アクセスレベル」を設定し、この「アクセスレベル」に基づいて、あるユーザがある情報にアクセスしようとするときに、そのアクセスが許可されるか否かを判断する。
【００５８】
図１に示す保守システム１の構成例において、端末装置３００−１は、工場を所有するユーザの管理者が使用しており、端末装置３００−２は、装置ベンダーのユーザが使用しているとする。図５は、本実施の形態の保守システム１が端末装置３００に提供する画面例を示す図である。図５（ａ）は、端末装置３００−１上で提供される画面例を示し、図５（ｂ）は、端末装置３００−２上で提供される画面例を示す。
【００５９】
図５を参照して、端末装置３００上で提供される画面には、ユーザの状態を確認できるユーザリスト４１０、現場に設置されたカメラからの画像４２１を示すカメラウィンドウ４２０、共有サーバまたは電子会議システム上に保持されているオブジェクト４３１（装置マニュアルといった各種ドキュメントなど）を表示するオブジェクトウィンドウ４３０、および、他のユーザが使用している端末装置３００上の状態を示すデスクトップオブジェクト４４０などの画面要素が、選択的に表示される。各ユーザの端末装置３００上に表示可能な画面要素は、各端末装置３００を使用するユーザに割り当てられているアクセスレベルに依存する。
【００６０】
なお、カメラウィンドウ４２０に表示される画像４２１は、現場作業者などが使用する端末装置３００−３（典型的には、携帯端末）によって撮像された任意の場所の画像であってもよい。デスクトップオブジェクト４４０を（互いに）表示させることで、情報共有がより容易化される。
【００６１】
例えば、ユーザリスト４１０には、端末装置３００−１および３００−２を使用している（すなわち、電子会議システムにログインしている）ユーザである、「鈴木」および「佐藤」の状態（属性情報および「接続中」といった稼働状況を示す情報）が表示されており、それぞれのユーザは、相手方が同一の電子会議システムにログインしていることを一見して認識できる。さらに、電子会議システムには、制御装置１００が仮想的なユーザとしてログインしており、ユーザリスト４１０には、制御装置１００の状態（属性情報および「稼働中」といった稼働状況を示す情報）が本当のユーザの状態を示す情報と並べて表示される。
【００６２】
すなわち、制御装置１００の通信部は、制御対象の機械の稼働状況を示すデータをサーバ装置２００へ送信する。そして、端末装置３００は、サーバ装置２００に接続している他の端末装置３００の状況とともに、制御装置１００が制御する機械の稼働状況を表示するディスプレイ（表示部）を有する。
【００６３】
また、カメラウィンドウ４２０については、端末装置３００−１の画面上にのみ表示されており、端末装置３００−２の画面上には表示されていない。これは、カメラウィンドウ４２０内の画像４２１は、工場の稼働状況といった一種の営業秘密に該当する可能性があり、かつ、装置ベンダーのユーザによる保守作業に直接的には必要ない情報であるので、装置ベンダーのユーザに対しては、提供されないように予め設定されているとする。
【００６４】
本実施の形態の保守システム１では、制御装置１００は、ユーザのように振る舞うことができるので、例えば、制御装置１００の制御対象のいずれかにおいて、何らかの異常動作や故障が発生した場合には、電子会議システムを通じて、その内容を知らせるためのメッセージを参加しているユーザへ送信することもできる。あるいは、電子会議システムに参加しているいずれかのユーザが制御装置１００に向けてメッセージを送信すると、そのメッセージに含まれるキーワードなどを抽出して、当該抽出されたキーワードに応じた応答を実行することもできる。このように、ユーザと制御装置１００との間で、双方向の情報交換を含むインタラクティブな環境を提供できる。
【００６５】
＜Ｅ．設定情報１５０のデータ構造＞
次に、本実施の形態の保守システム１で用いられる設定情報１５０のデータ構造の一例について説明する。上述したように、本実施の形態においては、制御装置１００が設定情報１５０を保持しており、制御装置１００が電子会議システムに接続する際に、設定情報１５０をサーバ装置２００へ与える（アップロードする）ことで、電子会議システムを予め設定された状態にセットアップする。
【００６６】
（ｅ１：変数管理情報１５２）
図６は、本実施の形態の保守システム１で用いられる変数管理情報１５２のデータ構造例を示す図である。図６を参照して、変数管理情報１５２は、制御装置１００が電子会議システムに情報を送信する条件や、その送信される情報の種別などを特定するものである。変数管理情報１５２によって管理される変数は、ユーザが作成したプログラムの変数（以下、「ユーザ変数」と称する。）と、制御装置１００がシステムとして保持する変数（以下、「システム変数」と称する。）とを含む。ユーザ変数は、ユーザ自身が作成した変数だけではなく、制御装置１００に接続されているＩ／Ｏユニット１２６との間のＩ／Ｏの割り付け情報などを含み得る。すなわち、制御装置１００は、制御対象の機械から収集される入出力情報（Ｉ／Ｏデータ）と属性情報とを関連付ける設定情報として変数管理情報１５２を格納する。
【００６７】
より具体的には、変数管理情報１５２は、ユーザ変数毎に、ＩＤ１５２１、変数名１５２２、値１５２３、通知条件１５２４，１５２５、および、付加情報１５２６がコンポーネントとして定められる。
【００６８】
ＩＤ１５２１には、各ユーザ変数をユニークに特定する識別情報／識別番号が格納される。変数名１５２２には、各ユーザ変数がどのような内容であるのかを、ユーザが一見して把握できるように設定される別名が格納される。
【００６９】
通知条件は、制御装置１００において、何らかのイベントが発生したら、電子会議システムにメッセージを送信するための条件が格納される。この通知条件１５２４，１５２５は、ユーザによって任意に設定変更が可能であり、かつ、複数の条件が設定可能である。より具体的には、通知条件１５２４，１５２５は、通知型、条件式、通知先、通知レベルなどのコンポーネントとして構成される。
【００７０】
通知条件１５２４内の通知型は、通知タイミングを決定するものであり、具体的には、通知型としては、定期的に通知することを示すサイクリックと、対応する条件が満たされたことを契機に通知するイベントとが選択可能になっている。図６に示す変数管理情報１５２の値１５２３は、対応する条件が満たされているか否かを定期的に判断する周期（時間間隔）が示す。図６に示す例では、ミリセカンド単位の整数値が設定されている例を示す。
【００７１】
通知条件１５２４内の条件式としては、真／偽の戻り値を想定した演算式の例を示す。図６に示す例では、２項演算式を最小単位とされている。オペランドとしては、監視対象変数またはリテラル値と、各種演算子（例えば、＝＝，！＝，＞＝，＜＝，＞，＜，／，％，＆＆，｜｜）とを用いて設定される。なお、図６に示す例において、条件式に「ＮＵＬＬ」が設定されると、対応する値が変化した場合に真となり、対応する処理が実行されることになる。
【００７２】
通知条件１５２４内の通知レベルは、通知の優先度を示す整数値が設定され、数値の大きいものが、より高レベルに設定される。
【００７３】
通知条件１５２４内の通知先は、ユーザ管理情報１５４（後述する）において定義されるＩＤを用いて設定される。この通知先は、複数を指定することもできる。
【００７４】
付加情報１５２６には、ユーザプログラム１１２が参照する変数に関するコメント、および、システムが予め用意している変数に関するコメントに加えて、任意に複数のコメントが追加可能になっている。
【００７５】
制御装置１００は、制御対象において、以上のような変数管理情報１５２に合致するイベントが発生した場合には、対応する情報を電子会議システムを介して、指定された通知先へ送信することになる。
【００７６】
（ｅ２：ユーザ管理情報１５４）
図７は、本実施の形態の保守システム１で用いられるユーザ管理情報１５４のデータ構造例を示す図である。図７を参照して、ユーザ管理情報１５４は、電子会議システムに接続（ログイン）可能なユーザを特定するものである。すなわち、制御装置１００は、サーバ装置２００が保持するそれぞれのデータにアクセス可能なユーザを定義する設定情報としてのユーザ管理情報１５４を格納する。そして、制御装置１００からサーバ装置２００へユーザ管理情報１５４が与えられることで、サーバ装置２００は、アクセス管理を実行する。つまり、サーバ装置２００は、制御装置１００からの設定情報（ユーザ管理情報１５４）に従って、保持するデータにアクセス可能なユーザを制限する。
【００７７】
より具体的には、ユーザ管理情報１５４は、ユーザ毎に、ＩＤ１５４１、ユーザ名１５４２、付加情報１５４３、メールアドレス１５４４、パスワード１５４５、および、アクセスレベル１５４６がコンポーネントとして定められる。
【００７８】
ＩＤ１５４１は、各ユーザをユニークに特定する識別情報／識別番号が格納される。ユーザ名１５４２には、各ユーザを一見して把握できるように設定される別名が格納される。ユーザ名１５４２は、例えば、ユーザリスト４１０（図５）での各ユーザの表示に用いられる。付加情報１５４３には、各ユーザに関する情報が格納されており、対応するユーザ名１５４２の内容とともに表示される。
【００７９】
ユーザ名１５４２（または、メールアドレス１５４４）およびパスワード１５４５は、電子会議システムへの各ユーザのアクセスの際に用いられる。すなわち、これらの情報は、各ユーザが電子会議システムへログインする際の認証手続きに用いられる情報である。なお、パスワード１５４５は、暗号化されて格納されており、電子会議システム（サーバ装置２００）が各ユーザの認証処理を実行する際に、必要に応じて復号化されてもよい。
【００８０】
アクセスレベル１５４６は、対応するユーザがアクセス可能な情報のレベルを示す値（典型的には、生の整数値を用いる）であり、本実施の形態においては、その値が大きい方がよりレベルが高いものとする（値が小さい方がよりレベルが高くなるように実装してもよい）。
【００８１】
なお、各コンポーネントを管理する制御装置１００自体についても、ユーザ管理情報１５４に登録されており、そのアクセスレベルは最大（基本的には、フルアクセス権が設定されている。）になっているものとする。
【００８２】
（ｅ３：画面構成情報１５６）
図８は、本実施の形態の保守システム１で用いられる画面構成情報１５６のデータ構造例を示す図である。図８を参照して、画面構成情報１５６は、各ユーザの端末装置３００上に表示可能な画面要素を定義するものである。
【００８３】
より具体的には、画面構成情報１５６は、画面要素毎に、ＩＤ１５６１、名称１５６２、ＵＲＩ（Uniform Resource Identifier）１５６３、および、アクセスレベル１５６４がコンポーネントとして定められる。
【００８４】
ＩＤ１５６１は、各画面要素をユニークに特定する識別情報／識別番号が格納される。名称１５６２には、各画面要素を一見して把握できるように設定される別名が格納される。ＵＲＩ１５６４は、対応する画面要素のソースが存在する位置が格納される。すなわち、各画面要素は、対応する画面構成情報１５６に記述されるリンク情報に基づいて、動的にその内容が構築される。
【００８５】
アクセスレベル１５６４は、対応するユーザがアクセス可能な情報のレベルを示す値（典型的には、生の整数値を用いる）であり、本実施の形態においては、その値が大きい方がよりレベルが高いものとする（値が小さい方がよりレベルが高くなるように実装してもよい）。アクセスレベル１５６４は、対応するコンテンツに対するアクセス管理を制御し、アクセスレベル１５６４と同じ、またはアクセスレベル１５６４より少し高いアクセスレベルが付与されているユーザのみがアクセス可能になる。このように、本実施の形態の保守システム１では、それぞれのユーザおよび画面要素に設定されたアクセスレベルの値を用いて、アクセス制御が実現される。
【００８６】
図９は、図８に示す画面構成情報１５６に対応する画面要素をそれぞれ示す模式図である。図９（ａ）には、ユーザリスト４１０が示され、図９（ｂ）には、カメラウィンドウ４２０が示され、図９（ｃ）には、オブジェクトウィンドウ４３０が示される。これら画面要素の一部または全部が選択的に、各ユーザの端末装置３００上に提供されることになる。
【００８７】
＜Ｆ．保守システム１内の動作＞
本実施の形態の保守システム１においては、制御装置１００、サーバ装置２００、端末装置３００は、以下のように動作する。
【００８８】
制御装置１００は、タスク周期毎に変数（ユーザ変数および／またはシステム変数）の値を監視し、監視対象の変数の値が予め設定された通知条件１５２４（条件式）を満たすと、サーバ装置２００へ通知を行なう。サーバ装置２００は、満たされた通知条件１５２４に対応する通知先の宛先リストに従って、メールを送信する。
【００８９】
制御装置１００は、電子会議システムにおいて、ユーザ間で遣り取りされるメッセージを監視する。そして、監視したメッセージ中に変数の付加情報と一致する内容があると、制御装置１００は、サーバ装置２００へ通知を行なう。
【００９０】
電子会議システムに接続するユーザは、ユーザ管理情報１５４に設定されたユーザ名１５４２（または、メールアドレス１５４４）およびパスワード１５４５を用いてログインする。
【００９１】
サーバ装置２００は、ユーザのアクセスレベルに応じた画面を構成し、ユーザは自身のアクセスレベルに応じた画面を閲覧することができる（図５参照）。
【００９２】
電子会議システムに接続したユーザは、自身のデスクトップ画面や端末装置３００のカメラからの画像を電子会議システム上で共有することができる。この共有画面を閲覧できるユーザは、共有元のユーザのアクセスレベルを満たすユーザのみとする。
【００９３】
制御装置１００と同等のアクセスレベルを持つユーザは、電子会議システム上で、設定情報１５０を更新することができる。
【００９４】
制御装置１００は、起動時に設定情報１５０の内容を精査し、何らかの矛盾が発生した場合には、ＰＬＣ機能としてのエラー設定を行なう。あるいは、制御装置１００は、電子会議システムから設定される設定情報１５０の更新内容を精査し、何らかの矛盾が発生した場合は、エラー応答を行ない、設定情報１５０を更新しない。
【００９５】
制御装置１００の状態表示用の変数名を、変数管理情報１５２の予約変数名としてもよい。例えば、変数名を「ＰＬＣ＿Ｓｔａｔｕｓ」に設定できる。この場合には、この変数の値を文字列とし、電子会議システムのユーザリスト４１０（図５）に表示することができる。
【００９６】
電子会議システム内の通信（制御装置１００、サーバ装置２００、端末装置３００の間の通信）に関して、各種の電子会議システムに対応するため、制御装置１００は、複数の通信プロトコル（認証処理および暗号化処理を含む）に対応することが好ましい。
【００９７】
なお、通信プロトコルの内容、後述するデータオブジェクトフォーマットの言語、電子会議システムの種類、ユーザ管理情報１５４のパスワードの暗号化方法などは、制御装置１００のシステム情報に格納され、管理者が設定可能にすることが好ましい。
【００９８】
＜Ｇ．保守システム１内の処理手順＞
次に、本実施の形態の保守システム１における典型的な処理手順について説明する。
【００９９】
（ｇ１：制御装置１００の起動時）
本実施の形態の保守システム１においては、制御装置１００が起動したことをトリガーとして、電子会議システムへの接続を確立する。図１０は、本実施の形態の保守システム１における制御装置１００の起動時の処理手順を示す図である。図１０には、制御装置１００が起動してから、通常モード（ＰＬＣ運転モード）へ遷移するまでの全体処理手順を示す。
【０１００】
図１０を参照して、電源が投入されると、あるいは、運転開始が指示されると、制御装置１００は、設定情報１５０が入力済であるか否かを判断する（ステップＳ１００）。設定情報１５０が入力済でなければ（ステップＳ１００においてＮＯ）、制御装置１００は、設定情報１５０の入力を待つ。このとき、設定情報１５０が入力されていないことを、何らかの方法でユーザへ通知するようにしてもよい。
【０１０１】
設定情報１５０が入力済であれば（ステップＳ１００においてＹＥＳ）、制御装置１００は、起動処理を開始する（ステップＳ１０２）。そして、制御装置１００は、サーバ装置２００との間で、セッション確立の手続きを行なう（ステップＳ１０４）。制御装置１００は、この手続きによって、セッションが確立されたか否かを判断する（ステップＳ１０６）。セッションが確立されていなければ（ステップＳ１０６においてＮＯ）、制御装置１００は、後述するセッション確立監視モードへ移行する（ステップＳ１０８）。セッション確立監視モードにおける処理については、図１３を参照して詳述する。
【０１０２】
セッションが確立されていれば（ステップＳ１０６においてＹＥＳ）、制御装置１００は、入力済の設定情報１５０の内容をチェックし、その設定内容に不整合があるか否かを判断する（ステップＳ１１０）。
【０１０３】
入力済の設定情報１５０の設定内容に不整合があれば（ステップＳ１１０においてＹＥＳ）、制御装置１００は、処理を停止する（ステップＳ１１２）。なお、制御装置１００の処理が停止したことを、何らかの方法でユーザへ通知するようにしてもよい。
【０１０４】
入力済の設定情報１５０の設定内容に不整合がなければ（ステップＳ１１０においてＮＯ）、制御装置１００は、サーバ装置２００へ設定情報１５０を送信する（ステップＳ１１４）。そして、制御装置１００は、ＰＬＣ運転モードへ遷移する（ステップＳ１１６）。なお、サーバ装置２００は、必要に応じて、制御装置１００から受信した設定情報１５０を端末装置３００へ送信する（ステップＳ１１５）。
【０１０５】
ＰＬＣ運転モードにおいて、制御装置１００は、サーバ装置２００または端末装置３００から何らかのメッセージを受信したか否かを判断する（ステップＳ１２０）。いずれかの端末装置３００は、ユーザの操作に従って、何らかのメッセージを電子会議システム内に送信する（ステップＳ１１７）。サーバ装置２００は、いずれかの端末装置３００から何らかのメッセージを受信すると、それを配信するために、制御装置１００へ転送する（ステップＳ１１８）。制御装置１００は、サーバ装置２００から転送されたメッセージを受信することになる。
【０１０６】
何らかのメッセージを受信すると（ステップＳ１２０においてＹＥＳ）、制御装置１００は、後述するメッセージ受信処理を開始する（ステップＳ１２２）。メッセージ受信処理については、図１１を参照して詳述する。
【０１０７】
これに対して、何らのメッセージも受信していなければ（ステップＳ１２０においてＮＯ）、制御装置１００は、変数を監視するタスク周期が到来しているか否かを判断する（ステップＳ１２４）。タスク周期が到来していれば（ステップＳ１２４においてＹＥＳ）、制御装置１００は、後述する変数情報更新処理を開始する（ステップＳ１２６）。変数情報更新処理については、図１２を参照して詳述する。
【０１０８】
これに対して、タスク周期が到来していなければ（ステップＳ１２４においてＮＯ）、ステップＳ１１８以下の処理が繰り返される。
【０１０９】
（ｇ２：メッセージ受信処理）
次に、図１０のステップＳ１２２に示すメッセージ受信処理の詳細について説明する。図１１は、図１０のステップＳ１２２に示すメッセージ受信処理の処理手順を示すフローチャートである。図１１に示すメッセージ受信処理は、サーバ装置２００などから何らかのメッセージを受信した場合に実行される。
【０１１０】
より具体的には、図１１を参照して、制御装置１００は、他の装置から受信したメッセージが設定情報１５０の更新を指示するメッセージであるか否かを判断する（ステップＳ２００）。他の装置から受信したメッセージが設定情報１５０の更新を指示するメッセージであれば（ステップＳ２００においてＹＥＳ）、制御装置１００は、受信したメッセージに従って設定情報１５０を更新するとともに、更新後の設定情報１５０の内容をチェックし、その設定内容に不整合があるか否かを判断する（ステップＳ２０２）。更新後の設定情報１５０の設定内容に不整合があれば（ステップＳ２０２においてＹＥＳ）、制御装置１００は、エラー応答を行ない、設定情報１５０を更新しない（ステップＳ２０４）。そして、処理はリターンする。
【０１１１】
これに対して、更新後の設定情報１５０の設定内容に不整合がなければ（ステップＳ２０２においてＮＯ）、制御装置１００は、更新後の設定情報１５０の設定内容を登録する（ステップＳ２０６）。
【０１１２】
これに対して、他の装置から受信したメッセージが設定情報１５０の更新を指示するメッセージでなれば（ステップＳ２００においてＮＯ）、制御装置１００は、当該メッセージに含まれるキーワードを用いて、変数管理情報１５２に定義される付加情報１５２６を検索する（ステップＳ２１０）。そして、制御装置１００は、受信したメッセージに含まれるキーワードと一致する付加情報１５２６を見つけることができたか否かを判断する（ステップＳ２１２）。
【０１１３】
受信したメッセージに含まれるキーワードと一致する付加情報１５２６を見つけることができれば（ステップＳ２１２においてＹＥＳ）、制御装置１００は、当該キーワードと一致する付加情報１５２６に対応する変数名およびその値を含むメッセージをサーバ装置２００（電子会議システム）へ送信する（ステップＳ２１４）。そして、処理はリターンする。
【０１１４】
これに対して、受信したメッセージに含まれるキーワードと一致する付加情報１５２６を見つけることができなければ（ステップＳ２１２においてＮＯ）、制御装置１００は、処理をリターンする。
【０１１５】
すなわち、ステップＳ２０２およびＳ２０６の処理は、制御装置１００が保持する設定情報１５０を外部の装置からの指令によって更新する処理であり、ステップＳ２１０〜Ｓ２１４は、外部の装置から発信されたメッセージに応答して、制御装置１００が要求された変数およびその値を応答する処理である。このように、制御装置１００は、サーバ装置２００から配信されるメッセージに含まれるテキストに対応する属性情報が存在するかを検索するとともに、当該テキストに対応する属性情報を検索できると、当該検索された属性情報に対応する入出力情報を、サーバ装置２００へ送信する。
【０１１６】
このように、本実施の形態の制御装置１００は、ユーザが投稿したメッセージの内容に応じて、予め登録されたまたは当該メッセージ内で指定された処理を自動的に実行する。つまり、ユーザから見れば、何らかの設備の情報を知りたいときには、その設備を特定する情報を含むメッセージを送信すれば、制御装置１００が、そのメッセージの内容を自動的に判別して、指定された情報（設備の状況など）を応答することになる。本実施の形態においては、このようなメッセベースのインタラクティブな処理も採用しているので、上述したような、電子会議システムだけではなく、例えば、チャットシステムやＭＭＳなどのシステムを利用して実装することもできる。さらに、チャットシステムやＭＭＳでは、静止画および／または動画を送受信することもでき、これらの機能を利用することで、制御装置１００との間のインタラクティブな保守作業を実現できる。
【０１１７】
（ｇ３：変数情報更新処理）
次に、図１０のステップＳ１２４に示す変数情報更新処理の詳細について説明する。図１２は、図１０のステップＳ１２４に示す変数情報更新処理の処理手順を示すフローチャートである。図１２に示す変数情報更新処理は、制御装置１００で管理しているフィールド側の情報が変化して、予め定められた通知条件（条件式）を満足することをトリガーとして、電子会議システムへメッセージを送信する処理である。
【０１１８】
より具体的には、図１２を参照して、制御装置１００は、変数管理情報１５２に登録されている変数の現在値を取得し（ステップＳ３００）、取得した現在値で変数を更新する（ステップＳ３０２）。続いて、制御装置１００は、変数の現在値（および、必要に応じて、更新前の値）を用いて、予め登録されている条件式を演算する（ステップＳ３０４）。そして、制御装置１００は、いずれかの条件式に一致するか（すなわち、いずれかの条件式が成立するか）否かを判断する（ステップＳ３０６）。
【０１１９】
いずれかの条件式が一致すれば（ステップＳ３０６においてＹＥＳ）、制御装置１００は、当該一致した条件に対応する変数名およびその値を含むメッセージをサーバ装置２００（電子会議システム）へ送信する（ステップＳ３０８）。そして、処理はリターンする。
【０１２０】
これに対して、いずれの条件式も一致しなければ（ステップＳ３０６においてＮＯ）、処理はリターンする。
【０１２１】
すなわち、図１２に示す変数情報更新処理は、制御装置１００が監視する変数に何らかの変化があった場合に、その内容を電子会議システムへ通知する処理である。
【０１２２】
（ｇ４：セッション確立監視モード）
次に、図１０のステップＳ１０８に示すセッション確立監視モードの詳細について説明する。図１３は、図１０のステップＳ１０８に示すセッション確立監視モードでの処理手順を示すフローチャートである。
【０１２３】
図１３に示すセッション確立監視モードは、通常時には、制御装置１００は、電子会議システムには接続しておらず、制御対象に何らかの異常が発生した場合などに限って、現場作業者などが制御装置１００をネットワーク接続することで、電子会議システムに接続するような使用形態を想定したものである。すなわち、セッション確立監視モードは、何らの異常もないときは、制御装置１００が関与する電子会議システムは有効化されていないが、制御対象の機械に何らかの異常やイベントが発生すると、電子会議システムが有効化されるモードである。つまり、制御装置１００は、予め登録された異常の発生を検出すると、サーバ装置２００に対するネットワーク接続を開始する。
【０１２４】
このセッション確立監視モードでは、制御装置１００は、基本的には、登録された変数の監視のみを行なっており、通常時には、何らのイベントも通知しない。但し、現場作業者などが制御装置１００をネットワークに接続する操作を行ない、ネットワーク接続が確認できた時点で、制御装置１００は、設定情報１５０およびイベント情報を電子会議システムへ送信することで、電子会議システムに参加しているユーザは、情報の共有を開始する。また、装置で発生した異常が解消された場合には、管理ユーザが電子会議システムのインターフェイスを利用して、電子会議システムを終了してもよい。
【０１２５】
より具体的には、図１３を参照して、制御装置１００は、入力済の設定情報１５０の内容をチェックし、その設定内容に不整合があるか否かを判断する（ステップＳ４００）。
【０１２６】
入力済の設定情報１５０の設定内容に不整合があれば（ステップＳ４００においてＹＥＳ）、制御装置１００は、処理を停止する（ステップＳ４０２）。なお、制御装置１００の処理が停止したことを、何らかの方法でユーザへ通知するようにしてもよい。
【０１２７】
入力済の設定情報１５０の設定内容に不整合がなければ（ステップＳ４００においてＮＯ）、制御装置１００は、ＰＬＣ運転モード（セッション監視用）へ遷移する（ステップＳ４０４）。
【０１２８】
ＰＬＣ運転モード（セッション監視用）において、制御装置１００は、変数を監視するタスク周期が到来しているか否かを判断する（ステップＳ４０８）。タスク周期が到来していれば（ステップＳ４０８においてＹＥＳ）、制御装置１００は、変数情報更新処理を開始する（ステップＳ４１０）。変数情報更新処理については、上述の図１２を参照して詳述した。但し、ステップＳ４１０の変数情報更新処理において何らかのイベントが発生したとしても、送信できないので、この時点では、発生したイベントの情報を一時的にバッファリングしておく。
【０１２９】
ステップＳ４１０の実行後、あるいは、タスク周期が到来していなければ（ステップＳ４０８においてＮＯ）、制御装置１００は、電子会議システムとのセッションが確立されているか否かを判断する（ステップＳ４１２）。
【０１３０】
電子会議システムとのセッションが確立されていなければ（ステップＳ４１２においてＮＯ）、ステップＳ４０８以下の処理が繰り返される。
【０１３１】
これに対して、電子会議システムとのセッションが確立されていれば（ステップＳ４１２においてＹＥＳ）、制御装置１００は、サーバ装置２００（電子会議システム）へ設定情報１５０を送信する（ステップＳ４１４）。続いて、制御装置１００は、サーバ装置２００（電子会議システム）へ発生済みのイベントの情報を送信する（ステップＳ４１６）。そして、制御装置１００は、ＰＬＣ運転モードへ遷移する（ステップＳ４１８）。以降、図１０に示すステップＳ１１８以降の処理が実行される。
【０１３２】
＜Ｈ．通信インターフェイスおよびそれに用いられるデータ構造＞
本実施の形態の保守システム１においては、制御装置１００、サーバ装置２００、端末装置３００との間で、各種データオブジェクトを共有する必要があるため、汎用的なデータオブジェクトフォーマットを用意しておき、そのフォーマットに従って、データの遣り取りをすることが好ましい。以下、それぞれの通信フェーズに応じたデータオブジェクトフォーマットについて説明する。
【０１３３】
図１４は、本実施の形態の保守システム１において使用されるデータオブジェクトフォーマット５００の一例を示す図である。図１４を参照して、データオブジェクトフォーマット５００は、項目５０２〜５１８を含む。電子会議システムにおいて、制御装置１００とサーバ装置２００との間でデータオブジェクトフォーマット５００を用いてデータを遣り取りすることで、本実施の形態の保守システム１が提供する各機能を実現する。
【０１３４】
なお、データオブジェクトフォーマット５００は、ＸＭＬやＪＳＯＮなど複数言語に対応可能であってもよい。なお、データオブジェクトフォーマット５００において、ＳｅｖｅｒｉｔｙやＳｔａｔｕｓは任意に設定可能となっている。
【０１３５】
以下、図１４に示すデータオブジェクトフォーマット５００を、各通信フェーズにおいてどのように使用するかについて説明する。すなわち、制御装置１００とサーバ装置２００との間の通信インターフェイスについて説明する。
【０１３６】
（ｈ１：管理情報の登録（制御装置１００からサーバ装置２００への送信））
制御装置１００がサーバ装置２００に対して管理情報を登録（追加、更新、削除）する場合の通信内容について説明する。制御装置１００が扱う管理情報は、ユーザ管理情報１５４および画面構成情報１５６の２種類となる。
【０１３７】
（１）制御装置１００からサーバ装置２００へユーザ管理情報１５４を追加・更新・削除する場合
この場合には、図１４に示すデータオブジェクトフォーマット５００のうち、項目５０２、項目５０４、項目５０６、項目５１０の４つを含むデータフォーマットが使用される。なお、更新（Ｕｐｄａｔｅ）または削除（Ｄｅｌｅｔｅ）の際に使用されるプライマリキーは、Ｕｓｅｒ（項目５１０）のＩＤの値とする。
【０１３８】
（２）制御装置１００からサーバ装置２００へ画面構成情報１５６を追加・更新・削除する場合
この場合には、図１４に示すデータオブジェクトフォーマット５００のうち、項目５０２、項目５０４、項目５０６、項目５１２の４つを含むデータフォーマットが使用される。なお、更新（Ｕｐｄａｔｅ）または削除（Ｄｅｌｅｔｅ）の際に使用されるプライマリキーは、Ｓｃｒｅｅｎ（項目５１２）のＩＤの値とする。
【０１３９】
（ｈ２：サーバ装置２００から制御装置１００への応答）
サーバ装置２００が制御装置１００に対して応答を送信する場合の通信内容について説明する。この場合には、図１４に示すデータオブジェクトフォーマット５００のうち、項目５０２、項目５０４、項目５０６、項目５１８の４つを含むデータフォーマットが使用される。
【０１４０】
（ｈ３：制御装置１００からサーバ装置２００への通知）
制御装置１００がサーバ装置２００へ通知を行なう場合の通信内容について説明する。この場合には、図１４に示すデータオブジェクトフォーマット５００のうち、項目５０２、項目５０４、項目５０６、項目５１４の４つを含むデータフォーマットが使用される。なお、ＰＬＣの状態（ＰＬＣ＿Ｓｔａｔｕｓ）を更新する場合も、同様のフォーマットが使用される。
【０１４１】
（ｈ４：端末装置３００から制御装置１００への問い合わせ）
（１）ユーザ（端末装置３００）が制御装置１００へ問い合わせを行なう場合
この場合には、図１４に示すデータオブジェクトフォーマット５００のうち、項目５０２、項目５０４、項目５０６、項目５１６の４つを含むデータフォーマットが使用される。なお、制御装置１００が、電子会議システムへの参加者の間でのコミュニケーション（メッセージの内容）を監視する場合も、同様のフォーマットが使用される。
【０１４２】
（２）制御装置１００からユーザ（端末装置３００）への応答結果を送信する場合
この場合には、図１４に示すデータオブジェクトフォーマット５００のうち、項目５０２、項目５０４、項目５０６、項目５１４の４つを含むデータフォーマットが使用される。
【０１４３】
（ｈ５：サーバ装置２００から制御装置１００への送信）
サーバ装置２００から制御装置１００の保持する管理情報を更新（追加、更新、削除）する場合の通信内容について説明する。サーバ装置２００が扱う管理情報は、変数管理情報１５２、ユーザ管理情報１５４、および画面構成情報１５６の３種類となる。
【０１４４】
（１）サーバ装置２００から制御装置１００へ変数管理情報１５２を追加・更新・削除する場合
この場合には、図１４に示すデータオブジェクトフォーマット５００のうち、項目５０２、項目５０４、項目５０６、項目５０８の４つを含むデータフォーマットが使用される。なお、更新（Ｕｐｄａｔｅ）または削除（Ｄｅｌｅｔｅ）の際に使用されるプライマリキーは、Ｖａｒｉａｂｌｅ（項目５０８）のＩＤの値とする。
【０１４５】
（２）サーバ装置２００から制御装置１００へユーザ管理情報１５４を追加・更新・削除する場合
この場合には、図１４に示すデータオブジェクトフォーマット５００のうち、項目５０２、項目５０４、項目５０６、項目５１０の４つを含むデータフォーマットが使用される。なお、更新（Ｕｐｄａｔｅ）または削除（Ｄｅｌｅｔｅ）の際に使用されるプライマリキーは、Ｕｓｅｒ（項目５１０）のＩＤの値とする。
【０１４６】
（３）サーバ装置２００から制御装置１００へ画面構成情報１５６を追加・更新・削除する場合
この場合には、図１４に示すデータオブジェクトフォーマット５００のうち、項目５０２、項目５０４、項目５０６、項目５１２の４つを含むデータフォーマットが使用される。なお、更新（Ｕｐｄａｔｅ）または削除（Ｄｅｌｅｔｅ）の際に使用されるプライマリキーは、Ｓｃｒｅｅｎ（項目５１２）のＩＤの値とする。
【０１４７】
（４）制御装置１００からサーバ装置２００への応答結果を送信する場合
この場合には、図１４に示すデータオブジェクトフォーマット５００のうち、項目５０２、項目５０４、項目５０６、項目５１８の４つを含むデータフォーマットが使用される。制御装置１００からの正常応答を受けて、サーバ装置２００は更新内容を登録する。
【０１４８】
＜Ｉ．変形例＞
上述の実施の形態においては、ユーザが実際に使用する端末装置３００が電子会議システムに参加することを想定しているが、それ以外の主体が参加するようにしてもよい。例えば、本実施の形態の電子会議システムに参加する対象として、クラウド上の仮想端末を導入してもよい。このような仮想端末を導入することで、スケーラビリティや可用性を向上させることができる。
【０１４９】
また、電子会議システム（サーバ装置２００）に対して、端末装置３００からの操作や電子会議システムで各ユーザの操作についてのログを保存する機能を実装してもよい。このようなログ機能を実装することが、事後的に複数の観点から検証することが可能になる。
【０１５０】
また、本実施の形態の保守システム１に接続する端末装置３００のデスクトップ上で、制御装置１００の状態をより的確にユーザに通知するための手段、例えば、パトライト（登録商標）をモチーフにしたウィジェットを追加ができるようにしてもよい。
【０１５１】
＜Ｊ．利点＞
従来の遠隔地からの設備のメンテナンスの一例としては、現場に配置下パーソナルコンピュータとＶＰＮ経由で接続し、いわば、一対一のネットワーク接続の環境下のみが可能であった。現場作業者と装置ベンダーのユーザとは、メールや電話などで情報共有し、コミュニケーション不足の場合は、現場まで出向くという作業が必要であった。このような従来の手法では、複数のコミュニケーション手段を並列的に使用せざるを得ず、さらに、一対一のネットワーク接続であるので、複数人が意見を出し合って、解決手段を探すようなことができなかった。
【０１５２】
これに対して、本実施の形態の保守システム１では、電子会議システムをベースとして、クラウド上で、メッセージ、音声、動画、装置の情報のすべてを共有できるため、コミュニケーション速度が向上し、メンテナンスの効率化を実現できる。すなわち、必要な情報を一元的に共有できるので、遠隔地にいるユーザ同士であっても、コミュニケーションの度合いをより高めることができる。
【０１５３】
本実施の形態の保守システム１では、アクセスレベルなどの手法を用いて、アクセス制限を実現しており、必要な情報を必要なユーザにのみ提供するとったセキュリティ面上の配慮もなされている。また、セキュリティの観点から見れば、多対多で接続される電子会議システムでは、システムが有効化されている（すなわち、オンラインである）期間においては、サーバ装置２００が共有に係るデータを保持しておくが、システムが無効化されると（すなわち、オフラインになると）、その一時的に保持されていたデータは自動的に消去されるようにしてもよい。このような構成を採用することで、ある工場を保守する企業の現場作業者や管理者に加えて、当該工場に装置を納入した装置ベンダーが互いに情報を共有しつつ保守作業を行なうことで業務の効率化を図れるとともに、保守作業が完了すると、当該保守作業に使用したデータには、アクセスできなくなるので、情報漏えいなどの危険性を低減できる。すなわち、情報共有による保守作業の効率化と、情報共有に伴う情報漏えいの危険性の低減という、互いに相反する二つの課題を解決できる。なお、電子会議システム（サーバ装置２００）での活動のログを収集する場合にも、ログの対象を、各ユーザが行なった動作のみにするなどの制限をかけることで、セキュリティのレベルを高めることができる。
【０１５４】
本実施の形態の電子会議システムでは、複数のユーザが多対多で接続でき、状況を共有できる。この多対多の接続によれば、あるユーザの挙動を他のユーザが確認することもできる。そのため、例えば、ある装置に何らかのトラブルが発生して、当該装置を納入した装置ベンダーが保守活動のために、当該装置を制御する制御装置１００に対して遠隔操作をするような場合であっても、当該工場を保守する企業の現場作業者や管理者は、その装置ベンダーの操作をリアルタイムで確認できるので、装置ベンダーによる操作ミスや、意図的な不正な行為を防止することもできる。
【０１５５】
本実施の形態の保守システム１では、電子会議システムをセットアップするための設定情報１５０を制御装置１００が保持しているので、装置を制御する制御装置１００、すなわち、装置が配置してある工場側の主導で適切なメンテナンスを実現できる。
【０１５６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５７】
１  保守システム、１００  制御装置、１０２，２０２  プロセッサ、１０４  チップセット、１０６，２０４  メインメモリ、１０８  フラッシュメモリ、１１０  システムプログラム、１１２  ユーザプログラム、１１２Ａ  シーケンスプログラム、１１２Ｂ  モーションプログラム、１１６，２１２  ネットワークコントローラ、１１８  メモリカードインターフェイス、１２０  メモリカード、１２２  内部バスコントローラ、１２４  フィールドバスコントローラ、１２６，１２８  Ｉ／Ｏユニット、１５０  設定情報、１５２  変数管理情報、１５４  ユーザ管理情報、１５６  画面構成情報、１６０  管理プログラム、１８２  スケジューリング管理モジュール、１８４  変数制御モジュール、１８６  システム情報、１９０  変数監視プログラム、１９２  変数付加情報検索プログラム、１９４  設定情報制御プログラム、１９６  電子会議通信プログラム、２００  サーバ装置、２０６  ハードディスク、２０８  ディスプレイ、２１０  入力部、２１４  内部バス、２２２  会議運営プログラム、３００  端末装置。
【図１】
0006575311.tif 000002
【図２】
0006575311.tif 000003
【図３】
0006575311.tif 000004
【図４】
0006575311.tif 000005
【図５】
0006575311.tif 000006
【図６】
0006575311.tif 000007
【図７】
0006575311.tif 000008
【図８】
0006575311.tif 000009
【図９】
0006575311.tif 000010
【図１０】
0006575311.tif 000011
【図１１】
0006575311.tif 000012
【図１２】
0006575311.tif 000013
【図１３】
0006575311.tif 000014
【図１４】
0006575311.tif 000015