(57)【要約】      （修正有）【課題】設備を監視する監視システムにおいて、ＰＬＣにマウントされた通信モジュールからデータを読み出したデータの加工を行い遠隔地にデータ伝送を行う通信モジュールが、データ処理部の起動中や動作異常時に誤データを伝送することを防止する。【解決手段】通信モジュール３００の内部ソフトウェアはＰＬＣ１００のユーザプログラム用メモリ内に動作中に定期的に値を更新する領域を有している。この領域は通信モジュールのソフトウェアの起動中とソフトウェアの動作異常の際には更新が停止する。カウンタが変化しているときにのみデータ伝送を行う。また、長期間カウンタが変化しない場合には、通信モジュールの再起動を行う。この通信の停止と通信モジュールの再起動処理は、ユーザが容易にカスタマイズできるようにするために、ＰＬＣのユーザプログラムで制御を行う。【選択図】図１
2015035080.tif 000002
【特許請求の範囲】
【請求項１】
通信モジュールとＰＬＣから成る伝送装置間でデータ伝送を行う通信制御システムにおいて、前記伝送装置は、
通信モジュールに内蔵された１つの通信コントローラが通信モジュール間同士の通信と、ＰＬＣと通信モジュール間の通信制御を実行する手段、
前記通信モジュール内のデータ処理部の動作をＰＬＣのユーザプログラムで監視し、上記データ処理部の起動処理中は通信コントローラに対して外部通信処理の停止を行う手段を有することを特徴とする伝送装置。
【請求項２】
前記通信モジュールにおいて、前記通信モジュール内のデータ処理部の動作をＰＬＣのユーザプログラムで監視し、前記データ処理部の異常時に通信コントローラに対して外部通信処理の停止を行う手段を有することを特徴とする請求項１記載の伝送装置。
【請求項３】
前記通信モジュールにおいて、前記通信モジュール内のデータ処理部の動作をＰＬＣのユーザプログラムで監視し、前記データ処理部の異常時には通信コントローラに内蔵した動作復旧機能をＰＬＣのユーザプログラムの指示で実行する手段を有することを特徴とする請求項１記載の伝送装置。
【請求項４】
通信モジュールとＰＬＣから成る伝送装置間でデータ伝送を行う通信制御システムにおいて、前記伝送装置は、
前記通信モジュール内のデータ処理部の動作をＰＬＣのユーザプログラムで監視しながら、前記プログラムに対する生存カウンタの値の変化をチェックし、
前記カウンタの値が変化しなくなってから第１の時間が経過したら、外部通信の動作を停止し、
前記カウンタの値が変化しなくなってから、前記第１の経過時間よりも長い第２の時間が経過したら、前記通信モジュールの動作をリセットし、
所定の時間後に、前記通信モジュールを再起動することを特徴とする通信制御方法。
【請求項５】
前記通信モジュールを制御する、前記第１の経過時間、及び前記第２の経過時間の値は、前記ユーザプログラムを介して予め所定の値に設定されることを特徴とする請求項４記載の通信制御方法。
【請求項６】
前記通信モジュールは、前記通信モジュールが起動されてからリセットされるまでＯＮとなる再起動ビット、及び、外部通信が開始されて停止されるまでＯＮとなる通信許可ビットを保持することを特徴とする請求項５及び請求項６に記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視システム、テレメータシステム、および、その通信制御方法に係り、上下水道の給水、配水設備や、産業用の生産設備、販売データ収集設備等を遠隔監視や制御する通信モジュールに対して、データの転送を行う通信制御システム及び方法に関する。
【背景技術】
【０００２】
従来から、現場に設置したプログラマブルロジックコントローラ（ＰＬＣ）に監視対象のデータを取り込んで、通信で遠隔地に監視対象の状態を転送して表示する監視システムが知られている。これらの監視システムの監視対象では監視データはデジタル及びアナログの接点入力信号として入出力されるため、接点信号を通信で送信可能な数値のデータに変換する必要がある。
【０００３】
例えば、特許文献１には、監視対象機器の運転の信号を取り込み、運転データを集計して電話回線を介して収集する技術が開示されている。
【０００４】
このような監視システムにおいては、接点信号の入出力をＰＬＣで行い、ＰＬＣに接続した通信モジュールが遠隔地へデータ転送を行うのが一般的である。ＰＬＣとの接続を容易にするために、これらの通信モジュールはＰＬＣのモジュールとなっている場合が多い。
【０００５】
従来、これらの通信モジュールは特定の通信機能に特化した単機能なものであるため、使用する通信プロトコルに合わせて、対応した通信モジュールを使用する必要がある。また、通信の仕様がモジュールごとに固有のものになっている場合も多いため、一般には同種の通信モジュール同士間で通信を行い、ＰＬＣから遠隔地のＰＬＣにデータを転送する形式のテレメータシステムが多い。これらの通信モジュールには通信以外の機能がないため、転送前に演算処理を行いたい場合には、ＰＬＣのプログラムで行う必要があった。
【０００６】
近年、高機能な演算処理やＣ言語などの高級言語によるプログラムをＰＬＣ上で動作させるために、高機能なパソコンやサーバ向けＯＳを組込機器向けに調整して搭載したＰＬＣモジュールが実用化されている。これらの高機能ＯＳを搭載したモジュール上では、サーバやパソコン向けに開発されたソフトウェアを使用することが可能になり、更に、アプリケーションプログラムの書き換えが比較的容易であるので、従来のＰＬＣのユーザプログラムでは実装が困難な複雑なデータ処理を、システムごとに異なるプログラムとしてＰＬＣに搭載したモジュール内で行うことが可能になった。
【０００７】
一方、高機能ＯＳ上で動作するプログラムは処理開始のオーバヘッドが大きいので処理速度が低機能ＯＳのものよりも動作が遅いため、パソコンやサーバではプログラムの処理部とは別に通信制御専用のＩＣや専用ボードを内蔵しているのが一般的である。同様にＰＬＣの高機能モジュールにおいても通信コントローラとして専用のＩＣが使用される。専用ＩＣやＡＳＩＣ(Application Specific Integrated Circuit)を通信コントローラに使用するためモジュール設計時にはハード的な通信仕様を決定する必要があったが、近年ではプログラマブルロジックデバイス（ＰＬＤ）を使用することで、一度製造した基盤に対して後から用途や通信方式に併せて動作の変更を行うことが可能になった。またＰＬＤは比較的高価で実装面積や消費電力が大きいが、１つのＩＣで複数の機能を処理することができるという利点もある。
【０００８】
その結果、上記のように、ソフトウェアとハードウェアの両方を運用に合わせて変更することで、通信モジュールの汎用性を高めることが可能になった。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００１−１７７６５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記のように通信モジュール内のデータ処理部に高機能ＯＳを用いると多くの利点はあるが、高機能ＯＳは汎用性が高く多機能な半面、プログラムの動作に時間が掛かる、ＯＳが多機能になるに従ってそのものの動作が不安定になりやすいなどの欠点をもつ。一方、ＣＰＵモジュールをはじめとするＰＬＣに搭載されている通常のモジュールは低機能な代わりに動作が速く安定性の高いＯＳを使用している。
【００１１】
ＰＬＤを用いた通信制御用コントローラの処理内容はＶＨＤＬやＶｅｒｉｌｏｇなどのハードウェア記述言語で記述され、タイマーや条件分岐、ビット処理などを行うことも可能である。高機能ＯＳを使用したデータ処理部のプログラムは通信制御を行うには処理が遅いため、実際の通信処理はデータ処理部から独立して通信コントローラのハードウェア処理で行う。
【００１２】
ユーザが変更可能なプログラムとしては高機能ＯＳ上のアプリケーションプログラムの他にＰＬＣのユーザプログラムがある。ＰＬＣのユーザプログラムは変更が容易で動作が速く安定性が高い。また、データ処理部やＰＬＤのプログラムの作成には専用のプログラム開発環境や書き換え用の機器が必要になるが、ＰＬＣのユーザプログラムはＰＬＣメーカによって提供されるユーティリティによって変更を行う。このユーティリティはＰＬＣを設置している現場でプログラマーなどの高度なソフトウェア開発者でなくても容易にソフトウェアの作成ができるように配慮されているため、ソフトウェアの変更も容易である。
【００１３】
通信装置の起動時には、通信コントローラ、ＰＬＣユーザプログラム、データ処理部プログラムの順で非同期に起動するため、起動から起動完了までの間に通信コントローラが、ＰＬＣユーザプログラムやデータ処理部によってまだ処理が行われていない内部の初期データを伝送してしまう恐れがある。
【００１４】
また、データ処理部は不安定なＯＳを使用しているため、データ処理部のプログラムのみが動作異常となり不正データを伝送する恐れもある。
【００１５】
このようにアプリケーションプログラムは年々高機能化しているが、アプリケーションプログラムの処理の都合によって通信コントローラの動作を制御することができなかった。
【００１６】
本発明は、上記問題点を解決するためになされたもので、その目的は、ＰＬＣに接続した通信モジュールの起動処理中と通信モジュールの動作異常時に誤データの転送を防止することのできる通信制御システムを提供することにある。即ち、本発明の目的は、アプリケーションプログラムからの指示（許可ビット、リセット、再起動ビットなど）に基づいて通信コントローラの動作を制御できるようにすることである。
【課題を解決するための手段】
【００１７】
本発明は、通信コントローラの既存の部分（通信コントローラの少なくとも一部は外部からの制御が困難である）と連携して、アプリケーションプログラムからの指示に基づいて通信コントローラの制御を可能にする通信システムを提供する。上記のように、既存の部分と連携する際に、双方を接続する制御ライン、又は制御情報を用いた起動／リセットの制御を行う。
【００１８】
本発明の通信制御システムは、通信モジュールと、監視データを取り込む入出力モジュールなどを備えたＰＬＣとからなり、通信モジュールもＰＬＣのモジュールの１つである。通信モジュールはＰＬＣ内部メモリに展開されたデータを読みだしてデータ処理を行った後、遠隔地に転送する機能を有し、内部には、データ処理を行うデータ処理部と、外部通信とＰＬＣとのそれぞれの通信制御を行う２種類の通信コントローラを持つ。この通信コントローラは外部通信の仕様に合わせて動作の変更を行うために、ＰＬＤにて実装される。
【００１９】
ＰＬＣは計測機器などから出力されるデータを電気信号として取り込んで内部に展開する機能と、通信モジュールから受信したデータを電気信号として出力する機能、内部に展開したデータへの簡単なデータ処理の機能を持つ。
【００２０】
通信モジュールの起動中は、通信モジュール内の通信コントローラはデータ処理部とＰＬＣとの通信が確立するまでは外部からのデータ要求を無視しデータ転送を行わないものとする。
【００２１】
また、通信モジュールのデータ処理部の動作に異常があった場合は、通信モジュールの再起動を行い、動作復帰をするものとする。
【００２２】
上記の通信処理の完了確認と通信モジュールの異常の検知は、システムに合わせて処理内容を容易に変更ができるようするために、ＰＬＣのユーザプログラムで行うものとする。
【発明の効果】
【００２３】
本発明によれば、通信モジュールの起動処理中のＰＬＣの値が反映されていないデータを外部に転送することを防ぐことができる。これによって、動作の遅い高機能ＯＳを利用してデータ処理を行う通信モジュールにおいても通信の信頼性を確保することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態に係る監視システムの構成を示す図である。
【図２】通信モジュールのハードウェア構成について説明する図である。
【図３】通信モジュールのソフトウェア構成について説明する図である。
【図４】ＣＰＵモジュールと通信装置との間で通信を行っている場合の処理シーケンスを示す図である。
【図５】起動時、及び通常通信時の各処理で使用される制御情報の時間的な変化を示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明に係る一実施形態を、図１を用いて説明する。  
なお、本実施形態では、上下水道設備を監視するシステムを例にとって説明するものとする。
【００２６】
先ず、図１において本発明の一実施形態に係る監視システムの構成について説明する。  図１は、本発明の一実施形態に係る監視システムの構成図である。
【００２７】
現場に設置された伝送装置１００は、ＣＰＵモジュール２００、通信モジュール３００、入出力モジュール４００から成り、監視対象９００から出力される信号を入出力モジュール４００経由で取り込んでいる。取り込まれた信号はＣＰＵモジュール２００に一度格納され、通信モジュール３００はＣＰＵモジュール２００から読み出したデータを通信回線１０００経由で監視室に設置された伝送装置５００に伝送する。
【００２８】
監視室に設置された伝送装置５００も、ＣＰＵモジュール６００、通信モジュール７００、入出力モジュール８００から成り、通信モジュール３００と通信モジュール７００は同一のモジュールまたは、同一の通信プロトコルに対応したモジュールである。通信モジュール７００はＣＰＵモジュール６００にデータを出力し、入出力モジュール８００経由で監視室に設置した監視装置であるデータ収集装置１１００にデータを出力する。通常、利用者に対するインターフェイスの制御は監視装置１１００が行う。
【００２９】
次に、図２を用いて通信モジュールのハードウェア構成について説明する。図２は現場用のＰＬＣ１００を例に通信モジュール３００のハードウェア構成を示した図である。（通信モジュール７００も同様の構成を有する。）
通信モジュール３００は、高機能ＯＳを実装するためのＣＰＵ３０２、主記憶装置３０３、補助記憶装置３０４から成るコンピュータ３０１と、ＰＬＣモジュール２００との通信処理と通信回線１０００経由で接続した親局の通信モジュール７００との通信処理を行う多機能通信コントローラ３０５で構成される。近年ＰＬＣは小型化が進んでおり、複数の機能を１つのＩＣで処理を行うことは実装面積を削減の点で利点が大きい。
【００３０】
コンピュータ３０１は、主記憶装置３０２にロードされたプログラムを実行し、通信モジュール３００の全体を制御している。プログラム本体の保存やワークデータを端末内に保存する場合には、補助記憶装置３０４を使用する。
【００３１】
図３に通信に関するソフトウェア構成を示す。
【００３２】
通信モジュール３００の通信モジュールソフトウェア３１０は複数のプログラムの集合体である。各プログラムは、ＯＳ３０８上で動作をしている。ＰＬＣ通信プログラム３０６は、ＣＰＵモジュール２００内に展開されたデータの読み書きを行うプログラムである。ＰＬＣ通信コントローラ３０５ａは、通信モジュールソフトウェア３１０内のＰＬＣ通信プログラム３０６経由で処理を行う。なお、ＣＰＵモジュール２００には、アプリケーションプログラムが格納されている。
【００３３】
遠隔通信プログラム３０７は、通信回線１０００の種類に合わせてデータ加工を行うプログラムである。外部通信コントローラ３０５ｂは、遠隔通信プログラム３０７と通信回線１０００を繋ぐ物理的なインターフェイスの役割を持つ。
【００３４】
ＰＬＣ通信コントローラ３０５ａと外部通信コントローラ３０５ｂは、図２に示した多機能通信コントローラ３０５内に実装されている。
【００３５】
上記のように、本実施例では、ＣＰＵモジュール２００から、ＰＬＣ通信コントローラ３０５ａ、ＰＬＣ通信プログラム３０６、遠隔通信プログラム３０７、外部通信コントローラ３０５ｂを経由して通信回線１０００へデータが伝送され、逆に、通信回線１０００から、外部通信コントローラ３０５ｂ、遠隔通信プログラム３０７、ＰＬＣ通信プログラム３０６、ＰＬＣ通信コントローラ３０５ａを経由してＣＰＵモジュール２００へデータが伝送される。多機能通信コントローラ３０５内の２つの通信コントローラ、即ち、ＰＬＣ通信コントローラ３０５ａと外部通信コントローラ３０５ｂとを直接接続している制御線を行き来する電気信号によって、双方の通信コントローラ３０５ａ、３０５ｂの動作の同期制御などが行われる。
【００３６】
ＰＬＣ通信コントローラ３０５ａはＣＰＵモジュール２００に対応して設けられるハードウェアであり、外部通信コントローラ３０５ｂは通信回線１０００に対応して設けられるハードウェアであるが、ＰＬＣ通信プログラム３０６、及び遠隔通信プログラム３０７の少なくとも一方を変更することで、通信モジュールの起動処理中のＰＬＣの値が反映されていないデータを外部に転送することを防ぐことができる。これによって、動作の遅い高機能ＯＳを利用してデータ処理を行う通信モジュールにおいても通信の信頼性を確保することができる。
【００３７】
（処理シーケンス）
図３に示した各処理部間のデータや情報の授受のシーケンスを図４に示す。
【００３８】
図４は、ＣＰＵモジュール２００と通信装置７００（ＰＬＣ５００の通信モジュール７００、又はＰＬＣ１００の通信モジュール３００）との間で通信を行っている場合の処理シーケンスを示す。図４では、ＣＰＵモジュール２００内の、例えばアプリケーションプログラムから通信装置７００への指示やデータが、接点信号としてＣＰＵモジュール２００に入力されると、この接点信号は、ＰＬＣ通信コントローラ３０５ａ、ＰＬＣ通信プログラム３０６、及び遠隔通信プログラム３０７の順に内部データとして伝送され、遠隔通信プログラム３０７から外部通信コントローラ３０５ｂへは、通信伝文として伝送され、この通信伝文に対応する電気信号が、外部通信コントローラ３０５ｂから通信回線１０００を経由して通信装置７００に伝送される。上記の指示やデータに対する、通信装置７００からの応答が、上記の経路の逆の順序で伝送され、例えばアプリケーションプログラムは、ＣＰＵモジュール２００から接点信号として出力されたものを通信装置７００からの応答として受け取る。なお、図４では、通信装置７０からＣＰＵモジュール２００へのデータや信号の伝送経路の各矢印に対応する名称は、ＣＰＵモジュール２００から通信装置７００への伝送経路の各矢印に付したものと同一です。
【００３９】
図４（Ａ）は通信処理が正常に行なわれている場合の処理シーケンスを示し、図４（Ｂ）は起動処理時における処理シーケンスを示し、図４（Ｃ）は通信異常時における処理シーケンスを示す。なお、図４では、実線の矢印は、伝送可能な場合、即ち、正常な場合におけるデータ又は情報の授受を示し、破線の矢印は、伝送不可の場合、即ち、データ又は情報の授受が異常であることを示す。即ち、図４（Ａ）のように、ＣＰＵモジュール２００と通信装置７００との間で、データや情報の伝送を行っている際に、途中のハードウェアまたソフトウェアに異常が発生すると、図４の破線の矢印で示すように、通信装置７００へのデータや情報の伝送、及び通信装置７０からの応答の伝送が不可能になる。
【００４０】
図４では、破線の矢印が入力、又は／及び出力されるハードウェア、又はソフトウェアの何れかに異常が発生した場合を示す。
【００４１】
図４（Ａ）に示すように、ＰＬＣ通信プログラム３０６によってＣＰＵモジュール２００から読みだされたデータは、遠隔通信プログラム３０７経由で外部通信コントローラ３０５ｂに渡され、外部通信コントローラ３０５ｂによって通信回線１０００に送信する電気信号に変換される。反対に、通信回線１０００から送られてきた電気信号は外部通信コントローラ３０５ｂによってプログラム処理が可能なデータに変換されて、遠隔通信プログラム３０７経由でＰＬＣ通信プログラム３０６に送られ、ＰＬＣ通信コントローラ３０５ａ経由でＣＰＵモジュール２００に書き込まれる。
【００４２】
（起動時）
図４（Ｂ）に示す、現場に設置された伝送装置１００を例に、起動処理の手順を説明する。現場に設置された伝送装置１００を起動すると、通信コントローラ３０４、ＣＰＵモジュール２００、通信モジュールソフトウェア３１０の順で起動が完了する。すなわち、ＣＰＵモジュール２００とＰＬＣ通信プログラム３０６間の通信と、通信回線１０００と外部通信コントローラ３０５ｂとの間の通信が確立した後に、データ処理を行う通信モジュールソフトウェア３１０の動作が確立する。図４（Ｂ）の(1)は、起動直後にＰＬＣ通信プログラム３０６の動作が異常の場合の処理シーケンスを示し、図４（Ｂ）の(2)は、通信が正常の場合の処理シーケンスを示す。
【００４３】
図４（Ｃ）に示すように、通信モジュールソフトウェア３１０の動作が確立していない状態で外部通信コントローラ３０５ｂが通信を行うと不正データを送信してしまうため、外部通信コントローラ３０５ｂはＣＰＵモジュール２００内のユーザプログラムが通信許可を行った時に通信を行う。図４（Ｃ）の(1)は、外部通信コントローラ３０５ｂと通信装置７００との間で電気信号の通信が異常の場合（通信回線異常）の処理シーケンスを示し、図４（Ｃ）の(2)は、ＰＬＣ通信プログラム３０６と遠隔通信プログラム３０７との間の通信が異常の場合（ソフトウエア異常）の処理シーケンスを示す。
【００４４】
（制御情報の変化）
起動時、及び通常通信時の各処理で使用される制御情報の時間的な変化を図５に示す。図５（Ａ）は（通信処理が正常であることを示す）生存カウンタの時間的な変化を示し、図５（Ｂ）は再起動ビットの時間的な変化を示し、図５（Ｃ）は通信許可ビットの時間的な変化を示す。また、以下に述べるようにソフト動作異常に対する処理を行った後に、再起動を行った場合の各制御情報の時間的な変化を、図５の右側に示す。
【００４５】
（通信時）
通信許可は以下の手順で行われる。ＣＰＵモジュール２００内には通信モジュールソフトウェア３１０が、図５（Ａ）に示すように、定期的に変化する数値を書き込む生存カウンタ領域を有している。図５（Ｃ）に示すように、ＣＰＵモジュール２００内のユーザプログラムは上記の領域を監視し、数値が変化した際にＰＬＣ通信プログラム３０６内のレジスタの通信許可ビットをＯＮにする。この通信許可ビットは外部通信コントローラ３０５ｂからも参照可能なので、通信許可ビットがＯＮの間だけ外部通信コントローラ３０５ｂが通信回線１０００との信号の送受信を行う。
【００４６】
（モニタリング）
また、図５（Ａ）及び（Ｃ）に示すように、起動を開始してからＴ３の時間後に起動が完了した後、起動完了後もユーザプログラムは上記生存カウンタ領域の監視を継続し、一定時間（Ｔ１の時間）数値が変化しなかった際に通信モジュールソフトウェア３１０（又は多機能通信コントローラ３０５）の動作が異常である判断し、通信許可ビットをＯＦＦにする。この通信許可ビットをＯＮ／ＯＦＦする処理は、ＣＰＵモジュール２００内のユーザプログラムによって記述されるため、ユーザは、タイムアウト時間などのしきい値や外部スイッチのＯＮ／ＯＦＦ等の動作条件の変更を自由に行うことができる。
【００４７】
図５（Ｂ）に示すように、通信許可ビットをＯＦＦにした後も一定時間（Ｔ２の時間、但しＴ２＞Ｔ１）、生存カウンタ領域の値が変化しなかった場合は、生存カウンタ領域の値が変化しなかった時点からＴ２の時間が経過するまで、再起動ビットをＯＮにする。再起動ビットは通信モジュール３００内のリセットＩＣに接続しており、ＯＮになった瞬間に通信モジュール３００の再起動を行う。
【００４８】
上記のカウンタ停止から外部通信停止までの時間Ｔ１、及び通信モジュール停止までの時間Ｔ２の値は、ユーザプログラムによって予め所定の値に設定できる。その結果、通信コントローラの既存の部分（通信コントローラの少なくとも一部は外部からの制御が困難である）と連携して、アプリケーションプログラムからの指示に基づいて通信コントローラの制御を行うことができる。
【符号の説明】
【００４９】
１００、５００：ＰＬＣ、２００、６００：ＣＰＵモジュール、３００、７００：通信モジュール、４００、８００：入出力モジュール、９００：監視対象、１０００：通信回線、１１００：データ収集装置、３００：通信モジュール、３０１：コンピュータ、３０２：ＣＰＵ、３０３：主記憶層装置、３０４：補助記憶装置、３０５：多機能通信コントローラ、３０５ａ：ＰＬＣ通信コントローラ、３０５ｂ：外部通信コントローラ、３０６：ＰＬＣ通信プログラム、３０７：遠隔通信プログラム、３１０：通信モジュールソフトウェア
【図１】
2015035080.tif 000003
【図２】
2015035080.tif 000004
【図３】
2015035080.tif 000005
【図４】
2015035080.tif 000006
【図５】
2015035080.tif 000007