2015年10月16日

  • EV3ソフトウェア
  • EV3技術情報
  • ソフトウェア

ファイルアクセスブロックの使用方法

FileAccess_01

EV3ソフトウェアには、「ファイルアクセス」プログラミングブロックが用意されています。このブロックを使用すると、プログラムの中でファイルにデータを書き込むことができます。
ファイルに書き込まれたデータは、ファイルアクセスブロックやメモリブラウザー機能を使って読み取ることができます。

ここでは、ファイルアクセスブロックの基本的な使用方法をご紹介します。

FileAccess_02_web

 

●ファイルの書込み

ファイルにデータを書き込むには「書き込み」モードを使用します。「書き込み」モードでは、数値・文字のどちらでも書き込むことができます。

データを書き込むファイルの名前は、ブロックの右上の「ファイル名」欄に設定します。(右図の場合、ファイル名は「abc.rtf」となります。)

 

FileAccess_03_web

指定したファイル名のファイルがプロジェクト内に存在しない場合は、新たにファイルが作成されます。
指定したファイル名のファイルがプロジェクト内に存在する場合は、既存のファイルに追記されます。
くり返しプログラムを実行する際、常に新しいファイルに書き込みたい場合は、プログラムのはじめで「削除」モードを使用して、既存のファイルを削除するようにします。

 

下図は、カラーセンサーで反射光の値を1秒ごとに3回読み取り、それをファイル「abc」に書き込んでいます。また、プログラムの最初で、既存のファイル「abc」を削除しています。

FileAccess_04


FileAccess_09_web

ファイルアクセスブロックは、一度書き込みを行うごとに改行します。そのため、カラーセンサーの値を1つ書き込むごとに改行され、プログラム実行後のファイル「abc」の中身は、右図のようになります。


●ファイルの読み込み

FileAccess_05_web

ファイルを読み込むには、2つの方法があります。

1)ファイルアクセスブロックを使って読み込む

プログラムの中でファイルの中身を読み込むには、ファイルアクセスブロックの「読み込み」モードを使用します。

読み込む値にあわせて、「テキスト」または「数値」を選択します。「テキスト」モードで数値を読み込むことは可能です。

 

下図のプログラムは、先ほどのプログラムに、ファイルの中身を読みとって画面に表示する処理を追加したものです。

FileAccess_06


書き込みをしたファイルを読み込むには、まずファイルを閉じる必要があります。ファイルを閉じるには、ファイルアクセスブロックの「閉じる」モードを使用します。

FileAccess_07

ファイルアクセスの「読み込む」モードは、一度目に読み込むとファイルの1行目を、2度目に読み込むとファイルの2行目を読み込みます。
ループブロックを使用してくり返し読み込むと、ファイルの中身を一行目から順に読み込むことができます。

プログラムの実行結果は右図のようになります。


2)メモリブラウザーから読み込む

EV3ソフトウェアのメニューから「ツール」→「メモリ ブラウザー」を開きます。
プロジェクトの中のファイルを選択して「アップロード」を選択すると、ファイルをPCに保存することができます。

FileAccess_08_web


保存したファイルは、テキストファイルとして開くことができます。

SPIKE