FTPを使用してRTシステムとWindowsホストPC間でデータを転送する方法
使用ソフトウェア:
使用ソフトウェア・バージョン: 8.5
使用ソフトウェア・バージョンに特化:
二次のソフトウェア: LabVIEW Development Systems>>LabVIEW Professional Development System
問題: PXIのRTシステムでデータ集録を行い、ファイルに保存しています。集録データのファイルをWindowsのホストPCに転送したいと思いますが、どのようにしたらよいですか?また、転送を自動的に行うようにするにはどのようにしたらよいですか?
解決策: RTシステムのFTPサーバーの機能を使用してRTシステムとWindowsホストPC間でデータを転送することができます。
RTシステムで動作しているRTOSには、FTPサーバーの機能があり、WindowsにはFTPクライアントの機能が内蔵されているので、FTPサーバーにアクセスしてファイルの操作を行うことができます。
1.エクスプローラで行う方法
Windowsのエクスプローラ(IE:インターネットエクスプローラ)のアドレス欄に、以下のように入力することで、RTシステムのルートディレクトリにアクセスできます。
ftp://RTシステムのIPアドレス
2.DOSプロンプトで、WindowsのFTP.exeを使用する方法
WindowsのDOSプロンプトで、以下のように入力することで、FTPコマンドを使用することができます。
ftp RTシステムのIPアドレス
*ファイルを転送するFTPコマンド
・get RT(FTPサーバー)ファイル名 ホスト側ファイル名 //ひとつのファイルをRTからホストにコピーします
・mget RTのフォルダ名\*.* //指定したフォルダの全てのファイルをRTからホストの現在のフォルダにコピーします
・put ホスト側ファイル名 RT(FTPサーバー)ファイル名 //ひとつのファイルをホストからRTにコピーします
・mput ホスト側のフォルダ名\*.* //指定したフォルダの全てのファイルをホストからRTの現在のディレクトリにコピーします
mgetやmputでは、コピー先が現在のディレクトリになるので、cd(RT側)やlcd(ホスト側)コマンドで、現在のディレクトリを変更してください。
上記の操作は、テキストファイルに記述することでスクリプト処理できます。添付のサンプルは、mgetコマンドを使ってRTからWindowsに複数ファイルをコピーする方法と、putコマンドを使って、WindowsからRTにひとつのファイルをコピーする方法をテキストファイルに記述し、Windowsのftp.exeを”システム実行”関数から呼び出してスクリプト実行させるというものです。ftp.exeの"-i"オプションは、複数ファイルの転送の際に対話型プロンプトを表示しないというものです。"-s"オプションがその後に続くテキストファイルをスクリプト処理するというものです。スクリプトを記述してあるテキストファイルの最初の2行の空白行は、ユーザ名とパスワードになりますので削除しないでください。処理が終わった後は、”bye”というコマンドで、ftp.exeを終了しています。
*RTOSでは、Windowsのフォルダ共有の機能が使えませんので、RTシステムからWindowsのファイルを直接操作することはできません。したがって、ファイルの操作は上記のようにホストのWindowsから行う必要があります。
添付のVIはLabVIEW8.5で作成し、PXI-RT(8.2)のFTPサーバーとWindows XP SP2で動作確認をしました。
関連リンク:
添付:
ftp-copy.vi
ftp-mget.txt
ftp-put.txt
FTP_with_the_Windows_FTP_Utility.llb
報告日時: 06/12/2008
最終更新日: 03/29/2009
ドキュメントID: 4MBL288V