2.2.8 HDLC_bufferHDLCパススルー用バッファ定義文

<この項の構成>
(1) 機能
(2) 定義条件
(3) 書き方
(4) オペランド
(5) 注意事項
(6) 定義例

(1) 機能

HDLCパススルーで使用する送信バッファプール名称とバッファの個数およびバッファ長を定義します。

(2) 定義条件

configuration文の下で,8回まで連続して定義できます。

(3) 書き方

[図データ]

(4) オペランド

(a) name
バッファプール名称 ~<英数字>((8文字以内))

バッファプール名称を指定します。group文のbuffer_poolオペランドでこのバッファ名称を指定することでgroupごとに送信バッファを割り当てることができます。

(b) number
バッファ個数 ~<10進数>((10~10000))

バッファプールのバッファの個数を指定します。

指定するバッファの個数のモデルケースを次に示します。

       k
バッファ個数=Σ(outstand数
       n=1

ただし,k=group文中のlink数

注※
outstand数とは,group文下のlink文のoutstandオペランドで指定した値です。

もし,計算値がnumberオペランドの最小値以下の場合は,最小値10個を確保します。

(c) size
バッファ長 ~<10進数>((1~8160))《1024》

バッファ長(バイト)を指定します。同じHDLC_bufferを使うgroup文下のlink文のmax_DPDUオペランド値の最大を指定します。

max_DPDUオペランドには最大送信データ長を指定するので最大送信データ長より小さい値を指定すると,データ送信時にエラーとなり通信できなくなるためです。

定義例にsizeオペランドとmax_DPDUオペランドの対応を示します。

(5) 注意事項

HDLCパススルーでは,HDLC_buffer文を省略する場合,またはgroup文でbuffer_poolオペランドが指定されない場合に備えて,HDLC_buffer文で指定されたバッファプールとは別に必ずデフォルトのバッファプールを一つ確保します。

そのバッファの個数は次の式で算出します。

 バッファ個数=↑max_HDLCpass_link値/2↑×7(outstand数の最大値)

もし,計算値がnumberオペランドの最小値以下の場合は,最小値10個を確保します。

 バッファ長=1024バイト

このデフォルトのバッファプールは,max_HDLCpass_link値の半分を対象としているので,すべてのリンクのバッファを考慮していません。したがって,必要に応じてHDLC_buffer文でバッファプールを定義し,group文下のbuffer_poolオペランドを指定する必要があります。特に,最大送信データ長が1024バイトを超える通信では,デフォルトのバッファプールは使用できませんので注意が必要です。

(6) 定義例

[図データ]