制御システム、プログラマブル表示器、及び制御用サーバ装置
【課題】システムを構築する上での制約が小さく、制御用サーバ装置がプログラマブル表示器を制御する場合の利便性とセキュリティがともに高い制御システムを提供する。
【解決手段】複数のプログラマブル表示器1と、制御用サーバ装置2とを備え、プログラマブル表示器1がインターネット4を介して制御用サーバ装置2に通信可能に接続される制御システムであって、プログラマブル表示器1が、制御用サーバ装置2へのポーリングをHTTPのGETコマンドで行い、前記GETコマンドの返信によってリクエストを受信するインターフェース部12を有し、プログラマブル表示器1から制御用サーバ装置2に送信されるポーリングに送信元を特定できる情報が含まれており、制御用サーバ装置2が、前記送信元を特定できる情報に基づいて、前記ポーリングの正当性を判定するCPU21を有する制御システム。
【解決手段】複数のプログラマブル表示器1と、制御用サーバ装置2とを備え、プログラマブル表示器1がインターネット4を介して制御用サーバ装置2に通信可能に接続される制御システムであって、プログラマブル表示器1が、制御用サーバ装置2へのポーリングをHTTPのGETコマンドで行い、前記GETコマンドの返信によってリクエストを受信するインターフェース部12を有し、プログラマブル表示器1から制御用サーバ装置2に送信されるポーリングに送信元を特定できる情報が含まれており、制御用サーバ装置2が、前記送信元を特定できる情報に基づいて、前記ポーリングの正当性を判定するCPU21を有する制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のプログラマブル表示器と、それらを制御する制御用サーバ装置とを備える制御システム並びに当該制御システムにおいて用いられるプログラマブル表示器及び制御用サーバ装置に関する。
【背景技術】
【0002】
従来、複数のプログラマブル表示器と、それらを制御する制御用サーバ装置とを備える制御システムでは、制御用サーバ装置と当該制御用サーバ装置にアクセス可能なクライアント装置とはインターネットによって接続されることがあったが、複数のプログラマブル表示器と、それらを制御する制御用サーバ装置とは専用のネットワーク(LAN)によって接続されていた(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第01/69334号(第1図)
【特許文献2】特開2001−5746号公報(第1図、段落0031)
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の制御システムでは、複数のプログラマブル表示器と、それらを制御する制御用サーバ装置とが同じLANに接続されているため、制御用サーバ装置の設置場所がLANエリア内に限定され、制御用サーバ装置の制御対象が同一のLANに接続されているプログラマブル表示器に限定されていた。すなわち、従来の制御システムでは、システムを構築する上での制約が大きかった。
【0005】
そこで、制御用サーバ装置をインターネット上に設け制御用サーバ装置とプログラマブル表示器とがインターネット通信を行うようにすることが考えられるが、LANに接続されているプログラマブル表示器がインターネット上の制御用サーバ装置にリクエストに関するポーリングを行う場合やインターネット上の制御用サーバ装置がLANに接続されているプログラマブル表示器にリクエストを送信する場合、LANに通常設けられているファイアウォールが障害となりポーリングやリクエスト送信ができないおそれがある。ファイアウォールが障害となる場合、中継サーバを設置したり、ファイアウォールの設定を変更したりすることで対応することができるが、そのような対応には相応の専門知識が必要であるという不都合がある。さらに、セキュリティの観点からファイアウォールの設定変更自体が認められないことも多いと考えられる。
【0006】
また、LANに接続されているプログラマブル表示器がインターネット上の制御用サーバ装置に対してポーリングを行う構成であるため、ポーリングが不正でないかを識別することができるようにして、セキュリティを確保する必要がある。
【0007】
尚、特許文献2には、転送サーバを介して送信クライアントから受信クライアントへ電子ファイルを転送するファイル転送システムが開示されている。特許文献2で開示されているファイル転送システムは転送サーバを設置するという煩雑さがある。すなわち、特許文献2で開示されているファイル転送システムの転送サーバは、中継サーバに該当するものであり、上述した制御システムの制御用サーバ装置と全く異なるものである。
【0008】
本発明は、上記の状況に鑑み、システムを構築する上での制約が小さく、制御用サーバ装置がプログラマブル表示器を制御する場合の利便性とセキュリティがともに高い制御システム並びに当該制御システムにおいて用いられるプログラマブル表示器及び制御用サーバ装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明に係る制御システムは、複数のプログラマブル表示器と、制御用サーバ装置とを備え、前記プログラマブル表示器がインターネットを介して前記制御用サーバ装置に通信可能に接続される制御システムであって、前記プログラマブル表示器が、前記制御用サーバ装置へのポーリングをHTTP又はHTTPを拡張したプロトコルのGETコマンドで行い、前記GETコマンドの返信によってリクエストを受信する通信手段を有し、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに送信元を特定できる情報が含まれており、前記制御用サーバ装置が、前記送信元を特定できる情報に基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定する判定手段を有するようにする。
【0010】
また、プログラマブル表示器に保存することができるデータの容量は限られていることを考慮し、前記GETコマンドの返信に、前記リクエストの実行条件と前記リクエストの実行内容であるデータセットとが含まれており、前記プログラマブル表示器が、前記リクエストのデータ量に応じて、前記リクエストの受信時に前記リクエストの実行条件と前記データセットとを保存するか前記リクエストの実行条件のみを保存するかを決定するようにしてもよい。
【0011】
また、セキュリティをより確実に確保する観点から、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングにパスワードが含まれており、前記判定手段が、前記送信元を特定できる情報及び前記パスワードに基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定するようにしてもよい。
【0012】
また、上記目的を達成するために本発明に係るプログラマブル表示器は、インターネットを介して制御用サーバ装置との通信が可能であるプログラマブル表示器であって、前記制御用サーバ装置へのポーリングをHTTP又はHTTPを拡張したプロトコルで行う通信手段を備え、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに送信元を特定できる情報が含まれているようにする。
【0013】
また、上記目的を達成するために本発明に係る制御用サーバ装置は、インターネットを介してプログラマブル表示器との通信が可能である制御用サーバ装置であって、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに含まれている送信元を特定できる情報に基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定する判定手段を備えるようにする。
【発明の効果】
【0014】
本発明によると、プログラマブル表示器が、制御用サーバ装置へのポーリングをHTTP又はHTTPを拡張したプロトコルのGETコマンドで行い、そのGETコマンドの返信によってリクエストを受信する通信手段を有しているので、ファイアウォールについて特に難しい設定を行うことなく、インターネット上の制御用サーバ装置からプログラマブル表示器へのデータ送信が可能となり、利便性が向上する。また、本発明によると、制御用サーバ装置が、プログラマブル表示器から制御用サーバ装置に送信されるポーリングに含まれている送信元を特定できる情報に基づいて、プログラマブル表示器から制御用サーバ装置に送信されるポーリングの正当性を判定する判定手段を有しているので、セキュリティを確保することができる。
【図面の簡単な説明】
【0015】
【図1】本発明に係る制御システムの一構成例を示す図である。
【図2】制御用サーバ装置が具備するHDDのディレクトリ構造を示す図である。
【図3】制御用サーバ装置がプログラマブル表示器やローカルPCから送信されるデータを受信したときの動作を示すフローチャートである。
【図4】プログラマブル表示器のポーリング動作を示すフローチャートである。
【図5】ポーリング情報受信処理のフローチャートである。
【図6】返信データ処理のフローチャートである。
【図7】リクエスト設定情報送信処理のフローチャートである。
【図8】リクエスト設定情報受信処理のフローチャートである。
【図9】データ更新実行処理のフローチャートである。
【図10】アップロードされたファイルの保存処理のフローチャートである。
【図11】ファイルの取得処理のフローチャートである。
【図12】ファイル取得要求受信処理のフローチャートである。
【発明を実施するための形態】
【0016】
本発明の実施形態について図面を参照して以下に説明する。図1は、本発明に係る制御システムの一構成例を示す図である。
【0017】
図1に示す制御システムは、複数のプログラマブル表示器1と、それらを制御する制御用サーバ装置2とを備えている。
【0018】
ある管理者(一つの会社、一つの事業所、あるいは一つの工場など)は、LAN(Local Area Network)3と、LAN3からインターネット4への不適切なデータ流出やインターネット4からLAN3への不適切なデータ流入を防止するファイアウォール5と、プログラマブル表示器1と、PLC6と、デバイス7とを特定のエリア内に設けている。なお、図1においては、一管理者分のLAN3、ファイアウォール5、プログラマブル表示器1、PLC6、及びデバイス7しか図示していないが、制御用サーバ装置2は、一管理者分のプログラマブル表示器1のみを制御するものに限定されるのではなく、複数管理者分のプログラマブル表示器1を制御するものであってもよい。
【0019】
プログラマブル表示器1は、LAN3及びファイアウォール5、及びインターネット4を介して制御用サーバ装置2とインターネット通信可能である。
【0020】
PLC6は、ユーザが作成した制御プログラム(ラダープログラム)を実行することにより、例えば、数十msなどの予め定められたスキャンタイム毎に、入力用のデバイス7の状態を取り込むとともに、出力用のデバイス7に制御指示を与える。
【0021】
入力用のデバイス7としては、例えば、スイッチ、センサなどがあり、出力用のデバイス7としては、例えば、ランプ、バルブなどがある。これら各種のデバイス7は、製造ラインなどの各種のターゲットシステムの所要各部に配置される。
【0022】
次に、プログラマブル表示器1の構成について説明する。プログラマブル表示器1は、CPU(Central Processing Unit)11と、インターフェース部12及び13と、SRAM(Static RAM)14と、FEPROM(Flash Erasable and Programmable ROM)15と、DRAM(Dynamic RAM)16と、表示装置17と、タッチパネル18とを備えている。
【0023】
後述の説明により明らかになるが、インターフェース部12が請求項中の「通信手段」の一例として機能する。
【0024】
インターフェース部12は、プログラマブル表示器1が制御用サーバ装置2との間の通信を行うための通信制御部であり、LAN3及びファイアウォール5を介して、インターネット4に接続されている。インターフェース部12は、HTTP(Hyper Text Transfer Protocol)でネットワーク通信を行うことができるように構成されている。
【0025】
インターフェース部13は、プログラマブル表示器1がPLC6との間の通信を行うための通信制御部である。インターフェース部13は、PLC6がシリアル通信を行う機種である場合にはPLC6のメーカや機種に応じた通信プロトコルを用いてシリアル通信を行い、PLC6がネットワーク通信を行う機種である場合にはネットワーク通信を行うように構成されている。
【0026】
SRAM14は、PLC6から得たデータやプログラマブル表示器1で発生したデータを格納するデータメモリである。
【0027】
PLC6から得たデータとしては、サンプリングデータが挙げられる。サンプリングデータは、PLC6がデバイス7から得たデータであり、発生順にSRAM14に格納される。
【0028】
プログラマブル表示器1で発生したデータとしては、アラームデータ、折れ線グラフデータ、操作ログデータなどが挙げられる。
【0029】
アラームデータは、アラームに関する情報である。CPU11は、PLC6における所定のアラームビットがONしたことを受信すると、当該アラームビットに対して予め設定されているアラームについての内容(メッセージ)などを発報時刻(受信時刻)と併せて作成する。折れ線グラフデータは、折れ線グラフを表示するためのデータである。CPU11は、上記のサンプリングデータに基づいて折れ線グラフデータを作成する。操作ログデータは、プログラマブル表示器1に対するユーザの操作履歴に関するデータであり、ユーザがプログラマブル表示器1に対して行った操作内容(ログイン、ログアウト、画面における各タッチ操作など)や、操作者情報(氏名、所属など)や、その発生時刻などからなる。
【0030】
FEPROM15は、画面データ、表示/制御プログラム、通信プロトコルデータ、通信プログラム、プロトコル変換プログラム、ラダープログラム、ラダー処理プログラムなどを格納している。これらの各種データ、プログラムは、FEPROM15に予め格納されていてもよいし、プログラム表示器1に記憶媒体再生部を設けるようにして当該記憶媒体再生部によってCD−ROMなどの記憶媒体から読み取られてFEPROM15に予め格納されてもよい。また、これらの各種データ、プログラムは、例えば制御用サーバ装置2からプログラマブル表示器1に転送され、FEPROM15に格納されてもよい。
【0031】
画面データは、表示装置17に表示される画面(ユーザ画面)のデータであり、ベース画面のデータと、スイッチ、ランプなどの画像化された部品のデータと、各部品に付与された処理指示語(タグ)とを含んでいる。
【0032】
上記のタグは、ベース画面上で実行されるべき事象ごとに作成されており、基本的には、表示制御動作を実行すべきベース画面のファイル番号と、このベース画面上で実行されるべき動作内容を特定する事象名と、実行事象毎に参照される1または複数のデータからなる参照情報とを一組として備えている。例えば、タグが所定のデバイスアドレスの内容に応じた部品図形を所定の画面領域(表示座標範囲)に表示する表示タグである場合、参照情報には、表示するための座標範囲(X,Y)と、表示対象を特定するファイル番号と、表示対象の所定の状態を示す所定のデバイスアドレスとが含まれる。また、タグが入力タグである場合、参照情報には、有効入力座標範囲(X,Y)と、入力結果が書き込まれるデバイスアドレスとが含まれる。
【0033】
DRAM16は、表示制御などの演算処理時の作業用に用いられる他、PLC6との間でやり取りされるデータの一時的な記憶などに用いられる作業メモリである。
【0034】
表示装置17は、液晶表示装置やEL表示装置やプラズマ表示装置などの薄型表示装置が好適である。
【0035】
タッチパネル18は、表示装置17の表示画面上でタッチ入力を行うために表示装置17の表示画面上に配置されている入力装置である。
【0036】
次に、制御用サーバ装置2の構成について説明する。制御用サーバ装置2は、CPU21と、インターフェース部22と、RAM23と、ROM24と、HDD(Hard Disk Drive)25とを備えている。
【0037】
後述の説明により明らかになるが、CPU21が請求項中の「判定手段」の一例として機能する。
【0038】
CPU21は、制御用サーバ装置2全体の動作を制御することによって、プログラマブル表示器1の制御を行う。
【0039】
インターフェース部22は、制御用サーバ装置2がプログラマブル表示器1との間の通信を行うための通信制御部であり、インターネット4に接続されている。インターフェース部22は、HTTPでネットワーク通信を行うことができるように構成されている。
【0040】
RAM23は、CPU21のワークエリア等が設定される作業メモリである。
【0041】
ROM24は、通信プロトコルデータや通信プログラムなどを格納している。
【0042】
HDD25は、大容量の記憶装置であって、そのディレクトリ構造は、例えば図2に示すようになっている。「管理者ID(identification)」ディレクトリの中に、複数の「プログラマブル表示器ID」ディレクトリが入っている。各「プログラマブル表示器ID」ディレクトリは、プログラマブル表示器の所在地を示す「国識別コード」、「会社」、及び「設置場所」をプロパティ情報として有している。また、各「プログラマブル表示器ID」ディレクトリの中に、「リクエスト」ディレクトリ、「データ」ディレクトリ、「ファイル」ディレクトリ、「通信ログ」ディレクトリなどが入っている。「リクエスト」ディレクトリにはプログラマブル表示器に対するリクエストに関連するデータが保存されており、「データ」ディレクトリにはデータ更新機能に関連するデータが保存されており、「ファイル」ディレクトリにはファイル転送機能に関連するファイルやデータが保存されており、「通信ログ」ディレクトリにはネットワーク通信に関する通信ログデータが保存されている。管理者IDは管理者毎に異なる固有値となっており、プログラマブル表示器IDは、プログラマブル表示器毎に異なる固有値となっている。したがって、各プログラマブル表示器1は、管理者IDとプログラマブル表示器IDとで特定することができる。
【0043】
インターネット4には、上記構成の制御用サーバ装置2の他に、ローカルPC(Personal Computer)8も接続されている。
【0044】
次に、上記構成の制御用サーバ装置2がプログラマブル表示器1やローカルPC8から送信されるデータを受信したときの動作について図3に示すフローチャートを参照して説明する。プログラマブル表示器1からHTTPで送信されるデータは、自身のプログラマブル表示器IDと、パスワードと、制御システムのどの機能に関連するデータであるかを示す情報(機能情報)とをヘッダ部分に含んでおり、暗号化処理が施されてからHTTPで送信される。ローカルPC8からHTTPで送信されるデータは、当該データが対象とするプログラマブル表示器のプログラマブル表示器IDと、パスワードと、機能情報とをヘッダ部分に含んでおり、暗号化処理が施されてからHTTPで送信される。
【0045】
制御用サーバ装置2のCPU21は、プログラマブル表示器1やローカルPC8からHTTPで送信されるデータを受信すると、受信したデータに対して復号化処理を行う(ステップS10)。それから、制御用サーバ装置2のCPU21は、受信したデータのヘッダ部分に含まれているプログラマブル表示器IDとパスワードを基に、受信したデータの正当性に問題があるか否かを判定する(ステップS20)。
【0046】
プログラマブル表示器IDが予め設定しているフォーマットと異なっていたりパスワードが異なっていたりするなど、受信したデータの正当性に問題があれば(ステップS20のYES)、制御用サーバ装置2のCPU21は、プログラマブル表示器IDやパスワードに誤りがある旨を送信元に返信し(ステップS30)、図3に示すフローチャートの動作を終了する。
【0047】
これに対して、受信したデータの正当性に問題がなければ(ステップS20のNO)、制御用サーバ装置2のCPU21は、受信データの関連する機能を判定し、その判定結果に応じた処理を行い(ステップS40)、図3に示すフローチャートの動作を終了する。
【0048】
以下、図1に示す制御システムの機能例として、ポーリング機能、データ更新機能、及び制御用サーバ装置2からプログラマブル表示器1へのファイル転送機能について順次説明する。
【0049】
まず、ポーリング機能について説明する。プログラマブル表示器1は、図4に示すフローチャートの動作を行っている。すなわち、プログラマブル表示器1は、制御用サーバ装置2に対してリクエストに関するポーリング(問い合わせ)を行い(ステップS110)、その後、制御用サーバ装置2からの返信データに応じた処理を行う(ステップS120)。ステップS110において、プログラマブル表示器1のCPU11は、自己のプログラマブル表示器IDと、パスワードと、機能情報とを含むヘッダ部分を空データに付加したものに対して暗号化処理を施してポーリング情報を作成する。このポーリング情報は、インターフェース部12によって、HTTPのGETコマンドで、LAN3、ファイアウォール5、及びインターネット4を介して制御用サーバ装置2に送信される。ステップS120の詳細については後述する。図4に示すフローチャートの動作は、原則として、所定のポーリング周期毎に開始されるが、ステップS120の処理中には所定のポーリング周期によるポーリングが行われないようにしている(後述する図6参照)。
【0050】
ポーリング情報を受信した制御用サーバ装置2は、図3に示すフローチャートの動作を行い、ステップS40においてポーリング情報受信処理を行う。ポーリング情報受信処理のフローチャートを図5に示す。
【0051】
ポーリング情報受信処理において、まず制御用サーバ装置2のCPU21は、受信したポーリング情報のヘッダ部分および図2に示すディレクトリ構造に基づいて、ポーリング情報の送信元プログラマブル表示器が登録されているか否かを判定する(ステップS210)。送信元プログラマブル表示器がまだ登録されていなければ(ステップS210のNO)、送信元プログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリを新たに作成して、送信元プログラマブル表示器を新たに登録し(ステップS220)、その後ステップS230に移行する。一方、送信元プログラマブル表示器が既に登録されていれば(ステップS210のYES)、直接ステップS230に移行する。ステップS230では、制御用サーバ装置2のCPU21は、送信元プログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリの中の「リクエスト」ディレクトリに保存されているリクエストデータのステータスを参照して、送信元プログラマブル表示器に送っていないリクエストの内容を設定して送信元プログラマブル表示器にGETコマンドに対する返信をし、その後ポーリング情報受信処理を終了する。
【0052】
送信元プログラマブル表示器は、制御用サーバ装置2から返信データを受け取ると、ステップS120の返信データ処理を行う。ステップS120の返信データ処理の詳細を図6にフローチャートに示す。送信元プログラマブル表示器のCPU11は、所定のポーリング周期によるポーリングを停止し(ステップS310)、返信データを復号化して、返信データの内容をFEPROM15に保存し(ステップS320)、その後、所定のポーリング周期によるポーリングを再開し(ステップS330)、返信データ処理を終了する。
【0053】
続いて、データ更新機能について説明する。ローカルPC8は、図7に示すフローチャートの動作を行う。すなわち、ローカルPC8は、インストールされているリクエスト設定アプリケーションによって、リクエストの対象であるプログラマブル表示器のプログラマブル表示器IDと、パスワードと、機能情報とを含むヘッダ部分をリクエストデータに付加したものに対して暗号化処理を施してリクエスト設定情報を作成する(ステップS410)。このリクエスト設定情報は、HTTPコマンドで、インターネット4を介して制御用サーバ装置2に送信される(ステップS420)。
【0054】
リクエスト設定情報を受信した制御用サーバ装置2は、図3に示すフローチャートの動作を行い、ステップS40においてリクエスト設定情報受信処理を行う。リクエスト設定情報受信処理のフローチャートを図8に示す。
【0055】
リクエスト設定情報受信処理において、まず制御用サーバ装置2のCPU21は、受信したリクエスト設定情報の内容をリクエストの対象であるプログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリの中の「リクエスト」ディレクトリに保存し(ステップS510)、リクエストの対象であるプログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリの中の「リクエスト」ディレクトリに保存されている設定リクエスト一覧のデータに、受信したリクエスト設定情報の項目を追加して(ステップS520)、リクエスト設定情報受信処理を終了する。なお、設定リクエスト一覧のデータには、各リクエストの設定日時(各リクエストに対応するリクエスト設定情報の受信日時)が含まれている。
【0056】
プログラマブル表示器1は、上述したポーリング機能により、ポーリングを行い、そのポーリングに対する返信データの受信処理を行っている。そして、返信データの内容に含まれているリクエストの実行条件が成立すると、プログラマブル表示器1は、図9に示すフローチャートの動作を行う。
【0057】
プログラマブル表示器1のCPU11は、保存しているデータセットを元にSRAM14やFEPROM15に保存されているデータあるいはインターフェース部13を用いてPLC6の内部データを更新する(ステップS610)。
【0058】
最後に、制御用サーバ装置2からプログラマブル表示器1へのファイル転送機能について説明する。ローカルPC8は、例えば、公知のWebブラウザなどのアプリケーションソフトを利用して制御用サーバ装置2のファイル登録ページにログインすることによって、制御用サーバ装置2にファイルをアップロードすることができる。なお、アップロードの際には、ファイルの転送対象のプログラマブル表示器1が選択される。ローカルPC8がファイルを制御用サーバ装置2にアップロードすると、制御用サーバ装置2のCPU21は、図11に示すフローチャートの動作を行い、選択されたプログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリの中の「ファイル」ディレクトリにファイルを保存し(ステップS710)、選択されたプログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリの中の「ファイル」ディレクトリに保存されているファイル一覧のデータに、アップロードされたファイルの項目を追加する。
【0059】
プログラマブル表示器1は、タッチパネル18のユーザ操作によって、ファイルのダウンロードが指示されると、図11に示すフローチャートの動作を開始する。プログラマブル表示器1のCPU11は、自己のプログラマブル表示器IDと、パスワードと、機能情報とを含むヘッダ部分をファイル特定データ(取得対象となるファイルを特定するためのデータ)に付加したものに対して暗号化処理を施してファイル取得要求を作成する。このファイル取得要求は、インターフェース部12によって、HTTPコマンドで、LAN3、ファイアウォール5、及びインターネット4を介して制御用サーバ装置2に送信される(ステップS810)。
【0060】
ファイル取得要求を受信した制御用サーバ装置2は、図3に示すフローチャートの動作を行い、ステップS40においてファイル取得要求受信処理を行う。ファイル取得要求受信処理において、制御用サーバ装置2は、図12に示すフローチャートの動作を行い、ファイル取得要求によって指定されたファイルを返信内容に設定して送信元プログラマブル表示器にGETコマンドに対する返信を行い(ステップS910)、ファイル取得要求受信処理を終了する。この返信に対応して、プログラマブル表示器1は、制御用サーバ装置2からファイルを受信し(図11のステップS820)、表示装置17に表示されている画面部品の設定に応じた処理(例えば、ファイルの内容表示)を実行する(ステップS830)。
【0061】
上述した各種機能を有する図2に示す制御システムでは、プログラマブル表示器1からインターネット上の制御用サーバ装置2へのポーリングをHTTPのGETコマンドで行っており、プログラマブル表示器1はGETコマンドの返信によってリクエストを受信している。ファイアウォール5の一般的な設定では、HTTPに対してポートを開放しているので、上述した各種機能を有する図1に示す制御システムでは、ファイアウォール5について特に難しい設定を行うことなく、インターネット上の制御用サーバ装置2からプログラマブル表示器1へのデータ送信が可能となり、利便性が向上する。また、プログラマブル表示器IDを含むヘッダ部分を利用して、制御用サーバ装置2が受信したデータの正当性を判定しているので、制御用サーバ装置2においてポーリングが不正でないかを識別することができ、セキュリティを確保することができる。
【0062】
以上、本発明に係る実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実行することができる。
【0063】
例えば、上述した実施形態では、プログラマブル表示器IDとパスワードによって制御用サーバ装置2が受信したデータの正当性を判定したが、ヘッダ部分にパスワードを含めないようにし、プログラマブル表示器IDのみによって制御用サーバ装置2が受信したデータの正当性を判定してもよい。また、これとは逆に、ヘッダ部分に他の要素(例えば、アクセスID、国識別コードなど)を含め、プログラマブル表示器IDと当該他の要素によって制御用サーバ装置2が受信したデータの正当性を判定してもよい。
【0064】
また、例えば、上述した実施形態では、インターフェース部12及び22がHTTPでネットワーク通信を行っているが、HTTPの代わりに、HTTPを拡張したプロトコルを利用してもよく、HTTPやHTTPを拡張したプロトコルと同様にファイアウォールの一般的な設定でポートが開放されている他のプロトコルを利用してもよい。
【0065】
なお、HTTPコマンドはHTTP通信によるGETコマンドまたはPOSTコマンドである。
【符号の説明】
【0066】
1 プログラマブル表示器
2 制御用サーバ装置
3 LAN
4 インターネット
5 ファイアウォール
6 PLC
7 デバイス
8 ローカルPC
11 CPU
12、13 インターフェース部
14 SRAM
15 FEPROM
16 DRAM
17 表示装置
18 タッチパネル
21 CPU
22 インターフェース部
23 RAM
24 ROM
25 HDD
【技術分野】
【0001】
本発明は、複数のプログラマブル表示器と、それらを制御する制御用サーバ装置とを備える制御システム並びに当該制御システムにおいて用いられるプログラマブル表示器及び制御用サーバ装置に関する。
【背景技術】
【0002】
従来、複数のプログラマブル表示器と、それらを制御する制御用サーバ装置とを備える制御システムでは、制御用サーバ装置と当該制御用サーバ装置にアクセス可能なクライアント装置とはインターネットによって接続されることがあったが、複数のプログラマブル表示器と、それらを制御する制御用サーバ装置とは専用のネットワーク(LAN)によって接続されていた(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第01/69334号(第1図)
【特許文献2】特開2001−5746号公報(第1図、段落0031)
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の制御システムでは、複数のプログラマブル表示器と、それらを制御する制御用サーバ装置とが同じLANに接続されているため、制御用サーバ装置の設置場所がLANエリア内に限定され、制御用サーバ装置の制御対象が同一のLANに接続されているプログラマブル表示器に限定されていた。すなわち、従来の制御システムでは、システムを構築する上での制約が大きかった。
【0005】
そこで、制御用サーバ装置をインターネット上に設け制御用サーバ装置とプログラマブル表示器とがインターネット通信を行うようにすることが考えられるが、LANに接続されているプログラマブル表示器がインターネット上の制御用サーバ装置にリクエストに関するポーリングを行う場合やインターネット上の制御用サーバ装置がLANに接続されているプログラマブル表示器にリクエストを送信する場合、LANに通常設けられているファイアウォールが障害となりポーリングやリクエスト送信ができないおそれがある。ファイアウォールが障害となる場合、中継サーバを設置したり、ファイアウォールの設定を変更したりすることで対応することができるが、そのような対応には相応の専門知識が必要であるという不都合がある。さらに、セキュリティの観点からファイアウォールの設定変更自体が認められないことも多いと考えられる。
【0006】
また、LANに接続されているプログラマブル表示器がインターネット上の制御用サーバ装置に対してポーリングを行う構成であるため、ポーリングが不正でないかを識別することができるようにして、セキュリティを確保する必要がある。
【0007】
尚、特許文献2には、転送サーバを介して送信クライアントから受信クライアントへ電子ファイルを転送するファイル転送システムが開示されている。特許文献2で開示されているファイル転送システムは転送サーバを設置するという煩雑さがある。すなわち、特許文献2で開示されているファイル転送システムの転送サーバは、中継サーバに該当するものであり、上述した制御システムの制御用サーバ装置と全く異なるものである。
【0008】
本発明は、上記の状況に鑑み、システムを構築する上での制約が小さく、制御用サーバ装置がプログラマブル表示器を制御する場合の利便性とセキュリティがともに高い制御システム並びに当該制御システムにおいて用いられるプログラマブル表示器及び制御用サーバ装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明に係る制御システムは、複数のプログラマブル表示器と、制御用サーバ装置とを備え、前記プログラマブル表示器がインターネットを介して前記制御用サーバ装置に通信可能に接続される制御システムであって、前記プログラマブル表示器が、前記制御用サーバ装置へのポーリングをHTTP又はHTTPを拡張したプロトコルのGETコマンドで行い、前記GETコマンドの返信によってリクエストを受信する通信手段を有し、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに送信元を特定できる情報が含まれており、前記制御用サーバ装置が、前記送信元を特定できる情報に基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定する判定手段を有するようにする。
【0010】
また、プログラマブル表示器に保存することができるデータの容量は限られていることを考慮し、前記GETコマンドの返信に、前記リクエストの実行条件と前記リクエストの実行内容であるデータセットとが含まれており、前記プログラマブル表示器が、前記リクエストのデータ量に応じて、前記リクエストの受信時に前記リクエストの実行条件と前記データセットとを保存するか前記リクエストの実行条件のみを保存するかを決定するようにしてもよい。
【0011】
また、セキュリティをより確実に確保する観点から、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングにパスワードが含まれており、前記判定手段が、前記送信元を特定できる情報及び前記パスワードに基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定するようにしてもよい。
【0012】
また、上記目的を達成するために本発明に係るプログラマブル表示器は、インターネットを介して制御用サーバ装置との通信が可能であるプログラマブル表示器であって、前記制御用サーバ装置へのポーリングをHTTP又はHTTPを拡張したプロトコルで行う通信手段を備え、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに送信元を特定できる情報が含まれているようにする。
【0013】
また、上記目的を達成するために本発明に係る制御用サーバ装置は、インターネットを介してプログラマブル表示器との通信が可能である制御用サーバ装置であって、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに含まれている送信元を特定できる情報に基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定する判定手段を備えるようにする。
【発明の効果】
【0014】
本発明によると、プログラマブル表示器が、制御用サーバ装置へのポーリングをHTTP又はHTTPを拡張したプロトコルのGETコマンドで行い、そのGETコマンドの返信によってリクエストを受信する通信手段を有しているので、ファイアウォールについて特に難しい設定を行うことなく、インターネット上の制御用サーバ装置からプログラマブル表示器へのデータ送信が可能となり、利便性が向上する。また、本発明によると、制御用サーバ装置が、プログラマブル表示器から制御用サーバ装置に送信されるポーリングに含まれている送信元を特定できる情報に基づいて、プログラマブル表示器から制御用サーバ装置に送信されるポーリングの正当性を判定する判定手段を有しているので、セキュリティを確保することができる。
【図面の簡単な説明】
【0015】
【図1】本発明に係る制御システムの一構成例を示す図である。
【図2】制御用サーバ装置が具備するHDDのディレクトリ構造を示す図である。
【図3】制御用サーバ装置がプログラマブル表示器やローカルPCから送信されるデータを受信したときの動作を示すフローチャートである。
【図4】プログラマブル表示器のポーリング動作を示すフローチャートである。
【図5】ポーリング情報受信処理のフローチャートである。
【図6】返信データ処理のフローチャートである。
【図7】リクエスト設定情報送信処理のフローチャートである。
【図8】リクエスト設定情報受信処理のフローチャートである。
【図9】データ更新実行処理のフローチャートである。
【図10】アップロードされたファイルの保存処理のフローチャートである。
【図11】ファイルの取得処理のフローチャートである。
【図12】ファイル取得要求受信処理のフローチャートである。
【発明を実施するための形態】
【0016】
本発明の実施形態について図面を参照して以下に説明する。図1は、本発明に係る制御システムの一構成例を示す図である。
【0017】
図1に示す制御システムは、複数のプログラマブル表示器1と、それらを制御する制御用サーバ装置2とを備えている。
【0018】
ある管理者(一つの会社、一つの事業所、あるいは一つの工場など)は、LAN(Local Area Network)3と、LAN3からインターネット4への不適切なデータ流出やインターネット4からLAN3への不適切なデータ流入を防止するファイアウォール5と、プログラマブル表示器1と、PLC6と、デバイス7とを特定のエリア内に設けている。なお、図1においては、一管理者分のLAN3、ファイアウォール5、プログラマブル表示器1、PLC6、及びデバイス7しか図示していないが、制御用サーバ装置2は、一管理者分のプログラマブル表示器1のみを制御するものに限定されるのではなく、複数管理者分のプログラマブル表示器1を制御するものであってもよい。
【0019】
プログラマブル表示器1は、LAN3及びファイアウォール5、及びインターネット4を介して制御用サーバ装置2とインターネット通信可能である。
【0020】
PLC6は、ユーザが作成した制御プログラム(ラダープログラム)を実行することにより、例えば、数十msなどの予め定められたスキャンタイム毎に、入力用のデバイス7の状態を取り込むとともに、出力用のデバイス7に制御指示を与える。
【0021】
入力用のデバイス7としては、例えば、スイッチ、センサなどがあり、出力用のデバイス7としては、例えば、ランプ、バルブなどがある。これら各種のデバイス7は、製造ラインなどの各種のターゲットシステムの所要各部に配置される。
【0022】
次に、プログラマブル表示器1の構成について説明する。プログラマブル表示器1は、CPU(Central Processing Unit)11と、インターフェース部12及び13と、SRAM(Static RAM)14と、FEPROM(Flash Erasable and Programmable ROM)15と、DRAM(Dynamic RAM)16と、表示装置17と、タッチパネル18とを備えている。
【0023】
後述の説明により明らかになるが、インターフェース部12が請求項中の「通信手段」の一例として機能する。
【0024】
インターフェース部12は、プログラマブル表示器1が制御用サーバ装置2との間の通信を行うための通信制御部であり、LAN3及びファイアウォール5を介して、インターネット4に接続されている。インターフェース部12は、HTTP(Hyper Text Transfer Protocol)でネットワーク通信を行うことができるように構成されている。
【0025】
インターフェース部13は、プログラマブル表示器1がPLC6との間の通信を行うための通信制御部である。インターフェース部13は、PLC6がシリアル通信を行う機種である場合にはPLC6のメーカや機種に応じた通信プロトコルを用いてシリアル通信を行い、PLC6がネットワーク通信を行う機種である場合にはネットワーク通信を行うように構成されている。
【0026】
SRAM14は、PLC6から得たデータやプログラマブル表示器1で発生したデータを格納するデータメモリである。
【0027】
PLC6から得たデータとしては、サンプリングデータが挙げられる。サンプリングデータは、PLC6がデバイス7から得たデータであり、発生順にSRAM14に格納される。
【0028】
プログラマブル表示器1で発生したデータとしては、アラームデータ、折れ線グラフデータ、操作ログデータなどが挙げられる。
【0029】
アラームデータは、アラームに関する情報である。CPU11は、PLC6における所定のアラームビットがONしたことを受信すると、当該アラームビットに対して予め設定されているアラームについての内容(メッセージ)などを発報時刻(受信時刻)と併せて作成する。折れ線グラフデータは、折れ線グラフを表示するためのデータである。CPU11は、上記のサンプリングデータに基づいて折れ線グラフデータを作成する。操作ログデータは、プログラマブル表示器1に対するユーザの操作履歴に関するデータであり、ユーザがプログラマブル表示器1に対して行った操作内容(ログイン、ログアウト、画面における各タッチ操作など)や、操作者情報(氏名、所属など)や、その発生時刻などからなる。
【0030】
FEPROM15は、画面データ、表示/制御プログラム、通信プロトコルデータ、通信プログラム、プロトコル変換プログラム、ラダープログラム、ラダー処理プログラムなどを格納している。これらの各種データ、プログラムは、FEPROM15に予め格納されていてもよいし、プログラム表示器1に記憶媒体再生部を設けるようにして当該記憶媒体再生部によってCD−ROMなどの記憶媒体から読み取られてFEPROM15に予め格納されてもよい。また、これらの各種データ、プログラムは、例えば制御用サーバ装置2からプログラマブル表示器1に転送され、FEPROM15に格納されてもよい。
【0031】
画面データは、表示装置17に表示される画面(ユーザ画面)のデータであり、ベース画面のデータと、スイッチ、ランプなどの画像化された部品のデータと、各部品に付与された処理指示語(タグ)とを含んでいる。
【0032】
上記のタグは、ベース画面上で実行されるべき事象ごとに作成されており、基本的には、表示制御動作を実行すべきベース画面のファイル番号と、このベース画面上で実行されるべき動作内容を特定する事象名と、実行事象毎に参照される1または複数のデータからなる参照情報とを一組として備えている。例えば、タグが所定のデバイスアドレスの内容に応じた部品図形を所定の画面領域(表示座標範囲)に表示する表示タグである場合、参照情報には、表示するための座標範囲(X,Y)と、表示対象を特定するファイル番号と、表示対象の所定の状態を示す所定のデバイスアドレスとが含まれる。また、タグが入力タグである場合、参照情報には、有効入力座標範囲(X,Y)と、入力結果が書き込まれるデバイスアドレスとが含まれる。
【0033】
DRAM16は、表示制御などの演算処理時の作業用に用いられる他、PLC6との間でやり取りされるデータの一時的な記憶などに用いられる作業メモリである。
【0034】
表示装置17は、液晶表示装置やEL表示装置やプラズマ表示装置などの薄型表示装置が好適である。
【0035】
タッチパネル18は、表示装置17の表示画面上でタッチ入力を行うために表示装置17の表示画面上に配置されている入力装置である。
【0036】
次に、制御用サーバ装置2の構成について説明する。制御用サーバ装置2は、CPU21と、インターフェース部22と、RAM23と、ROM24と、HDD(Hard Disk Drive)25とを備えている。
【0037】
後述の説明により明らかになるが、CPU21が請求項中の「判定手段」の一例として機能する。
【0038】
CPU21は、制御用サーバ装置2全体の動作を制御することによって、プログラマブル表示器1の制御を行う。
【0039】
インターフェース部22は、制御用サーバ装置2がプログラマブル表示器1との間の通信を行うための通信制御部であり、インターネット4に接続されている。インターフェース部22は、HTTPでネットワーク通信を行うことができるように構成されている。
【0040】
RAM23は、CPU21のワークエリア等が設定される作業メモリである。
【0041】
ROM24は、通信プロトコルデータや通信プログラムなどを格納している。
【0042】
HDD25は、大容量の記憶装置であって、そのディレクトリ構造は、例えば図2に示すようになっている。「管理者ID(identification)」ディレクトリの中に、複数の「プログラマブル表示器ID」ディレクトリが入っている。各「プログラマブル表示器ID」ディレクトリは、プログラマブル表示器の所在地を示す「国識別コード」、「会社」、及び「設置場所」をプロパティ情報として有している。また、各「プログラマブル表示器ID」ディレクトリの中に、「リクエスト」ディレクトリ、「データ」ディレクトリ、「ファイル」ディレクトリ、「通信ログ」ディレクトリなどが入っている。「リクエスト」ディレクトリにはプログラマブル表示器に対するリクエストに関連するデータが保存されており、「データ」ディレクトリにはデータ更新機能に関連するデータが保存されており、「ファイル」ディレクトリにはファイル転送機能に関連するファイルやデータが保存されており、「通信ログ」ディレクトリにはネットワーク通信に関する通信ログデータが保存されている。管理者IDは管理者毎に異なる固有値となっており、プログラマブル表示器IDは、プログラマブル表示器毎に異なる固有値となっている。したがって、各プログラマブル表示器1は、管理者IDとプログラマブル表示器IDとで特定することができる。
【0043】
インターネット4には、上記構成の制御用サーバ装置2の他に、ローカルPC(Personal Computer)8も接続されている。
【0044】
次に、上記構成の制御用サーバ装置2がプログラマブル表示器1やローカルPC8から送信されるデータを受信したときの動作について図3に示すフローチャートを参照して説明する。プログラマブル表示器1からHTTPで送信されるデータは、自身のプログラマブル表示器IDと、パスワードと、制御システムのどの機能に関連するデータであるかを示す情報(機能情報)とをヘッダ部分に含んでおり、暗号化処理が施されてからHTTPで送信される。ローカルPC8からHTTPで送信されるデータは、当該データが対象とするプログラマブル表示器のプログラマブル表示器IDと、パスワードと、機能情報とをヘッダ部分に含んでおり、暗号化処理が施されてからHTTPで送信される。
【0045】
制御用サーバ装置2のCPU21は、プログラマブル表示器1やローカルPC8からHTTPで送信されるデータを受信すると、受信したデータに対して復号化処理を行う(ステップS10)。それから、制御用サーバ装置2のCPU21は、受信したデータのヘッダ部分に含まれているプログラマブル表示器IDとパスワードを基に、受信したデータの正当性に問題があるか否かを判定する(ステップS20)。
【0046】
プログラマブル表示器IDが予め設定しているフォーマットと異なっていたりパスワードが異なっていたりするなど、受信したデータの正当性に問題があれば(ステップS20のYES)、制御用サーバ装置2のCPU21は、プログラマブル表示器IDやパスワードに誤りがある旨を送信元に返信し(ステップS30)、図3に示すフローチャートの動作を終了する。
【0047】
これに対して、受信したデータの正当性に問題がなければ(ステップS20のNO)、制御用サーバ装置2のCPU21は、受信データの関連する機能を判定し、その判定結果に応じた処理を行い(ステップS40)、図3に示すフローチャートの動作を終了する。
【0048】
以下、図1に示す制御システムの機能例として、ポーリング機能、データ更新機能、及び制御用サーバ装置2からプログラマブル表示器1へのファイル転送機能について順次説明する。
【0049】
まず、ポーリング機能について説明する。プログラマブル表示器1は、図4に示すフローチャートの動作を行っている。すなわち、プログラマブル表示器1は、制御用サーバ装置2に対してリクエストに関するポーリング(問い合わせ)を行い(ステップS110)、その後、制御用サーバ装置2からの返信データに応じた処理を行う(ステップS120)。ステップS110において、プログラマブル表示器1のCPU11は、自己のプログラマブル表示器IDと、パスワードと、機能情報とを含むヘッダ部分を空データに付加したものに対して暗号化処理を施してポーリング情報を作成する。このポーリング情報は、インターフェース部12によって、HTTPのGETコマンドで、LAN3、ファイアウォール5、及びインターネット4を介して制御用サーバ装置2に送信される。ステップS120の詳細については後述する。図4に示すフローチャートの動作は、原則として、所定のポーリング周期毎に開始されるが、ステップS120の処理中には所定のポーリング周期によるポーリングが行われないようにしている(後述する図6参照)。
【0050】
ポーリング情報を受信した制御用サーバ装置2は、図3に示すフローチャートの動作を行い、ステップS40においてポーリング情報受信処理を行う。ポーリング情報受信処理のフローチャートを図5に示す。
【0051】
ポーリング情報受信処理において、まず制御用サーバ装置2のCPU21は、受信したポーリング情報のヘッダ部分および図2に示すディレクトリ構造に基づいて、ポーリング情報の送信元プログラマブル表示器が登録されているか否かを判定する(ステップS210)。送信元プログラマブル表示器がまだ登録されていなければ(ステップS210のNO)、送信元プログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリを新たに作成して、送信元プログラマブル表示器を新たに登録し(ステップS220)、その後ステップS230に移行する。一方、送信元プログラマブル表示器が既に登録されていれば(ステップS210のYES)、直接ステップS230に移行する。ステップS230では、制御用サーバ装置2のCPU21は、送信元プログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリの中の「リクエスト」ディレクトリに保存されているリクエストデータのステータスを参照して、送信元プログラマブル表示器に送っていないリクエストの内容を設定して送信元プログラマブル表示器にGETコマンドに対する返信をし、その後ポーリング情報受信処理を終了する。
【0052】
送信元プログラマブル表示器は、制御用サーバ装置2から返信データを受け取ると、ステップS120の返信データ処理を行う。ステップS120の返信データ処理の詳細を図6にフローチャートに示す。送信元プログラマブル表示器のCPU11は、所定のポーリング周期によるポーリングを停止し(ステップS310)、返信データを復号化して、返信データの内容をFEPROM15に保存し(ステップS320)、その後、所定のポーリング周期によるポーリングを再開し(ステップS330)、返信データ処理を終了する。
【0053】
続いて、データ更新機能について説明する。ローカルPC8は、図7に示すフローチャートの動作を行う。すなわち、ローカルPC8は、インストールされているリクエスト設定アプリケーションによって、リクエストの対象であるプログラマブル表示器のプログラマブル表示器IDと、パスワードと、機能情報とを含むヘッダ部分をリクエストデータに付加したものに対して暗号化処理を施してリクエスト設定情報を作成する(ステップS410)。このリクエスト設定情報は、HTTPコマンドで、インターネット4を介して制御用サーバ装置2に送信される(ステップS420)。
【0054】
リクエスト設定情報を受信した制御用サーバ装置2は、図3に示すフローチャートの動作を行い、ステップS40においてリクエスト設定情報受信処理を行う。リクエスト設定情報受信処理のフローチャートを図8に示す。
【0055】
リクエスト設定情報受信処理において、まず制御用サーバ装置2のCPU21は、受信したリクエスト設定情報の内容をリクエストの対象であるプログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリの中の「リクエスト」ディレクトリに保存し(ステップS510)、リクエストの対象であるプログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリの中の「リクエスト」ディレクトリに保存されている設定リクエスト一覧のデータに、受信したリクエスト設定情報の項目を追加して(ステップS520)、リクエスト設定情報受信処理を終了する。なお、設定リクエスト一覧のデータには、各リクエストの設定日時(各リクエストに対応するリクエスト設定情報の受信日時)が含まれている。
【0056】
プログラマブル表示器1は、上述したポーリング機能により、ポーリングを行い、そのポーリングに対する返信データの受信処理を行っている。そして、返信データの内容に含まれているリクエストの実行条件が成立すると、プログラマブル表示器1は、図9に示すフローチャートの動作を行う。
【0057】
プログラマブル表示器1のCPU11は、保存しているデータセットを元にSRAM14やFEPROM15に保存されているデータあるいはインターフェース部13を用いてPLC6の内部データを更新する(ステップS610)。
【0058】
最後に、制御用サーバ装置2からプログラマブル表示器1へのファイル転送機能について説明する。ローカルPC8は、例えば、公知のWebブラウザなどのアプリケーションソフトを利用して制御用サーバ装置2のファイル登録ページにログインすることによって、制御用サーバ装置2にファイルをアップロードすることができる。なお、アップロードの際には、ファイルの転送対象のプログラマブル表示器1が選択される。ローカルPC8がファイルを制御用サーバ装置2にアップロードすると、制御用サーバ装置2のCPU21は、図11に示すフローチャートの動作を行い、選択されたプログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリの中の「ファイル」ディレクトリにファイルを保存し(ステップS710)、選択されたプログラマブル表示器に対応する「プログラマブル表示器ID」ディレクトリの中の「ファイル」ディレクトリに保存されているファイル一覧のデータに、アップロードされたファイルの項目を追加する。
【0059】
プログラマブル表示器1は、タッチパネル18のユーザ操作によって、ファイルのダウンロードが指示されると、図11に示すフローチャートの動作を開始する。プログラマブル表示器1のCPU11は、自己のプログラマブル表示器IDと、パスワードと、機能情報とを含むヘッダ部分をファイル特定データ(取得対象となるファイルを特定するためのデータ)に付加したものに対して暗号化処理を施してファイル取得要求を作成する。このファイル取得要求は、インターフェース部12によって、HTTPコマンドで、LAN3、ファイアウォール5、及びインターネット4を介して制御用サーバ装置2に送信される(ステップS810)。
【0060】
ファイル取得要求を受信した制御用サーバ装置2は、図3に示すフローチャートの動作を行い、ステップS40においてファイル取得要求受信処理を行う。ファイル取得要求受信処理において、制御用サーバ装置2は、図12に示すフローチャートの動作を行い、ファイル取得要求によって指定されたファイルを返信内容に設定して送信元プログラマブル表示器にGETコマンドに対する返信を行い(ステップS910)、ファイル取得要求受信処理を終了する。この返信に対応して、プログラマブル表示器1は、制御用サーバ装置2からファイルを受信し(図11のステップS820)、表示装置17に表示されている画面部品の設定に応じた処理(例えば、ファイルの内容表示)を実行する(ステップS830)。
【0061】
上述した各種機能を有する図2に示す制御システムでは、プログラマブル表示器1からインターネット上の制御用サーバ装置2へのポーリングをHTTPのGETコマンドで行っており、プログラマブル表示器1はGETコマンドの返信によってリクエストを受信している。ファイアウォール5の一般的な設定では、HTTPに対してポートを開放しているので、上述した各種機能を有する図1に示す制御システムでは、ファイアウォール5について特に難しい設定を行うことなく、インターネット上の制御用サーバ装置2からプログラマブル表示器1へのデータ送信が可能となり、利便性が向上する。また、プログラマブル表示器IDを含むヘッダ部分を利用して、制御用サーバ装置2が受信したデータの正当性を判定しているので、制御用サーバ装置2においてポーリングが不正でないかを識別することができ、セキュリティを確保することができる。
【0062】
以上、本発明に係る実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実行することができる。
【0063】
例えば、上述した実施形態では、プログラマブル表示器IDとパスワードによって制御用サーバ装置2が受信したデータの正当性を判定したが、ヘッダ部分にパスワードを含めないようにし、プログラマブル表示器IDのみによって制御用サーバ装置2が受信したデータの正当性を判定してもよい。また、これとは逆に、ヘッダ部分に他の要素(例えば、アクセスID、国識別コードなど)を含め、プログラマブル表示器IDと当該他の要素によって制御用サーバ装置2が受信したデータの正当性を判定してもよい。
【0064】
また、例えば、上述した実施形態では、インターフェース部12及び22がHTTPでネットワーク通信を行っているが、HTTPの代わりに、HTTPを拡張したプロトコルを利用してもよく、HTTPやHTTPを拡張したプロトコルと同様にファイアウォールの一般的な設定でポートが開放されている他のプロトコルを利用してもよい。
【0065】
なお、HTTPコマンドはHTTP通信によるGETコマンドまたはPOSTコマンドである。
【符号の説明】
【0066】
1 プログラマブル表示器
2 制御用サーバ装置
3 LAN
4 インターネット
5 ファイアウォール
6 PLC
7 デバイス
8 ローカルPC
11 CPU
12、13 インターフェース部
14 SRAM
15 FEPROM
16 DRAM
17 表示装置
18 タッチパネル
21 CPU
22 インターフェース部
23 RAM
24 ROM
25 HDD
【特許請求の範囲】
【請求項1】
複数のプログラマブル表示器と、制御用サーバ装置とを備え、前記プログラマブル表示器がインターネットを介して前記制御用サーバ装置に通信可能に接続される制御システムであって、
前記プログラマブル表示器が、前記制御用サーバ装置へのポーリングをHTTP又はHTTPを拡張したプロトコルのGETコマンドで行い、前記GETコマンドの返信によってリクエストを受信する通信手段を有し、
前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに送信元を特定できる情報が含まれており、
前記制御用サーバ装置が、前記送信元を特定できる情報に基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定する判定手段を有することを特徴とする制御システム。
【請求項2】
前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングにパスワードが含まれており、
前記判定手段が、前記送信元を特定できる情報及び前記パスワードに基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定することを特徴とする請求項1に記載の制御システム。
【請求項3】
インターネットを介して制御用サーバ装置との通信が可能であるプログラマブル表示器であって、
前記制御用サーバ装置へのポーリングをHTTP又はHTTPを拡張したプロトコルで行う通信手段を備え、
前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに送信元を特定できる情報が含まれていることを特徴とするプログラマブル表示器。
【請求項4】
インターネットを介してプログラマブル表示器との通信が可能である制御用サーバ装置であって、
前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに含まれている送信元を特定できる情報に基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定する判定手段を備えることを特徴とする制御用サーバ装置。
【請求項1】
複数のプログラマブル表示器と、制御用サーバ装置とを備え、前記プログラマブル表示器がインターネットを介して前記制御用サーバ装置に通信可能に接続される制御システムであって、
前記プログラマブル表示器が、前記制御用サーバ装置へのポーリングをHTTP又はHTTPを拡張したプロトコルのGETコマンドで行い、前記GETコマンドの返信によってリクエストを受信する通信手段を有し、
前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに送信元を特定できる情報が含まれており、
前記制御用サーバ装置が、前記送信元を特定できる情報に基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定する判定手段を有することを特徴とする制御システム。
【請求項2】
前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングにパスワードが含まれており、
前記判定手段が、前記送信元を特定できる情報及び前記パスワードに基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定することを特徴とする請求項1に記載の制御システム。
【請求項3】
インターネットを介して制御用サーバ装置との通信が可能であるプログラマブル表示器であって、
前記制御用サーバ装置へのポーリングをHTTP又はHTTPを拡張したプロトコルで行う通信手段を備え、
前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに送信元を特定できる情報が含まれていることを特徴とするプログラマブル表示器。
【請求項4】
インターネットを介してプログラマブル表示器との通信が可能である制御用サーバ装置であって、
前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングに含まれている送信元を特定できる情報に基づいて、前記プログラマブル表示器から前記制御用サーバ装置に送信されるポーリングの正当性を判定する判定手段を備えることを特徴とする制御用サーバ装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−65267(P2011−65267A)
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2009−213526(P2009−213526)
【出願日】平成21年9月15日(2009.9.15)
【出願人】(000134109)株式会社デジタル (224)
【Fターム(参考)】
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願日】平成21年9月15日(2009.9.15)
【出願人】(000134109)株式会社デジタル (224)
【Fターム(参考)】
[ Back to top ]