NMRAのデジタル通信標準(S-9.2)は、相互運用性に必要な最小限の基本的なパケット形式を提供します。 この標準は、現実的な操作を可能にするフレームワークを提供する拡張パケット形式を提供します。 これらの形式は、S-9.2で定義されている一般的なパケット形式に準拠しています。 ベースラインパケットの長さは「0」ビットで区切られた3データバイトですが、拡張パケットフォーマット定義を使用するパケットの長さは、それぞれ「0」ビットで区切られた3〜6データバイトです。
フォーマット定義
この規格では、アドレスおよびデータバイト内のビットは次の略語を使用して定義されます。特定のパケットフォーマット内の個々のバイトはスペースで区切られます。 角カッコ[]内のバイトは、必要に応じて1回以上発生します。 ビットには右から左に番号が付けられ、ビット0(右端のビット)が最下位ビット(LSB)であり、ビット7(左端のビット)が最上位ビット(MSB)です。
A =アドレスビット
0 =値が「0」のビット
1 =値が「1」のビット
U =「1」または「0」のいずれかの未定義値を持つビットが受け入れ可能
B =ビット位置/アドレス
C =命令タイプフィールド
F =命令の実装を決定するフラグ
L =低次のバイナリ状態制御アドレス
H =高次のバイナリ状態制御アドレス
S =デコーダーサブアドレス
V = CVアドレスビット
D =データ
X =シグナルヘッドアスペクトデータビット
E =エラー検出ビット
フォーマット定義
この規格では、アドレスおよびデータバイト内のビットは次の略語を使用して定義されます。特定のパケットフォーマット内の個々のバイトはスペースで区切られます。 角カッコ[]内のバイトは、必要に応じて1回以上発生します。 ビットには右から左に番号が付けられ、ビット0(右端のビット)が最下位ビット(LSB)であり、ビット7(左端のビット)が最上位ビット(MSB)です。
A =アドレスビット
0 =値が「0」のビット
1 =値が「1」のビット
U =「1」または「0」のいずれかの未定義値を持つビットが受け入れ可能
B =ビット位置/アドレス
C =命令タイプフィールド
F =命令の実装を決定するフラグ
L =低次のバイナリ状態制御アドレス
H =高次のバイナリ状態制御アドレス
S =デコーダーサブアドレス
V = CVアドレスビット
D =データ
X =シグナルヘッドアスペクトデータビット
E =エラー検出ビット
Extended Packet Formatパケットの最初のデータバイトには、プライマリアドレスが含まれます。 さまざまなタイプのデコーダを許可するために、このプライマリアドレスは次のように固定パーティションに分割されます。
アドレス00000000(0):ブロードキャストアドレス
アドレス00000001-01111111(1-127)(含む):7ビットの多機能デコーダーアドレス
アドレス10000000-10111111(128-191)(含む):9ビットのアドレスを持つ基本的なアクセサリーデコーダーと11ビットのアドレスを持つ拡張アクセサリーデコーダー
アドレス11000000-11100111(192-231)(含む):14ビットの多機能デコーダーアドレス
アドレス11101000-11111110(232-254)(含む):将来の使用のために予約済み
アドレス11111111(255):アイドルパケット
アドレス00000000(0):ブロードキャストアドレス
アドレス00000001-01111111(1-127)(含む):7ビットの多機能デコーダーアドレス
アドレス10000000-10111111(128-191)(含む):9ビットのアドレスを持つ基本的なアクセサリーデコーダーと11ビットのアドレスを持つ拡張アクセサリーデコーダー
アドレス11000000-11100111(192-231)(含む):14ビットの多機能デコーダーアドレス
アドレス11101000-11111110(232-254)(含む):将来の使用のために予約済み
アドレス11111111(255):アイドルパケット
このパケットの形式は次のとおりです。
{プリアンブル} 0 00000000 0 {命令バイト} 0 EEEEEEEE 1
「ブロードキャストアドレス」00000000に宛てられた命令は、すべての多機能デジタルデコーダーによって実行される必要があります。
単一の命令の定義は、Multi Function Digital Decoderパケットで定義されているものと同じであり、命令に応じて1、2、または3バイトの長さにすることができます。 デジタルデコーダーは、サポートしていない命令を無視する必要があります。 製造業者は、デコーダがサポートするブロードキャストコマンドを文書化する必要があります。
{プリアンブル} 0 00000000 0 {命令バイト} 0 EEEEEEEE 1
「ブロードキャストアドレス」00000000に宛てられた命令は、すべての多機能デジタルデコーダーによって実行される必要があります。
単一の命令の定義は、Multi Function Digital Decoderパケットで定義されているものと同じであり、命令に応じて1、2、または3バイトの長さにすることができます。 デジタルデコーダーは、サポートしていない命令を無視する必要があります。 製造業者は、デコーダがサポートするブロードキャストコマンドを文書化する必要があります。
これらのパケットの形式は次のとおりです。
{プリアンブル} 0 [AAAAAAAA] 0 {命令バイト} 0 EEEEEEEE 1
多機能デジタルデコーダーは、1つ以上のモーターやアクセサリーを制御する目的で使用されます。
これらのデバイスを制御するために使用されるパケット形式は、3〜6バイトで構成されます。最初のバイトは、アドレスバイトの後に1つまたは2つの命令バイトが続き、エラー制御バイトで終わります。
最初のアドレスバイトには、8ビットのアドレス情報が含まれています。 アドレスの最上位ビットが「11」で、残りのビットが「111111」でない場合、2番目のアドレスバイトがすぐに続く必要があります。 この2番目のアドレスバイトには、追加の8ビットのアドレスデータが含まれます。 2バイトのアドレス情報が存在する場合、それらは「0」ビットで区切られます。 2バイトアドレスの最上位ビットは、最初のアドレスバイトのビット5です。 (この場合、ビット#6および#7の値は「1」です。
命令バイトは、多機能デジタルデコーダーにコマンドを送信するために使用されるデータバイトです。 すべてのデジタルデコーダーがすべての命令を実装することはまずありませんが、複数の命令を持つパケットをサポートする場合は重要です。 パケットを十分に解析して、バイトが新しい命令であるか、前の命令の2番目のバイトであるかを認識できます。
各命令({instruction-bytes}で示される)は次のように定義されます:
{命令バイト} = CCCDDDDD、
CCCDDDDD 0 DDDDDDDD、または
CCCDDDDD 0 DDDDDDDD 0 DDDDDDDD
各命令は、3ビットの命令タイプフィールドと、それに続く5ビットのデータフィールドで構成されます。 一部の命令には、1または2または3バイトの追加データがあります。 3ビットの命令タイプフィールドは次のように定義されます。
000デコーダーおよび整合制御命令
001高度な操作命令
010逆方向操作の速度と方向の指示
011前進操作の速度と方向の指示
100ファンクショングループ1命令
101ファンクショングループ2命令
110将来の拡張
111構成変数アクセス命令
パケットの最後のバイトはエラー検出バイトです。これは、すべてのアドレスとすべての命令バイトを使用してベースラインパケットで行われるのと同じように計算されます(S-9.2を参照)。
デコーダーおよび整合制御命令(000)
デコーダー確認機能(00001111)を除き、単一のデコーダーおよび一貫した制御命令のみがパケットに含まれることがあります。
デコーダー制御(0000)
デコーダー制御命令は、デコーダー構成をセットアップまたは変更することを目的としています。
この命令の形式は
{命令バイト} = 0000CCCF、または{命令バイト} = 0000CCCF DDDDDDDD
この命令(0000CCCF)を使用すると、Dの値で定義された特定のデコーダー機能を設定またはクリアできます(「1」は設定を示します)。 デコーダーでデコーダー確認応答が有効になっている場合、デコーダー制御命令の受信は、操作モード確認応答で確認応答されます。
CCC = 000 D = "0":デジタルデコーダーリセット-デジタルデコーダーリセットは、すべての揮発性メモリ(速度および方向データを含む)を消去し、S9.2.4セクションAで定義されている初期電源投入状態に戻ります。デジタルデコーダーリセットに続いて10パケット時間、アドレス112-127にパケットを送信してはなりません。これは、デコーダが操作モードパケットとしてサービスモード指示パケットの実行を開始しないようにするためです(サービスモード指示パケットは、112から127の10進数の範囲の短いアドレスを持っています)。
D = "1":ハードリセット-構成変数29、31、および32は工場出荷時のデフォルト状態にリセットされ、CV#19は "00000000"に設定され、デジタルデコーダーリセット(上記の指示どおり)が実行されます。
CCC = 001 工場テスト指示-この指示は、メーカーが工場でデコーダーをテストするために使用されます。通常の操作中は、コマンドステーションから送信しないでください。この命令はマルチバイト命令である場合があります。
CCC = 010 将来の使用のために予約済み
CCC = 011 デコーダーフラグの設定(以下を参照)
CCC = 100 将来の使用のために予約済み
CCC = 101 高度なアドレス指定の設定(CV#29ビット5)
CCC = 110 将来の使用のために予約済み
CCC = 111 D = "1":デコーダー確認要求
デコーダーフラグを設定する
フォーマット:
{命令バイト} = 0000011D CCCC0SSS
SSSはデコーダーのサブアドレスです。 これにより、最大7つのデコーダーが同じデコーダープライマリアドレスを共有できますが、特定の機能(構成変数アクセス命令など)を個別に実行できます。 SSS = 000の場合、操作はグループ内のすべてのデコーダーに影響します。 デコーダーのサブアドレスはCV15で定義されています。
CCCCは次の表で定義されています。
(省略)
Consist Control(0001)
この命令制御は、セットアップとアクティブ化または非アクティブ化で構成されます。
Consist Controlが有効な場合、デコーダーは通常の機関車アドレスにアドレス指定された速度または方向の命令を無視します(このアドレスがコンシストアドレスと同じでない場合)。 速度と方向の指示は、構成アドレスのみに適用されるようになりました。
命令100および101で制御される機能は、デコーダーのベースラインアドレスに応答し続けます。
CV#21、22の適切なビットがアクティブになっている場合、命令100および101によって制御される機能も構成アドレスに応答します。
デフォルトでは、すべての形式の双方向通信は、Decoder Control命令によって明確にアクティブ化されるまで、コンシストアドレスに送信されたコマンドに応答してアクティブ化されません。 オペレーションモード確認応答とデータ送信は、それぞれのデコーダアドレスの適切なコマンドに適用されます。
この命令の形式は次のとおりです。
{命令バイト} = 0001CCCC 0 0AAAAAAA
2番目のバイトのビット7の「1」の値は、将来の使用のために予約されています。 この命令内には、CCCCには一貫性セットアップ命令が含まれ、2番目のバイトのAAAAAAAは7ビットの一貫性アドレスです。 アドレスが「0000000」の場合、構成は無効になります。 アドレスがゼロ以外の場合、構成はアクティブになります。
構成が無効になっている場合(構成を「0000000」に設定することにより)、双方向通信設定はCV 26〜28で指定されているとおりに設定されます。
操作モード確認応答が有効になっている場合、すべての構成コマンドは、操作モード確認応答によって確認応答する必要があります。
CCCCの形式は次のとおりです。
CCCC = 0010 2番目のバイトで指定されているように構成アドレスを設定し、構成をアクティブにします。 構成アドレスはCV#19のビット0〜6に格納され、CV#19のビット7は値0に設定されます。構成内のこのユニットの方向は通常の方向です。 構成アドレスが0000000の場合、構成は無効になります。
CCCC = 0011 2番目のバイトで指定されているように構成アドレスを設定し、構成をアクティブにします。 構成アドレスはCV#19のビット0〜6に格納され、CV#19のビット7は値1に設定されます。構成内のこのユニットの方向は、通常の方向とは逆です。 構成アドレスが0000000の場合、構成は無効になります。
CCCCの他のすべての値は、将来の使用のために予約されています。
高度な操作手順(001)
これらの命令は、高度なデコーダー機能を制御します。 1つのパケットには、高度な操作命令を1つだけ含めることができます。
この命令の形式は001CCCCC 0 DDDDDDDDです
5ビットのサブ命令CCCCCでは、32の個別の高度な操作サブ命令を使用できます。
CCCCC = 11111:128速度ステップ制御-命令「11111」は、126個のデジタルデコーダ速度ステップの1つを送信するために使用されます。後続のシングルバイトは、ビット7が方向(「1」が順方向、「0」が逆方向)で速度と方向を定義し、残りのビットは速度を示すために使用されます。最上位の速度ビットはビット6です。U0000000のデータバイト値は停止に使用され、U0000001のデータバイト値は緊急停止に使用されます。これにより、最大126の速度ステップが許可されます。動作モード確認応答が有効になっている場合、128速度ステップ制御パケットの受信は、動作モード確認応答で確認応答する必要があります。
CCCCC = 11110:制限速度ステップ命令-命令「11110」は、デコーダーの最大速度を制限するために使用されます。データバイトのビット7(上記の「DDDDDDDD」)は、制限速度動作を有効(「0」)または無効(「1」)にするために使用されます。データバイトのビット0〜5は、S-9.22で定義されている速度ステップです。動作モード確認応答が有効になっている場合、制限速度命令の受信は、動作モード確認応答で確認する必要があります。
CCCCC = 11101:アナログ機能グループ
この命令の形式は001CCCCC 0 VVVVVVVV 0 DDDDDDDDです。ここでVVVVVVVV-アナログ機能出力(0-255)
DDDDDDDD-アナログ機能データ(0-255)
アナログ出力の使用:
00000001ボリュームコントロール
VVVVVVVVの他のすべての値は予約されています。 この関数は、モバイルデコーダーの速度を制御するために使用しないでください。
動作モード確認応答が有効になっている場合、アナログ機能グループ命令の受信は、動作モード確認応答で確認応答する必要があります。
残りの29の命令は、将来の使用のために予約されています。
速度と方向の指示(010および011)
これら2つの命令の形式は次のとおりです。
リバース操作用010DDDDD
フォワード操作用011DDDDD
速度と方向の命令は、多機能デジタルデコーダーに接続されたモーターに情報を送信するために使用されます。命令「010」は、逆方向動作の速度と方向の命令を示し、命令「011」は、順方向動作の速度と方向の命令を示します。 これらの命令では、データを使用して速度を制御し、ビット0〜3はS-9.2セクションBとまったく同じように定義されます。CV#29のビット1の値が1の場合、ビット4が中間として使用されます。 S-9.2、セクションBで定義されている速度ステップ。CV#29のビット1の値がゼロ(0)の場合、ビット4を使用してFLを制御します。 このモードでは、速度U0000は停止、速度U0001は緊急停止、速度U0010は最初の速度ステップ、速度U1111は全速です。 これにより、各方向に14の個別の速度ステップが提供されます。
デコーダが現在の速度ステップの1ステップ以内にある新しい速度ステップを受信した場合、デジタルデコーダはこれら2つの速度ステップの中間のステップを選択できます。 これにより、コマンドステーションが速度パケットを切り替えた場合に、56の速度ステップを制御できる可能性があります。
デコーダーは、停止または緊急停止情報を含まない速度および方向コマンドのブロードキャストパケットで送信された方向情報を無視する場合があります。
動作モード確認応答が有効になっている場合、速度と方向のパケットの受信は、動作モード確認応答で確認する必要があります。
ファンクショングループ1命令(100)
この命令の形式は100DDDDDです
Function Group One命令では、最大5つの補助機能(機能FLおよびF1〜F4)を制御できます。 ビット0〜3は、機能F1がビット0によって制御され、機能F4がビット3によって制御される関数F1〜F4の値を定義します。「1」の値は、「 0」は、機能が「オフ」であることを示します。 CV#29のビット1の値が1の場合、ビット4は機能FLを制御します。それ以外の場合、ビット4には意味がありません。
動作モード確認応答が有効になっている場合、機能グループ1パケットの受信は、動作モード確認応答に従って確認する必要があります。
ファンクショングループ2命令(101)
この命令の形式は101SDDDDです
Function Group Two命令により、最大8つの追加補助機能(F5-F12)を制御できます。 ビット4は、ビット0〜3の使用を定義します。 ビット4(S)が「1」の場合、ビット0〜3(DDDD)は機能F5〜F8の値を定義し、機能F5はビット0によって制御され、機能F8はビット3によって制御されます。 「0」である場合、ビット0〜3(DDDD)は機能F9〜F12の値を定義し、機能F9はビット0によって制御され、機能F12はビット3によって制御されます。 「オン」の場合、値「0」は機能が「オフ」であることを示します。
動作モード確認応答が有効な場合、機能グループ2パケットの受信は、動作モード確認応答に従って確認応答されるものとします。
機能拡張手順(110)
このグループの手順は、デコーダー内の追加機能のサポートを提供します。 (TN-3-05を参照)
このグループの2バイト命令の形式は次のとおりです。110CCCCC0 DDDDDDDD
このグループの3バイト命令の形式は次のとおりです。110CCCCC0 DDDDDDDD 0 DDDDDDDD
5ビットのサブ命令CCCCCでは、32個の個別の機能拡張サブ命令を使用できます。
CCCCC = 00000:バイナリ状態制御命令の長い形式–サブ命令「00000」は3バイトの命令であり、デコーダ内の32767バイナリ状態のいずれかの制御を提供します。 この命令バイトに続く2バイトの形式はDLLLLLLL 0 HHHHHHHH "です。最初のデータバイト(LLLLLLL)のビット0〜6は、バイナリ状態アドレスの下位ビットを定義します。2番目のデータバイト(HHHHHHHHH )は、バイナリステートアドレスの上位ビットを定義します。アドレスの範囲は1〜32767です。2番目のバイト(D)のビット7は、295バイナリステートを定義します。「1」の値は、バイナリステートが「オン」であることを示します 「値「0」はバイナリ状態が「オフ」であることを示します。アドレスの値0は、すべての32767バイナリ状態をクリアまたは設定するブロードキャストとして予約されています。命令「11000000 0 00000000 0 00000000」はすべて 32767のバイナリ状態がオフになります。
すべての上位アドレスビットをゼロに設定してアクセスされるバイナリ状態は、バイナリ状態制御の短い形式でアクセスされるものと同じです。 この場合、コマンドステーションは短い形式を使用する必要があります。つまり、バイナリ状態制御1〜127は常に短い形式を使用して対処する必要があります。 長い形式をサポートするデコーダは、短い形式もサポートするものとします。
CCCCC = 11101:バイナリ状態制御命令の短い形式–サブ命令「11101」は2バイトの命令であり、デコーダ内の127のバイナリ状態の1つを制御します。 この命令バイトに続く単一バイトの形式はDLLLLLLLです。 2番目のバイトのビット0〜6(LLLLLLL)は、1で始まり127で終わるバイナリ状態の番号を定義します。ビット7(D)はバイナリ状態を定義します。 「1」の値は、バイナリ状態が「オン」であることを示し、「0」の値は、バイナリ状態が「オフ」であることを示します。 LLLLLLLの値0は、バイナリ形式制御の短い形式でアクセス可能な127のすべてのバイナリ状態をクリアまたは設定するブロードキャストとして予約されています。 命令「11011101 0 00000000」は、この命令によってアクセスされる127のすべてのバイナリ状態をオフに設定します。
バイナリ状態制御は、受信したパケットに直接応答して、デコーダー内の出力、音声、またはデジタル特性の他の機能を制御できるため、機能に非常に似ています。 ただし、Binary State Controlsには、異なるアクセス方法と機能空間があります。 したがって、それらは異なる名前を持っています。
バイナリ状態制御パケット(短い形式と長い形式の両方)は更新されません。 したがって、機能ステータスの不揮発性ストレージが推奨されます。 動作モード確認応答が有効になっている場合、バイナリ状態制御パケットの受信は、それに応じて動作モード確認応答で確認応答されます。 この手順の詳細については、テクニカルノートを参照してください。 (TN-4-05を参照)
CCCCC = 11110:F13-F20機能制御-サブ命令「11110」は2バイトの命令であり、8つの追加補助機能F13-F20の制御を提供します。この命令バイトに続く単一バイトは、特定の機能がオンかオフかを示し、最下位ビット(ビット0)がF13を制御し、最上位ビット(ビット7)がF20を制御します。特定の機能のDの値「1」は、その機能が「オン」であることを示し、Dの「0」の値は、特定の機能が「オフ」であることを示します。これらの機能のステータスをNVRAMなどのデコーダーストレージに保存することをお勧めしますが、必須ではありません。これらは必須ではなく、これらの機能の状態がコマンドステーションによって絶えず更新されると想定すべきではありません。これらのパケットを生成し、これらの機能を定期的に更新しないコマンドステーションは、機能の状態が変更されたときに、これらのコマンドを少なくとも2回繰り返し送信する必要があります。動作モード確認応答が有効になっている場合、F13-F20機能制御パケットの受信は、それに応じて動作モード確認応答で確認応答されます。この手順の詳細については、テクニカルノートTN-4-05を参照してください。
CCCCC = 11111:F21-F28機能制御-サブ命令「11111」は2バイトの命令で、8つの追加補助機能F21-F28の制御を提供します。この命令バイトに続く単一バイトは、特定の機能がオンかオフかを示し、最下位ビット(ビット0)がF21を制御し、最上位ビット(ビット7)がF28を制御します。特定の機能のDの値「1」は、その機能が「オン」であることを示し、Dの「0」の値は、特定の機能が「オフ」であることを示します。これらの機能のステータスをNVRAMなどのデコーダストレージに保存することをお勧めしますが、必須ではありません。これらは必須ではなく、これらの機能の状態がコマンドステーションによって絶えず更新されると想定すべきではありません。これらのパケットを生成し、これらの機能を定期的に更新しないコマンドステーションは、機能の状態が変更されたときに、これらのコマンドを少なくとも2回繰り返し送信する必要があります。動作モード確認応答が有効になっている場合、F21-F28機能制御パケットの受信は、それに応じて動作モード確認応答で確認応答されます。この手順の詳細については、テクニカルノートTN-4-05を参照してください。
残りの28のサブ命令は、将来の使用のためにNMRAによって予約されています。
構成変数アクセス命令(111)
構成変数のアクセス手順は、プログラミングトラックまたはメインラインで構成変数を設定または変更することを目的としています。 この命令には2つの形式があります。 短い形式は、頻繁に変更される選択された構成変数の変更用です。 長い形式は、選択した構成変数を検証または変更するためのものです。 単一の構成変数アクセス命令のみをパケットに含めることができます。
構成変数アクセス確認
構成変数アクセス確認が必要であり、デコーダーでデコーダー操作モード確認応答が有効になっている場合、デコーダーは操作モード確認応答で応答する必要があります。
構成変数アクセス命令-短い形式
この命令の形式は1111CCCC 0 DDDDDDDDです
8ビットのデータDDDDDDDDは、次の表に従ってCCCCによって識別される構成変数に配置されます。
CCCC = 0000-使用できません
CCCC = 0010-加速値(CV#23)
CCCC = 0011-減速値(CV#24)
CCCC = 1001 – S-9.2.3、付録Bを参照
CCCCの残りの値は予約されており、必要に応じてNMRAによって選択されます。
この命令を使用して構成変数を変更するのに必要なパケットは1つだけです。 デコーダがこのパケットを正常に受信した場合、オペレーションモード確認応答で応答する必要があります。
構成変数アクセス命令-長形式
長い形式では、すべてのCVを直接操作できます。 この命令は、デジタルデコーダーのロングアドレスがアクティブな場合とショートアドレスがアクティブな場合の両方で有効です。 デジタルデコーダーは、構成アドレスに送信された場合、この命令に基づいて動作しません。 ダイレクトCVアドレッシングを使用した命令の形式は次のとおりです。
1110CCVV 0 VVVVVVVV 0 DDDDDDDD
実際の構成変数は、最初のデータバイトの2ビットアドレス(VV)がアドレスの最上位ビットである10ビットアドレスを介して選択されます。 アドレス指定される構成変数は、提供される10ビットアドレスに1を加えたものです。たとえば、CV#1をアドレス指定する場合、10ビットアドレスは「00 00000000」です。
命令タイプ(CC)の定義値は次のとおりです。
CC = 00将来の使用のために予約済み
CC = 01バイトを確認
CC = 11書き込みバイト
CC = 10ビット操作
タイプ= "01" VERIFY BYTE
10ビットアドレスで示される構成変数の内容は、データバイト(DDDDDDDD)と比較されます。 デコーダーがこのパケットを正常に受信し、値が同一である場合、デジタルデコーダーは、有効になっている場合、デコーダー応答送信としてCVの内容で応答します。
タイプ= "11" WRITE BYTE
10ビットアドレスで示される構成変数の内容は、データバイト(DDDDDDDD)に置き換えられます。 デコーダーが構成変数を変更する前に、2つの同一のパケットが必要です。
これら2つのパケットは、トラック上で連続している必要はありません。 ただし、同じデコーダーへの他のパケットは書き込み操作を無効にします。 (これにはブロードキャストパケットが含まれます。)デコーダーがこの2番目の同一パケットを正常に受信した場合、デコーダーは構成変数アクセス確認応答で応答します。
タイプ= "10"ビット操作
ビット操作命令は、データバイト(DDDDDDDD)に特別な形式を使用します。
111CDBBB
BBBがCV内のビット位置を表す場合、Dには検証または書き込み対象のビットの値が含まれ、Cには操作が検証ビット操作か書き込みビット操作かが示されます。
C = "1"書き込みビット
C = "0"検証ビット
VERIFY BITおよびWRITE BIT命令は、VERIFY BYTEおよびWRITE BYTE命令と同様の方法で動作します(ただし、単一ビットで動作します)。 VERIFY BYTE命令と同じ基準を使用して、必要に応じてVERIFY BIT命令に応じて動作モード確認応答が生成されます。 WRITE BYTE命令と同じ基準を使用して、必要に応じて2番目の同一のWRITE BIT命令に応答して、構成変数アクセス確認が生成されます。
{プリアンブル} 0 [AAAAAAAA] 0 {命令バイト} 0 EEEEEEEE 1
多機能デジタルデコーダーは、1つ以上のモーターやアクセサリーを制御する目的で使用されます。
これらのデバイスを制御するために使用されるパケット形式は、3〜6バイトで構成されます。最初のバイトは、アドレスバイトの後に1つまたは2つの命令バイトが続き、エラー制御バイトで終わります。
最初のアドレスバイトには、8ビットのアドレス情報が含まれています。 アドレスの最上位ビットが「11」で、残りのビットが「111111」でない場合、2番目のアドレスバイトがすぐに続く必要があります。 この2番目のアドレスバイトには、追加の8ビットのアドレスデータが含まれます。 2バイトのアドレス情報が存在する場合、それらは「0」ビットで区切られます。 2バイトアドレスの最上位ビットは、最初のアドレスバイトのビット5です。 (この場合、ビット#6および#7の値は「1」です。
命令バイトは、多機能デジタルデコーダーにコマンドを送信するために使用されるデータバイトです。 すべてのデジタルデコーダーがすべての命令を実装することはまずありませんが、複数の命令を持つパケットをサポートする場合は重要です。 パケットを十分に解析して、バイトが新しい命令であるか、前の命令の2番目のバイトであるかを認識できます。
各命令({instruction-bytes}で示される)は次のように定義されます:
{命令バイト} = CCCDDDDD、
CCCDDDDD 0 DDDDDDDD、または
CCCDDDDD 0 DDDDDDDD 0 DDDDDDDD
各命令は、3ビットの命令タイプフィールドと、それに続く5ビットのデータフィールドで構成されます。 一部の命令には、1または2または3バイトの追加データがあります。 3ビットの命令タイプフィールドは次のように定義されます。
000デコーダーおよび整合制御命令
001高度な操作命令
010逆方向操作の速度と方向の指示
011前進操作の速度と方向の指示
100ファンクショングループ1命令
101ファンクショングループ2命令
110将来の拡張
111構成変数アクセス命令
パケットの最後のバイトはエラー検出バイトです。これは、すべてのアドレスとすべての命令バイトを使用してベースラインパケットで行われるのと同じように計算されます(S-9.2を参照)。
デコーダーおよび整合制御命令(000)
デコーダー確認機能(00001111)を除き、単一のデコーダーおよび一貫した制御命令のみがパケットに含まれることがあります。
デコーダー制御(0000)
デコーダー制御命令は、デコーダー構成をセットアップまたは変更することを目的としています。
この命令の形式は
{命令バイト} = 0000CCCF、または{命令バイト} = 0000CCCF DDDDDDDD
この命令(0000CCCF)を使用すると、Dの値で定義された特定のデコーダー機能を設定またはクリアできます(「1」は設定を示します)。 デコーダーでデコーダー確認応答が有効になっている場合、デコーダー制御命令の受信は、操作モード確認応答で確認応答されます。
CCC = 000 D = "0":デジタルデコーダーリセット-デジタルデコーダーリセットは、すべての揮発性メモリ(速度および方向データを含む)を消去し、S9.2.4セクションAで定義されている初期電源投入状態に戻ります。デジタルデコーダーリセットに続いて10パケット時間、アドレス112-127にパケットを送信してはなりません。これは、デコーダが操作モードパケットとしてサービスモード指示パケットの実行を開始しないようにするためです(サービスモード指示パケットは、112から127の10進数の範囲の短いアドレスを持っています)。
D = "1":ハードリセット-構成変数29、31、および32は工場出荷時のデフォルト状態にリセットされ、CV#19は "00000000"に設定され、デジタルデコーダーリセット(上記の指示どおり)が実行されます。
CCC = 001 工場テスト指示-この指示は、メーカーが工場でデコーダーをテストするために使用されます。通常の操作中は、コマンドステーションから送信しないでください。この命令はマルチバイト命令である場合があります。
CCC = 010 将来の使用のために予約済み
CCC = 011 デコーダーフラグの設定(以下を参照)
CCC = 100 将来の使用のために予約済み
CCC = 101 高度なアドレス指定の設定(CV#29ビット5)
CCC = 110 将来の使用のために予約済み
CCC = 111 D = "1":デコーダー確認要求
デコーダーフラグを設定する
この命令は、NMRA DCCワーキンググループによる再評価中です。 製造業者は、この命令を実装する前にNMRA DCCコーディネーターに連絡する必要があります。Set Decoder Flagsは、コマンドステーションが特定のデコーダーまたはデコーダーグループ内でフラグをオンまたはオフにできる拡張デコーダー制御機能です。
フォーマット:
{命令バイト} = 0000011D CCCC0SSS
SSSはデコーダーのサブアドレスです。 これにより、最大7つのデコーダーが同じデコーダープライマリアドレスを共有できますが、特定の機能(構成変数アクセス命令など)を個別に実行できます。 SSS = 000の場合、操作はグループ内のすべてのデコーダーに影響します。 デコーダーのサブアドレスはCV15で定義されています。
CCCCは次の表で定義されています。
(省略)
Consist Control(0001)
この命令制御は、セットアップとアクティブ化または非アクティブ化で構成されます。
Consist Controlが有効な場合、デコーダーは通常の機関車アドレスにアドレス指定された速度または方向の命令を無視します(このアドレスがコンシストアドレスと同じでない場合)。 速度と方向の指示は、構成アドレスのみに適用されるようになりました。
命令100および101で制御される機能は、デコーダーのベースラインアドレスに応答し続けます。
CV#21、22の適切なビットがアクティブになっている場合、命令100および101によって制御される機能も構成アドレスに応答します。
デフォルトでは、すべての形式の双方向通信は、Decoder Control命令によって明確にアクティブ化されるまで、コンシストアドレスに送信されたコマンドに応答してアクティブ化されません。 オペレーションモード確認応答とデータ送信は、それぞれのデコーダアドレスの適切なコマンドに適用されます。
この命令の形式は次のとおりです。
{命令バイト} = 0001CCCC 0 0AAAAAAA
2番目のバイトのビット7の「1」の値は、将来の使用のために予約されています。 この命令内には、CCCCには一貫性セットアップ命令が含まれ、2番目のバイトのAAAAAAAは7ビットの一貫性アドレスです。 アドレスが「0000000」の場合、構成は無効になります。 アドレスがゼロ以外の場合、構成はアクティブになります。
構成が無効になっている場合(構成を「0000000」に設定することにより)、双方向通信設定はCV 26〜28で指定されているとおりに設定されます。
操作モード確認応答が有効になっている場合、すべての構成コマンドは、操作モード確認応答によって確認応答する必要があります。
CCCCの形式は次のとおりです。
CCCC = 0010 2番目のバイトで指定されているように構成アドレスを設定し、構成をアクティブにします。 構成アドレスはCV#19のビット0〜6に格納され、CV#19のビット7は値0に設定されます。構成内のこのユニットの方向は通常の方向です。 構成アドレスが0000000の場合、構成は無効になります。
CCCC = 0011 2番目のバイトで指定されているように構成アドレスを設定し、構成をアクティブにします。 構成アドレスはCV#19のビット0〜6に格納され、CV#19のビット7は値1に設定されます。構成内のこのユニットの方向は、通常の方向とは逆です。 構成アドレスが0000000の場合、構成は無効になります。
CCCCの他のすべての値は、将来の使用のために予約されています。
高度な操作手順(001)
これらの命令は、高度なデコーダー機能を制御します。 1つのパケットには、高度な操作命令を1つだけ含めることができます。
この命令の形式は001CCCCC 0 DDDDDDDDです
5ビットのサブ命令CCCCCでは、32の個別の高度な操作サブ命令を使用できます。
CCCCC = 11111:128速度ステップ制御-命令「11111」は、126個のデジタルデコーダ速度ステップの1つを送信するために使用されます。後続のシングルバイトは、ビット7が方向(「1」が順方向、「0」が逆方向)で速度と方向を定義し、残りのビットは速度を示すために使用されます。最上位の速度ビットはビット6です。U0000000のデータバイト値は停止に使用され、U0000001のデータバイト値は緊急停止に使用されます。これにより、最大126の速度ステップが許可されます。動作モード確認応答が有効になっている場合、128速度ステップ制御パケットの受信は、動作モード確認応答で確認応答する必要があります。
CCCCC = 11110:制限速度ステップ命令-命令「11110」は、デコーダーの最大速度を制限するために使用されます。データバイトのビット7(上記の「DDDDDDDD」)は、制限速度動作を有効(「0」)または無効(「1」)にするために使用されます。データバイトのビット0〜5は、S-9.22で定義されている速度ステップです。動作モード確認応答が有効になっている場合、制限速度命令の受信は、動作モード確認応答で確認する必要があります。
CCCCC = 11101:アナログ機能グループ
この命令の形式は001CCCCC 0 VVVVVVVV 0 DDDDDDDDです。ここでVVVVVVVV-アナログ機能出力(0-255)
DDDDDDDD-アナログ機能データ(0-255)
アナログ出力の使用:
00000001ボリュームコントロール
VVVVVVVVの他のすべての値は予約されています。 この関数は、モバイルデコーダーの速度を制御するために使用しないでください。
動作モード確認応答が有効になっている場合、アナログ機能グループ命令の受信は、動作モード確認応答で確認応答する必要があります。
残りの29の命令は、将来の使用のために予約されています。
速度と方向の指示(010および011)
これら2つの命令の形式は次のとおりです。
リバース操作用010DDDDD
フォワード操作用011DDDDD
速度と方向の命令は、多機能デジタルデコーダーに接続されたモーターに情報を送信するために使用されます。命令「010」は、逆方向動作の速度と方向の命令を示し、命令「011」は、順方向動作の速度と方向の命令を示します。 これらの命令では、データを使用して速度を制御し、ビット0〜3はS-9.2セクションBとまったく同じように定義されます。CV#29のビット1の値が1の場合、ビット4が中間として使用されます。 S-9.2、セクションBで定義されている速度ステップ。CV#29のビット1の値がゼロ(0)の場合、ビット4を使用してFLを制御します。 このモードでは、速度U0000は停止、速度U0001は緊急停止、速度U0010は最初の速度ステップ、速度U1111は全速です。 これにより、各方向に14の個別の速度ステップが提供されます。
デコーダが現在の速度ステップの1ステップ以内にある新しい速度ステップを受信した場合、デジタルデコーダはこれら2つの速度ステップの中間のステップを選択できます。 これにより、コマンドステーションが速度パケットを切り替えた場合に、56の速度ステップを制御できる可能性があります。
デコーダーは、停止または緊急停止情報を含まない速度および方向コマンドのブロードキャストパケットで送信された方向情報を無視する場合があります。
動作モード確認応答が有効になっている場合、速度と方向のパケットの受信は、動作モード確認応答で確認する必要があります。
ファンクショングループ1命令(100)
この命令の形式は100DDDDDです
Function Group One命令では、最大5つの補助機能(機能FLおよびF1〜F4)を制御できます。 ビット0〜3は、機能F1がビット0によって制御され、機能F4がビット3によって制御される関数F1〜F4の値を定義します。「1」の値は、「 0」は、機能が「オフ」であることを示します。 CV#29のビット1の値が1の場合、ビット4は機能FLを制御します。それ以外の場合、ビット4には意味がありません。
動作モード確認応答が有効になっている場合、機能グループ1パケットの受信は、動作モード確認応答に従って確認する必要があります。
ファンクショングループ2命令(101)
この命令の形式は101SDDDDです
Function Group Two命令により、最大8つの追加補助機能(F5-F12)を制御できます。 ビット4は、ビット0〜3の使用を定義します。 ビット4(S)が「1」の場合、ビット0〜3(DDDD)は機能F5〜F8の値を定義し、機能F5はビット0によって制御され、機能F8はビット3によって制御されます。 「0」である場合、ビット0〜3(DDDD)は機能F9〜F12の値を定義し、機能F9はビット0によって制御され、機能F12はビット3によって制御されます。 「オン」の場合、値「0」は機能が「オフ」であることを示します。
動作モード確認応答が有効な場合、機能グループ2パケットの受信は、動作モード確認応答に従って確認応答されるものとします。
機能拡張手順(110)
このグループの手順は、デコーダー内の追加機能のサポートを提供します。 (TN-3-05を参照)
このグループの2バイト命令の形式は次のとおりです。110CCCCC0 DDDDDDDD
このグループの3バイト命令の形式は次のとおりです。110CCCCC0 DDDDDDDD 0 DDDDDDDD
5ビットのサブ命令CCCCCでは、32個の個別の機能拡張サブ命令を使用できます。
CCCCC = 00000:バイナリ状態制御命令の長い形式–サブ命令「00000」は3バイトの命令であり、デコーダ内の32767バイナリ状態のいずれかの制御を提供します。 この命令バイトに続く2バイトの形式はDLLLLLLL 0 HHHHHHHH "です。最初のデータバイト(LLLLLLL)のビット0〜6は、バイナリ状態アドレスの下位ビットを定義します。2番目のデータバイト(HHHHHHHHH )は、バイナリステートアドレスの上位ビットを定義します。アドレスの範囲は1〜32767です。2番目のバイト(D)のビット7は、295バイナリステートを定義します。「1」の値は、バイナリステートが「オン」であることを示します 「値「0」はバイナリ状態が「オフ」であることを示します。アドレスの値0は、すべての32767バイナリ状態をクリアまたは設定するブロードキャストとして予約されています。命令「11000000 0 00000000 0 00000000」はすべて 32767のバイナリ状態がオフになります。
すべての上位アドレスビットをゼロに設定してアクセスされるバイナリ状態は、バイナリ状態制御の短い形式でアクセスされるものと同じです。 この場合、コマンドステーションは短い形式を使用する必要があります。つまり、バイナリ状態制御1〜127は常に短い形式を使用して対処する必要があります。 長い形式をサポートするデコーダは、短い形式もサポートするものとします。
CCCCC = 11101:バイナリ状態制御命令の短い形式–サブ命令「11101」は2バイトの命令であり、デコーダ内の127のバイナリ状態の1つを制御します。 この命令バイトに続く単一バイトの形式はDLLLLLLLです。 2番目のバイトのビット0〜6(LLLLLLL)は、1で始まり127で終わるバイナリ状態の番号を定義します。ビット7(D)はバイナリ状態を定義します。 「1」の値は、バイナリ状態が「オン」であることを示し、「0」の値は、バイナリ状態が「オフ」であることを示します。 LLLLLLLの値0は、バイナリ形式制御の短い形式でアクセス可能な127のすべてのバイナリ状態をクリアまたは設定するブロードキャストとして予約されています。 命令「11011101 0 00000000」は、この命令によってアクセスされる127のすべてのバイナリ状態をオフに設定します。
バイナリ状態制御は、受信したパケットに直接応答して、デコーダー内の出力、音声、またはデジタル特性の他の機能を制御できるため、機能に非常に似ています。 ただし、Binary State Controlsには、異なるアクセス方法と機能空間があります。 したがって、それらは異なる名前を持っています。
バイナリ状態制御パケット(短い形式と長い形式の両方)は更新されません。 したがって、機能ステータスの不揮発性ストレージが推奨されます。 動作モード確認応答が有効になっている場合、バイナリ状態制御パケットの受信は、それに応じて動作モード確認応答で確認応答されます。 この手順の詳細については、テクニカルノートを参照してください。 (TN-4-05を参照)
CCCCC = 11110:F13-F20機能制御-サブ命令「11110」は2バイトの命令であり、8つの追加補助機能F13-F20の制御を提供します。この命令バイトに続く単一バイトは、特定の機能がオンかオフかを示し、最下位ビット(ビット0)がF13を制御し、最上位ビット(ビット7)がF20を制御します。特定の機能のDの値「1」は、その機能が「オン」であることを示し、Dの「0」の値は、特定の機能が「オフ」であることを示します。これらの機能のステータスをNVRAMなどのデコーダーストレージに保存することをお勧めしますが、必須ではありません。これらは必須ではなく、これらの機能の状態がコマンドステーションによって絶えず更新されると想定すべきではありません。これらのパケットを生成し、これらの機能を定期的に更新しないコマンドステーションは、機能の状態が変更されたときに、これらのコマンドを少なくとも2回繰り返し送信する必要があります。動作モード確認応答が有効になっている場合、F13-F20機能制御パケットの受信は、それに応じて動作モード確認応答で確認応答されます。この手順の詳細については、テクニカルノートTN-4-05を参照してください。
CCCCC = 11111:F21-F28機能制御-サブ命令「11111」は2バイトの命令で、8つの追加補助機能F21-F28の制御を提供します。この命令バイトに続く単一バイトは、特定の機能がオンかオフかを示し、最下位ビット(ビット0)がF21を制御し、最上位ビット(ビット7)がF28を制御します。特定の機能のDの値「1」は、その機能が「オン」であることを示し、Dの「0」の値は、特定の機能が「オフ」であることを示します。これらの機能のステータスをNVRAMなどのデコーダストレージに保存することをお勧めしますが、必須ではありません。これらは必須ではなく、これらの機能の状態がコマンドステーションによって絶えず更新されると想定すべきではありません。これらのパケットを生成し、これらの機能を定期的に更新しないコマンドステーションは、機能の状態が変更されたときに、これらのコマンドを少なくとも2回繰り返し送信する必要があります。動作モード確認応答が有効になっている場合、F21-F28機能制御パケットの受信は、それに応じて動作モード確認応答で確認応答されます。この手順の詳細については、テクニカルノートTN-4-05を参照してください。
残りの28のサブ命令は、将来の使用のためにNMRAによって予約されています。
構成変数アクセス命令(111)
構成変数のアクセス手順は、プログラミングトラックまたはメインラインで構成変数を設定または変更することを目的としています。 この命令には2つの形式があります。 短い形式は、頻繁に変更される選択された構成変数の変更用です。 長い形式は、選択した構成変数を検証または変更するためのものです。 単一の構成変数アクセス命令のみをパケットに含めることができます。
構成変数アクセス確認
構成変数アクセス確認が必要であり、デコーダーでデコーダー操作モード確認応答が有効になっている場合、デコーダーは操作モード確認応答で応答する必要があります。
構成変数アクセス命令-短い形式
この命令の形式は1111CCCC 0 DDDDDDDDです
8ビットのデータDDDDDDDDは、次の表に従ってCCCCによって識別される構成変数に配置されます。
CCCC = 0000-使用できません
CCCC = 0010-加速値(CV#23)
CCCC = 0011-減速値(CV#24)
CCCC = 1001 – S-9.2.3、付録Bを参照
CCCCの残りの値は予約されており、必要に応じてNMRAによって選択されます。
この命令を使用して構成変数を変更するのに必要なパケットは1つだけです。 デコーダがこのパケットを正常に受信した場合、オペレーションモード確認応答で応答する必要があります。
構成変数アクセス命令-長形式
長い形式では、すべてのCVを直接操作できます。 この命令は、デジタルデコーダーのロングアドレスがアクティブな場合とショートアドレスがアクティブな場合の両方で有効です。 デジタルデコーダーは、構成アドレスに送信された場合、この命令に基づいて動作しません。 ダイレクトCVアドレッシングを使用した命令の形式は次のとおりです。
1110CCVV 0 VVVVVVVV 0 DDDDDDDD
実際の構成変数は、最初のデータバイトの2ビットアドレス(VV)がアドレスの最上位ビットである10ビットアドレスを介して選択されます。 アドレス指定される構成変数は、提供される10ビットアドレスに1を加えたものです。たとえば、CV#1をアドレス指定する場合、10ビットアドレスは「00 00000000」です。
命令タイプ(CC)の定義値は次のとおりです。
CC = 00将来の使用のために予約済み
CC = 01バイトを確認
CC = 11書き込みバイト
CC = 10ビット操作
タイプ= "01" VERIFY BYTE
10ビットアドレスで示される構成変数の内容は、データバイト(DDDDDDDD)と比較されます。 デコーダーがこのパケットを正常に受信し、値が同一である場合、デジタルデコーダーは、有効になっている場合、デコーダー応答送信としてCVの内容で応答します。
タイプ= "11" WRITE BYTE
10ビットアドレスで示される構成変数の内容は、データバイト(DDDDDDDD)に置き換えられます。 デコーダーが構成変数を変更する前に、2つの同一のパケットが必要です。
これら2つのパケットは、トラック上で連続している必要はありません。 ただし、同じデコーダーへの他のパケットは書き込み操作を無効にします。 (これにはブロードキャストパケットが含まれます。)デコーダーがこの2番目の同一パケットを正常に受信した場合、デコーダーは構成変数アクセス確認応答で応答します。
タイプ= "10"ビット操作
ビット操作命令は、データバイト(DDDDDDDD)に特別な形式を使用します。
111CDBBB
BBBがCV内のビット位置を表す場合、Dには検証または書き込み対象のビットの値が含まれ、Cには操作が検証ビット操作か書き込みビット操作かが示されます。
C = "1"書き込みビット
C = "0"検証ビット
VERIFY BITおよびWRITE BIT命令は、VERIFY BYTEおよびWRITE BYTE命令と同様の方法で動作します(ただし、単一ビットで動作します)。 VERIFY BYTE命令と同じ基準を使用して、必要に応じてVERIFY BIT命令に応じて動作モード確認応答が生成されます。 WRITE BYTE命令と同じ基準を使用して、必要に応じて2番目の同一のWRITE BIT命令に応答して、構成変数アクセス確認が生成されます。
アクセサリデジタルデコーダーは、スイッチマシン制御や照明のオン/オフなど、多くの単純な機能の制御を目的としています。 単一のデジタルデコーダーでより多くのデバイスを制御できるように、複数のアドレスに応答するデジタルデコーダーを開発することは許可されています。
基本的なアクセサリデコーダパケット形式
アクセサリデジタルデコーダー向けのパケットの形式は次のとおりです。
{preamble} 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1
アクセサリーデジタルデコーダーは、瞬間的または常時オンのデバイスを制御するように設計できます。各出力がアクティブである期間は、構成変数CV#515〜518によって制御されます。
2番目のバイト「C」のビット3は、アドレス指定されたデバイスをアクティブまたは非アクティブにするために使用されます。 (デバイスをオンにする予定の期間が設定された期間以下の場合、非アクティブ化は不要です。)
ほとんどのデバイスはペアリングされているため、2番目のバイトのビット「0」を使用して、アクセサリデコーダーが1対の出力のどちらをアクティブ化または非アクティブ化するかを区別します。
バイト2のビット1および2は、4ペアの出力のどれがパケットを制御しているかを示すために使用されます。 9ビットアドレスの最上位ビットは、2番目のデータバイトのビット4〜6です。 慣例により、これらのビット(2番目のデータバイトのビット4〜6)は1の補数です。
操作モード確認応答が有効になっている場合、基本アクセサリデコーダパケットの受信は、操作モード確認応答で確認する必要があります。
拡張アクセサリデコーダー制御パケット形式
Extended Accessory Decoder Control Packetは、アスペクトコントロールを信号デコーダーに送信するため、またはデータバイトをより複雑なアクセサリーデコーダーに送信するために含まれています。 各信号ヘッドは、一度に1つのアスペクトを表示できます。
{preamble} 0 10AAAAAA 0 0AAA0AA1 0 000XXXXX 0 EEEEEEEE 1
XXXXXはシングルヘッド用です。 XXXXXの値00000は、絶対停止のアスペクトを示します。 XXXXXの値によって表される他のすべての側面は、使用される信号システムとモデル化されるプロトタイプによって決まります。
操作モード確認応答が有効になっている場合、拡張アクセサリデコーダパケットの受信は、操作モード確認応答で確認する必要があります。
アクセサリデコーダーのブロードキャストコマンド
基本的なアクセサリデコーダーのブロードキャストコマンド
ブロードキャスト命令の形式は次のとおりです。
{preamble} 0 10111111 0 1000CDDD 0 EEEEEEEE 1
このパケットは、すべてのアクセサリデコーダによって実行されます。 CDDDは、Basic Accessory Decoder Packet Formatの段落で指定されているとおりに定義されます。
拡張アクセサリデコーダーのブロードキャストコマンド
ブロードキャスト命令の形式は次のとおりです。
{preamble} 0 10111111 0 00000111 0 000XXXXX 0 EEEEEEEE 1
すべての拡張アクセサリデコーダは、このパケットを実行する必要があります。 XXXXXは、Extended Accessory Decoder Packet Formatの段落で指定されているとおりに定義されます。
アクセサリーデコーダー構成変数アクセス命令
アクセサリデコーダーは、上記で定義した構成変数アクセス命令-ロングフォーム命令を使用して、機関車デコーダーと同じ方法で構成変数を変更できます。 この命令の目的で、次の方法でアクセサリデコーダーのアドレスを2バイトに拡張します。 操作モード確認応答が有効になっている場合、アクセサリデコーダ構成変数アクセス命令の受信は、構成変数アクセス命令-ロングフォームと同じ方法で確認応答する必要があります。
オペレーションモードプログラミング用の基本アクセサリデコーダパケットアドレス
10AAAAAA 0 1AAACDDD
CVが変更され、C = 1である出力を示すためにDDDが使用されます。
CDDD = 0000の場合、CVはデコーダー全体を参照します。 結果のパケットは次のようになります
{preamble} 10AAAAAA 0 1AAACDDD 0(1110CCVV 0 VVVVVVVV 0 DDDDDDDD)0 EEEEEEEE 1
アクセサリデコーダアドレス(構成変数アクセス命令)
エラーバイト
オペレーションモードプログラミング用の拡張デコーダ制御パケットアドレス
10AAAAAA 0 0AAA0AA1
バイト2のビット3で0を使用すると、このパケットがレガシーと混同されないようになります。
490個のアクセサリプログラミングパケット。 結果のパケットは次のようになります。
{preamble} 10AAAAAA 0 0AAA0AA1 0(1110CCVV 0 VVVVVVVV 0 DDDDDDDD)0 EEEEEEEE 1
信号デコーダーアドレス(構成変数アクセス命令)エラーバイト
基本的なアクセサリデコーダパケット形式
アクセサリデジタルデコーダー向けのパケットの形式は次のとおりです。
{preamble} 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1
アクセサリーデジタルデコーダーは、瞬間的または常時オンのデバイスを制御するように設計できます。各出力がアクティブである期間は、構成変数CV#515〜518によって制御されます。
2番目のバイト「C」のビット3は、アドレス指定されたデバイスをアクティブまたは非アクティブにするために使用されます。 (デバイスをオンにする予定の期間が設定された期間以下の場合、非アクティブ化は不要です。)
ほとんどのデバイスはペアリングされているため、2番目のバイトのビット「0」を使用して、アクセサリデコーダーが1対の出力のどちらをアクティブ化または非アクティブ化するかを区別します。
バイト2のビット1および2は、4ペアの出力のどれがパケットを制御しているかを示すために使用されます。 9ビットアドレスの最上位ビットは、2番目のデータバイトのビット4〜6です。 慣例により、これらのビット(2番目のデータバイトのビット4〜6)は1の補数です。
操作モード確認応答が有効になっている場合、基本アクセサリデコーダパケットの受信は、操作モード確認応答で確認する必要があります。
拡張アクセサリデコーダー制御パケット形式
Extended Accessory Decoder Control Packetは、アスペクトコントロールを信号デコーダーに送信するため、またはデータバイトをより複雑なアクセサリーデコーダーに送信するために含まれています。 各信号ヘッドは、一度に1つのアスペクトを表示できます。
{preamble} 0 10AAAAAA 0 0AAA0AA1 0 000XXXXX 0 EEEEEEEE 1
XXXXXはシングルヘッド用です。 XXXXXの値00000は、絶対停止のアスペクトを示します。 XXXXXの値によって表される他のすべての側面は、使用される信号システムとモデル化されるプロトタイプによって決まります。
操作モード確認応答が有効になっている場合、拡張アクセサリデコーダパケットの受信は、操作モード確認応答で確認する必要があります。
アクセサリデコーダーのブロードキャストコマンド
基本的なアクセサリデコーダーのブロードキャストコマンド
ブロードキャスト命令の形式は次のとおりです。
{preamble} 0 10111111 0 1000CDDD 0 EEEEEEEE 1
このパケットは、すべてのアクセサリデコーダによって実行されます。 CDDDは、Basic Accessory Decoder Packet Formatの段落で指定されているとおりに定義されます。
拡張アクセサリデコーダーのブロードキャストコマンド
ブロードキャスト命令の形式は次のとおりです。
{preamble} 0 10111111 0 00000111 0 000XXXXX 0 EEEEEEEE 1
すべての拡張アクセサリデコーダは、このパケットを実行する必要があります。 XXXXXは、Extended Accessory Decoder Packet Formatの段落で指定されているとおりに定義されます。
アクセサリーデコーダー構成変数アクセス命令
アクセサリデコーダーは、上記で定義した構成変数アクセス命令-ロングフォーム命令を使用して、機関車デコーダーと同じ方法で構成変数を変更できます。 この命令の目的で、次の方法でアクセサリデコーダーのアドレスを2バイトに拡張します。 操作モード確認応答が有効になっている場合、アクセサリデコーダ構成変数アクセス命令の受信は、構成変数アクセス命令-ロングフォームと同じ方法で確認応答する必要があります。
オペレーションモードプログラミング用の基本アクセサリデコーダパケットアドレス
10AAAAAA 0 1AAACDDD
CVが変更され、C = 1である出力を示すためにDDDが使用されます。
CDDD = 0000の場合、CVはデコーダー全体を参照します。 結果のパケットは次のようになります
{preamble} 10AAAAAA 0 1AAACDDD 0(1110CCVV 0 VVVVVVVV 0 DDDDDDDD)0 EEEEEEEE 1
アクセサリデコーダアドレス(構成変数アクセス命令)
エラーバイト
オペレーションモードプログラミング用の拡張デコーダ制御パケットアドレス
10AAAAAA 0 0AAA0AA1
バイト2のビット3で0を使用すると、このパケットがレガシーと混同されないようになります。
490個のアクセサリプログラミングパケット。 結果のパケットは次のようになります。
{preamble} 10AAAAAA 0 0AAA0AA1 0(1110CCVV 0 VVVVVVVV 0 DDDDDDDD)0 EEEEEEEE 1
信号デコーダーアドレス(構成変数アクセス命令)エラーバイト
S-9.3.1およびS-9.3.2で定義されている操作モード確認応答メカニズムは、操作モードでのみ有効な確認応答です。 確認応答が要求されるたびに、デコーダはS-9.3.1およびS-9.3.2で説明されているこのメカニズムを使用して応答しなければならない。
この付録には、追加の有用な情報や従来の指示が含まれています。 DCC製品は、この付録に記載されているアイテムを実装する必要はありません。
アクセサリーデコーダー構成変数のアクセス手順
一部の古いアクセサリデコーダの下位互換性のために、次のコマンドが含まれています。 新しいデコーダーの設計では使用しないでください。 Accessory Decoder Configuration Variable Access Instructionsの形式は次のとおりです。
{preamble} 0 10AAAAAA 0 0AAA11VV 0 VVVVVVVV 0 DDDDDDDD 0 EEEEEEEE 1
どこ:
A =デコーダーアドレスビット
V =目的のCVアドレス-(CV 513 = 10 00000000)
D = CVのデータ
2番目と3番目のバイトのVV VVVVVVVVおよび4番目のバイトのDDDDDDDDで記述されるビットパターンも、構成変数アクセス命令-ロングフォームの対応するビットと同じです(S520 9.2.1を参照)。
この命令の目的は、アクセサリデコーダがレイアウトにインストールされた後、アクセサリデコーダのすべてのパラメータをプログラミングする手段を提供することです。 アドレスの変更(CV 513およびCV 521)が許可されている場合は、コマンドステーションで注意することをお勧めします。
アクセサリーデコーダー構成変数のアクセス手順
一部の古いアクセサリデコーダの下位互換性のために、次のコマンドが含まれています。 新しいデコーダーの設計では使用しないでください。 Accessory Decoder Configuration Variable Access Instructionsの形式は次のとおりです。
{preamble} 0 10AAAAAA 0 0AAA11VV 0 VVVVVVVV 0 DDDDDDDD 0 EEEEEEEE 1
どこ:
A =デコーダーアドレスビット
V =目的のCVアドレス-(CV 513 = 10 00000000)
D = CVのデータ
2番目と3番目のバイトのVV VVVVVVVVおよび4番目のバイトのDDDDDDDDで記述されるビットパターンも、構成変数アクセス命令-ロングフォームの対応するビットと同じです(S520 9.2.1を参照)。
この命令の目的は、アクセサリデコーダがレイアウトにインストールされた後、アクセサリデコーダのすべてのパラメータをプログラミングする手段を提供することです。 アドレスの変更(CV 513およびCV 521)が許可されている場合は、コマンドステーションで注意することをお勧めします。
最新コメント