メモリに格納されているファイルをクライアントからサーバに送信して、保存、処理、または他のユーザからのアクセスを有効にします。

使用するオブジェクト

SystemLinkのファイル転送および構成APIは、LabVIEW 2016以降の「データ通信」パレットにあります。

手順

クライアントで、メモリからサーバにファイルを送信するために、VIに以下のダイアグラムを作成します。

灰色のセクションは、作成するプログラムの目的に応じて編集してください。



1
Open Configuration」は、SystemLinkサーバ上のファイルサービスとの接続を開始します。
メモ SystemLinkサーバは、HTTP構成とAMQP構成の両方をサポートします。
2 Create」は、指定された名前とプロパティを使用してファイルサービス上に書き込み可能なファイルを生成します。
3

Forループ内で、「Send Packet」はファイルのデータをパケット単位でファイルサービスに送信します。LabVIEWは、パケットに0で始まる連続した整数を自動的に割り当てます。ファイルサービスは、最後のパケットを受信した後、パケットに割り当てられた番号に基づいて、サーバのディスクにパケットを順番に書き込みます。

4 Send Last Packet」は、データの最後のパケットをファイルサービスに送信します。ファイルサービスは、最後のパケットを受信した後、サーバのディスクにパケットを順番に書き込みます。「Send Last Packet」が最後のデータパケットを送信すると、ファイルは書き込み不可能になります。このため、ファイルの追加のパケットはファイルサービスに送信できません。
5 Close」は、開いているすべてのリファレンスを無効にして閉じます。

トラブルシューティング

  • ファイル転送中にクライアントが接続解除した場合は、ファイル転送を中止し、部分的に転送されたファイルがサーバで自動的に削除されるまで待機する必要があります。部分的に転送されたファイルがサーバで削除されてから、新規のファイル転送を開始します。
    メモ 部分的なファイル転送が1時間以内に進行しない場合、サーバは自動的に放棄転送として扱い、ファイルを削除します。
  • システムのネットワーク接続の信頼性が低い場合や転送速度が遅い場合は、ファイル転送用のパケットサイズを調整する必要があります。タイムアウトを防ぐために、「Send Packet」のpacket size入力を小さくします。
    メモ パケットサイズが小さいほど送信されるパケット数が多くなるため、サーバとクライアント間での往復数が多くなり、ファイル転送にかかる合計時間が長くなります。

サンプルプログラム

プログラミング環境内から検索可能なサンプル:
  • ファイルI/Oを同期