特許第6144151号(P6144151)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立産機システムの特許一覧

<>
  • 特許6144151-通信制御方法 図000002
  • 特許6144151-通信制御方法 図000003
  • 特許6144151-通信制御方法 図000004
  • 特許6144151-通信制御方法 図000005
  • 特許6144151-通信制御方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6144151
(24)【登録日】2017年5月19日
(45)【発行日】2017年6月7日
(54)【発明の名称】通信制御方法
(51)【国際特許分類】
   G05B 19/05 20060101AFI20170529BHJP
【FI】
   G05B19/05 L
【請求項の数】3
【全頁数】10
(21)【出願番号】特願2013-165309(P2013-165309)
(22)【出願日】2013年8月8日
(65)【公開番号】特開2015-35080(P2015-35080A)
(43)【公開日】2015年2月19日
【審査請求日】2016年1月18日
(73)【特許権者】
【識別番号】502129933
【氏名又は名称】株式会社日立産機システム
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜特許業務法人
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール特許業務法人
(72)【発明者】
【氏名】三島 岳秋
(72)【発明者】
【氏名】高橋 一郎
(72)【発明者】
【氏名】藤井 孟
【審査官】 黒田 暁子
(56)【参考文献】
【文献】 特開2011−249861(JP,A)
【文献】 特開2004−054907(JP,A)
【文献】 米国特許出願公開第2013/0198731(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/04 − 19/05
(57)【特許請求の範囲】
【請求項1】
通信モジュールとPLCから成る伝送装置間でデータ伝送を行う通信制御システムにおいて、前記伝送装置は、
前記通信モジュール内のデータ処理部の動作を監視するために、定期的に変化する数値を書き込む生存カウンタの値の変化をPLCのユーザプログラムでチェックし、
前記カウンタの値が変化しなくなってから第1の時間が経過したら、外部通信の動作を停止し、
前記カウンタの値が変化しなくなってから、前記第1の時間よりも長い第2の時間が経過したら、前記通信モジュールの動作をリセットし、
所定の時間後に、前記通信モジュールを再起動することを特徴とする通信制御方法。
【請求項2】
前記通信モジュールを制御する、前記第1の時間、及び前記第2の時間の値は、前記ユーザプログラムを介して予め所定の値に設定されることを特徴とする請求項記載の通信制御方法。
【請求項3】
前記通信モジュールは、前記通信モジュールが起動されてからリセットされるまでONとなる再起動ビット、及び、外部通信が開始されて停止されるまでONとなる通信許可ビットを保持することを特徴とする請求項又は請求項に記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視システム、テレメータシステム、および、その通信制御方法に係り、上下水道の給水、配水設備や、産業用の生産設備、販売データ収集設備等を遠隔監視や制御する通信モジュールに対して、データの転送を行う通信制御システム及び方法に関する。
【背景技術】
【0002】
従来から、現場に設置したプログラマブルロジックコントローラ(PLC)に監視対象のデータを取り込んで、通信で遠隔地に監視対象の状態を転送して表示する監視システムが知られている。これらの監視システムの監視対象では監視データはデジタル及びアナログの接点入力信号として入出力されるため、接点信号を通信で送信可能な数値のデータに変換する必要がある。
【0003】
例えば、特許文献1には、監視対象機器の運転の信号を取り込み、運転データを集計して電話回線を介して収集する技術が開示されている。
【0004】
このような監視システムにおいては、接点信号の入出力をPLCで行い、PLCに接続した通信モジュールが遠隔地へデータ転送を行うのが一般的である。PLCとの接続を容易にするために、これらの通信モジュールはPLCのモジュールとなっている場合が多い。
【0005】
従来、これらの通信モジュールは特定の通信機能に特化した単機能なものであるため、使用する通信プロトコルに合わせて、対応した通信モジュールを使用する必要がある。また、通信の仕様がモジュールごとに固有のものになっている場合も多いため、一般には同種の通信モジュール同士間で通信を行い、PLCから遠隔地のPLCにデータを転送する形式のテレメータシステムが多い。これらの通信モジュールには通信以外の機能がないため、転送前に演算処理を行いたい場合には、PLCのプログラムで行う必要があった。
【0006】
近年、高機能な演算処理やC言語などの高級言語によるプログラムをPLC上で動作させるために、高機能なパソコンやサーバ向けOSを組込機器向けに調整して搭載したPLCモジュールが実用化されている。これらの高機能OSを搭載したモジュール上では、サーバやパソコン向けに開発されたソフトウェアを使用することが可能になり、更に、アプリケーションプログラムの書き換えが比較的容易であるので、従来のPLCのユーザプログラムでは実装が困難な複雑なデータ処理を、システムごとに異なるプログラムとしてPLCに搭載したモジュール内で行うことが可能になった。
【0007】
一方、高機能OS上で動作するプログラムは処理開始のオーバヘッドが大きいので処理速度が低機能OSのものよりも動作が遅いため、パソコンやサーバではプログラムの処理部とは別に通信制御専用のICや専用ボードを内蔵しているのが一般的である。同様にPLCの高機能モジュールにおいても通信コントローラとして専用のICが使用される。専用ICやASIC(Application Specific Integrated Circuit)を通信コントローラに使用するためモジュール設計時にはハード的な通信仕様を決定する必要があったが、近年ではプログラマブルロジックデバイス(PLD)を使用することで、一度製造した基盤に対して後から用途や通信方式に併せて動作の変更を行うことが可能になった。またPLDは比較的高価で実装面積や消費電力が大きいが、1つのICで複数の機能を処理することができるという利点もある。
【0008】
その結果、上記のように、ソフトウェアとハードウェアの両方を運用に合わせて変更することで、通信モジュールの汎用性を高めることが可能になった。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2001−177657号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記のように通信モジュール内のデータ処理部に高機能OSを用いると多くの利点はあるが、高機能OSは汎用性が高く多機能な半面、プログラムの動作に時間が掛かる、OSが多機能になるに従ってそのものの動作が不安定になりやすいなどの欠点をもつ。一方、CPUモジュールをはじめとするPLCに搭載されている通常のモジュールは低機能な代わりに動作が速く安定性の高いOSを使用している。
【0011】
PLDを用いた通信制御用コントローラの処理内容はVHDLやVerilogなどのハードウェア記述言語で記述され、タイマーや条件分岐、ビット処理などを行うことも可能である。高機能OSを使用したデータ処理部のプログラムは通信制御を行うには処理が遅いため、実際の通信処理はデータ処理部から独立して通信コントローラのハードウェア処理で行う。
【0012】
ユーザが変更可能なプログラムとしては高機能OS上のアプリケーションプログラムの他にPLCのユーザプログラムがある。PLCのユーザプログラムは変更が容易で動作が速く安定性が高い。また、データ処理部やPLDのプログラムの作成には専用のプログラム開発環境や書き換え用の機器が必要になるが、PLCのユーザプログラムはPLCメーカによって提供されるユーティリティによって変更を行う。このユーティリティはPLCを設置している現場でプログラマーなどの高度なソフトウェア開発者でなくても容易にソフトウェアの作成ができるように配慮されているため、ソフトウェアの変更も容易である。
【0013】
通信装置の起動時には、通信コントローラ、PLCユーザプログラム、データ処理部プログラムの順で非同期に起動するため、起動から起動完了までの間に通信コントローラが、PLCユーザプログラムやデータ処理部によってまだ処理が行われていない内部の初期データを伝送してしまう恐れがある。
【0014】
また、データ処理部は不安定なOSを使用しているため、データ処理部のプログラムのみが動作異常となり不正データを伝送する恐れもある。
【0015】
このようにアプリケーションプログラムは年々高機能化しているが、アプリケーションプログラムの処理の都合によって通信コントローラの動作を制御することができなかった。
【0016】
本発明は、上記問題点を解決するためになされたもので、その目的は、PLCに接続した通信モジュールの起動処理中と通信モジュールの動作異常時に誤データの転送を防止することのできる通信制御システムを提供することにある。即ち、本発明の目的は、アプリケーションプログラムからの指示(許可ビット、リセット、再起動ビットなど)に基づいて通信コントローラの動作を制御できるようにすることである。
【課題を解決するための手段】
【0017】
本発明は、通信コントローラの既存の部分(通信コントローラの少なくとも一部は外部からの制御が困難である)と連携して、アプリケーションプログラムからの指示に基づいて通信コントローラの制御を可能にする通信システムを提供する。上記のように、既存の部分と連携する際に、双方を接続する制御ライン、又は制御情報を用いた起動/リセットの制御を行う。
【0018】
本発明の通信制御システムは、通信モジュールと、監視データを取り込む入出力モジュールなどを備えたPLCとからなり、通信モジュールもPLCのモジュールの1つである。通信モジュールはPLC内部メモリに展開されたデータを読みだしてデータ処理を行った後、遠隔地に転送する機能を有し、内部には、データ処理を行うデータ処理部と、外部通信とPLCとのそれぞれの通信制御を行う2種類の通信コントローラを持つ。この通信コントローラは外部通信の仕様に合わせて動作の変更を行うために、PLDにて実装される。
【0019】
PLCは計測機器などから出力されるデータを電気信号として取り込んで内部に展開する機能と、通信モジュールから受信したデータを電気信号として出力する機能、内部に展開したデータへの簡単なデータ処理の機能を持つ。
【0020】
通信モジュールの起動中は、通信モジュール内の通信コントローラはデータ処理部とPLCとの通信が確立するまでは外部からのデータ要求を無視しデータ転送を行わないものとする。
【0021】
また、通信モジュールのデータ処理部の動作に異常があった場合は、通信モジュールの再起動を行い、動作復帰をするものとする。
【0022】
上記の通信処理の完了確認と通信モジュールの異常の検知は、システムに合わせて処理内容を容易に変更ができるようするために、PLCのユーザプログラムで行うものとする。
【発明の効果】
【0023】
本発明によれば、通信モジュールの起動処理中のPLCの値が反映されていないデータを外部に転送することを防ぐことができる。これによって、動作の遅い高機能OSを利用してデータ処理を行う通信モジュールにおいても通信の信頼性を確保することができる。
【図面の簡単な説明】
【0024】
図1】本発明の一実施形態に係る監視システムの構成を示す図である。
図2】通信モジュールのハードウェア構成について説明する図である。
図3】通信モジュールのソフトウェア構成について説明する図である。
図4】CPUモジュールと通信装置との間で通信を行っている場合の処理シーケンスを示す図である。
図5】起動時、及び通常通信時の各処理で使用される制御情報の時間的な変化を示す図である。
【発明を実施するための形態】
【0025】
以下、本発明に係る一実施形態を、図1を用いて説明する。
なお、本実施形態では、上下水道設備を監視するシステムを例にとって説明するものとする。
【0026】
先ず、図1において本発明の一実施形態に係る監視システムの構成について説明する。 図1は、本発明の一実施形態に係る監視システムの構成図である。
【0027】
現場に設置された伝送装置100は、CPUモジュール200、通信モジュール300、入出力モジュール400から成り、監視対象900から出力される信号を入出力モジュール400経由で取り込んでいる。取り込まれた信号はCPUモジュール200に一度格納され、通信モジュール300はCPUモジュール200から読み出したデータを通信回線1000経由で監視室に設置された伝送装置500に伝送する。
【0028】
監視室に設置された伝送装置500も、CPUモジュール600、通信モジュール700、入出力モジュール800から成り、通信モジュール300と通信モジュール700は同一のモジュールまたは、同一の通信プロトコルに対応したモジュールである。通信モジュール700はCPUモジュール600にデータを出力し、入出力モジュール800経由で監視室に設置した監視装置であるデータ収集装置1100にデータを出力する。通常、利用者に対するインターフェイスの制御は監視装置1100が行う。
【0029】
次に、図2を用いて通信モジュールのハードウェア構成について説明する。図2は現場用のPLC100を例に通信モジュール300のハードウェア構成を示した図である。(通信モジュール700も同様の構成を有する。)
通信モジュール300は、高機能OSを実装するためのCPU302、主記憶装置303、補助記憶装置304から成るコンピュータ301と、PLCモジュール200との通信処理と通信回線1000経由で接続した親局の通信モジュール700との通信処理を行う多機能通信コントローラ305で構成される。近年PLCは小型化が進んでおり、複数の機能を1つのICで処理を行うことは実装面積を削減の点で利点が大きい。
【0030】
コンピュータ301は、主記憶装置302にロードされたプログラムを実行し、通信モジュール300の全体を制御している。プログラム本体の保存やワークデータを端末内に保存する場合には、補助記憶装置304を使用する。
【0031】
図3に通信に関するソフトウェア構成を示す。
【0032】
通信モジュール300の通信モジュールソフトウェア310は複数のプログラムの集合体である。各プログラムは、OS308上で動作をしている。PLC通信プログラム306は、CPUモジュール200内に展開されたデータの読み書きを行うプログラムである。PLC通信コントローラ305aは、通信モジュールソフトウェア310内のPLC通信プログラム306経由で処理を行う。なお、CPUモジュール200には、アプリケーションプログラムが格納されている。
【0033】
遠隔通信プログラム307は、通信回線1000の種類に合わせてデータ加工を行うプログラムである。外部通信コントローラ305bは、遠隔通信プログラム307と通信回線1000を繋ぐ物理的なインターフェイスの役割を持つ。
【0034】
PLC通信コントローラ305aと外部通信コントローラ305bは、図2に示した多機能通信コントローラ305内に実装されている。
【0035】
上記のように、本実施例では、CPUモジュール200から、PLC通信コントローラ305a、PLC通信プログラム306、遠隔通信プログラム307、外部通信コントローラ305bを経由して通信回線1000へデータが伝送され、逆に、通信回線1000から、外部通信コントローラ305b、遠隔通信プログラム307、PLC通信プログラム306、PLC通信コントローラ305aを経由してCPUモジュール200へデータが伝送される。多機能通信コントローラ305内の2つの通信コントローラ、即ち、PLC通信コントローラ305aと外部通信コントローラ305bとを直接接続している制御線を行き来する電気信号によって、双方の通信コントローラ305a、305bの動作の同期制御などが行われる。
【0036】
PLC通信コントローラ305aはCPUモジュール200に対応して設けられるハードウェアであり、外部通信コントローラ305bは通信回線1000に対応して設けられるハードウェアであるが、PLC通信プログラム306、及び遠隔通信プログラム307の少なくとも一方を変更することで、通信モジュールの起動処理中のPLCの値が反映されていないデータを外部に転送することを防ぐことができる。これによって、動作の遅い高機能OSを利用してデータ処理を行う通信モジュールにおいても通信の信頼性を確保することができる。
【0037】
(処理シーケンス)
図3に示した各処理部間のデータや情報の授受のシーケンスを図4に示す。
【0038】
図4は、CPUモジュール200と通信装置700(PLC500の通信モジュール700、又はPLC100の通信モジュール300)との間で通信を行っている場合の処理シーケンスを示す。図4では、CPUモジュール200内の、例えばアプリケーションプログラムから通信装置700への指示やデータが、接点信号としてCPUモジュール200に入力されると、この接点信号は、PLC通信コントローラ305a、PLC通信プログラム306、及び遠隔通信プログラム307の順に内部データとして伝送され、遠隔通信プログラム307から外部通信コントローラ305bへは、通信伝文として伝送され、この通信伝文に対応する電気信号が、外部通信コントローラ305bから通信回線1000を経由して通信装置700に伝送される。上記の指示やデータに対する、通信装置700からの応答が、上記の経路の逆の順序で伝送され、例えばアプリケーションプログラムは、CPUモジュール200から接点信号として出力されたものを通信装置700からの応答として受け取る。なお、図4では、通信装置70からCPUモジュール200へのデータや信号の伝送経路の各矢印に対応する名称は、CPUモジュール200から通信装置700への伝送経路の各矢印に付したものと同一です。
【0039】
図4(A)は通信処理が正常に行なわれている場合の処理シーケンスを示し、図4(B)は起動処理時における処理シーケンスを示し、図4(C)は通信異常時における処理シーケンスを示す。なお、図4では、実線の矢印は、伝送可能な場合、即ち、正常な場合におけるデータ又は情報の授受を示し、破線の矢印は、伝送不可の場合、即ち、データ又は情報の授受が異常であることを示す。即ち、図4(A)のように、CPUモジュール200と通信装置700との間で、データや情報の伝送を行っている際に、途中のハードウェアまたソフトウェアに異常が発生すると、図4の破線の矢印で示すように、通信装置700へのデータや情報の伝送、及び通信装置70からの応答の伝送が不可能になる。
【0040】
図4では、破線の矢印が入力、又は/及び出力されるハードウェア、又はソフトウェアの何れかに異常が発生した場合を示す。
【0041】
図4(A)に示すように、PLC通信プログラム306によってCPUモジュール200から読みだされたデータは、遠隔通信プログラム307経由で外部通信コントローラ305bに渡され、外部通信コントローラ305bによって通信回線1000に送信する電気信号に変換される。反対に、通信回線1000から送られてきた電気信号は外部通信コントローラ305bによってプログラム処理が可能なデータに変換されて、遠隔通信プログラム307経由でPLC通信プログラム306に送られ、PLC通信コントローラ305a経由でCPUモジュール200に書き込まれる。
【0042】
(起動時)
図4(B)に示す、現場に設置された伝送装置100を例に、起動処理の手順を説明する。現場に設置された伝送装置100を起動すると、通信コントローラ304、CPUモジュール200、通信モジュールソフトウェア310の順で起動が完了する。すなわち、CPUモジュール200とPLC通信プログラム306間の通信と、通信回線1000と外部通信コントローラ305bとの間の通信が確立した後に、データ処理を行う通信モジュールソフトウェア310の動作が確立する。図4(B)の(1)は、起動直後にPLC通信プログラム306の動作が異常の場合の処理シーケンスを示し、図4(B)の(2)は、通信が正常の場合の処理シーケンスを示す。
【0043】
図4(C)に示すように、通信モジュールソフトウェア310の動作が確立していない状態で外部通信コントローラ305bが通信を行うと不正データを送信してしまうため、外部通信コントローラ305bはCPUモジュール200内のユーザプログラムが通信許可を行った時に通信を行う。図4(C)の(1)は、外部通信コントローラ305bと通信装置700との間で電気信号の通信が異常の場合(通信回線異常)の処理シーケンスを示し、図4(C)の(2)は、PLC通信プログラム306と遠隔通信プログラム307との間の通信が異常の場合(ソフトウエア異常)の処理シーケンスを示す。
【0044】
(制御情報の変化)
起動時、及び通常通信時の各処理で使用される制御情報の時間的な変化を図5に示す。図5(A)は(通信処理が正常であることを示す)生存カウンタの時間的な変化を示し、図5(B)は再起動ビットの時間的な変化を示し、図5(C)は通信許可ビットの時間的な変化を示す。また、以下に述べるようにソフト動作異常に対する処理を行った後に、再起動を行った場合の各制御情報の時間的な変化を、図5の右側に示す。
【0045】
(通信時)
通信許可は以下の手順で行われる。CPUモジュール200内には通信モジュールソフトウェア310が、図5(A)に示すように、定期的に変化する数値を書き込む生存カウンタ領域を有している。図5(C)に示すように、CPUモジュール200内のユーザプログラムは上記の領域を監視し、数値が変化した際にPLC通信プログラム306内のレジスタの通信許可ビットをONにする。この通信許可ビットは外部通信コントローラ305bからも参照可能なので、通信許可ビットがONの間だけ外部通信コントローラ305bが通信回線1000との信号の送受信を行う。
【0046】
(モニタリング)
また、図5(A)及び(C)に示すように、起動を開始してからT3の時間後に起動が完了した後、起動完了後もユーザプログラムは上記生存カウンタ領域の監視を継続し、一定時間(T1の時間)数値が変化しなかった際に通信モジュールソフトウェア310(又は多機能通信コントローラ305)の動作が異常である判断し、通信許可ビットをOFFにする。この通信許可ビットをON/OFFする処理は、CPUモジュール200内のユーザプログラムによって記述されるため、ユーザは、タイムアウト時間などのしきい値や外部スイッチのON/OFF等の動作条件の変更を自由に行うことができる。
【0047】
図5(B)に示すように、通信許可ビットをOFFにした後も一定時間(T2の時間、但しT2>T1)、生存カウンタ領域の値が変化しなかった場合は、生存カウンタ領域の値が変化しなかった時点からT2の時間が経過するまで、再起動ビットをONにする。再起動ビットは通信モジュール300内のリセットICに接続しており、ONになった瞬間に通信モジュール300の再起動を行う。
【0048】
上記のカウンタ停止から外部通信停止までの時間T1、及び通信モジュール停止までの時間T2の値は、ユーザプログラムによって予め所定の値に設定できる。その結果、通信コントローラの既存の部分(通信コントローラの少なくとも一部は外部からの制御が困難である)と連携して、アプリケーションプログラムからの指示に基づいて通信コントローラの制御を行うことができる。
【符号の説明】
【0049】
100、500:PLC、200、600:CPUモジュール、300、700:通信モジュール、400、800:入出力モジュール、900:監視対象、1000:通信回線、1100:データ収集装置、300:通信モジュール、301:コンピュータ、302:CPU、303:主記憶層装置、304:補助記憶装置、305:多機能通信コントローラ、305a:PLC通信コントローラ、305b:外部通信コントローラ、306:PLC通信プログラム、307:遠隔通信プログラム、310:通信モジュールソフトウェア
図1
図2
図3
図4
図5