(57)【特許請求の範囲】
【請求項１】
ウィジェットをサポートしているオペレーションシステムが実装された通信機器に実装されるアプリケーションプログラムであって、
ウィジェットを有するウィジェット層と、前記通信機器と電子機器との通信に必要なドライバを有するドライバ層と、コントローラとの３層を含んでおり、
前記コントローラが、前記通信機器の各ウィジェットの属性が記述されているウィジェットデータと、前記通信機器の各ドライバの属性が記述されているドライバデータとを参照して、前記ウィジェット層の各ウィジェットと前記ドライバ層の各ドライバとの連携、並びに、前記ウィジェット層の各ウィジェット及び前記ドライバ層の各ドライバの制御を行うことを特徴とするアプリケーションプログラム。
【請求項２】
前記コントローラが、複数のウィジェット及び複数のドライバを一括制御することができることを特徴とする請求項１に記載のアプリケーションプログラム。
【請求項３】
前記ウィジェットデータ及び前記ドライバデータの少なくとも一方によって組み合わせられているウィジェット及びドライバが直接通信を行うことができることを特徴とする請求項１又は請求項２に記載のアプリケーションプログラム。
【請求項４】
前記電子機器がＦＡ機器であることを特徴とする請求項１〜３のいずれか１項に記載のアプリケーションプログラム。
【請求項５】
ウィジェットをサポートしているオペレーションシステムと、
ウィジェットを有するウィジェット層と、通信機器と電子機器との通信に必要なドライバを有するドライバ層と、コントローラとの３層を含むアプリケーションプログラムとを実装し、
各ウィジェットの属性が記述されているウィジェットデータと、各ドライバの属性が記述されているドライバデータとを格納する不揮発性メモリを備える通信機器であって、
前記コントローラが、前記ウィジェットデータ及び前記ドライバデータとを参照して、前記ウィジェット層の各ウィジェットと前記ドライバ層の各ドライバとの連携、並びに、前記ウィジェット層の各ウィジェット及び前記ドライバ層の各ドライバの制御を行うことを特徴とする通信機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信先機器のデータの確認や更新を行うためのアプリケーションプログラム及び通信機器に関する。
【背景技術】
【０００２】
近年、スマートフォン向けのアプリケーションプログラムが種々開発されている。スマートフォン向けのアプリケーションプログラムの一つに、ＰＬＣ（Programmable Logic Controller）の操作・管理を可能にするｉＰｈｏｎｅ（登録商標）向けアプリケーションプログラムがある（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“PLCの操作・管理を可能にするiPhoneアプリ登場”、［online］、［平成23年4月18日検索］、インターネット〈URL：http://monoist.atmarkit.co.jp/fembedded/news/2010/01/12itosoft.html〉
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１で開示されているアプリケーションプログラムは、特定の製造メーカーのＰＬＣにしか対応していないため、別の製造メーカーのＰＬＣを操作・管理するためには別のアプリケーションプログラムを新しく実装する必要があった。
【０００５】
ＦＡ（Factory Automation）分野では、種々のＦＡ機器を組み合わせて所望の製造システムを構築するため、特定の製造メーカーのＦＡ機器にしか対応していないアプリケーションプログラムは不便であった。また、一般的なアプリケーションプログラムは、操作・管理の対象であるＦＡ機器の増減や操作項目及び管理項目の増減をフレキシブルに行えないため、不便であった。
【０００６】
本発明は、上記の状況に鑑み、通信先機器のデータの確認や更新を行うためのアプリケーションプログラム及び通信機器であって、利便性の高いアプリケーションプログラム及び通信機器を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明に係るアプリケーションプログラムは、ウィジェットをサポートしているオペレーションシステムが実装された通信機器に実装されるアプリケーションプログラムであって、ウィジェットを有するウィジェット層と、前記通信機器と電子機器との通信に必要なドライバを有するドライバ層と、コントローラとの３層を含んでおり、前記コントローラが、前記通信機器の各ウィジェットの属性が記述されているウィジェットデータと、前記通信機器の各ドライバの属性が記述されているドライバデータとを参照して、前記ウィジェット層の各ウィジェットと前記ドライバ層の各ドライバとの連携、並びに、前記ウィジェット層の各ウィジェット及び前記ドライバ層の各ドライバの制御を行う構成（第１の構成）としている。
【０００８】
上記第１の構成によると、ウィジェット層と、ドライバ層と、コントローラとの３層構造により、各ウィジェットの追加、削除、機能バージョンアップ及び各ドライバの追加、削除、機能バージョンアップを個別に行うことができる。これにより、操作・管理の対象である電子機器（本発明に係るアプリケーションプログラムが実装される通信機器と通信可能な電子機器）の増減や操作項目及び管理項目の増減をフレキシブルに行うことができるので、利便性が高くなる。
【０００９】
上記第１の構成のアプリケーションプログラムにおいて、前記コントローラが、複数のウィジェット及び複数のドライバを一括制御することができる構成（第２の構成）とすることが好ましい。
【００１０】
上記第２の構成によると、一括制御により、個々のウィジェットに対して個別に制御の設定を行う必要がなくなるので、作業効率が向上する。また、一部のウィジェットに対する制御の設定忘れなどの操作ミスも防止することができる。
【００１１】
上記第１又は第２の構成のアプリケーションプログラムにおいて、前記ウィジェットデータ及び前記ドライバデータの少なくとも一方によって組み合わせられているウィジェット及びドライバが直接通信を行うことができる構成（第３の構成）とすることが好ましい。
【００１２】
上記第３の構成によると、ウィジェットデータ及びドライバデータの少なくとも一方によって組み合わせられているウィジェットとドライバとの通信を効率よく行うことが可能になる。
【００１３】
上記第１〜３のいずれかの構成のアプリケーションプログラムにおいて、前記電子機器がＦＡ機器であることが好ましい。
【００１４】
ＦＡ分野では、様々の製造メーカーのＦＡ機器を組み合わせてシステムを構築することが多いため、操作・管理の対象である電子機器（本発明に係るアプリケーションプログラムが実装される通信機器と通信可能な電子機器）をＦＡ機器とすることで、本発明の効果が顕著になる。
【００１５】
また、上記目的を達成するために本発明に係る通信機器は、ウィジェットをサポートしているオペレーションシステムと、ウィジェットを有するウィジェット層と、通信機器と電子機器との通信に必要なドライバを有するドライバ層と、コントローラとの３層を含むアプリケーションプログラムとを実装し、各ウィジェットの属性が記述されているウィジェットデータと、各ドライバの属性が記述されているドライバデータとを格納する不揮発性メモリを備える通信機器であって、前記コントローラが、前記ウィジェットデータ及び前記ドライバデータとを参照して、前記ウィジェット層の各ウィジェットと前記ドライバ層の各ドライバとの連携、並びに、前記ウィジェット層の各ウィジェット及び前記ドライバ層の各ドライバの制御を行う構成とする。
【００１６】
このような構成によると、アプリケーションプログラムにおけるウィジェット層と、ドライバ層と、コントローラとの３層構造により、各ウィジェットの追加、削除、機能バージョンアップ及び各ドライバの追加、削除、機能バージョンアップを個別に行うことができる。これにより、操作・管理の対象である電子機器（本発明に係る通信機器と通信可能な電子機器）の増減や操作項目及び管理項目の増減をフレキシブルに行うことができるので、利便性が高くなる。
【発明の効果】
【００１７】
本発明によると、各ウィジェットの追加、削除、機能バージョンアップ及び各ドライバの追加、削除、機能バージョンアップを個別に行うことができる。これにより、操作・管理の対象である電子機器の増減や操作項目及び管理項目の増減をフレキシブルに行うことができるので、利便性が高くなる。
【図面の簡単な説明】
【００１８】
【図１】本発明に係る通信機器の一例であるスマートフォンと、当該スマートフォンの通信対象であるＦＡ機器を備える情報管理システムの一例とを示す概略構成図である。
【図２】スマートフォンの概略構成例を示す図である。
【図３】本発明に係るアプリケーションプログラムの構造を示す図である。
【図４】ＸＭＬ形式のドライバデータの一例を示す図である。
【図５】新たに配置するウィジェットと組み合わせるドライバやデバイスの選択を確定するための画面例を示す図である。
【図６】ＸＭＬ形式のウィジェットデータの一例を示す図である。
【図７】複数のウィジェットを配置した後の画面例を示す図である。
【図８】本発明に係るアプリケーションプログラムの構造の変形例を示す図である。
【発明を実施するための形態】
【００１９】
本発明の実施形態について図面を参照して以下に説明する。図１は、本発明に係る通信機器の一例であるスマートフォンと、当該スマートフォンの通信対象であるＦＡ機器を備える情報管理システムの一例とを示す概略構成図である。
【００２０】
図１に示す情報管理システムは、複数のプログラマブル表示器１及びプログラムレスプロトコル変換器２と、それらから送信される情報をＷｅｂ上で管理するＷｅｂサーバ装置３とを備えている。
【００２１】
ある管理者（一つの会社、一つの事業所、あるいは一つの工場など）は、ＬＡＮ（Local Area Network）４と、ＬＡＮ４からインターネット５への不適切なデータ流出やインターネット５からＬＡＮ４への不適切なデータ流入を防止するファイアウォール６と、プログラマブル表示器１と、プログラムレスプロトコル変換器２と、ＰＬＣ７と、デバイス８と、例えばパーソナルコンピュータで実現することができるオペレーションセンターサーバ装置９と、無線ルータ１０とを特定のエリア内に設けている。なお、図１においては、一管理者分のＬＡＮ４、ファイアウォール６、プログラマブル表示器１、プログラムレスプロトコル変換器２、ＰＬＣ７、デバイス８、オペレーションセンターサーバ装置９、及び無線ルータ１０しか図示していないが、Ｗｅｂサーバ装置３は、一管理者分のプログラマブル表示器１、プログラムレスプロトコル変換器２、或いはＰＬＣ７から送信される情報のみを管理するものに限定されるのではなく、複数管理者分のプログラマブル表示器１、プログラムレスプロトコル変換器２、或いはＰＬＣ７から送信される情報を管理するものであってもよい。
【００２２】
プログラマブル表示器１、プログラムレスプロトコル変換器２、及びＰＬＣ７はそれぞれ、ＬＡＮ４、ファイアウォール６、及びインターネット５を介してＷｅｂサーバ装置３とインターネット通信可能である。また、プログラマブル表示器１、プログラムレスプロトコル変換器２、及びＰＬＣ７はそれぞれ、ＬＡＮ４を介してオペレーションセンターサーバ装置９と通信可能である。
【００２３】
さらに、プログラマブル表示器１、プログラムレスプロトコル変換器２、及びＰＬＣ７はそれぞれ、ＬＡＮ４、ファイアウォール６、インターネット５、及び基地局１１を介してスマートフォン１２と移動体通信（例えば３Ｇ通信）が可能である。また、さらに、プログラマブル表示器１、プログラムレスプロトコル変換器２、及びＰＬＣ７はそれぞれ、ＬＡＮ４及び無線ルータ１０を介してスマートフォン１２と無線ＬＡＮ通信（例えばＷｉ−Ｆｉ通信）が可能である。
【００２４】
ＰＬＣ７は、ユーザが作成した制御プログラム（ラダープログラム）を実行することにより、例えば、数十ｍｓなどの予め定められたスキャンタイム毎に、入力用のデバイス８の状態を取り込むとともに、出力用のデバイス８に制御指示を与える。
【００２５】
入力用のデバイス８としては、例えば、スイッチ、センサなどがあり、出力用のデバイス８としては、例えば、ランプ、バルブなどがある。これら各種のデバイス８は、製造ラインなどの各種のターゲットシステムの所要各部に配置される。
【００２６】
次に、スマートフォン１２の構成について説明する。図２は、スマートフォン１２の概略構成例を示す図である。図２に示すスマートフォン１２は、ＣＰＵ（Central Processing Unit）１３と、通信部１４と、不揮発性メモリ１５と、揮発性メモリ１６と、表示装置１７と、タッチパネル１８と、マイクロフォン等の音声入力部１９と、スピーカ等の音声出力部２０とを備えている。
【００２７】
ＣＰＵ１３は、スマートフォン１２全体の動作を制御する。
【００２８】
通信部１４は、移動体通信及び無線ＬＡＮ通信の双方を行うことができるように構成されている。
【００２９】
不揮発性メモリ１５は、ＯＳ（オペレーションシステム）やアプリケーションプログラム等の各種プログラム及び後述するウィジェットデータやドライバデータ等の各種データを格納している。
【００３０】
揮発性メモリ１６は、ＣＰＵ１３のワークエリア等が設定される作業メモリである。
【００３１】
表示装置１７は、液晶表示装置やＥＬ表示装置等の薄型表示装置が好適である。
【００３２】
タッチパネル１８は、表示装置１７の表示画面上でタッチ入力を行うために表示装置１７の表示画面上に配置されている入力装置である。
【００３３】
図２に示すスマートフォン１２は、本発明に係るアプリケーションプログラムであって当該スマートフォンの通信対象であるＦＡ機器のデータの確認や更新を行うためのアプリケーションプログラム（以下、本発明に係るＦＡ機器管理用アプリケーションプログラムという）を不揮発性メモリ１５に格納している。また、図２に示すスマートフォン１２は、ウィジェットをサポートしているＯＳの一例であるAndroid ＯＳ（登録商標）を不揮発性メモリ１５に格納している。
【００３４】
図１に示す構成では、プログラマブル表示器１、プログラムレスプロトコル変換器２、及びＰＬＣ７がそれぞれスマートフォン１２の通信対象であるＦＡ機器に該当する。プログラマブル表示器１は、ＰＬＣ７から得たデータやプログラマブル表示器１で発生したデータをプログラマブル表示器１内の不揮発性メモリに格納している。プログラムレスプロトコル変換器２は、ＰＬＣ７から得たデータやプログラムレスプロトコル変換器２で発生したデータをプログラムレスプロトコル変換器２内の不揮発性メモリに格納している。
【００３５】
ＰＬＣ７から送出されるデータとしては、ＰＬＣ７がデバイス８から得たサンプリングデータが挙げられる。
【００３６】
プログラマブル表示器１やプログラムレスプロトコル変換器２で発生したデータとしては、アラームデータ、折れ線グラフデータ、操作ログデータなどが挙げられる。
【００３７】
アラームデータは、アラームに関する情報である。プログラマブル表示器１やプログラムレスプロトコル変換器２は、ＰＬＣ７における所定のアラームビットがＯＮしたことを受信すると、当該アラームビットに対して予め設定されているアラームについての内容（メッセージ）などを発報時刻（受信時刻）と併せて作成する。折れ線グラフデータは、折れ線グラフを表示するためのデータである。プログラマブル表示器１やプログラムレスプロトコル変換器２は、上記のサンプリングデータに基づいて折れ線グラフデータを作成する。操作ログデータは、プログラマブル表示器１やプログラムレスプロトコル変換器２に対するユーザの操作履歴に関するデータであり、ユーザがプログラマブル表示器１やプログラムレスプロトコル変換器２に対して行った操作内容（ログイン、ログアウト、画面における各タッチ操作など）や、操作者情報（氏名、所属など）や、その発生時刻などからなる。
【００３８】
本発明に係るＦＡ機器管理用アプリケーションプログラムは、図３に示すように、コントローラ２１と、ウィジェット層２２と、ドライバ層２３との３層構造になっている。なお、当該３層構造は、Android ＯＳから見て、各層間の上下がなく、各層が並列になっている。
【００３９】
本発明に係るＦＡ機器管理用アプリケーションプログラムでは、コントローラ２１と、ウィジェット層２２と、ドライバ層２３との３層構造により、各ウィジェットの追加、削除、機能バージョンアップ及び各ドライバの追加、削除、機能バージョンアップを個別に行うことができる。これにより、操作・管理の対象であるＦＡ機器の増減や操作項目及び管理項目の増減をフレキシブルに行うことができるので、利便性が高くなる。
【００４０】
図３に示す例では、スイッチ（デバイス８の一つ）に関するＧＵＩ（Graphical User Interface）であるスイッチ・ウィジェットと、ランプ（デバイス８の一つ）に関するＧＵＩであるランプ・ウィジェットと、データを表示するためのＧＵＩであるデータ表示・ウィジェットと、グラフを表示するためのＧＵＩであるグラフ・ウィジェットとがそれぞれ１つずつウィジェット層２２に存在しており、Ｍｏｄｂｕｓと、プログラマブル表示器用ドライバと、オペレーションセンターサーバ装置用ドライバと、Ｗｅｂサーバ装置用ドライバとがそれぞれ１つずつドライバ層２３に存在している。
【００４１】
本発明に係るＦＡ機器管理用アプリケーションプログラムがインストールされた後のスマートフォン１２においては、新たなドライバがスマートフォン１２にインストールされると、そのインストールされたドライバの機器データ等がＸＭＬ（Extensible Markup Language）形式のドライバデータに追加される。ここで、ＸＭＬ形式のドライバデータの一例を図４に示す。Driver parameterの具体的内容はドライバの種類によって異なる。ＸＭＬ形式のドライバデータは不揮発性メモリ１５に保存される。
【００４２】
ウィジェットをスマートフォン１２の表示装置１７の画面に新たに配置する際には、ウィジェット層２２は、コントローラ２１に対して、どのようなドライバがインストールされているかを問い合わせる。その問い合わせに応じて、コントローラ２１は、不揮発性メモリ１５に保存されているＸＭＬ形式のドライバデータを参照して、インストールされているドライバの情報をウィジェット層２２に提供する。そして、ウィジェット層２２は、コントローラ２１から提供されたドライバの情報に基づいて、新たに配置するウィジェットと組み合わせ可能なドライバやデバイスの一覧を表示し、ユーザがその一覧の中から新たに配置するウィジェットと組み合わせるドライバやデバイスを選択する。ユーザがスマートフォン１２を操作することによって、「@gp-web@192.168.0.3@600001」というパラメータで特定されるプログラマブル表示器１との組み合わせを選択した場合、例えば、図５に示すような画面になるようにする。図５に示すような画面において「作成」と表示されているソフトウェアキーをタッチすることで、当該選択が確定するようにすればよい。本発明に係るＦＡ機器管理用アプリケーションプログラムは、上述した通りウィジェットとドライバとが別々になっている３層構造であるため、或るウィジェットに対して組み合わせるドライバを変更することだけで、異なるメーカーのＦＡ機器への変更が可能である。当該選択が確定すると、コントローラ２１は、選択されたドライバやデバイスに対応するデータをドライバデータの中から抽出してウィジェット層２２に提供し、このコントローラ２１から提供されたデータを用いてウィジェット層２２はウィジェット自体の情報及びそのウィジェットと組み合わせたドライバやデバイスの情報等をＸＭＬ形式のウィジェットデータに追加する。ここで、ＸＭＬ形式のウィジェットデータの一例を図６に示す。Widget parameterの具体的内容はウィジェットの種類によって異なる。ＸＭＬ形式のウィジェットデータは不揮発性メモリ１５に保存される。
【００４３】
複数のウィジェットを配置した後の画面例を図７に示す。図７に示す例では、１つのデータ表示・ウィジェットと、４つのランプ・ウィジェットと、４つのスイッチ・ウィジェットとが配置されている。
【００４４】
コントローラ２１は、不揮発性メモリ１５に保存されているＸＭＬ形式のドライバデータ及びウィジェットデータを用いて、ウィジェットとドライバの連携やウィジェット及びドライバの制御を行うことができる。また、上述した通りウィジェットとドライバとが別々になっている３層構造であるため、ウィジェットやドライバの追加、削除、機能バージョンアップを行っても、コントローラ２１は、ウィジェット及びドライバを一括制御することができる。
【００４５】
ここで、コントローラ２１によるウィジェット及びドライバの一括制御の一例として、表示装置１７の画面に配置している全ウィジェットの一括スタート制御について説明する。
【００４６】
表示装置１７の画面に配置している全ウィジェットの一括スタートがユーザ操作によって指示されると、コントローラ２１は、不揮発性メモリ１５に保存されているウィジェットデータ及びドライバデータを参照する。
【００４７】
コントローラ２１は、参照したウィジェットデータ及びドライバデータに基づいて、表示装置１７の画面に配置している全ウィジェットに関係する全てのウィジェット及びドライバに通信開始を通知する。
【００４８】
コントローラ２１から通信開始を通知されたウィジェットは、通信を開始し、不揮発性メモリ１５に保存されているウィジェットデータに基づいて、組み合わせ相手であるドライバを特定し、その組み合わせ相手であるドライバと周期的或いはユーザの操作タイミングによって通信する。その通信において、ウィジェットは、ＦＡ機器から得られるデータを、組み合わせ相手であるドライバに直接要求する。
【００４９】
組み合わせ相手であるウィジェットからの要求を受けたドライバは、接続されているＦＡ機器と通信を行い、その通信によって得られたデータをウィジェットに返送する。その後、ウィジェットとドライバの直接通信によって、ＦＡ機器から得られるデータの要求及び返送が繰り返される。
【００５０】
そして、表示装置１７の画面に配置している全ウィジェットの一括インターロック、一括ストップ、一括スリープ等がユーザ操作によって指示されると、コントローラ２１は、不揮発性メモリ１５に保存されているウィジェットデータ及びドライバデータを参照して、表示装置１７の画面に配置している全ウィジェットに関係する全てのウィジェット及びドライバに対して各指示に応じた制御を行う。このような一括制御により、個々のウィジェットに対して個別に制御の設定を行う必要がなくなるので、作業効率が向上する。また、一部のウィジェットに対する制御の設定忘れなどの操作ミスも防止することができる。
【００５１】
以上、本発明に係る実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実行することができる。
【００５２】
例えば、本発明に係る通信装置はスマートフォンに限定されることはなく、タブレット型パーソナルコンピュータ等であってもよい。
【００５３】
また例えば、本発明に係る通信装置の通信対象は、ＦＡ機器以外の電子機器であっても構わない。ただし、ＦＡ分野では、様々の製造メーカーのＦＡ機器を組み合わせてシステムを構築することが多いため、本発明に係る通信装置の通信対象をＦＡ機器にした場合に、本発明の効果が顕著になる。
【００５４】
また、図４に示すドライバデータと図６に示すウィジェットデータはそれぞれ一例である。そして、ドライバデータとウィジェットデータとはコントローラ２１が参照することによって互いに関連付けられるので、例えば、図６に示すウィジェットデータの項目の一部を図４に示すドライバデータに移しても構わない。
【００５５】
また、幾つかのウィジェットをグループ化して、グループ単位での一括制御が行えるようにしてもよい。この実現方法としては、上述した３層構造にホームアプリ層２４を追加して図８に示すような４層構造とし、各ホームアプリで１つのグループを構成するようにすればよい。
【符号の説明】
【００５６】
１  プログラマブル表示器
２  プログラムレスプロトコル変換器
３  Ｗｅｂサーバ装置
４  ＬＡＮ
５  インターネット
６  ファイアウォール
７  ＰＬＣ
８  デバイス
９  オペレーションセンターサーバ装置
１０  無線ルータ
１１  基地局
１２  スマートフォン
１３  ＣＰＵ
１４  通信部
１５  不揮発性メモリ
１６  揮発性メモリ
１７  表示装置
１８  タッチパネル
１９  音声入力部
２０  音声出力部
２１  コントローラ
２２  ウィジェット層
２３  ドライバ層
２４  ホームアプリ層
【図１】
0005604731.tif 000002
【図２】
0005604731.tif 000003
【図３】
0005604731.tif 000004
【図４】
0005604731.tif 000005
【図５】
0005604731.tif 000006
【図６】
0005604731.tif 000007
【図８】
0005604731.tif 000008
【図７】
0005604731.tif 000009