(57)【特許請求の範囲】
【請求項１】
受け取った論理タグ名に基づいて、ネットワークを介して接続される制御装置のメモリにアクセス可能なデータサーバであって、
前記ネットワークは、少なくとも並列に配置された第１，第２ネットワークを備え、一方が通信不能の際にも別の経路で通信可能に構成されるものであり、
前記第１ネットワーク上の前記制御装置を特定する第１ネットワーク情報と、前記第２ネットワーク上の前記制御装置を特定する第２ネットワーク情報と、前記論理タグ名と、その論理タグ名に対応する前記制御装置の物理アドレスとを関連づけたタグ情報を格納するタグ情報記憶手段と、
前記ネットワークの状態を監視するネットワーク監視手段と、
前記ネットワーク監視手段における監視結果に従い、使用する経路を決定するとともに、前記タグ情報に基づいてその決定された経路を使用して前記論理タグ名に対応する前記制御措置のメモリにアクセスし、所定の処理を実行するタグデータアクセス手段とを備え、
前記タグ情報に、データアクセス論理条件を格納し、
前記データアクセス手段は、前記データアクセス論理条件に従って、タグ値の変更或いはアクセス先の変更の少なくとも１つを行えるように構成したことを特徴とするデータサーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データサーバに関するものである。
【０００２】
【従来の技術】
ファクトリオートメーション（ＦＡ）の制御装置として、プログラマブルコントローラ（ＰＬＣ）が用いられている。このＰＬＣは、複数のユニットから成り立っている。例えば、電源供給源の電源ユニット，ＰＬＣ全体の制御を統率するＣＰＵユニット，ＦＡの生産装置や設備装置の適所に取り付けられたスイッチやセンサの信号を入力する入力ユニット，アクチュエータ等に制御出力を出す出力ユニット，通信ネットワークにつながる通信ユニットなどを組み合わせて構成される。また、通信ネットワークは、２重化または異種のものを用意し、各種に合わせた複数の通信ユニットを使用してもよい。
【０００３】
係るＰＬＣ（ＣＰＵユニット）における制御の内容は、入力ユニットで入力した信号をＣＰＵユニットのＩＯメモリに取り込み（ＩＮリフレッシュ）、予め登録されたラダー言語で組まれたユーザプログラムに基づき論理演算をし（演算実行）、その結果をＩＯメモリに書き込んで出力ユニットに対し送り出し（ＯＵＴリフレッシュ）、所謂周辺処理を行うことをサイクリックに繰り返し処理するようになっている。
【０００４】
なお、ＩＯメモリは、予め接続されたスイッチやセンサやアクチュエータ等の所謂制御機器に対応付けるべく、メモリアドレスの割り付けを行う。これは、ＩＯメモリの物理アドレス（例えば０〜２５５５番地）それぞれと、接続された制御機器それぞれとの対応付であり、所謂「メモリ割り付け」と呼ばれている。このメモリ割り付けは、デバイス以外にも、異常フラグのアドレス設定を行うこともある。
【０００５】
このようなＰＬＣ等の制御機器における制御に対し、必要に応じてＦＡ現場の担当者が入出力の状態をモニタリングしたり、その状態を書き替え（更新）することがある。その場合、パソコンなどの汎用コンピュータを制御装置の通信ユニットにネットワークを介して接続し、制御装置のＩＯメモリをアクセスし、ＩＯデータを読み書きする。その場合、従来は物理アドレスを指定し、直接アクセスする方式が採られている。しかし、係る方式では、コンピュータ側のインタフェースとしてのアプリケーションプログラム中に物理アドレスを記述する必要があるので、汎用性に欠け、また、アプリケーションプログラムの開発や生成も煩雑となる。
【０００６】
そこで、汎用コンピュータから制御装置へアクセスする際のインタフェースの標準規格として、ＯＰＣ（ＯＬＥ  ｆｏｒ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ）が提唱されている。このＯＰＣに準拠したＯＰＣデータアクセスサーバ（以下、単に「データサーバ」）を介して制御装置からデータを取得するようにすると、データサーバにＩＯメモリが格納された物理アドレスと論理タグ名等を関連付けたタグデータを持つので、データクライアントに格納されたアプリケーションプログラム中には、具体的な物理アドレスを記述する必要が無く、上記論理タグ名で記述することができる。
【０００７】
つまり、データクライアントからデータサーバに対して論理タグ名を用いてアクセス要求をすると、データサーバはその論理タグ名に基づきタグ情報から具体的な物理アドレスを取得し、制御装置のＩＯメモリにアクセスする。従って、アプリケーションプログラムの開発が容易に行えるとともに、データサーバや制御装置のメーカを気にすることなくアプリケーションプログラムを生成することができるので汎用性が高くなる。
【０００８】
【発明が解決しようとする課題】
ところで、従来のデータサーバで管理されているタグデータは、制御装置と通信を行うために必要なデバイス情報と、制御装置内のＩＯデータが格納された箇所を特定するための物理タグ情報を備えている。そして、デバイス情報は、論理タグ名に対して実デバイス名と、その実デバイスと通信するため識別情報が１つ設定されている。また、物理タグ情報は、論理タグ名と、論理デバイス名と、アクセスするＩＯデータが格納されたアドレスを特定する物理アドレスと、補足情報からなる。
【０００９】
このように、タグで特定できるのは、１つのネットワーク上に存在するある１点である。そのため、例えばタグ情報で指定されているネットワークが断線などすると、そのネットワーク経由でのＩＯデータへのアクセスが行えなくなる。このとき、仮にネットワークの二重化などのネットワーク異常に対する対応策が採られたネットワークシステムであっても、上記したようにタグでは１つの経路（ネットワーク）しか特定できないので、データクライアント側のアプリケーションで対応する必要がある。
【００１０】
また、ある論理タグ名で規定されるＩＯデータの状態（例えば異常フラグ）にあわせてタグの値や参照先（アクセス先）を変更するような条件処理を行いたい場合、そのような論理式をアプリケーションプログラム中に記述し、順次ＩＯデータを取得しながら次にアクセスする論理タグ名を選択することになる。
【００１１】
従って、いずれの場合も、係る対応のためのアプリケーション開発が必須となり、制御システムにおけるＩＯデータ監視制御システムの開発を煩雑化してしまう問題があった。
【００１２】
この発明は、データサーバのタグに複数のバックアップ用ネットワーク情報を設定可能とし、ネットワーク異常時の切り替えやネットワーク復旧時のリカバリ処理等をデータサーバ側で行うことができ、さらに、データサーバのタグにデータアクセス論理条件の設定を可能とし、ＩＯデータの状態に併せてタグ値の変更、タグ参照先の変更等をデータサーバ側で行うことができ、データクライアント（アプリケーションプログラム）の開発を容易にすることができるデータサーバを提供することを目的とする。
【００１３】
【課題を解決するための手段】
この発明によるデータサーバは、使用者の要求によって受け取った論理タグ名に基づいて、ネットワークを介して接続される制御装置のメモリにアクセス可能なデータサーバである。そして、前記ネットワークは、少なくとも並列に配置された第１，第２ネットワークを備え、一方が通信不能の際にも別の経路で通信可能に構成されるものを前提とする。なお、少なくとも２経路（２重化）あれはよいので、３重化以上のネットワークでももちろんよい。また、第１，第２のネットワークは、同種でも異種のものでもよい。
【００１４】
そして、前記第１ネットワーク上の前記制御装置を特定する第１ネットワーク情報と、前記第２ネットワーク上の前記制御装置を特定する第２ネットワーク情報と、前記論理タグ名と、その論理タグ名に対応する前記制御装置の物理アドレスとを関連づけたタグ情報を格納するタグ情報記憶手段と、前記ネットワークの状態を監視するネットワーク監視手段と、前記ネットワーク監視手段における監視結果に従い、使用する経路を決定するとともに、前記タグ情報に基づいてその決定された経路を使用して前記論理タグ名に対応する前記制御措置のメモリにアクセスし、所定の処理を実行するタグデータアクセス手段とを備え、前記タグ情報に、データアクセス論理条件を格納し、前記データアクセス手段は、前記データアクセス論理条件に従って、タグ値の変更或いはアクセス先の変更の少なくとも１つを行えるように構成した。
【００１５】
通常、この種の２重化（多重化）したネットワークの場合、メインネットワーク（プライマリネットワーク）と故障・異常時にバックアップ用のネットワークを使用することになるが、そのように使用に優先権があるものにかぎらず、対等なものでもよい。
【００１６】
この発明によれば、データサーバが、タグ情報として複数のネットワーク情報を備えているので、ネットワーク監視手段によって異常等の使用できないネットワークを検出した場合には、別の使用可能なネットワークについてのネットワーク情報を読み出し、その読み出したネットワーク情報に従って制御装置と通信する。よって、使用するネットワークをデータサーバ側で適宜切り替えて制御装置にアクセスできるので、たとえば、データクライアントがデータサーバに対して処理を依頼する場合は、タグ論理名と処理内容を伝えるだけですむ。つまり、ネットワーク異常の際の対応についてのプログラムを記述する必要がないので、データクライアントの開発が容易となる。
【００１７】
つまり、タグデータへのアクセスが、データクライアント側で工夫することなくの安定的に行えるため、より信頼性の高いＩＯデータ監視制御システムの開発が容易に行える。
【００１８】
また、前記タグ情報に、データアクセス論理条件を格納し、前記データアクセス手段は、前記データアクセス論理条件に従って、タグ値の変更或いはアクセス先の変更の少なくとも１つを行えるように構成したので、タグデータの値や参照先の条件処理をデータクライアント側で行わなくても済むため、ＩＯデータ監視制御システムの開発効率が向上する。
【００１９】
【発明の実施の形態】
図１は、本発明が適用されるネットワークシステムの一例を示す図である。図１に示すように、データサーバ１０と制御装置たるＰＬＣ２０が第１，第２制御ネットワーク２１ａ，２１ｂに接続され、ネットワークを構成している。この第１，第２制御ネットワーク２１ａ，２１ｂにより２重化を図り、一方のネットワークに障害が発生しても他方のネットワークを介してデータの送受が行えるようにしている。すなわち、第１制御ネットワーク２１ａはイーサネット（登録商標）から構成され、第２制御ネットワーク２１ｂはシリアルネットワークから構成される。これに伴い、ＰＬＣ２０には、イーサネット用通信ユニット２０ａとシリアル用通信ユニット２０ｂを備えている。なお、図示の例では、制御装置としてはＰＬＣ２０の例を示したが、温調機器その他各種のコントローラに適用できる。さらに、ＰＬＣ１０にはＩＯユニット１０ｃが接続され、このＩＯユニットに制御機器２８が接続されている。
【００２０】
一方、データサーバ１０には、データクライアント２５が直接または間接的に連係されている。すなわち、１つのコンピュータ内にそれぞれ別々のアプリケーションプログラムとして組み込まれている場合と、情報ネットワーク２６を介して接続される別のコンピュータに実装される場合がある。何れの場合も、データクライアント２５から論理タグ名（論理名）を指定してデータアクセスの要求がデータサーバ１０に送られ、データサーバ１０は、その論理タグ名にしたがって所定のＰＬＣのＩＯメモリをアクセスし、ＩＯデータに対して所定の処理を行うようになっている。
【００２１】
ここで、データサーバ１０の内部構成は、図２に示すようになっている。すなわち、まずデバイスの設定情報としてのプロファイルを格納するプロファイル情報記憶部１１を有している。このプロファイル情報記憶部１１は、例えば図３に示すようにデバイス名，アドレス種別，アドレス最大値及び最小値並びに可能なデータ型を関連付けたテーブル構造となっている。これにより、そのデバイス名が採り得る範囲が分かるので、ノード１０に相当する例えばデバイス名「ＣＳＩＧ−ＣＰＵ４２」のデバイスに対し、メモリアドレス値が「１００００」が設定されると、アドレス範囲外の値であるので、誤った情報と判定することができる。
【００２２】
また、タグ情報を入力するキーボードやマウスからなるタグ情報入力部１２を備え、そのタグ情報入力部１２を介して入力されたタグ情報は、タグ情報チェック部１３に与えられ、そこにおいて上記プロファイル情報記憶部１１に格納されたプロファイル情報を参照し、許容されたデータであるか否かをチェックする。そして、許容されていないデータが入力されてきた場合にはエラーを返す。このエラー通知は、例えば図示省略するディスプレイに出力表示することによりユーザに知らせることができ、正しいタグ情報の再入力を促すことができる。また、タグ情報の内容が正しい場合には、タグ情報設定部１４にデータを渡し、そのタグ情報設定部１４が所定のフォーマットからなるタグ情報を生成し、タグ情報記憶部１５に登録する。
【００２３】
このタグ情報記憶部１５に記憶するタグ情報は、図４に示すデバイス情報と、図５に示す物理タグ情報からなる。デバイス情報は、従来と同様に、論理デバイス名と、実デバイス名と、その実デバイスと通信するため識別情報（識別ＩＤ）を関連付けたデータ構造となっているが、本発明では識別情報を複数設定できるようにしている。そして、本形態の場合、第１制御ネットワーク２１ａが優先的に使用されるようにし、第１制御ネットワーク２１ａが故障など生じて使用できない場合に第２制御ネットワーク２１ｂを使用するようにしている。なお、識別情報は、ネットワークタイプ（Ｅｔｈｅｒｎｅｔ，ＲＳ２３２Ｃなど）と固有の設定情報（Ｅｔｈｅｒｎｅｔの場合はＩＰアドレス）がある。
【００２４】
また、物理タグ情報は、従来と同様に、論理タグ名と、論理デバイス名と、アクセスするＩＯデータが格納されたアドレスを特定する物理アドレスと、補足情報からなる。補足情報は、データのサイズや型並びに許可する処理内容（読み込み／書き込み等）を定義する。そして、本実施の形態では、物理アドレスの欄に、物理アドレス以外に論理条件を格納できるようにしている。
【００２５】
ここで記述する論理条件としては、例えば、「Ｉｆ  Ｔｈｅｎ形式，論理演算子，関係演算子，算術演算子，ビット演算子，関数（ＢＣＤ変換など）」等と、設定済みの論理タグ名の組み合わせで設定することができる。
【００２６】
上記したように、符号１１から１４で示す各処理部を適宜稼働させることにより、ネットワーク上に存在する各ノード（デバイス情報で規定）並びに各ノードに接続された各制御機器２８（物理タグ情報で規定）をアクセスするためのタグ情報を入力し、タグ情報記憶部１５に格納する。これにより初期設定が終了する。
【００２７】
さらに、データサーバ１０は、ネットワーク監視部１６とタグデータ論理条件処理部１７並びにタグデータアクセス部１８を備え、上記したタグ情報記憶部１５に格納されたタグ情報に従って、データクライアント２５からの依頼に基づき所定の制御機器２８（機器のＩＯ情報）が格納されたＰＬＣのＩＯメモリにアクセスして所定の処理を実行し、実行結果をデータクライアントに返す。
【００２８】
具体的には、ネットワーク監視部１６は、図６に示すフローチャートのように、ネットワークの接続状況を監視する（ＳＴ１）。つまり、第１優先の第１制御ネットワーク２１ａが正常に動作しているか否かをチェックする。このチェックは、所定のノードから応答があるかなど各種の方式を利用できる。そして、第１制御ネットワーク２１ａが断線その他の通信異常，故障で使用できない場合には、接続異常有りを通知、具体的には該当するフラグを立てる（ＳＴ２）。また、このとき監視する制御ネットワークの対象は、第１，第２制御ネットワーク２１ａ，２１ｂの両方を毎回確認しても良いし、通常は第１制御ネットワーク２１ａについて監視し、この第１制御ネットワーク２１ａが異常になった場合には、利用法の制御ネットワークを監視するようにしてもよい。そして、係る監視処理は独立して常時繰り返し行う。
【００２９】
また、タグデータ論理条件処理部１７は、タグ情報記憶部１５をアクセスし、物理タグ情報の物理アドレスの欄に格納された論理条件を抽出し、その論理条件を実行し、その結果を保持する。つまり、図５に示す論理タグ名「Ｖａｌｕｅ３」の場合、Ｉｆ  Ｔｈｅｎ方式の論理条件が格納されているため、論理タグ名「Ｓｗｉｔｃｈ０」の値を監視し、ＯＮか否かを判断する。この論理タグ名「Ｓｗｉｔｃｈ０」の物理アドレスは、物理タグ情報の該当する物理アドレスの欄を参照して取得できる。これにより、その判断結果に基づき、論理タグ名「Ｖａｌｕｅ３」は、「Ｖａｌｕｅ１／２」のどちらを指すかを認識しておく。また、このとき、対応する物理アドレスまで取得しておいても良い。これにより、タグデータ論理条件処理部１７は、常時最新のネットワークの状態に即した論理タグ名の参照先の情報を把握しており、論理タグ名が指定された場合に瞬時に対応する物理アドレスにアクセスすることが可能となる。
【００３０】
さらに、タグデータアクセス部１８は、図７に示すフローチャートを実行する機能を有する。すなわち、データクライアント２５から論理タグ名とともにＲｅａｄ／Ｗｒｉｇｈｔ処理の要求を受け付ける（ＳＴ１１）と、その論理タグ名をキーにしてタグ情報記憶部１５にアクセスし、対応するデバイス情報と物理タグ情報を取得する（ＳＴ１２）。すなわち、物理タグ情報は、受け取った論理タグ名に基づいて取得できる。また、デバイス情報は、取得した物理タグ情報の論理デバイス名をキーにして取得することができる。
【００３１】
次いで、ネットワーク（第１優先の第１制御ネットワーク２１ａ）に接続異常があるか否かを判断する（ＳＴ１３）。具体的には、上記したようにネットワーク監視部１６によりネットワークの異常の有無が監視されているので、第１制御ネットワーク２１ａについて異常フラグが立っているか否かを判断することにより異常の有無を判断する。
【００３２】
そして、異常がある場合には、バックアップネットワーク（第２制御ネットワーク２１ｂ）に異常があるか否かを判断する（ＳＴ１４）。本実施の形態では、バックアップネットワークは１つであるため、ここにも異常がある場合には、現在通信できない状態にあるため、所定のエラー処理をして終了する（ＳＴ２１）。なお、このエラー処理としては、例えばデータクライアント２５に対してその旨の通知（通信異常）を返すことなどがある。
【００３３】
一方、何れかのネットワークが正常に動作している場合には、必要に応じてバックアップの切替え／復旧処理をする（ＳＴ１５）。つまり、現在有効な制御ネットワーク２１ａ，２１ｂがどちらであるかを設定する。具体的には、今まで第１制御ネットワーク２１ａを使用していたところ、異常が発生し第２制御ネットワーク２１ｂが正常の場合には、第２制御ネットワーク２１ｂを使用するように切替える。また、第２制御ネットワーク２１ｂを使用中に、第１制御ネットワーク２１ａが正常に戻った場合には、復旧処理をして第１制御ネットワーク２１ａを使用するように設定する。これは、例えば現在使用中のネットワークフラグを設け、そのフラグの切替により対処する。
【００３４】
次いで、Ｒｅａｄ／Ｗｒｉｇｈｔ処理を開始する（ＳＴ１６）。具体的には、ステップ１７以降の処理をするもので、まず、ステップ１２で取得した物理タグ情報における物理アドレスの欄に論理条件設定があるか否かを判断する（ＳＴ１７）。そして、論理条件設定がある場合には、条件式の実行をする（ＳＴ１８）。つまり、現在のネットワークの状況に即した参照すべき論理タグ名或いは物理アドレスは、上記したようにタグデータ論理条件処理部１７により常時実行されているので、それにしたがって物理アドレスを取得する。その後、その物理アドレスに対して読み出し／書き込みの何れかをする（ＳＴ１９）。
【００３５】
また、物理タグ情報に論理条件の設定がない場合（ステップ１７でＮｏ）には、その物理タグ情報の物理アドレスの欄に格納された物理アドレスを取得し、その物理アドレスに対して読み出し／書き込みの何れかをする（ＳＴ１９）。
【００３６】
そして、指定された論理タグ名に対応するＩＯメモリに対してＲｅａｄ／Ｗｒｉｇｈｔ処理を完了すると、その完了通知（読み出しの場合には、読み出した値と共に）をデータクライアント２５に返し、処理を終了する（ＳＴ２０）。
【００３７】
なお、上記した例では、論理条件は予めタグデータ論理条件処理部１７で実行しているようにしたが、本発明はこれに限ることはなく、ステップ１７を実行する際にタグデータ論理条件処理部１７を稼働して論理条件を実行させるようにしても良い。
【００３８】
【発明の効果】
以上のように、この発明では、ネットワーク異常時の切り替えやネットワーク普及時のリカバリ処理をデータサーバ側で行うことができるので、データクライアント（アプリケーションプログラム）は、論理タグ名を指定するだけでよいので開発が容易に行える。
【図面の簡単な説明】
【図１】本発明が適用されるネットワークの一例を示す図である。
【図２】本発明に係るデータサーバの好適な一実施の形態を示す図である。
【図３】プロファイル情報のデータ構造の一例を示す図である。
【図４】デバイス情報のデータ構造の一例を示す図である。
【図５】物理タグ情報のデータ構造の一例を示す図である。
【図６】ネットワーク監視部の機能を説明するフローチャートである。
【図７】タグデータアクセス部の機能を説明するフローチャートである。
【符号の説明】
１０  データサーバ
１１  プロファイル情報記憶部
１２  タグ情報入力部
１３  タグ情報チェック部
１４  タグ情報設定部
１５  タグ情報記憶部
１６  ネットワーク監視部
１７  タグデータ論理条件処理部
１８  タグデータアクセス部
２０  ＰＬＣ
２１ａ  第１制御ネットワーク
２１ｂ  第２制御ネットワーク
２５  データクライアント
２６  情報ネットワーク
【図１】
0003896877.tif 000002
【図２】
0003896877.tif 000003
【図３】
0003896877.tif 000004
【図４】
0003896877.tif 000005
【図５】
0003896877.tif 000006
【図６】
0003896877.tif 000007
【図７】
0003896877.tif 000008