Что такое формат файла VI?
Файлы с расширением .vi относятся к категории файлов виртуальных инструментов, используемых в среде программирования LabVIEW, разработанной National Instruments (ныне NI, часть Emerson).
Что содержат файлы .vi?
Файл .vi хранит виртуальный инструмент - приложение, имитирующее работу реального лабораторного оборудования, такого как мультиметр или осциллограф. Каждый файл содержит два основных раздела: графический исходный код, написанный на языке G (язык программирования потоков данных LabVIEW), и его скомпилированную исполняемую версию. В графическом разделе вы найдете:
- пользовательский интерфейс (лицевая панель)
- блок-диаграмму, содержащую проводники и узлы исходного кода на языке G
- пространство данных
- панель соединителей
- иконку, используемую для представления инструмента при его размещении в качестве SubVI внутри другой блок-диаграммы
Скомпилированный код, хранящийся во втором разделе, позволяет виртуальному инструменту запускаться внутри среды LabVIEW без отдельного этапа сборки.
Для чего используются файлы .vi?
Виртуальные инструменты позволяют инженерам проводить исследования и измерения без физического создания анализируемых систем. С момента появления LabVIEW в 1986 году - изначально на Apple Macintosh - VI внедрялись в промышленности, академических кругах и передовых научно-исследовательских проектах, включая разработки NASA. VI могут быть вложены друг в друга как SubVI, что обеспечивает модульную и повторно используемую конструкцию инструментов.
Могу ли я создавать свои собственные файлы .vi?
Среда LabVIEW позволяет визуально создавать новые или модифицировать существующие виртуальные инструменты. При редактировании блок-диаграммы или лицевой панели LabVIEW автоматически перекомпилирует исходный код на языке G и сохраняет обновленный скомпилированный код обратно в тот же файл .vi, поэтому инструмент сразу готов к работе.
Внутренне файлы .vi используют проприетарный бинарный формат NI Resource Container (магические байты 52 53 52 43 0D 0A - RSRC\r\n - со смещением 0), производный от Mac OS Resource Fork, использовавшегося в первые годы существования LabVIEW только для Mac (1986-1992). Формат не обладает прямой совместимостью: файл .vi, сохраненный в более новой версии LabVIEW, не может быть открыт в более старой. Связанные форматы включают .vit (шаблон VI), .ctl (пользовательский элемент управления) и .lvproj (проект LabVIEW).
Безопасность и защита
РИСК: MEDIUMФайлы VI могут содержать скомпилированный исполняемый код, который запускается на хост-машине. Вредоносный VI может читать/записывать файлы, передавать данные по сети или управлять оборудованием. Открывайте VI только из доверенных источников. Драйверы инструментов NI из официальной сети Instrument Driver Network безопасны; сторонние VI следует проверять в блок-диаграмме LabVIEW перед запуском.
Детали формата
в двух словах- Файл восстановления редактора Unix vi - Некоторые системы Unix используют .vi в качестве файлов восстановления/подкачки для текстового редактора vi, что совершенно не связано с LabVIEW.
Программы, открывающие файлы VI
Технические подробности
глубокая спецификация| Бинарная сигнатура | 52 53 52 43 0D 0A («RSRC\r\n») со смещением 0 - заголовок Resource Container |
| Формат контейнера | NI Resource Container (проприетарный; смоделирован на основе Mac OS Resource Fork) |
| Порядок байтов | Big-endian |
| Кодировка | Бинарная |
| Сжатие | По умолчанию отсутствует; отдельные блоки данных могут использовать zlib в LabVIEW 2021+ |
| Типичный размер файла | 10 КБ - 50 МБ (зависит от скомпилированного кода, встроенных SubVI и данных иконки) |
| Ключевые типы чанков | BDPW (блок-диаграмма), FPHP (лицевая панель), VCTP (панель соединителей), CONP (скомпилированный код), ICON (иконка VI) |
| Версия контейнера | Resource Container v3 (текущая, начиная с LabVIEW 8.x); v2 в более ранних версиях |
| Совместимость версий | Нет прямой совместимости - .vi, сохраненный в новой версии LabVIEW, не откроется в старой; после обновления требуется Mass Compile |
| Защита паролем | Доступна через VI Properties для блокировки лицевой панели и блок-диаграммы; не является криптографическим шифрованием |
| Проверка целостности | Проверки на основе CRC для блоков ресурсов; файл отклоняется при загрузке, если он поврежден |
| Поддержка SubVI | VI могут быть вложены как SubVI в другие VI, что позволяет создавать модульные инструменты |
| MIME-тип | application/x-labview-vi |
| Поддержка ОС | Windows, macOS, Linux |
| Выпущен | 1986 (LabVIEW 1.0 for Mac) |
| Последняя версия | Resource Container version 3 (as of LabVIEW 2021+) |
| Спецификация | labviewwiki.org |
Конвертации VI
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах VI.