Make it inspiring
 

RDM

RDM( Remote device Management) はDMX512Aプロトコルが規定する通信インフラを介して照明コントローラーと照明器具間の双方向通信を実現するプロトコルです。ユーザーはこのプロトコルにより、コントローラーから照明器具の状態監視やデバイスの構成変更(アドレスやプロファイル等)が可能になります。

この規格はもともとEntertainment Services & Technology Association Technical Standards (ESTA)によって開発され、2010年にアメリカのANSI規格「ANSI1.20 DMX512 ネットワーク上のリモートデバイス管理」として承認されたものですが、この頃すでにDMXはイーサネットで伝送されることが多く、あくまでDMXの通信インフラ上で機能するよう定義されたRDMはネットワークで伝送する術がなく、主にアートネットなどを利用してイーサネット上での伝送を行う必要がありました。そこで2019年、RDMを正式にネットワークプロトコルで伝送する新たな規格 RDM-netが開発され、ANSI E1.33 RDM-netとして承認されるに至りました。ここではRDMとRDM-netについて簡単にその特徴を解説します

RDMはDMX512Aのインフラを使い、コントローラーと照明器具の半二重通信によるコミュニケーションを実現します。RDMの規格では、この半二重通信を実現するための物理層の要件と双方向通信のタイミング、デバイス検出プロセスとアルゴリズム、メッセージ構造などが定義されています。RDMの通信はコントローラーにより開始され、受信するデバイスはコントローラーからの通信開始を受けて応答するのみです。RDMプロトコルはDMXのスタートコードにより識別され、最初のステップはコントローラーが接続されているデバイスを識別することから始まり、コントローラーはデバイス検索(ディスカバリー)により、接続されるデバイスすべてをデバイスが持つUIDという固有の番号で識別して発見します。

デバイスが検出されると、コントローラーはステータス メッセージを要求したり、DMX512 アドレスなどのデバイス パラメーターを取得および設定したりできます。 送信されるメッセージは、ターゲット デバイスの UID に指定して送るか、ブロードキャスト UID アドレスに指定しておくることができます。

DMX512上にアクティブにできるコントローラーは1つだけで、デバイス検出やメッセージを送信する装置をコントローラーと呼び、これに応答するデバイス(照明器具)をレスポンダーと呼びます。

物理レイヤー

RDM通信はDMXインフラ上で双方向通信を実現するプロトコルです。ユーザーにとっては、使用する機器や接続トポロジーなどすべてDMXのシステムと同様であり、一見するとDMXと違いがないように見えますが、RDMをサポートする装置内部では、いくつかの変更が施されており、従来のDMXシステムとは異なる仕様になっています。例えば、RDM対応コントローラーに対しては、双方向の通信をソフトウェアだけに依存せず確立するために、ドライバが有効になっていないときにバスラインを「マーキング状態」に保つためのバイアスをかける規定があります。

RDM通信を行う場合、DMX512Aに加えRDMに対応したスプリッター、コントローラー、照明器具を使用する必要があり、RDMをサポートしない機器を混在させることができません。スプリッター等で特定のポートでRDMをオフにすることができるのであれば、RDMを無効にしたラインにのみRDM非対応の製品を接続し、RDM通信を行うラインにはRDM対応の製品のみを接続することが求められます。

 

RDMメッセージ

RDMの通信はコントローラー側からのみ開始され、それを受けて受信機である照明器具や、中間に位置する代理サーバー(ノード、ワイヤレス受信機)などが応答を返します。コマンドの種類は大きく分けて3つ、機器を発見し認識するためのディスカバリー、情報を取得するためのGet、そして照明器具側のアドレスなどを変更するためのSetになります。これらコマンドに対し、応答メッセージが定義されており、送信されるこれらコマンドと応答メッセージはセットになっています。このコマンドはコマンドクラスとして分類され、それぞれのコマンドに続いてパラメーターIDとパラメーターデータのメッセージが送信されます。

コマンドクラス(CC) 説明
Get コマンド デバイスからパラメータの値またはステータスを要求
Get コマンド レスポンス 上記Getコマンドに対する応答メッセージ
Set コマンド デバイス内のパラメータの値の変更指示
Set コマンドレスポンス 上記Setコマンドに対する応答メッセージ
ディスカバリーコマンド デバイス検出のメッセージ
ディスカバリーコマンド レスポンス 上記ディスカバリーメッセージに対する応答

上記のコマンドクラスに対応したコマンドの詳細はパラメーターID(PID)とパラメーターデータ(PD)で定義されます。

RDMメッセージの構造は左の表にあるとおり、先頭スロットからスタートコードに続いて宛先UID(デバイス固有の番号)とソースUID(送信元のID)に続く主要なメッセージはコマンドクラスとパラメーターID&データで構成されます。

RDMメッセージの構造

スタートコード: 8bit

RDMメッセージの開始は必ず識別のためのスタートコードを先頭に付加して送信されます。

サブスタートコード:8bit

このフィールドには、このパケット構造 (SC_SUB_MESSAGE) を定義する RDM 内のサブスタート コードが含まれます。 追加のパケット構造または異なるパケット構造を持つ可能性のあるこの規格の将来のバージョンでは、このフィールドを使用して、パケット構造を識別することになります。

Message Length: レンジ24~255

チェックサムを除くスロット数を定義、最後のチェックサムとの照合を行う

宛先UID: 48bit

コマンドを送信する相手先のUID

ソースUID:48bit

コマンドを送信する装置のUID

Transaction Number: 8bit

RDM パケットが送信されるたびにこのフィールドは増加します。初期化される場合、255 から 0 にロールオーバーされます。 応答側は、応答先のコントローラー パケットに含まれるトランザクション番号をトランザクション番号に設定して応答する必要があります。 トランザクション番号は、応答メッセージをコントローラーの要求と照合するのに使用します。

Port ID/ Response Type

ポート ID フィールドは、使用されているコントローラ ポートを識別する 1 ~ 255 の範囲で設定され、ソース UID とポート ID の組み合わせによってメッセージの送信元のコントローラとポートを一意に識別することを可能とします。またレスポンダーの場合、確認応答タイプを示すためにレスポンダからのメッセージで使用されます。

メッセージカウント

メッセージ カウント フィールドは、コントローラーによるデータ収集における追加データが利用可能になったことを示すためにレスポンダーによって使用されます。 このデータ は、コントローラーによって GET:QUEUED_MESSAGE コマンドを使用して収集される必要があります。

サブデバイス

サブデバイスは、調光ユニットなど、同じモジュールが繰り返し複数搭載される装置で使用する必要があります。 [サブデバイス] フィールドを使用すると、パラメータ メッセージをデバイス内の特定のモジュールに宛てて、そのモジュールのプロパティを設定または取得できます。 

コマンドクラス

コマンドクラスは送受信のコマンドの種類を定義します。それはGet やSetなどのコマンド類です。

パラーメーターID

パラメータ ID は、コマンドクラスで定義されたコマンドに続く特定タイプのパラメータデータを識別する 16 ビットの数値です。

パラメーターデータレングス

パラメータ データ長 (PDL) は、その前にあるパラメータ データ領域に含まれるスロットの数です。 このフィールドが 0x00 に設定されている場合は、後続のパラメータ データがないことを示します。

パラーメーターデータ

パラメータ データは可変します。コンテンツの形式は PID に依存します。

パラメーターID

パラメータ ID (PID) はデフォルト定義のパラメータと照明器具メーカー独自のパラメータがあります。 ESTA 定義の PID は 0x0000 ~ 0x7FDF の範囲内であり、下の表のように定義されています。 0x7FE0 ~ 0x7FFF の範囲の PID は、この規格の将来の使用のために予約されています。  メーカー固有の PID は 0x8000 ~ 0xFFDF の範囲で作成されます。 メーカー固有の PID 値は、デフォルト定義のカテゴリーから適切なカテゴリを選択し、論理構成を維持するために 0x8000 のオフセットを追加して選択する必要があります。 メーカーは、特定のメーカー ID に該当する製品内で、同じメーカー固有の PID 値を複数の意味で使用してはなりません。 コントローラはメーカー固有の PID メッセージを全メーカーのBROADCAST_ALL_DEVICES_ID に宛てて送信することを禁止されています。 レスポンダーは、BROADCAST_ALL_DEVICES_ID 宛てのメーカー固有のメッセージを無視します。

プロキシーデバイス

RDMのプロキシーデバイスは、コントローラーと照明器具の中間に位置するノードやワイヤレス装置などを意味します。これら装置のRDMプロキシー対応製品はコントローラーからのリクエストに対し、照明器具に代わり応答するのが役目です。

プロキシーデバイスは照明器具から見るとRDMコントローラーであり、照明コンソールなどからくるGetコマンドやディスカバリーなどに対して応答するために、自身につながる照明器具の情報を定期的に集めます。そのため照明コンソールがRDMに対応していないまたは、RDMメッセージを行なっていなくとも、プロキシー機能がOnになっている間、プロキシーデバイスと照明器具間ではRDMの通信が行われます。

RDMnet

RDMが開発されてからすでに20年以上もの年月が経過したものの、未だ異なるブランドの機器間で通信の問題が発生したり、ディスカバリーの際にはデータの衝突が発生し、全てのデバイスを検出するのに時間がかかるなど、RDMには多くの問題が残ります。これらの多くはDMXインフラを使い、半二重通信で通信を行う点にあり、DMXインフラを使う以上、DMXプロトコルの制限となるタイミング問題も避けることができません。

これら既存のRDMの問題を解決すると期待されるのが、ネットワークインフラを使うRDM-Netという新しいプロトコルです。RDM-netではDMXインフラではなくイーサネットのネットワークインフラを使うため、送信と受信は完全に分離され、全二重通信となり、DMXを送信しながらRDMの通信も可能となり、データの衝突も起こらなくなります。

RDMnet では、ゲートウェイ タイプデバイス (イーサネットから DMX/RDM に変換するノード類) とネットワークのネイティブ デバイスの両方が使用できます。コントローラーはRDMと異なり、複数のコントローラーの共存が許容されます。これは既存の RDMとの大きな違いで、さらに RDMnet には、ブローカーというもう 1 つのデバイス分類が追加されます。ブローカーは、通信を容易にするシステムの重要な部分であり、複数のコントローラーと複数のデバイスが最小限のオーバーヘッドで通信できるようにします。