(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための最良の形態】
【0028】
実施形態
図1は本発明の実施形態における伝送制御装置を含むシステム全体の構成例を示す図である。
【0029】
図1の空調機システム1では、伝送路100(バス)上に、複数の室外機10、20、30および複数の室内機11〜14、21〜24、31〜34が配置されている。伝送路100として、例えばツイストペア線が用いられる。
【0030】
各室外機10、20、30は、伝送路100を介して、管理コントローラ40と通信可能に接続され、管理コントローラ40は、制御線200を介して、監視装置50と通信可能に接続されている。この実施形態では、管理コントローラ40として、監視装置50との接続が可能なパネル型のコントローラを一例にあげて説明する。
【0031】
管理コントローラ40は、マイコンと、表示装置と、操作ボタンと、後述する伝送制御装置60とを備え、各室内機の運転を制御するように構成されている。運転制御の種類としては、室内機の個別制御、ゾーン制御、一括運転、温度制御などがある。
【0032】
監視装置50は、CPUと、メモリと、ディスプレイと、キーボード等の入力装置とを備え、空調機システム1全体の運転状況を監視するように構成されている。例えば、この監視装置50のディスプレイ上には、各室内機の運転状況や運転モードなどが表示される。また、監視装置50においては、各室内機の運転状況や運転モードなどの切替えが制御できるようになっている。
図1の例では、監視装置50として、パーソナルコンピュータが記載されているが、サーバコンピュータ等のコンピュータを適用してもよい。
【0033】
各室外機10、20、30および各室内機11〜14、21〜24、31〜34は、いわゆるビル用マルチエアコンの機種であり、伝送制御装置60を有する。この実施形態では、伝送制御装置60は、各室外機および各室内機に組み込まれているものとするが、別個独立に構成するようにしてもよい。また、伝送制御装置60は、ビル用ネットワークのための通信プロトコル規格であるBACnet(登録商標)に対応して通信を行うものとするが、他の通信プロトコル規格を適用してもよい。なお、BACnet(登録商標)は、Building Automation and Control Networking protocolの略である。
【0034】
[伝送制御装置の構成]
次に、伝送制御装置60の構成について説明する。
図2には、他の伝送制御装置60aが示されているが、この伝送制御装置60aの構成も、伝送制御装置60の構成と同一である。
【0035】
図2は伝送制御装置の構成例を示す図である。
図2の伝送制御装置60は、通信ドライバ61と、プロトコルコントローラ62(以下、コントローラ62という)と、CPU(Central Processing Unit)63とを備える。
【0036】
CPU63は、コントローラ62と接続され、伝送制御装置60全体の動作を制御するように構成されている。
【0037】
コントローラ62は、他の伝送制御装置60aとの通信を実現するのに必要なデータを生成する。この実施形態では、制御方式として、例えばCSMA/CD(Carrier Sense Multiple Access with Collision Detection)の勝ち残り方式を採用し、同期方式として、例えば調歩同期を採用する。このため、
図3の例では、生成されるデータ(キャラクタ)は、上述した制御方式および同期方式に対応する11ビット構成となっている。すなわち、1データは、1ビットのスタートビットSTと、8ビットの転送データD0〜D7と、1ビットのパリティPと、1ビットのストップビットSPの計11ビットで構成される。
【0038】
スタートビットSTは、データの送信開始を示すビットであり、ストップビットSPは、データの区切りを示すビットである。ストップビットSPは、スタートビットSTと対で用いられる。
【0039】
図2に戻って、コントローラ62について詳述する。
【0040】
コントローラ62は、送出部621と、判断部622と、回復動作部623とを有する。送出部621、判断部622および回復動作部623は、いずれもレジスタ、バッファなどの回路で構成される。以下にこれらの機能について説明する。
【0041】
送出部621は、スタートビットSTを含むデータを送出する。その場合、送出部621は、データ中のビットに基づいて生成された送出データ信号TXLまたはTXHを通信ドライバ61へ出力するようになっている。
図3の例で説明すると、スタートビットSTは、データの先頭に付加されている。このため、まず送出部621は、スタートビットSTに同期して、論理0(−)の送出データ信号TXLを通信ドライバ61へ出力するようになっている。また、送出部621は、他のビット(転送データなど)に同期して、論理1(+)の送出データ信号TXHを通信ドライバ61へ出力するようになっている。
【0042】
判断部622は、送出部621が送出したスタートビットSTを受信したか否かを判断する。この実施形態では、判断部622は、通信ドライバ61からの受信データ信号RXDに基づいてスタートビットSTの受信の有無を判断するようになっている。
【0043】
受信データ信号RXDは、通信ドライバ61が取り込んだ伝送路100上のデータに基づいて生成される。生成される受信データ信号RXDの波形は、伝送路100上のデータの波形と対応するようになっている。例えば、伝送路100上のデータが(−)であれば、受信データ信号RXDはL(“0”)となり、伝送路100上のデータが(+)であれば、受信データ信号RXDはH(“1”)となる。
【0044】
回復動作部623は、判断部622によりスタートビットSTが受信されなかったと判断された場合は、所定の同期回復期間、送出部621によるデータの送出を禁止する同期回復動作を行う。
【0045】
ここで、上述した所定の同期回復期間は、後述する直流カット用コンデンサC1、C2の電位が正常な動作状態になっているか否かの観点に基づいてあらかじめ設定されているが、変更してもよい。
【0046】
この回復動作部623においては、同期回復期間の前に、不図示のバスエラーフラグ(エラーフラグ)を例えば“1”にする。そして、回復動作部623は、“1”のバスエラーフラグが示すバスエラーをCPU63に通知し、CPU63への割り込みを発生させる。これにより、回復動作部623は、従来のバスエラーに基づく同期回復動作を行うことが可能となる。バスエラーとは、送出データ信号と受信データ信号との間に生じる論理レベルの不整合のことである。
【0047】
この実施形態では、伝送路100上は、論理0のデータが論理1のデータよりも優先度が高くなっている。したがって、送出部621が論理0のデータを出力したにもかかわらず、判断部622が論理1のデータを受信した場合は、論理レベルの不整合が生じたこととなり、バスエラーとなる。例えば、送出部621がスタートビットST(論理0の送出データ信号)を出力したにもかかわらず、判断部622が論理1の受信データ信号RXDを受信した場合は、バスエラーとなる。
【0048】
バスエラーに基づく同期回復動作時は、回復動作部623は、不図示の状態カウンタ(MDR)を“0”→“2”にする。状態カウンタ(MDR)が“0”の場合、回復動作部623はバス空きを検出する(状態S0)。そして、状態カウンタが“2”の場合、回復動作部623はデータの入力を待つ(状態S2)。
【0049】
CPU63は、回復動作部623からバスエラーの通知を受けると、データを再送させるコマンドを回復動作部623へ出力する。コマンドを取得した回復動作部623では、当該コマンドを送出部621へ出力して、送出部621にデータの再送処理を実行させる。
【0050】
なお、バスエラーフラグが“1”になった場合、判断部622が次の受信データ信号RXD(伝送路100から取り込まれる次のデータ)を受信することにより、バスエラーの要因がクリアされ、回復動作部623は、バスエラーフラグを初期値(0)にする。
【0051】
通信ドライバ61は、4つの端子IN1、IN2、OUT1、OUT2を有し、伝送路100上へデータを送出したり、伝送路100上のデータを入力したりするように構成されている。
【0052】
データの送出時は、通信ドライバ61は、送出部621からの送出データ信号に基づくデータ(パケット)を出力端子OUT1またはOUT2から送出する。出力端子OUT1は、コンデンサC1を介して、伝送路100の(+)側に接続され、出力端子OUT2は、コンデンサC2を介して、伝送路100の(−)側に接続される。例えば、通信ドライバ61では、スタートビットSTを送出する場合、スタートビットSTを出力端子OUT2から伝送路100の(−)側へ送出する。
【0053】
データの入力時は、通信ドライバ61は、伝送路100上のデータを入力端子IN1またはIN2から入力する。例えば、伝送路100上にスタートビットSTがある場合は、通信ドライバ61は、入力端子IN2からスタートビットSTを入力する。
【0054】
[伝送制御装置における通常時のデータ送出処理]
次に、伝送制御装置60における通常時の一般的なデータ送出処理について
図4を参照しながら説明する。
【0055】
図4は通常時の一般的なデータ送出動作を示すタイミングチャートである。
【0056】
図4(a)の送出データ信号の送出時においては、送出部621では、スタートビットSTの期間は、論理0(−)の送出データ信号TXLが出力され、その後は、論理1(+)の送出データ信号TXHが出力される。
【0057】
その後、通信ドライバ61では、送出データ信号に基づいて生成されたデータが出力端子から伝送路100上へ順次送出される。その場合、伝送路100上には、まず(−)のデータが送出され、その後は(+)のデータが送出される(
図4(b))。
【0058】
次に、通信ドライバ61では、伝送路100上のデータを入力端子から取り込み、そのデータに基づいて生成した受信データ信号RXDを判断部622へ出力する。その場合、
図4(c)の例では、受信データ信号RXDは、まずL(“0”)となり、その後はH(“1”)となる。
【0059】
なお、
図4(c)では、所定期間T1が示されているが、これは、判断部622におけるスタートビットSTの受信の有無を判断するタイミングを表している。
【0060】
判断部622では、所定期間T1の経過時に規定値のパルス幅をもつ受信データ信号RXDが存在すれば、スタートビットSTの受信を確認する。
図4(c)の例では、受信データ信号RXDは、所定期間T1が経過した時点で規定値のパルス幅を有するので、判断部622において、スタートビットSTの受信が確認されるものとする。
【0061】
すると、回復動作部623では、スタートビットSTの期間終了後にCPU63への割込信号IRQ(“0”のパルス)を出力する(
図4(d))。これにより、状態カウンタ(MDR)は、スタートビットSTの期間終了時点で“2(状態S2)”から、データの受信状態を表す“3(状態S3)”になる(
図4(e))。
【0062】
ここで、状態カウンタ(MDR)と状態(動作状態)との関係を
図5に示す。この関係は、BACnet(登録商標)の規定に準じてあらかじめ定められており、回復動作部623は、状態カウンタ(MDR)の値に基づいて所定の処理を行う。
図5の例では、MDRが0の場合、バス空き検出期間の状態となるので、回復動作部623は、バス空きを検出するための処理を行う。
【0063】
以上、
図4では、伝送制御装置60におけるデータ送出時の通常の動作について説明した。しかしながら、例えば、伝送制御装置60の電源投入時はコンデンサC1、C2の電位が不安定になりやすいため、通信ドライバ61がデータをコンデンサC1、C2を介して伝送路100へ正常に送出できず、判断部622が当該データのスタートビットSTを受信できない場合があり得る。
【0064】
その場合、例えば
図6に示すように、
図4(b)に示した例において伝送路100上に存在した(−)のデータが(+)となり(
図6(b)の実線)、受信データ信号RXDは、常にHとなる(
図6(c)の実線)。
【0065】
その場合、
図6(c)の例では、所定期間T1が経過した時点において、規定値のパルス幅を有する受信データ信号RXDが存在しないため、判断部622は、スタートビットSTの受信を確認することができない。
【0066】
したがって、割込信号IRQ(“0”のパルス)が出力されず(
図6(d))、以後は、スタートビットSTの送出が繰り返し行われる(
図6(a)〜(d))。よって、状態カウンタ(MDR)は、常に“2”の状態となる(
図6(e))。
【0067】
そこで、この実施形態の伝送制御装置60においては、判断部622においてスタートビットSTの受信が確認できない場合(以下、このような場合を異常時ともいう)にスタートビットSTの送出が繰り返し行われないような処理を行うようになっている。以下にその場合の動作について説明する。
【0068】
図7は異常時のデータ送出動作を示すタイミングチャートである。なお、
図7(b)(c)は、
図6(b)(c)と同じ内容である。
【0069】
論理0(−)の送出データ信号TXLが出力された(
図7(a))後、伝送路100上のデータが(+)となり(
図7(b)の実線)、受信データ信号RXDがH(“1”)となる。このため、
図7(c)の例では、所定期間T1が経過した時点において、判断部622は、スタートビットSTの受信を確認することができない。
【0070】
そこで、
図7(d)の例では、スタートビットSTの期間終了後に、回復動作部623は、バスエラーフラグをオン(“1”)にする。
【0071】
そして、
図7(e)の例では、回復動作部623により割込信号IRQ(“0”のパルス)がCPU63へ出力される(
図7(e))。これにより、CPU63への割り込みが可能となり、伝送制御装置60では、従来のバスエラーに基づく同期回復動作を行う。その場合、
図7(f)の例では、スタートビットSTの期間終了時に、状態カウンタ(MDR)が“2”→“0”に移行し、所定の同期回復期間T2が始まる。
【0072】
この実施形態では、所定の同期回復期間T2は、コンデンサC1、C2の電位が正常の動作値になっているか否かの観点に基づいてあらかじめ設定されている。これにより、たとえ、コンデンサC1、C2の電位が不安定な状態にある伝送制御装置60の電源投入時にデータが送出できなかったとしても、同期回復期間T2の経過後は、コンデンサC1、C2の電位が正常の動作値となる。このため、同期回復期間T2の経過後は、データの再送が可能となる(
図7(a))。
【0073】
図8は異常時のデータ送出動作を示すフローチャートである。
【0074】
まず、伝送制御装置60は、データの送出要求があるか否かを判断する(ステップS10)。この実施形態では、データの送出要求がある場合、CPU63がその送出要求に基づいて生成したコマンドを回復動作部623へ出力し、回復動作部623がCPU63からのコマンドを送出部621へ出力するようになっている。このため、送出部621では、データの送出要求に基づいて生成されたコマンドの有無に基づいてデータの送出要求があるか否かを判断する。
【0075】
データの送出要求がなければ(ステップS10のNo)、伝送制御装置60は、BACnet(登録商標)に規定される通常の受信モード処理を行う(ステップS11)。他方、データの送出要求があれば(ステップS10のYes)、伝送制御装置60は、送出要求に応じたデータを送出する(ステップS12)。その場合、送出部621は、送出要求に応じたデータに基づいて生成された送出データ信号を通信ドライバ61へ出力し、通信ドライバ61は、その送出データ信号に基づいて生成されたデータ(パケット)を出力端子OUT1またはOUT2から伝送路100へ送出する。その場合、
図3に示した例で説明すると、スタートビットSTがデータの先頭に付加されているので、伝送路100上には先頭にスタートビットSTを含むデータが送出される。
【0076】
次に、伝送制御装置60(判断部622)は、スタートビットSTを受信したか否かを判断する(ステップS13)。この実施形態では、判断部622は、伝送路100上のデータに基づいて生成された受信データ信号RXDを通信ドライバ61から受信し、その受信データ信号RXDのパルス幅に基づいてスタートビットSTの受信の有無を判断する。
図7(c)に示した場合を例に説明すると、スタートビットSTの受信の有無の判断時は、所定期間T1の経過時になるので、その時点で規定値のパルス幅が存在すれば、判断部622においてスタートビットSTの受信が確認される。
【0077】
スタートビットSTの受信が確認された場合(ステップS13のYes)、ステップS10に戻る。他方、スタートビットSTの受信が確認されなかった場合(ステップS13のNo)、伝送制御装置60(回復動作部623)は、バスエラーフラグをオンにする(ステップS14)。その場合、
図7(d)に示した例で説明すると、バスエラーフラグは、スタートビットSTの期間終了後にオン(“1”)になる。そして、回復動作部623は、バスエラーをCPU63に通知する。
【0078】
バスエラーの通知を受けたCPU63は、データを再送させるコマンドを回復動作部623へ出力する。これにより、コマンドを取得した回復動作部623では、当該コマンドを送出部621へ出力して、送出部621にデータの再送処理を実行させる。このようにして、回復動作部623では、従来のバスエラーに基づく同期回復動作を行うようになる。
【0079】
なお、バスエラーフラグが“1”になった場合、判断部622が次の受信データ信号RXD(伝送路100から取り込まれた次のデータ)を受信することにより、バスエラーの要因がクリアされ、回復動作部623は、バスエラーフラグを初期値(0)にする。
【0080】
次に、伝送制御装置60(回復動作部623)は、CPU63への割り込みを要求する(ステップS15)。その場合、
図7(e)に示した例で説明すると、回復動作部623がスタートビットSTの期間終了後に割込信号IRQをCPU63へ出力することによって、割り込み要求が行われる。
【0081】
次に、伝送制御装置60(回復動作部623)は、所定の同期回復期間T2、送出部621によるデータの送出を禁止する同期回復動作を行う。
図7に示した例で説明する。
図7(f)では、回復動作部623は、スタートビットSTの期間終了後に状態カウンタ(MDR)を“2”→“0”にする。その後、回復動作部623は、状態カウンタ(MDR)を“0”→“2”にする。状態カウンタが“2”の場合、回復動作部623はデータの入力を待つ(状態S2)。そして、同期回復期間T2の経過後、送出部621は、スタートビットSTを含むデータを正常に伝送路100へ再送する(
図7(a))。これにより、伝送制御装置間では、同期が回復し通信を行うことができる。
【0082】
なお、
図7(a)の例において、状態カウンタが“2”となっている同期回復期間T2内に他の伝送制御装置60aがデータの送信を開始した場合は、送出部621は、他の伝送制御装置60aからのデータに同期してデータの再送を行う。このようにしても、伝送制御装置間では、同期が回復し通信を行うことができる。
【0083】
<他の実施形態>
以上、本発明の実施形態について説明したが、実施上のハードウエア構成および処理順序は、本発明の趣旨を逸脱しない限り、変更してもよい。