(57)【要約】【課題】  フィールド機器からの応答が遅いためにフィールド機器の診断ソフトウエア等の上位アプリケーションは何度も応答確認を行わなければならず、かつ通信待ち時間が増加する。また、応答確認のために通信量が増大してしまうという課題を解決する。【解決手段】  通信インターフェイス内に、上位アプリケーションからの要求を登録する要求キャッシュとフィールド機器からの応答を保存する応答キャッシュを設け、要求があったときに応答キャッシュを検索し、その要求に対応する応答が保存されていると即座にその応答を上位アプリケーションに送信する。また、通信インターフェイスは所定の周期で要求キャッシュに登録されている要求をフィールド機器に送信する。【選択図】                    図２
2006091961.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションと機器との間の通信を仲介する通信インターフェイスにおいて、
前記アプリケーションから送信される前記機器に対する要求が登録される要求キャッシュと、
前記機器から送信される前記要求に対する応答が保存される応答キャッシュと、
前記機器に対する要求が入力され、この要求が前記要求キャッシュに登録されているかを検索し、登録されていると前記応答キャッシュに保存された応答から前記入力された要求に対応する応答を探して前記アプリケーションに送信し、登録されていないと前記機器に入力された要求を前記要求キャッシュに登録すると共に前記機器に送信する検索部と、
を有することを特徴とする通信インターフェイス。
【請求項２】
所定のタイミングで前記要求キャッシュに登録された要求を前記機器に送信する要求送信部と、
前記機器からの応答が入力され、この応答を前記応答キャッシュに保存し、また必要に応じてこの入力された応答を前記アプリケーションに送信する応答保存部と、
を有することを特徴とする請求項１記載の通信インターフェイス。
【請求項３】
送信する応答に、この応答を受信した時刻と前記送信する応答に対応する要求が入力された時刻を付加して、前記アプリケーションに送信するようにしたことを特徴とする請求項１もしくは２記載の通信インターフェイス。
【請求項４】
前記アプリケーションから書き込み要求が入力されたときに、この書き込み要求を前記機器に送信すると共に前記要求キャッシュに登録された要求と前記応答キャッシュに保存された応答のうち、前記入力された書き込み要求の書き込み対象機器に関連する要求及び応答をリセットし、前記入力された書き込み要求に対応する応答があったときにこの応答を前記アプリケーションに送信するようにしたことを特徴とする請求項１乃至３のいずれかに記載の通信インターフェイス。
【請求項５】
前記アプリケーションから所定の時間以上要求がなかったときに、前記要求キャッシュをリセットして、登録された要求を無効にするようにしたことを特徴とする請求項１乃至請求項３のいずれかに記載の通信インターフェイス。
【請求項６】
前記所定の時間は、前記アプリケーションの要求間隔の平均値に所定の倍率を乗じた値であることを特徴とする請求項５記載の通信インターフェイス。
【請求項７】
前記機器からの応答が成功しなかったとき、または前記機器が故障するか通信が途絶したとき、または前記要求キャッシュが満杯な状態で新たに別の要求が入力されたときに、前記要求キャッシュをリセットして、登録された要求を無効にするようにしたことを特徴とする請求項１乃至請求項６のいずれかに記載の通信インターフェイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器の診断等の上位アプリケーションとフィールド機器の間に位置し、パラメータ等フィールド機器の内部情報を取得する通信を高速化あるいは効率化する通信インターフェイスに関するものである。
【背景技術】
【０００２】
図４にプロセス制御システムの構成を示す。図４において、上位アプリケーションがインストールされた制御用パソコン２と制御コントローラ４はバス３で接続されている。この制御コントローラ４と通信インターフェイス６はバス５で接続され、この通信インターフェイス６にはフィールドバス７を介してバルブポジショナや差圧伝送器等の複数のフィールド機器８が接続される。通信インターフェイス６はフィールドバス７の通信マスタとして動作する。なお、制御コントローラ４および通信インターフェイス６は複数個接続されることもある。
【０００３】
このような構成において、立ち上げ時のダウンロードや機器調整のために、制御用パソコン２にインストールされた上位アプリケーションはフィールド機器８に対してパラメータアクセスのための要求を送信する。フィールド機器８はこの要求に対して応答を返す。
【０００４】
なお、このパラメータアクセスに関して上位アプリケーションが管理しているのはフィールド機器８のみであり、途中の制御コントローラ４や通信インターフェイス６は管理対象ではない。また、このパラメータアクセスは機器立ち上げ時のダウンロードや機器調整など、一時的に行われるものであり、常時発生するものではない。
【０００５】
制御コントローラ４は本来フィールド機器８からのデータを基にして制御演算を行うものであるが、立ち上げや機器調整時には単なる中継経路としてのみ機能する。通信インターフェイス６の本来の機能は制御コントローラ４とフィールド機器８との入出力データのインターフェイスであるが、立ち上げや機器調整時には上位アプリケーションからフィールド機器８への一対一のオンデマンド要求／応答のためのゲートウエイ機能を提供する。すなわち、上位アプリケーションからの要求の度に動作する受動的な機能のみ有する。システム構成上は、本来の機能とは必ずしも同居している必要はない。
【０００６】
このようなプロセス制御システムの通信の特徴は、上位アプリケーションから通信インターフェイス６に至る経路は高速／大容量の通信が可能であり、応答速度も早い。それに対して、通信インターフェイス６からフィールド機器８に至る経路、すなわちフィールドバス７は応答速度が遅い。また、フィールドバス７に接続されているフィールド機器８の台数や入出力データ数によって応答時間が異なるので、正確な応答時間を見積もることが困難であるという特徴がある。
【０００７】
このような通信経路による特徴から、上位アプリケーションがフィールド機器８をアクセスする様子は図５に示すようになる。なお、図４と同じ要素には同一符号を付し、説明を省略する。また、前述したように、制御コントローラ４は単なる中継経路としての機能しか有さないので、この図では省略している。
【０００８】
図５において、時刻ｔ１１で上位アプリケーションが要求を出力すると、この要求はすぐに通信インターフェイス６に伝達される。通信インターフェイス６はこの要求をフィールド機器８に送信する。上位アプリケーションは時刻ｔ１２〜ｔ１５でフィールド機器８から応答があったかどうかを確認する。
【０００９】
しかし、フィールドバス７の応答速度は遅いので、時刻ｔ１６にならないと応答が返ってこない。そのため、上位アプリケーションは時刻ｔ１７の応答確認で始めてフィールド機器８からの応答を得ることができる。前述したように、フィールドバス７の正確な応答時間を見積もることは難しいので、上位アプリケーションは応答を得るために何回も応答確認を行わなければならず、時間的および通信量上の無駄が発生する。
【００１０】
図６に上位アプリケーションがフィールド機器８をアクセスする形態を示す。図６（Ａ）は上位アプリケーションが別々のフィールド機器８をアクセスする場合、（Ｂ）は同じフィールド機器８を連続してアクセスする場合を示す。また、（Ｂ）の同じフィールド機器８をアクセスする場合は、異なる要求内容でアクセスする場合と、同じ要求内容でアクセスする場合がある。すなわち、上位アプリケーションがフィールド機器８をアクセスする形態として、異なるフィールド機器８をアクセスする場合、同じフィールド機器８を異なる要求内容でアクセスする場合、および同じフィールド機器８を同じ要求内容で連続してアクセスする場合の３種類がある。
【００１１】
特許文献１には、書き込み用と読み出し用のバッファを設けた通信インターフェイス装置が記載されている。
【００１２】
【特許文献１】特開平１０−３２００３２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし、このようなプロセス制御システムには、次のような課題があった。フィールドバスの普及に伴い、工場稼働中に常時フィールド機器の稼働状態を診断したいという要求が多くなってきた。フィールド機器を診断するためには、診断アプリケーションが直接フィールド機器にアクセスしてパラメータの読み書きを行わなければならない。
【００１４】
図５で説明したように、フィールドバス７の応答速度は遅いので、上位アプリケーションはすぐにフィールド機器８からの応答を得ることができず、何回も応答確認を行わなければならない。そのため、システムが大規模化、複雑化するに従って応答待ち時間が増大してしまうという課題があった。また、立ち上げ時や機器調整時だけだとそれほど問題にならなくても、フィールド機器８の稼働状態を常時監視しようとすると応答待ち時間が飛躍的に増大し、本来の制御動作に悪影響を与えてしまうという課題もあった。
【００１５】
また、何回も応答確認を行うので通信量が大きくなり、特に稼働状態を常時監視しようとすると通信量が飛躍的に大きくなり、通信効率が低下してしまうという課題もあった。
【００１６】
従って本発明の目的は、同一機器に同一要求を出す場合の応答性を向上させることにより、大規模システムおいても本来の制御動作の性能低下をもたらすことがない通信インターフェイスを提供することにある。
【課題を解決するための手段】
【００１７】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
アプリケーションがインストールされたコンソールが接続される第１のバスと、機器が接続され前記第１のバスより通信速度が低速の第２のバスとを接続する通信インターフェイスにおいて、
前記アプリケーションから送信される前記機器に対する要求が登録される要求キャッシュと、
前記機器から送信される前記要求に対する応答が保存される応答キャッシュと、
前記機器に対する要求が入力され、この要求が前記要求キャッシュに登録されているかを検索し、登録されていると前記応答キャッシュに保存された応答から前記入力された要求に対応する応答を探して前記アプリケーションに送信し、登録されていないと前記機器に入力された要求を前記要求キャッシュに登録すると共に前記機器に送信する検索部と、
所定のタイミングで前記要求キャッシュに登録された要求を前記機器に送信する要求送信部と、
前記機器からの応答が入力され、この応答を前記応答キャッシュに保存し、また必要に応じてこの入力された応答を前記アプリケーションに送信する応答保存部と、
を具備したものである。アプリケーションは即座に応答を得ることができる。
【００１８】
請求項２記載の発明は、請求項１記載の発明において、
所定のタイミングで前記要求キャッシュに登録された要求を前記機器に送信する要求送信部と、
前記機器からの応答が入力され、この応答を前記応答キャッシュに保存し、また必要に応じてこの入力された応答を前記アプリケーションに送信する応答保存部とを有するものである。アプリケーションは即座に応答を得ることができる。
【００１９】
請求項３記載の発明は、請求項１若しくは２に記載の発明において、
送信する応答に、この応答を受信した時刻と前記送信する応答に対応する要求が入力された時刻を付加して、前記アプリケーションに送信するようにしたものである。アプリケーションは実時間管理とデータ更新の確認をすることができる。
【００２０】
請求項４記載の発明は、請求項１乃至３のいずれかに記載の発明において、
前記アプリケーションから書き込み要求が入力されたときに、この書き込み要求を前記機器に送信すると共に前記要求キャッシュに登録された要求と前記応答キャッシュに保存された応答のうち、前記入力された書き込み要求の書き込み対象機器に関連する要求及び応答をリセットし、前記入力された書き込み要求に対応する応答があったときにこの応答を前記アプリケーションに送信するようにしたものである。書き込み後に古い応答をアプリケーションに返すことがなくなる。
【００２１】
請求項５記載の発明は、請求項１乃至４のいずれかに記載の発明において、
前記アプリケーションから所定の時間以上要求がなかったときに、前記要求キャッシュをリセットして、登録された要求を無効にするようにしたものである。フィールド機器に対して無駄な要求をすることがなくなる。
【００２２】
請求項６記載の発明は、請求項５記載の発明において、
前記所定の時間は、前記アプリケーションの要求間隔の平均値に所定の倍率を乗じた値としたものである。要求間隔に応じて最適化できる。
【００２３】
請求項７記載の発明は、請求項１乃至６のいずれかに記載の発明において、
前記機器からの応答が成功しなかったとき、または前記機器が故障するか通信が途絶したとき、または前記要求キャッシュが満杯な状態で新たに別の要求が入力されたときに、前記要求キャッシュをリセットして、登録された要求を無効にするようにしたものである。フィールド機器に対して無駄な要求をすることがなくなる。
【発明の効果】
【００２４】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
本発明によれば、機器に対する要求とその応答をそれぞれ要求キャッシュ、応答キャッシュに保存し、要求が入力されたときに同じ要求が要求キャッシュに登録されているかを検索して、登録されていると応答キャッシュに保存されている対応する応答を即座に返すようにした。また、所定のタイミングで要求キャッシュに登録されている要求を機器に送信するようにした
【００２５】
アプリケーションは要求を発するとすぐに応答が得られるので、応答を待つ必要がない。そのため、システムの性能が低下することがなくなるという効果がある。また、何度も応答を確認をする必要がなくなるので、通信量が増大することもなくなるという効果もある。さらに、常に最新の応答を得ることができるという効果もある。
【００２６】
また、要求が入力された時刻と応答が得られた時刻を応答に付加してアプリケーションに返送することにより、実時間管理とデータ更新の確認を行うことができるという効果もある。
【００２７】
また、書き込み要求の時に、要求キャッシュと応答キャッシュ内の書き込む機器に関連する要求と応答をリセットすることにより、書き込み前の古い応答を返すことがなくなるという効果もある。さらに、所定の時間要求がなかったとき等に要求キャッシュの内容をリセットすることにより、機器に不必要な要求をすることがなくなるという効果もある。
【発明を実施するための最良の形態】
【００２８】
以下本発明を図面を用いて詳細に説明する。図１は本発明にかかる通信インターフェイスを用いたプロセス制御システムの構成図、図２は本発明に係る通信インターフェイスの一実施例を示す構成図である。なお、図２において、図４と同じ要素には同一符号を付し、説明を省略する。
【００２９】
図１において、制御用パソコン２はコンソールとして動作し、フィールド機器８の診断ソフトウエアなどの上位アプリケーションがインストールされている。バス３，５は通信速度が比較的速い第１のバスであり、フィールドバス７はこの第１のバスよりも通信速度が遅い第２のバスである。通信インターフェイス１はこの第１のバスと第２のバスの間を接続する。上位アプリケーションはフィールド機器８のパラメータなどを読み出す要求を出力し、フィールド機器８はこの要求に対して応答を返す。
【００３０】
図２は通信インターフェイス１の構成図である。図２において、１１は検索部であり、上位アプリケーションが出力する、フィールド機器８のパラメータ読み出しなどの要求が入力され、この要求に対する応答を上位アプリケーションに返す。１２は要求キャッシュであり、検索部１１に入力された要求を登録する。１４は要求送信部であり、所定のタイミングで要求キャッシュ１２に登録された要求をフィールド機器８に送信する。
【００３１】
１５は応答保存部であり、フィールド機器８が出力した応答が入力される。１３は応答キャッシュであり、フィールド機器８が出力した応答を保存する。応答保存部１５は入力された応答を応答キャッシュ１３に保存する。
【００３２】
次に、この実施例の動作を詳細に説明する。要求が入力されると、検索部１１は要求キャッシュ１２に登録された要求を検索し、入力された要求が登録されているかどうかを調べる。登録されていると、応答キャッシュ１３を検索し、この要求に対応する応答が保存されているかどうかを調べ、保存されているとその応答を即座に上位アプリケーションに送信する。入力された要求が要求キャッシュ１２に登録されていない場合は、その要求を要求キャッシュ１２に登録し、フィールド機器８にその要求を送信する。
【００３３】
要求送信部１４は、所定のタイミングで要求キャッシュ１２に登録されている要求をフィールド機器８に送信する。この所定のタイミングは、一定周期で登録された要求を送信することを含む。この一定周期は、フィールド機器８に要求を送信してから応答が帰ってくるまでの時間に関連して決定される。
【００３４】
応答保存部１５は入力された応答を応答キャッシュ１３に保存する。既に同じ要求に対応する応答が保存されているときはその応答を新しい応答で更新する。また、必要に応じて入力された応答を上位アプリケーションに送信する。
【００３５】
検索部１１は、要求が入力されると応答キャッシュ１３に保存されている応答を即座に上位アプリケーションに送信する。上位アプリケーションは即座に応答を得ることができ、かつ何回も応答確認をする必要もなくなる。また、要求送信部１４は要求キャッシュ１２に登録された要求を所定のタイミングでフィールド機器８に送信し、この要求に対する応答は応答キャッシュ１３に保存、更新される。従って、上位アプリケーションは、同じ要求をするときは常に最新の応答を即座に得ることができる。
【００３６】
次に、図３を用いて更に詳細に説明する。図３において、時刻ｔ１で制御用パソコン３に内蔵された上位アプリケーションは「連続読み込み指定」を付けて通信インターフェイス１に要求を送信する。通信インターフェイス１はこの要求を要求キャッシュ１２に登録すると共にフィールド機器８に送信する。
【００３７】
前述したように、フィールド機器８が接続されているフィールドバス７の通信速度は遅いので、時刻ｔ１で上位アプリケーションが発した要求に対する応答１は、時刻ｔ２で通信インターフェイス１に返送される。通信インターフェイス１はこの応答１を即座に上位アプリケーションに返す。この要求と応答１のやりとりは従来例と同じである。また、通信インターフェイス１はフィールド機器８から送信された応答１を内部の応答キャッシュ１３に保存する。
【００３８】
時刻ｔ３で上位アプリケーションは通信インターフェイス１に新たな要求を送信する。通信インターフェイス１はこの要求をフィールド機器８に送信する。上位アプリケーションは引き続いて同じ要求を通信インターフェイス１に送信する。通信インターフェイス１は応答キャッシュ１３に保存された応答１を即座に上位アプリケーションに返送する。
【００３９】
時刻ｔ３でフィールド機器８に送信した要求に対する応答２は、時刻ｔ４で通信インターフェイス１に返送される。通信インターフェイス１はこの応答２を応答キャッシュ１３に保存すると共に上位アプリケーションに返送する。
【００４０】
以下同様にして、時刻ｔ５で上位アプリケーションが発した要求は通信インターフェイス１を介してフィールド機器８に送信され、この要求に対する応答３が時刻ｔ６に通信インターフェイス１を介して上位アプリケーションに返送される。この時刻ｔ５とｔ６の間に発した上位アプリケーションの要求に対しては、通信インターフェイス１内の応答キャッシュ１３に保存された応答２が即座に返送される。
【００４１】
同様に、時刻ｔ７で上位アプリケーションが発した要求に対する応答４は時刻ｔ８で返送される。この時刻ｔ７とｔ８の間で上位アプリケーションが発した要求に対しては、応答キャッシュ１３に保存された応答３が即座に返送される。
【００４２】
すなわち、初回要求時のみ要求を要求キャッシュ１２に登録してフィールド機器８に送信し、応答が返ってきたら応答キャッシュ１３に保存すると共に上位アプリケーションに返送する。２回目以降の同じ要求に対しては、応答キャッシュ１３に保存された応答を即座に返す。要求キャッシュ１２に登録された要求は要求送信部１４によって所定のタイミングでフィールド機器８に送信され、その応答は応答保存部１５によって応答キャッシュ１３に保存、更新される。
【００４３】
上位アプリケーションが受け取る応答は応答キャッシュ１３に保存された応答なので、必ずしも最新の応答であるとは限らない。そのため、フィールド機器８から返ってきた応答に通信インターフェイス１が要求を受け付けた時刻と、この要求に対する応答を受信した時刻を付加して上位アプリケーションに送信することもできる。このようにすると、上位アプリケーションで実時間管理とデータ更新の確認を行うことができる。また、応答の時間差を検証することもできる。
【００４４】
なお、フィールド機器８へのパラメータの書き込みと上位アプリケーションからの要求がなくなったときは、例外として以下の処理を行う。
【００４５】
応答キャッシュ１３に保存されている応答に対応するパラメータに対して書き込みが行われると、書き込み後の読み込み要求に対して書き込み前の古い応答を返してしまう可能性がある。これを避けるために、通信インターフェイス１は書き込み要求を監視して、応答キャッシュ１３に保存されている応答に対応するパラメータの書き込みがある可能性があるときには、要求キャッシュ１２に登録されている要求と応答キャッシュ１３に保存されている応答のうち、このパラメータに関係する要求と応答を全てリセットし、書き込まれた後の読み込み値を返すようにする。
【００４６】
具体的には、以下の手順で処理を行う。
（１）書き込み要求が上位アプリケーションから届くと、通信インターフェイス１はこの要求をフィールド機器８に送信する。
（２）同時に、要求キャッシュ１２に登録されている要求と応答キャッシュ１３に保存されている応答のうち、この書き込み要求を送信したフィールド機器に関係する要求／応答を全てリセットする。
（３）書き込みに対する応答がフィールド機器から戻ると、これを上位アプリケーションに返信する。
（４）その次の読み込み要求に対しては、図１および図３で説明した手法に従って要求キャッシュ１２と応答キャッシュ１３に再度登録、保存し、かつフィールド機器８へ直接読み込み要求を送信する。
【００４７】
要求キャッシュ１２に要求が登録されていると、上位アプリケーションからの要求の有無に関わらず要求送信部１４によって所定のタイミングでフィールド機器８に対して要求が発生する。そのため、フィールドバス７上に不必要な要求／応答フレームが出続けることが考えられる。
【００４８】
これを防ぐために、下記の５つの条件のいずれかが成立したときに要求キャッシュ１２の内容をリセットするようにする。
（１）上位アプリケーションからキャッシュの解除指令が来たとき。
（２）所定の時間を越えて上位アプリケーションから要求がなかったとき。所定の時間は、例えば上位アプリケーションからの要求の平均的な時間間隔を算出しておき、この平均的な時間の１０倍を所定の時間とする。
（３）フィールド機器８からの応答が成功でない（通信エラーが発生した）とき。
（４）対象とするフィールド機器が故障したか、またはコネクションに失敗したとき。
（５）自分自身の要求内容が最も古く、かつ要求キャッシュ１２が満杯な状態で新たに別の要求が来たとき。
【００４９】
なお、本実施例はプロセス制御システムに応用する場合について説明したが、これに限られることはない。通信速度が比較的早いバスと、これより通信速度が遅いバスを接続する他の通信インターフェイスに適用することもできる。
【図面の簡単な説明】
【００５０】
【図１】本発明による通信インターフェイスを含むプロセス制御システムの構成図である。
【図２】本発明の一実施例を示す構成図である。
【図３】本発明の一実施例の動作を説明するための特性図である。
【図４】プロセス制御システムの構成図である。
【図５】従来のプロセス制御システムの動作を説明するための特性図である。
【図６】上位アプリケーションからフィールド機器をアクセスする種類を説明するための図である。
【符号の説明】
【００５１】
１  通信インターフェイス
１１  検索部
１２  要求キャッシュ
１３  応答キャッシュ
１４  要求送信部
１５  応答保存部
２  制御用パソコン
７  フィールドバス
８  フィールド機器
【図１】
2006091961.tif 000003
【図２】
2006091961.tif 000004
【図３】
2006091961.tif 000005
【図４】
2006091961.tif 000006
【図５】
2006091961.tif 000007
【図６】
2006091961.tif 000008