VI ファイル形式とは?
拡張子 .vi を持つファイルは、National Instruments(現在は Emerson 傘下の NI)によって開発された LabVIEW プログラミング環境で使用される仮想計測器ファイルのカテゴリに属します。
.vi ファイルには何が含まれていますか?
.vi ファイルは、マルチメータやオシロスコープなどの実際の実験機器の動作をシミュレートするアプリケーションである仮想計測器を保存します。各ファイルには、主に2つのセクションが含まれています。G 言語(LabVIEW のデータフロープログラミング言語)で記述されたグラフィカルなソースと、そのコンパイル済みの実行可能バージョンです。グラフィカルセクション内には以下が含まれます:
- ユーザーインターフェース(フロントパネル)
- ブロックダイアグラム(G 言語のソースワイヤとノードを保持)
- データスペース
- コネクタペイン
- 別のブロックダイアグラム内に SubVI として配置された際に計測器を表すアイコン
2番目のセクションに保存されているコンパイル済みコードにより、仮想計測器は個別のビルド手順なしで LabVIEW 環境内で実行できます。
.vi ファイルは何に使用されますか?
仮想計測器を使用すると、エンジニアは分析対象のシステムを物理的に構築することなく、研究や測定を行うことができます。1986年に LabVIEW が最初に Apple Macintosh で導入されて以来、VI は産業界、学術界、そして NASA によるプロジェクトを含む高度な研究開発プロジェクトで展開されてきました。VI は SubVI として相互にネストすることができ、モジュール化された再利用可能な計測器設計を可能にします。
独自の .vi ファイルを作成できますか?
LabVIEW 環境では、新しい仮想計測器を視覚的に作成したり、既存のものを修正したりできます。ブロックダイアグラムやフロントパネルを編集すると、LabVIEW は自動的に G 言語ソースを再コンパイルし、更新されたコンパイル済みコードを同じ .vi ファイルに保存するため、計測器はすぐに実行可能な状態になります。
内部的には、.vi ファイルは NI 独自の Resource Container バイナリ形式(ファイルオフセット 0 のマジックバイト 52 53 52 43 0D 0A - RSRC\r\n)を使用しています。これは、LabVIEW が Mac 専用だった初期(1986-1992年)に使用されていた Mac OS Resource Fork に由来しています。この形式は上位互換性がありません。新しい LabVIEW バージョンで保存された .vi は、古いバージョンでは開けません。関連する形式には、.vit(VI テンプレート)、.ctl(カスタム制御)、および .lvproj(LabVIEW プロジェクト)があります。
セキュリティと安全性
リスク: MEDIUMVI ファイルには、ホストマシン上で実行されるコンパイル済みの実行可能コードが含まれる場合があります。悪意のある VI は、ファイルの読み書き、ネットワーク経由の通信、またはハードウェアの制御を行う可能性があります。信頼できるソースからの VI のみを開いてください。NI 公式の Instrument Driver Network からの NI 計測器ドライバは安全です。サードパーティ製の VI は、実行前に LabVIEW のブロックダイアグラムで確認することをお勧めします。
形式の詳細
概要- Unix vi エディタのリカバリファイル - 一部の Unix システムでは、vi テキストエディタのリカバリ/スワップファイルとして .vi を使用しますが、LabVIEW とは全く関係ありません。
VI ファイルを開くプログラム
技術的詳細
詳細仕様| バイナリシグネチャ | ファイルオフセット 0 に 52 53 52 43 0D 0A («RSRC\r\n») - Resource Container ヘッダー |
| コンテナ形式 | NI Resource Container(独自形式。Mac OS Resource Fork をモデルにしている) |
| バイト順序 | ビッグエンディアン |
| エンコーディング | バイナリ |
| 圧縮 | デフォルトではなし。LabVIEW 2021+ では個別のデータブロックに zlib が使用される場合がある |
| 標準的なファイルサイズ | 10 KB - 50 MB(コンパイル済みコード、埋め込まれた SubVI、アイコンデータに依存) |
| 主要なチャンクタイプ | BDPW (ブロックダイアグラム), FPHP (フロントパネル), VCTP (コネクタペイン), CONP (コンパイル済みコード), ICON (VI アイコン) |
| コンテナバージョン | Resource Container v3(LabVIEW 8.x 以降の現行); 以前のバージョンでは v2 |
| バージョン間の互換性 | 上位互換性なし - 新しい LabVIEW バージョンで保存された .vi は古いバージョンで開けません。アップグレード後は一括コンパイルが必要です |
| パスワード保護 | VI プロパティを介してフロントパネルとブロックダイアグラムのロックが可能。暗号化ではありません |
| 整合性チェック | リソースブロックに対する CRC ベースのチェック。破損している場合、ロード時にファイルが拒否されます |
| SubVI サポート | VI は他の VI 内に SubVI としてネストでき、モジュール式の計測器設計が可能です |
| MIME タイプ | application/x-labview-vi |
| 対応 OS | Windows, macOS, Linux |
| リリース日 | 1986 (LabVIEW 1.0 for Mac) |
| 最新バージョン | Resource Container version 3 (as of LabVIEW 2021+) |
| 仕様書 | labviewwiki.org |
VI の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。VI ファイルについて最初の質問をしてみましょう。