= transferArrayレコードについて = == transferArrayとは == waveformをベースにしたレコードで、あるレコードの任意の範囲を、異なるレコードの任意位置に転送する機能をもつレコードです。[[BR]] 自身の内容は、基本的に転送する領域と同じ内容になります。[[BR]] また、オプションの指定で、転送領域以降を0クリアすることも可能です。 == transferArrayレコードの使用方法について == waveformに対して追加されるパラメータフィールドは下表の通りです。 ||'''Field'''||'''Summary'''||'''Type'''||'''DCT'''||'''Initial'''||'''Access'''||'''Modify'''||'''Rec Proc Monitor'''||'''PP'''|| ||OUT||出力先のレコード||OUTLINK||Yes||0||No||No||N/A||No|| ||TASI||転送元の要素番号||ULONG||Yes||0||Yes||No||No||No|| ||TADI||転送先の要素番号||ULONG||Yes||0||Yes||No||No||No|| ||TATC||転送する要素数||ULONG||Yes||0||Yes||No||No||No|| ||TAZF||Zero-fillフラグ||ULONG||Yes||0||Yes||No||No||No|| * ''OUT''フィールドで、転送先のレコードを指定します。 * ''TASI''フィールドで、転送元レコードのどこから転送を開始するかを、要素番号で指定します。指定は0オリジンですので、先頭の要素であれば、0を指定します。転送元レコードの要素数を超える値を指定することはできません。指定するとエラーとなり転送は行われません。 * ''TADI''フィールドで、転送先レコードのどこに転送するかを、要素番号で指定します。TASIフィールドと同様に0オリジンでの指定になります。転送先レコードの要素数を超える値を指定することはできません。指定するとエラーとなり転送は行われません。 * ''TATC''フィールドで、転送する要素数を指定します。転送元レコードや転送先レコードの領域を超えるような転送数を指定した場合、超えた分を無視して可能な分だけ転送を行います。この場合、レコードにLINK_ALARM/ALARM_MINORがセットされます。 サンプル.dbファイル {{{ record(waveform, "hig-iitk:src") { field(NELM, "10") field(FTVL, "LONG") } record(waveform, "hig-iitk:dst") { field(NELM, "10") field(FTVL, "LONG") } record(transferArray, "hig-iitk:ta") { field(NELM, "10") field(FTVL, "LONG") field(INP, "hig-iitk:src") field(OUT, "hig-iitk:dst") field(TASI, "0") field(TADI, "0") field(TATC, "5") field(TAZF, "0") } }}} 上記.dbファイルでhig-iitk:taをプロセスした場合の動作イメージ [[BR]] [[Image(ta-image01.png)]]