各種測定器のデータを記録する「データロガー」の開発・販売、電子回路の設計・製作、ソフトウェア開発

一定サイズごとにファイル分割

2018.02.06

 SDロガー、CFロガーのスクリプト、「#FCHANGE」文を使えば、一定サイズごとにファイルを分割することが出来ます。
 以下にその例を示します。

■1024バイトごとにファイルを分割する例

#LOOP EVER
  #WAIT BYTE 1024
  #FCHANGE
#END

■100000バイトごとにファイルを分割する例(60000バイト以上のサイズを指定したい場合)

#LOOP EVER
  #LOOP 100
    #WAIT BYTE 1000
  #END
  #FCHANGE
#END

 「#WAIT BYTE」文で待てるのは最大60000バイトまでです。
 60000バイト以上のサイズを分割したい場合は、このように何回かループさせることで、行なえます。

■1024バイトを超えた改行でファイルを分割

#LOOP EVER
  #WAIT BYTE 1024
  #WAIT DATA :0D0A
  #FCHANGE
#END

 「#WAIT BYTE」文だけでは、データの切れ目とは関係なく、ファイルが分割されてしまいます。
 例えば対象のデータがテキストデータの場合、つぎの改行まで待ってファイル分割したい場合は、このようなスクリプトで、行なえます。


 なおスクリプトの実行には少しの時間がかかります。スクリプト文実行中に高速にデータを受信した場合には、カウントや、待ち解除の取りこぼしが発生する場合があります。取りこぼしが発生した場合は、分割されたファイルのサイズが、意図したサイズより少し大きくなる場合があります。
 また、「#FCHANGE」文の実行には、他の文より多くの時間がかかります。「#FCHANGE」文実行中に大量のデータを受信した場合は、データ通信上のエラーが発生することがあります。

関連記事

アップデート情報

登録されている記事はございません。

カテゴリー