データを生成するのが遅いためストレージへの書き込みが遅いのでは?と考えていましたが、どうも違ったようです。前回のブロックダイアグラム上の図が前回のブロックダイアグラムです。ループを待機無しでぶん回しています。使用率になってしまいます。停止ボタンが押されたら書き込んだファイルサイズから、転送レートを割り出すという仕組みです。今回の成果まずは今回の成果から。書き込みスピードを達成しました。したデータ書き込み時にデータサイズを追加しないようにしたこの以上4点です。この結果は以下の通り。全パターンは試していませんので、代表的なものを表にしました。6倍程度差がついています。落ちていますから、オーダー変換にかなりのオーバーヘッドがかかっているものと思います。今回のブロックダイアグラム今回はあまり手抜きをせず実装してみました。メインのスレッドと、書き込みを担当するワーカスレッドに分けました。メイン側で送信データの作成と、キューを経由してワーカスレッドにデータを投げます。ワーカスレッドは、キューに入ったデータを淡々とファイルに書き込むだけという流れです。メインスレッドワーカースレッド(ファイル書き込み担当)バッファを無効にするファイルを開くときに、バッファ有効/無効の設定が出来ます。内部で読み書きのバッファを用意するかどうかを設定するようです。今回のブロックダイアグラムではキュー自体がバッファの役割を果たしているので、バッファを無効にしてしまいましょう。一つのストリームでダブルバッファリングしても意味ないですから。上級ファイルI/O操作の関数を使用する→ファイルのバッファ処理に書かれています。重要な点は、ファイル内のデータのサイズは、ファイルを含む(またはファイルを含む可能性のある)ディスクのセクタサイズ(バイト単位)の倍数にしなければなりません。セクタは、定量のデータ(通常、512バイト)を保存するディスク領域の分割された一部分です。「ボリューム情報を取得」関数のセクタサイズ(バイト)出力を使用して、ディスクのセクタサイズを決定します。LabVIEWがデータをディスクに保存するためには、データは複数のセクタに及ぶことができますが、それぞれのセクタが完全に満たされる必要があります。512バイトセクタは、512バイトのデータを必要とします。データがセクタサイズの倍数でない場合、データをフィルタデータでパッドして、LabVIEWがファイルを再度読み取る前に、フィルデータを削除する必要があります。ヘルプには以下のように説明があります。ヘルプは色々書かれているんですが、例が記載していないため良く分からないですね。限らずですが)分からないのはイヤなので、実際にファイルに出力して比較しましょう。あたりでデータサイズが書かれているのでしょう。"00-A0-0F-00"。リトルエンディアンなので、"00-0F-A0-00"。10進数にすると、1024000。データの個数が書かれていることが分かりました。ちなみにデータサイズの追加は「バッファを有効」にしないとエラーが発生します。バッファ内で追加して書き込みを行なっているものと思います。バイトオーダーバイナリファイルを書き込む際にバイトオーダーを指定することが出来ます。始まった名残なのでしょうか。パワー食いそうですね。ちなみに設定できる3種類のデータを取っておきました。(=little-endian)まとめ上級ファイルI/O関数のちょっとしたパラメータで、全然ストレージスピードが変わってしまいます。little)データサイズの追加書き込みはしないこの4点を守ると最大6倍高速に書き込みできることが分かりました。x4のボードはx1のスロットに挿入できるでしょうか?こんにちはドルフィンシステム福島です。東京は6/6に梅雨入りしました。本日6/11は、関東地方に台風5号が接近中と言うことで、雨が多くなり足下も悪くなっています。現在、ドルフィンシステムでは今年後半の契約に向けて、色々な調べ物やフィージビリティースタディーを重ねています。受注をする前に、技術的な課題や不明点をクリアするため時間をかけて調べる必要があります。当たり前のことですが「問題点は早めに出して、潰す」ことを心掛け、徹底していきます。調べ始めると思った以上に、分からないこと、確認しなければならないことが出てきます。大丈夫だろう、と甘い見通しで痛い目に遭うこともありました。ドルフィンシステムでは、このような痛い目に遭わないように、また仕事の善し悪しが属人的にならないような仕組み作りに取り組んでいます。x4のボードはx1のスロットに挿入できるでしょうか?ドルフィンシステムではFPGAの開発だけではなく、納入するためのPCなどの選定も行います。Expressスロットの数とレーン数。Expressスロットのタイプを確認しないと、USRP-RIOのインターフェイスカードが入らない・速度が出ないなど、痛い目に遭いますのでPCの選定は経験のあるスタッフが慎重に行っています。x4に対応しているボードです。Expressスロットだの、x4などについては以下で解説しています)答えは、物理的に挿入不可能です。x1とx16スロットが写っています。赤色コネクタが、x16のスロットで、黒色の小さいコネクタが、x1のスロットです。x1スロット(手前の黒色)には、物理的に挿入できません。コネクタのサイズが違うので、挿入できないのです。x16のスロットには、x1、x4やx8のボードが挿入&動作可能。呼んでみたいと思います。呼びたいという事がたまに発生します。デバッグ時も見やすくて良いですね。プロジェクトが変換できませんでした。コンパイラがインストールされていないからです。ここはサンプル無しでやってみます。