Taiga Developer Site

Japanese
topmenu webgame software download developer  
 

FA Link Protocol Basic Header Format

[トップ] [1.はじめに] [2.FL-netとは] [3.サイクリック] [4.メッセージ] [5.ネットワークへの参加シーケンス] [6.トークンの多重化] [7.ノードの離脱]

offset 0-7bit 8-15bit 16-23bit 24-31bit
0 H_TYPE
4 ML
8 SA
12 DA
16 V_SEQ
20 SEQ
24 M_CTL
28 ULS M_WSZ
32 M_ADD
36 MFT M_RLT RESERVED
40 TCD VER
44 C_AD1 C_SZ1
48 C_AD2 C_SZ2
52 MODE PVER PRI
56 CBN TBN BSIZE
60 LKS TW RCT

ヘッダは全てビッグエンディアンです。


H_TYPE
0-7bit 8-15bit 16-23bit 24-31bit
F A C N

FA-linkヘッダであることを示します。ACIIコードでFACNがバイト単位で格納されています。


ML
0-7bit 8-15bit 16-23bit 24-31bit
0x00 0x00 ML

ヘッダとデータを合わせたバイト長が入ります。フラグメントが発生するようなフレームの場合は、トータルのフレーム長が入ります。

例 全データ部が2048byteのフレームの場合

1フレーム目

FACNヘッダ(64byte) データ部(1024byte)

CBN=1/TBN=2/ML=2112(64+1024+1024)

2フレーム目

FACNヘッダ(64byte) データ部(1024byte)

CBN=2/TBN=2/ML=2112(64+1024+1024)

※ヘッダ長は1フレーム分しか加算されないことに注意してください。


SA
0-7bit 8-15bit 16-23bit 24-31bit
0x00 0x01 0x00 SNA


bit0からbit23までの3バイトは0固定となっています。24-31bitに送信元のノード番号が入ります。


DA
0-7bit 8-15bit 16-23bit 24-31bit
0x00 0x01 0x00 DNA

SAと同じようなフォーマットになっています。bit0からbit23までの3バイトは0固定です。24-31bitに送信先のノード番号が入ります。送信先が255の場合はFA-Linkプロトコルではブロードキャストを意味します。トリガフレーム・参加要求フレームの場合は必ずDNAは255となります。DNAが0となるようなフレームは認められていません。


V_SEQ
メッセージ通番バージョン番号が入ります。メッセージの送受信チェックに利用されます。ネットワークに参加中はこの値は変化しません。


SEQ
メッセージ通番が入ります。メッセージのやり取りがあるたびにインクリメントします。0xFFFFFFFFの次は0x00000001に戻ります。0は認められていません。


M_CTL
0-7bit 8-15bit 16-23bit 24-31bit
下記参照 0x00 0x00 0x00

8〜31bitは0固定です。0〜7bitは以下のようなフォーマットになっています。

0 1 2 3 4 5 6 7
MLT ONE reserved RPL reserved
  • MLT
1:Nの送信を意味します。DNAが255の場合、このビットがONします。
  • ONE
1:1の送信を意味します。DNAが255以外の場合、このビットがONします。
  • RPL
ONであるとACKデータが含まれていることを意味します。ACKデータはFA-Linkヘッダとデータ部の間に付加されます。

ULS
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
U_ERR_CODE reserved U_ERR RUN/STOP


  • U_ERR_CODE
上位層(アプリケーション層)で定義されます。従ってプロトコル上は特に規定はありません。各ベンダが自由にエラーコードを定義可能です。
  • U_ERR
ノードの状態を表します。
code 状態 意味
00 NOLMAL 上位層が正常。サイクリック・メッセージデータの保証がある状態。
01 WARNING 上位層において動作を継続可能な異常が発生しているがサイクリック・メッセージデータの保証はある状態。
10 ALARM 上位層において動作を継続できないような異常が発生している。サイクリック・メッセージデータの保証はされない状態。
11 ALARM 上位層において動作を継続できないような異常が発生している。サイクリック・メッセージデータの保証はされない状態。
  • RUN/STOP
上位層の運転状態を表します。
エラー情報 動作情報
RUN STOP
NOLMAL 上位層が動作中。サイクリック・メッセージデータの保証がある状態。 上位層が停止中。サイクリック・メッセージデータの保証がある状態。
WARNING 上位層が異常であるが動作中。サイクリック・メッセージデータの保証がある状態。 上位層が停止中で異常がある。サイクリック・メッセージデータの保証がある状態。
ALARM サイクリック・メッセージデータの保証が無い状態。 サイクリック・メッセージデータの保証が無い状態。

M_WSZ
仮想アドレス空間に要求するデータのワード長です。

仮想空間はコモンメモリとは独立した空間です。仮想空間アドレスと実メモリへのマッピングはベンダごとに異なります。このパラメータはTCD65003(バイトブロックデータのリード)・TCD65004(バイトブロックデータのライト)・TCD65004(ワードブロックデータのリード)・TCD65005(ワードブロックデータのライト)の各仮想アドレス空間アクセス専用のメッセージ以外には意味を持ちません。


M_ADD
仮想アドレス空間のオフセットアドレスです。このパラメータもM_WSZと同様に各仮想アドレス空間アクセス専用のメッセージ以外には意味を持ちません。


MFT
最小許容フレーム間隔を表します。FA-Linkプロトコルで重要なパラメータの一つです。フレームとフレームの間隔は全参加ノードのMFTの最大値で決定されます。単位は100μsecです。0は実力値を表します。


M_RLT
応答メッセージの種別です。メッセージ要求に対する応答フレーム時に意味を持つパラメータです。

意味 備考
0x00 正常の応答  
0x01 異常の応答 要求されたメッセージはサポートされているが、パラメータ異常等によって正常に処理できなかったことを示す。
0x02 未サポートTCD 要求されたメッセージをサポートしていない。この場合のレスポンスはデータ部を0にする。

TCD
ヘッダの種別を表します。TCDの値によってフレームの種類を判別できます。TCDにはプロトコルで予約されているものとユーザが自由に定義できるものの2種類があります。


VER
プログラムバージョンです。現在は0x0000固定となっています。


C_AD1
このフレームを送信しているノードが使用しているコモンメモリ(領域1)の先頭アドレスを表します。参加するノード間で同じアドレスに重複して割り付けることはできません。


C_SZ1
このフレームを送信しているノードが使用しているコモンメモリ(領域1)のサイズを表します。仮にコモンメモリが多ノードと重複した場合は、0にセットされます。またコモンメモリを持たないノードもプロトコルで認められています。(その場合はサイズは0となる)


C_AD2
このフレームを送信しているノードが使用しているコモンメモリ(領域2)の先頭アドレスを表します。


C_SZ2
このフレームを送信しているノードが使用しているコモンメモリ(領域2)のサイズを表します。


MODE

メッセージモードを示します。現時点では特に使用されていません。0x00固定値がセットされます。


PVER

プロトコルバージョンを示します。プロトコルバージョン1では0x80固定です。


PRI

メッセージプライオリティを示します。現時点では特に使用されていません。0x00固定値がセットされます。


LKS
FL-netのリンク状態を表します。

0 1 2 3 4 5 6 7
予備 上位層動作信号エラー コモンメモリ・データ有効通知 コモンメモリ(アドレス・サイズ)設定完了 アドレス多重検知

TW

トークン監視時間がセットされます。1msec単位で50msec〜255msecの間で設定可能です。