(57)【要約】【課題】既存のプロトコルを改変することなく、データ通信に係わる信頼性を高めること。【解決手段】実施形態によれば、データ通信システムは、データを要求するための要求信号を発行するマスタユニットと、要求信号に応じた応答信号をマスタユニットに返信するスレーブユニットとを具備する。マスタユニットは、生成部と、判定部とを備える。生成部は、データを示す情報と、スレーブユニットに予め記憶される返信コードを示す情報とを含む要求信号を生成する。判定部は、要求信号と応答信号との対応を判定する。スレーブユニットは、要求信号に示されるデータおよび返信コードを含む応答信号を返信する。そして判定部は、要求信号により要求された返信コードが応答信号に含まれるか否かに基づいて、要求信号と応答信号との対応を判定する。【選択図】  図６
2014174734.tif 000002
【特許請求の範囲】
【請求項１】
データを要求するための要求信号を発行するマスタユニットと、
前記要求信号に応じた応答信号を前記マスタユニットに返信するスレーブユニットとを具備し、
前記マスタユニットは、
前記データを示す情報と、前記スレーブユニットに予め記憶される返信コードを示す情報とを含む前記要求信号を生成する生成部と、
前記要求信号と前記応答信号との対応を判定する判定部とを備え、
前記スレーブユニットは、前記要求信号に示されるデータおよび返信コードを含む応答信号を返信し、
前記判定部は、前記要求信号により要求された返信コードが前記応答信号に含まれるか否かに基づいて、前記要求信号と前記応答信号との対応を判定する、データ通信システム。
【請求項２】
前記スレーブユニットは、記憶領域に前記データを記憶するメモリを備え、
前記マスタユニットは、前記メモリの既定の記憶領域に前記返信コードを書き込む書き込み部を備える、請求項１に記載のデータ通信システム。
【請求項３】
前記返信コードを示す情報は、前記メモリに記憶される当該返信コードのアドレスおよびワード数である、請求項２に記載のデータ通信システム。
【請求項４】
データを要求するための要求信号をスレーブユニットに発行するマスタユニットにおいて、
前記データを示す情報と、前記スレーブユニットに予め記憶される返信コードを示す情報とを含む前記要求信号を生成する生成部と、
前記要求信号と、当該要求信号に応じて前記スレーブユニットから返信される応答信号との対応を、前記要求信号により要求された返信コードが前記応答信号に含まれるか否かに基づいて判定する判定部とを備える、マスタユニット。
【請求項５】
さらに、前記スレーブユニットに備わるメモリの既定の記憶領域に前記返信コードを書き込む書き込み部を備える、請求項４に記載のマスタユニット。
【請求項６】
前記返信コードを要求する情報は、前記メモリに記憶される前記返信コードのアドレスおよびワード数である、請求項５に記載のマスタユニット。
【請求項７】
データを要求するための要求信号を発行するマスタユニットと、前記要求信号に応じた応答信号を前記マスタユニットに返信するスレーブユニットとの間のデータ通信方法において、
前記マスタユニットが、前記データを示す情報と、前記スレーブユニットに予め記憶される返信コードを示す情報とを含む前記要求信号を生成し、
前記スレーブユニットが、前記要求信号に示されるデータおよび返信コードを含む応答信号を返信し、
前記マスタユニットが、前記要求信号により要求された返信コードが前記応答信号に含まれるか否かに基づいて前記要求信号と前記応答信号との対応を判定する、データ通信方法。
【請求項８】
さらに、前記マスタユニットが、前記スレーブユニットに備わるメモリの既定の記憶領域に前記返信コードを書き込む、請求項７に記載のデータ通信方法。
【請求項９】
前記返信コードを示す情報は、前記メモリに記憶される当該返信コードのアドレスおよびワード数である、請求項８に記載のデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、例えばビルや産業用システムに備わるセンサにより取得されたデータを収集するための通信方式の改良に関する。
【背景技術】
【０００２】
ビルなどの建物には、例えば水道の量（上水の流量）を計測するメータ、空調に係わる熱量を計測するメータ、あるいは電力量計などの各種のメータが随所に配置される。ＰＬＣ（プログラマブルロジックコントローラ）などに一旦プールされたセンシングデータは、より上位のホストコンピュータにより収集される。ＰＬＣは、上下水道などの公共システム、鉄鋼、製紙プラントなどの工場、ビル、官公施設、電鉄の受変電システム、中央監視制御システム、自動車産業など、産業用システムの制御に広く使用されている。
【０００３】
ホストコンピュータとＰＬＣとの通信における物理層プロトコルは、ＲＳ−４８５によるシリアルケーブル、あるいはイーサネット（登録商標）が代表的である。上位層プロトコルとしてはBuilding Automation and Control Networking protocol（ＢＡＣｎｅｔ（登録商標））が著名であるが、その下位層のプロトコルはベンダの独自仕様であることが多い。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−７０６１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通常、１台のホストコンピュータに複数台のＰＬＣが接続される。このような形態におけるホストコンピュータとＰＬＣとの間のデータ通信方式には、多くのケースではシングルマスタ／マルチスレーブと称される方式が用いられる。この方式のもとではホストコンピュータ（マスタ）が要求コマンド（クエリ）を発行し、ＰＬＣ（スレーブ）が応答を返信する。多くの下位層プロトコルには要求と応答とを対応付ける手段が無いので、ホストコンピュータは要求と応答との時系列に基づいて両者の対応を判定する。
【０００６】
しかしながら通信障害などにより応答がタイムアウトすると、ホストコンピュータは次の要求（コマンドＢとする）を発行する。その後に、以前の要求（コマンドＡとする）への応答が届いてしまうと、ホストコンピュータはこれをコマンドＢに対する応答と看做し、誤った情報として取り込んでしまう。さらに悪いことに、その後のデータ通信において要求と応答との対応が全てずれてしまうことになる。このような状態に陥るとデータ通信に係わる信頼性は失われてしまう。
【０００７】
この種の不具合は、プロトコルにシーケンス番号を実装すればコマンドとその応答とを対応付けることができるので、解決可能と思われる。しかしシーケンス番号を実装することは既に確立された既存のプロトコルを改変することなので、現実的には難しい。既存のプロトコルを変更することなく上記の不具合を解決可能な技術が待たれている。  
目的は、既存のプロトコルを改変することなく信頼性を高めたデータ通信システムとそのマスタユニットおよびデータ通信方法を提供することにある。
【課題を解決するための手段】
【０００８】
実施形態によれば、データ通信システムは、データを要求するための要求信号を発行するマスタユニットと、要求信号に応じた応答信号をマスタユニットに返信するスレーブユニットとを具備する。マスタユニットは、生成部と、判定部とを備える。生成部は、データを示す情報と、スレーブユニットに予め記憶される返信コードを示す情報とを含む要求信号を生成する。判定部は、要求信号と応答信号との対応を判定する。スレーブユニットは、要求信号に示されるデータおよび返信コードを含む応答信号を返信する。そして判定部は、要求信号により要求された返信コードが応答信号に含まれるか否かに基づいて、要求信号と応答信号との対応を判定する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係わるデータ通信システムを適用可能な、建物監視システムの一例を示すシステム図である。
【図２】図２は、図１に示されるシステムの要部を示す機能ブロック図である。
【図３】図３は、ＰＬＣ５１〜５Ｎの一例を示す機能ブロック図である。
【図４】図４は、ＰＬＣ５１〜５Ｎのデータメモリ５のアドレスと記憶内容との関係の一例を示す図である。
【図５】図５は、ＬＣＳ２ｍとＰＬＣ５１〜５Ｎとの間で授受されるデータのフォーマットの一例を示す図である。
【図６】図６は、実施形態におけるＬＣＳ２ｍの一例を示す機能ブロック図である。
【図７】図７は、第１の実施形態における、ＰＬＣ５１〜５Ｎのデータメモリ５のアドレスと記憶内容との関係の一例を示す図である。
【図８】図８は、第１の実施形態における、ＬＣＳ２ｍとＰＬＣ５１〜５Ｎとの間で授受されるデータのフォーマットの一例を示す図である。
【図９】図９は、第２の実施形態における、ＰＬＣ５１〜５Ｎのデータメモリ５のアドレスと記憶内容との関係の一例を示す図である。
【図１０】図１０は、第２の実施形態における、ＬＣＳ２ｍとＰＬＣ５１〜５Ｎとの間で授受されるデータのフォーマットの一例を示す図である。
【発明を実施するための形態】
【００１０】
図１は、実施形態に係わるデータ通信システムを適用可能な、建物監視システムの一例を示すシステム図である。図１において、ヒューマンインタフェースステーション（ＨＩＳ）１１〜１ｎ、グローバルコントロールサーバ（ＧＣＳ）２００、およびローカルコントロールサーバ（ＬＣＳ）２１〜２ｍが、建物内のLocal Area Network（ＬＡＮ）１００に接続される。
【００１１】
ＬＣＳ２１〜２ｍには、それぞれ通信回線を介してノードが接続される。各ノードは例えばフロアごとの空調機器、照明機器、動力機器などである。ＬＣＳ２１〜２ｍはそれぞれ接続されるノードを被監視装置として認識し、その状態を各種メータの指示値に基づいてモニタする。またＬＣＳ２１〜２ｍは、取得した信号に基づくデータを一定期間保存する。
【００１２】
ＨＩＳ１１〜１ｎは、Graphical User Interface（ＧＵＩ）環境を提供し、ユーザによるデータの入力や設定の変更などを受け付ける。またＨＩＳ１１〜１ｎは、ＬＣＳ２１〜２ｍからメータのカウント値などを取得し、取得したデータを保存する。さらにＨＩＳ１１〜１ｎは、ＬＣＳ２１〜２ｍから通知されるデータを受け建物監視システムを上位レベルで監視制御したり、オペレータに各種の情報を提供したりする。
【００１３】
ＧＣＳ２００は、建物内のメータ値のデータを例えば一日一回の頻度で、ＨＩＳ１１〜１ｎから定期的に収集し、蓄積する。またＧＣＳ２００は、ＬＣＳ２１〜２ｍ、ＨＩＳ１１〜１ｎから取得した各種データに基づいて、建物の空調や照明などを制御する。  
さらに、最上位管理システムとしてのＢＥＭＳをＬＡＮ１００に接続し、建物全体でのエネルギー消費の最適化や快適性の制御などを実現することも可能である。
【００１４】
ＬＣＳ２１〜２ｍは、送信すべき情報をＢＡＣｎｅｔ（登録商標）での通信形式に変換し、ＨＩＳ１１〜１ｎなどに送信する。ＢＡＣｎｅｔ（登録商標）は標準化されたプロトコルであるので、異ベンダシステムをＬＡＮ１００に接続することが可能になる。
【００１５】
実施形態では、図１において、マスタユニットとしてのＬＣＳ２ｍに、スレーブユニットとしての複数のＰＬＣ５１〜５Ｎが接続される。ＰＬＣ５１〜５Ｎも上記ノードと同様に、それぞれ取得したデータを、要求に応じてＬＣＳ２ｍに送信する。実施形態においてはＬＣＳ２ｍとＰＬＣ５１〜５Ｎとの間の、シングルマスタ／マルチスレーブ方式でのデータ通信を考える。ＬＣＳ２ｍは、ＰＬＣ５１〜５Ｎ（スレーブ）に対するホストコンピュータ（マスタ）として機能する。
【００１６】
図２は、図１に示されるシステムの要部を示す機能ブロック図である。ＰＬＣ５１〜５Ｎは例えばＲＳ−４８５インタフェースを介してカスケード接続される。ＲＳ−４８５インタフェースはプロトコル変換器４０により例えばイーサネット（登録商標）に変換され、ＬＣＳ２ｍに接続される。ＬＣＳ２ｍは、ＰＬＣ５１〜５Ｎからシングルマスタ方式でデータを収集する。
【００１７】
図３は、ＰＬＣ５１〜５Ｎの一例を示す機能ブロック図である。図３において、主ＣＰＵ（Central Processing Unit）１は、シーケンスの実行およびその制御を担う、ＰＬＣ５１〜５Ｎの中枢部である。プログラムメモリ２は、ＣＰＵ１が実行するシーケンスプログラムを記憶するメモリであり、ＯＳ（Operating System）、シーケンスプログラムの解釈プログラム、実行プログラムなどを記憶する。
【００１８】
ワークメモリ３はＣＰＵ１がプログラムを実行するときに作業領域として使用される。シーケンスプログラムメモリ（ユーザプログラムメモリ）４はシーケンスプログラムを記憶する。データメモリ５はＰＬＣ５１〜５Ｎがそれぞれセンサ（図示せず）などから取得したデータ、あるいはＰＬＣ５１〜５Ｎ自身が計算で求めたデータなど、建物監視システムの稼動に要する種々のデータを記憶する。この種のデータには、ヘルシーカウンタ、デジタル信号（オン／オフ信号など）、アナログ信号（温度、湿度のセンシング値など）、および積算値信号（電力量、冷媒の流量の積算値など）などがある。
【００１９】
マイコンバス６はＰＬＣ内の要素をＣＰＵ１と接続するためのバスであり、アドレスバス、データバス、制御バスの総体である。Ｉ／Ｏ（Input/Output）７はＰＬＣと外部の制御対象（センサなど）を接続するための入出力装置である。通信インタフェース（通信Ｉ／Ｆ）８はＰＬＣとＬＣＳとを通信回線を介して接続するインタフェースである。トレースＣＰＵ９はマイコンバス６を介してＣＰＵ１や各種メモリに接続され、マイコンバス６上の信号を監視しつつＰＬＣの自律運転を補助する。
【００２０】
図４は、ＰＬＣ５１〜５Ｎのデータメモリ５のアドレスと記憶内容との関係の一例を示す図である。アドレス（D0000）にはヘルシーカウンタの値、アドレス（D0001）〜（D00110）にはデジタル信号の値、アドレス（D0011）〜（D0100）にはアナログ信号の値、アドレス（D0101）〜（D0200）には積算値信号の値が、それぞれ記憶される。
【００２１】
既存のプロトコルにおいては、例えばアドレス（D0201）以降の領域が空き領域として設定されている。実施形態においてはこの領域の特定のアドレス（例えば（D1000）以降）に、特有の情報を記憶させる。
【００２２】
図５は、ＬＣＳ２ｍとＰＬＣ５１〜５Ｎとの間で授受されるデータのフォーマットの一例を示す図である。ＬＣＳ２ｍからＰＬＣ５１〜５Ｎに発行される要求信号のフォーマットは、ヘッダ（Ａ）に続くＰＬＣ番号（０３）、コマンド種別、読み出しアドレス、カンマ（，）、要求信号数、＆記号およびチェックサムがこの順に配列される。図５においてはデータ読み出しコマンドとして（ＤＲ）が指定されている。図５に示される要求信号は、読み出しアドレス（D0041）から３０個（ワード）分のデータを要求するコマンドである。  
この要求信号に応じて、（０３）として指定されたＰＬＣから返送される応答信号は、ヘッダ（Ａ）に続くＰＬＣ番号（０３）、コマンド種別、要求個数分の返信データ１、要求個数分の返信データ２、＆記号およびチェックサムがこの順に配列される。
【００２３】
なお図５においては、複数のメモリ領域におけるデータを１個の要求信号で取得可能な例が示される。図５に示される要求信号における（読み出しアドレス１）との記載は、（読み出しアドレス２）、（読み出しアドレス３）、…をも指定可能であることを示唆する。つまり要求信号に、取得すべきデータの先頭アドレスを複数、記述することが可能である。  
図５に示される応答信号においては、返信データ１、返信データ２との記載により、異なる２つのメモリ領域から読み出されたデータが一つの応答メッセージに含まれることが示される。
【００２４】
図４および図５に示されるメッセージフォーマットには信号を区別するためのシーケンス番号（通し番号など）が実装されていないので、要求信号発行後のタイムアウトなどによりデータの授受が正しく完結しないケースが生じる。またネットワークの問題（輻そう、あるいはＰＬＣによる再送処理など）により応答信号がコピーされて複数個届いてしまった場合にも、要求信号と応答信号との対応が破綻して、ＬＣＳは誤ったデータを取り込んでしまう。以下ではこの種の不具合を、既存のプロトコルを改変することなく解決可能な技術を開示する。
【００２５】
［第１の実施形態］
図６は、実施形態におけるＬＣＳ２ｍの一例を示す機能ブロック図である。ＬＣＳ２ｍは、通信インタフェース３０、記憶部３１、および制御部３２を備える。通信インタフェース３０はＰＬＣ５１〜５Ｎ、およびＬＡＮとの通信インタフェース機能を担う。制御部３２は、記憶部３１に記憶されるプログラムに基づいてＬＣＳ２ｍの各種の処理機能を実現する。
【００２６】
制御部３２は、実施形態に係る処理機能として書き込み部３２ａ、生成部３２ｂ、および判定部３２ｃを備える。このうち書き込み部３２ａは、ＰＬＣ５１〜５Ｎに備わるデータメモリ５の既定の記憶領域に、返信コードを書き込む。
【００２７】
図７は、第１の実施形態における、ＰＬＣ５１〜５Ｎのデータメモリ５のアドレスと記憶内容との関係の一例を示す図である。図７において、アドレス（D0000）〜（D0200）までは図４と同様の内容が記憶されるが、空き領域であるアドレス（D0201）のうちアドレス（D1000）以降に、各種の返信コードが書き込まれる。これらの複数の返信コードは、ＬＣＳ２ｍが起動したとき、あるいはＰＬＣ５１〜５Ｎの異常からの復帰をＬＣＳ２ｍが検出した際に、ＬＣＳ２ｍにより書き込まれる。
【００２８】
返信コードは要求コマンドごとに定義されるデータであり、一意に特定可能なユニークな値とする。図７では、各要求コマンドの先頭アドレスを記載することで返信コードを区別できるようにしている。例えばＰＬＣのヘルシーカウンタの値を要求するコマンドに対しては、ヘルシーカウンタの値が記憶されるアドレス（0000）を、返信コードとして用いるようにする。
【００２９】
特に、１回の応答で限られたワード数（例えば３１ワード）までのデータしか授受できないプロトコルではデータを複数回に分割して授受する必要がある。このようなプロトコルに対応可能なように、図７に示されるように、データごとに分割した数の分の返信コードを用意し記憶させるようにする。例えばアナログ信号は３回に分割して授受できるように、１回目、２回目、３回目の分割データごとにそれぞれ（0011）、（0041）、（0071）の返信コードが記憶される。これらの返信コードはすなわち、各データの先頭アドレスである。積算値信号についても同様に、４回に分割して授受できるようになっている。
【００３０】
図６に戻り、生成部３２ｂは、データメモリ５から所望のデータを読み出すための要求信号を生成する。この要求信号には、取得すべきデータを示す情報と、返信コードを示す情報とが記載される。このうち、取得すべきデータを示す情報は例えば図５に示されるように、当該データの読み出しアドレスとそのワード数である。返信コードを示す情報は、返信コードのアドレスとそのワード数である。
【００３１】
判定部３２ｃは、生成部３２ｂにより生成されＰＬＣ宛に発行された要求信号と、この要求信号に対してＰＬＣから返信された応答信号との対応を判定する。具体的には、判定部３２ｃは、発行された要求信号により要求された返信コードが、返送された応答信号に含まれるか否かに基づいて、要求信号と応答信号との対応を判定する。
【００３２】
図８は、第１の実施形態における、ＬＣＳ２ｍとＰＬＣ５１〜５Ｎとの間で授受されるデータのフォーマットの一例を示す図である。図５のフォーマットと異なる点は、データ読み出しコマンド（ＤＲ）に続けて、返信コードを要求する情報が記載されている点である。
【００３３】
図８に示される要求信号において、コマンドＤＲに続けて、アナログ信号の２回目の返信コードのアドレス（D1003）と、カンマ（，）を挟んで返信コードのワード数01とが記載されている。この情報により、アドレス（D1003）に記載される１ワードの情報、つまり返信コード（0041）が要求されることになる。
【００３４】
この要求信号を受けたＰＬＣは、応答信号に（0041）を記載して（返信データ１）ＬＣＳ２ｍに返信することとなる。この返信コードの対応関係を検証することにより、ＬＣＳ２ｍは、発行した要求信号と受信した応答信号との対応関係を判定することが可能になる。
【００３５】
以上説明したように第１の実施形態では、マスタユニットがスレーブユニットに複数回のデータ読み出しを行う場合、目的の範囲のデータのアドレスと、それに対応する返信コードが格納されたアドレスとを指定して読み出しコマンドを発行する。そしてマスタユニットは、返信コードに基づいて、受信した応答が目的の範囲のデータであることを判別する。
【００３６】
すなわちＬＣＳ２ｍは、データの取得を要求する要求信号に、目的のデータが記憶される領域のアドレスに加えて、対応する返信コードのアドレスを指定する。要求信号を受けたＰＬＣは、要求されたアドレスのデータ（返信コード、および目的のデータ）を含む応答信号を返信する。
【００３７】
ＬＣＳ２ｍは応答信号を受信すると、応答信号の１ワード目（返信コード）と、目的のデータに対応する返信コードとを比較し、両者が同じであればその応答信号を受け入れる。同じでなければ、その応答信号は要求に対応する応答ではないと判断し、応答信号を破棄して次の応答信号の到来を待つ。
【００３８】
以上の手順において、要求信号および応答信号のフォーマットは、既存のプロトコルと何ら変わるところが無い。すなわち第１の実施形態によれば、既存のプロトコルを変更することなく、要求信号と応答信号とを対応付けるための情報を、ＬＣＳとＰＬＣとの間で授受することが可能になる。従って、既存のプロトコルを改変することなく信頼性を高めたデータ通信システムとそのマスタユニットおよびデータ通信方法を提供することが可能となる。
【００３９】
［第２の実施形態］
図９は、第２の実施形態における、ＰＬＣ５１〜５Ｎのデータメモリ５のアドレスと記憶内容との関係の一例を示す図である。図９においては、それぞれのデータ領域と、当該データ領域に対応する返信コードとを連続して配置するようにしている。つまり、返信コードと目的データとが単一のメモリ範囲のデータとして配置される。このようなデータ配置によれば、一つのデータ要求コマンド（要求信号）により、返信コードと目的データとの双方を要求することができる。
【００４０】
図１０は、第２の実施形態における、ＬＣＳ２ｍとＰＬＣ５１〜５Ｎとの間で授受されるデータのフォーマットの一例を示す図である。要求信号は、返信コードの記憶されるアドレスと、返信コードおよび目的データとを合わせたワード数（31）とを含む。これを受けたＰＬＣは、返信コードを返信データ列の先頭に含み、残り３０ワードで目的データを含む応答信号を返信する。
【００４１】
第１の実施形態では、図８のフォーマットに示されるように、一つの要求信号で複数の記憶領域におけるデータを要求することが可能であった。しかし、一つの要求信号で単一の記憶領域におけるデータしか要求できないプロトコルも存在する。第２の実施形態によればこのようなプロトコルにも対応することが可能になる。
【００４２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は例として提示するものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４３】
１１〜１ｎ…ヒューマンインタフェースステーション（ＨＩＳ）、２００…グローバルコントロールサーバ（ＧＣＳ）、２１〜２ｍ…ローカルコントロールサーバ（ＬＣＳ）、１００…ＬＡＮ、４０…プロトコル変換器、１…主ＣＰＵ、２…プログラムメモリ、３…ワークメモリ、４…シーケンスプログラムメモリ、５…データメモリ、６…マイコンバス、７…Ｉ／Ｏ、８…通信インタフェース、９…トレースＣＰＵ、３０…通信インタフェース、３１…記憶部、３２…制御部、３２ａ…書き込み部、３２ｂ…生成部、３２ｃ…判定部
【図１】
2014174734.tif 000003
【図２】
2014174734.tif 000004
【図３】
2014174734.tif 000005
【図４】
2014174734.tif 000006
【図５】
2014174734.tif 000007
【図６】
2014174734.tif 000008
【図７】
2014174734.tif 000009
【図８】
2014174734.tif 000010
【図９】
2014174734.tif 000011
【図１０】
2014174734.tif 000012