Hvad er VI-filformatet?
Filer med filtypenavnet .vi tilhører kategorien af virtuelle instrumentfiler, der bruges i LabVIEW-programmeringsmiljøet udviklet af National Instruments (nu NI, en del af Emerson).
Hvad indeholder .vi-filer?
En .vi-fil gemmer et virtuelt instrument - en applikation, der simulerer driften af ægte laboratorieudstyr såsom et multimeter eller et oscilloskop. Hver fil indeholder to hovedsektioner: en grafisk kilde skrevet i G-sproget (LabVIEWs dataflow-programmeringssprog) og dens kompilerede eksekverbare version. Inden for den grafiske sektion finder du:
- brugergrænseflade (frontpanelet)
- blokdiagram, som indeholder G-sprogets kildeledninger og noder
- dataplads
- konnektorpanel
- ikon, der bruges til at repræsentere instrumentet, når det placeres som en SubVI inde i et andet blokdiagram
Den kompilerede kode, der er gemt i den anden sektion, gør det muligt for det virtuelle instrument at køre i LabVIEW-miljøet uden et separat build-trin.
Hvad bruges .vi-filer til?
Virtuelle instrumenter lader ingeniører udføre forskning og målinger uden fysisk at konstruere de analyserede systemer. Siden LabVIEWs introduktion i 1986 - oprindeligt på Apple Macintosh - er VIs blevet implementeret på tværs af industri, akademi og avancerede R&D-projekter, herunder arbejde af NASA. VIs kan indlejres i hinanden som SubVIs, hvilket muliggør modulære, genanvendelige instrumentdesign.
Kan jeg oprette mine egne .vi-filer?
LabVIEW-miljøet giver mulighed for visuel oprettelse af nye eller modifikation af eksisterende virtuelle instrumenter. Når du redigerer blokdiagrammet eller frontpanelet, rekompilerer LabVIEW automatisk G-sprogets kilde og gemmer den opdaterede kompilerede kode tilbage i den samme .vi-fil, så instrumentet er klar til at køre med det samme.
Internt bruger .vi-filer NIs proprietære Resource Container binære format (magic bytes 52 53 52 43 0D 0A - RSRC\r\n - ved fil-offset 0), afledt af Mac OS Resource Fork brugt i LabVIEWs oprindelige Mac-år (1986-1992). Formatet er ikke fremadkompatibelt: en .vi gemt i en nyere LabVIEW-version kan ikke åbnes i en ældre. Relaterede formater inkluderer .vit (VI Template), .ctl (custom control) og .lvproj (LabVIEW-projekt).
Sikkerhed og tryghed
RISIKO: MEDIUMVI-filer kan indeholde kompileret eksekverbar kode, der kører på værtsmaskinen. En ondsindet VI kan læse/skrive filer, kommunikere over netværket eller styre hardware. Åbn kun VIs fra betroede kilder. NI-instrumentdrivere fra NIs officielle Instrument Driver Network er sikre; tredjeparts-VIs bør gennemgås i LabVIEWs blokdiagram, før de køres.
Formatdetaljer
kort fortalt- Unix vi editor gendannelsesfil - Nogle Unix-systemer bruger .vi som gendannelses-/swap-filer til vi-teksteditoren, hvilket er fuldstændig urelateret til LabVIEW.
Programmer der åbner VI-filer
Tekniske detaljer
dyb specifikation| Binær signatur | 52 53 52 43 0D 0A («RSRC\r\n») ved fil-offset 0 - Resource Container header |
| Containerformat | NI Resource Container (proprietær; modelleret efter Mac OS Resource Fork) |
| Byte-orden | Big-endian |
| Kodning | Binær |
| Komprimering | Ingen som standard; individuelle datablokke kan bruge zlib i LabVIEW 2021+ |
| Typisk filstørrelse | 10 KB - 50 MB (afhænger af kompileret kode, indlejrede SubVIs og ikondata) |
| Vigtige chunk-typer | BDPW (blokdiagram), FPHP (frontpanel), VCTP (konnektorpanel), CONP (kompileret kode), ICON (VI-ikon) |
| Container-version | Resource Container v3 (nuværende, siden ~LabVIEW 8.x); v2 i tidligere versioner |
| Kompatibilitet på tværs af versioner | Ikke fremadkompatibel - .vi gemt i en nyere LabVIEW-version kan ikke åbnes i en ældre; Mass Compile påkrævet efter opgradering |
| Adgangskodebeskyttelse | Tilgængelig via VI Properties til låsning af frontpanel og blokdiagram; ikke kryptografisk kryptering |
| Integritetskontrol | CRC-baserede kontroller på ressourceblokke; filen afvises ved indlæsning, hvis den er beskadiget |
| SubVI-understøttelse | VIs kan indlejres som SubVIs i andre VIs, hvilket muliggør modulært instrumentdesign |
| MIME-type | application/x-labview-vi |
| OS-understøttelse | Windows, macOS, Linux |
| Udgivet | 1986 (LabVIEW 1.0 for Mac) |
| Seneste version | Resource Container version 3 (as of LabVIEW 2021+) |
| Specifikation | labviewwiki.org |
VI-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om VI-filer.