アプリケーションノート 3791

電力メータのためのIRとRS-485の通信チャネル

筆者: Ben Smith

要約: 電力メータを設計する際、多くの場合、通信は最後に検討される項目になります。現在の電力メータは、これまで以上に多くの情報を収集して、使用量の情報をメータから電力会社に自動的に伝達する必要があります。これが、MAXQ3120電力メータリファレンス設計の通信サブシステムの仕事です。

通信を行う理由

電力メータを設計する際、多くの場合、通信は最後に検討される項目になります。従来のメータは、古くて受動的な方法で電力使用量を伝達しています。すなわち、メータを読み取る担当者が定期的にメータの場所まで出向いて値を読み取っています。しかし、現在の電力メータは、さらに多くの情報を収集する必要があります。訓練を受けた担当者が許容できる精度に従って各メータから多くのデータポイントを手動で収集することを期待することは、もはや合理的ではありません。代わりに、何らかの手段によって、使用量の情報をメータから電力会社に自動的に伝達する必要があります。これが、MAXQ3120電力メータリファレンス設計の通信サブシステムの仕事です。

2つのチャネル

MAXQ3120電力メータリファレンス設計には、2つの通信チャネルが設けられています。ハンドヘルド端末との通信用の赤外線(IR)チャネルと、完全に絶縁されたマルチドロップRS-485チャネルです。

2つのチャネルは同じプロトコルを共有しますが、チャネルの動作の詳細はやや異なります。IRチャネルは常にポイントトゥポイントですが、ハンドヘルド端末は一度に1つのメータとしか通信しません。ハンドヘルド端末は一度に複数のメータにアクセスすることができないため、メータがブロードキャストメッセージに一方的に応答することが許容されています。ネットワーク環境でこの種の動作が行われると、重大なデータの衝突が生じます。

RS-485チャネルの動作はこれとは異なります。ネットワーク上に多くのメータが存在する可能性があるため(ただし、ホストが複数存在することはない)、ネットワークブロードキャストに応答してパケットを送信するメータがない場合があります。さらに、ホストのメッセージの後、ホストのトランシーバがデータ受信の準備ができるまでに時間の遅延が生じる可能性があります。したがって、メータが応答する前に送信遅延を設けることが、データ損失を防ぐための賢明な手段になります。

共通の通信要素

チャネルに関係なく、通信プロトコルはいくつかの共通要素を共有しています。第1に、リンク特性が同一です。チャネルは1,200bpsの非同期で動作し、1つのストップビットと偶数パリティを備えています。第2に、図1に示すように、リンクプロトコルが同一です。最後に、2つのチャネルに対するコマンドの意味が同じです。つまり、IRチャネルに対して送信されるコマンドは、RS-485チャネルに対して送信されるのと同じ効果を示します。

図1. 通信プロトコルの図
図1. 通信プロトコルの図

データパケットの構造は、以下のとおりです。

  • 開始フラグ:1バイト、0x68
  • メータのアドレス:6バイトで可変。ネットワーク上のすべてのメータには、固有のネットワークアドレスがあります。反対に、ホスト(ネットワーク上で動作するPCまたはハンドヘルド端末のいずれか)には、アドレスがありません。ホストはすべての通信を開始して、メータから送信されるすべてのメッセージの宛先になります。したがって、アドレスフィールドは、ホストからメータへ送信されるメッセージの宛先アドレス、およびメータからホストに送信されるメッセージの送信元アドレスとして機能します。アドレス99 99 99 99 99 99は、ブロードキャストアドレスとして予約されています。
  • 区切り文字:1バイト、0x68
  • コマンドバイト:1バイトで、フォーマットは次のとおりです。

コマンドバイトのフィールドは、以下を含みます。
  • 方向ビット:ホストからメータにパケットを送信するときにクリアし、メータからホストにパケットを送信するときにセットします。
  • エラービット:メータがホストからのメッセージに何らかのエラーを検出したことを示します。
  • moreビット:メータの応答が単一メッセージとしては長すぎたため、複数のメッセージに分割されたことを示します。
  • 機能フィールド
    • 0x01:読出し機能。ホストがメータからの特定のレジスタ値の読出しを望んでいることを示します。
    • 0x02:次の読出し機能。メッセージが複数のパートに分かれているという通知を受け取ったホストが、次のパートの読出しを望んでいることを示します。
    • 0x03:再読出し機能。メッセージの前のセグメントを正しく受け取れなかったホストが、そのセグメントの再送を望んでいることを示します。
    • 0x04:書込み機能。ホストが電力メータのレジスタへの値の格納を望んでいることを示します。データには、2バイトのレジスタアドレスと可変長のデータが含まれます。
    • 0x08:同期機能。データフィールドには、時刻と日付が含まれます。メータの内部クロックとメッセージの時刻と日付との差が10分未満の場合、メッセージの時刻に合わせて内部クロックが調整されます。そうでない場合、時刻は変更されず、エラーが返されます。
    • 0x0A:ネットワークアドレス設定機能。これは必ずブロードキャストメッセージになります。データフィールドには、指定したメータがネットワークアドレスとして受け入れる6バイトのアドレスが含まれます。メータのアドレス設定ボタンを有効にすることで、メータがそのアドレスを受け入れることを指定します。
    • 0x0C:ボーレート変更コマンド。ボーレートは、あるトランザクションについてのみ指定のボーレートに変更され、その後、元の1,200bpsに戻ります。
    • 0x0F:パスワード変更コマンド。データフィールドには、(1)スーパーユーザのパスワード識別子(通常0)、(2)スーパーユーザのパスワード、(3)変更するパスワードの識別子、および(4)新しいパスワードで構成された8バイトが含まれます。
    • 0x10:最大需要電力のクリアコマンド。メータは、このコマンドを受信すると、その月の全体にわたる複数のカテゴリのそれぞれにおいて、最大需要電力の報告に関連するすべてのレジスタをクリアします。
  • 長さの指示:1バイト。これは、開始フラグから終了フラグまでのメッセージの全長です。
  • データ:可変長
  • チェックサム:1バイト。これは、開始フラグからデータの最後までのメッセージの全バイトの「module 256 sum」です。
  • 終了フラグ:1バイト、0x16

IRチャネルの動作の詳細

IRチャネルは、単純なトーン変調手法にしたがって動作します。「0」ビットは、38kHzで変調された850nmのIR放射ビームで表され、「1」ビットはそのビームがないことによって表されます。下記の図(図2)は、文字「A」 (0x41)の送信方法を示しています。

図2. IRチャネルのトーン変調手法の図
図2. IRチャネルのトーン変調手法の図

この物理チャネルの送信は、MAXQ3120のCPUの変調器で、タイマチャネルの1出力とUARTチャネルの1つを結合することによって容易に行うことができます。復調は、外付けの一体型IRレシーバによって実行されます(図3)。

図3. 外付けの一体型IRレシーバが復調を実行します。
図3. 外付けの一体型IRレシーバが復調を実行します。

RS-485の動作の詳細

RS-485チャネルには、2つの特定の要件があり、これがIRチャネルに比べてRS-485チャネルをより複雑にしています。すなわち、RS-485チャネルは厳密にハーフデュープレクスでなければならないということ、およびラインから電気的に絶縁されている必要があるということです。第1の要件は、マキシムのハーフデュープレクストランシーバの1つを使用することによって満たされます。第2の要件は、安価な光カプラを使用して、電気的な絶縁を実現することによって満たされます。図4を参照してください。

図4. RS-485通信は、ハーフデュープレクストランシーバと安価な光カプラを使用することによって実現されます。
図4. RS-485通信は、ハーフデュープレクストランシーバと安価な光カプラを使用することによって実現されます。