FA Link Protocol Basic Header Format
[トップ] [1.はじめに] [2.FL-netとは] [3.サイクリック] [4.メッセージ] [5.ネットワークへの参加シーケンス] [6.トークンの多重化] [7.ノードの離脱]
ヘッダは全てビッグエンディアンです。
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 |
1:Nの送信を意味します。DNAが255の場合、このビットがONします。
1:1の送信を意味します。DNAが255以外の場合、このビットがONします。
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 |
上位層(アプリケーション層)で定義されます。従ってプロトコル上は特に規定はありません。各ベンダが自由にエラーコードを定義可能です。
ノードの状態を表します。
code |
状態 |
意味 |
00 |
NOLMAL |
上位層が正常。サイクリック・メッセージデータの保証がある状態。 |
01 |
WARNING |
上位層において動作を継続可能な異常が発生しているがサイクリック・メッセージデータの保証はある状態。 |
10 |
ALARM |
上位層において動作を継続できないような異常が発生している。サイクリック・メッセージデータの保証はされない状態。 |
11 |
ALARM |
上位層において動作を継続できないような異常が発生している。サイクリック・メッセージデータの保証はされない状態。 |
上位層の運転状態を表します。
エラー情報 |
動作情報 |
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の間で設定可能です。
|