Format plików VI/RSRC i lista 51 wartości

Masz coś ciekawego do zaprezentowania, nie krępuj się o tym tutaj napisać.
mefistotelis
Posty: 12
Rejestracja: 11 maja 2020 16:00
Wersja środowiska: LabVIEW 2014

Format plików VI/RSRC i lista 51 wartości

Post autor: mefistotelis »

Plik VI to kontener tzw. zasobów (Resources). Zasoby są identyfikowane 4-bajtowym identyfikatorem.
Na przykład Front Panel jest zapisany w zasobie FPHP, FPHb lub FPHc , zależnie od wersji. Albo w FPHX jeśli w Nedzie włączymy zapis do formatu XML.

Z innych zasobów jest tam lista typów danych (VCTP) oraz domyślne wartości wypełniające te typy (DFDS).
W każdym pliku VI znajduje się pewien konkretny typ - tablica 51 liczb całkowitych, i sekcja DFDS zawiera 51 wartości go wypełniających.

No i tak dobrnęliśmy do mojego pytania: ktoś wie może co oznaczają te wartości? To ewidentnie różne opcje programu oraz ilości i offsety różnych elementów w pliku; chciałbym znać tu jednak szczegóły - co każda z nich oznacza?

Na przykład wartość 12 zawiera "nConnectorPorts" - ilość konektorów który ma nasz instrument, ze względu na wybraną ikonkę konektorów w prawym górnym rogu. Znam jeszcze kilka, ale nie znam wszystkich.

Wartości można obejrzeć w Nedzie, ale nie mają tam nazw tekstowych czy opisów.
Awatar użytkownika
micard
Posty: 207
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2017
Kontakt:

Re: Format plików VI/RSRC i lista 51 wartości

Post autor: micard »

Głęboko zabrnąłeś!
Chcesz znać odpowiedzi - zapytaj u źródła. Strzelam, że Stephen Loftus-Mercer (Aristos Queue na niforums lub @AristosQ na tweeterze) będzie dobrym adresatem.
Mały szkopuł przez internet będzie raczej ciężko. Najlepiej to zrobić osobiście
mefistotelis
Posty: 12
Rejestracja: 11 maja 2020 16:00
Wersja środowiska: LabVIEW 2014

Re: Format plików VI/RSRC i lista 51 wartości

Post autor: mefistotelis »

Pytałem. Chyba w NI się boją takich co za głęboko brną. Sam bym sobie sprawdził, ale nie mam binarek z wystarczającą ilością symboli.
mefistotelis
Posty: 12
Rejestracja: 11 maja 2020 16:00
Wersja środowiska: LabVIEW 2014

Re: Format plików VI/RSRC i lista 51 wartości

Post autor: mefistotelis »

Już sobie poradziłem. Jakby ktoś był ciekaw:

Kod: Zaznacz cały

    nHiliteTableEntries = 0,
    hiliteTableOffset = 1,
    hiliteTableTMI = 2,
    nProbeTableEntries = 3,
    probeTableOffset = 4,
    probeTableTMI = 5,
    nDCOs = 6,
    fpdcoTableOfst = 7,
    fpdcoTableTMI = 8,
    nClumpQEs = 9,
    clumpQEAllocOffset = 10,
    clumpQEAllocTMI = 11,
    nConnections = 12,
    viParamTableOffset = 13,
    viParamTableTMI = 14,
    nExtraDCOInfoEntries = 15,
    extraDCOInfoOffset = 16,
    extraDCOInfoTMI = 17,
    nLocalInputConnections = 18,
    localInputConnIdxOffset = 19,
    localInputConnIdxTMI = 20,
    nNonLocalInputConnections = 21,
    nonLocalInputConnIdxOffset = 22,
    nCondIndicators = 23,
    condIndIdxOffset = 24,
    nOutputConnections = 25,
    nOutPutLocalGlobals = 26,
    outputConnIdxOffset = 27,
    nInputConnections = 28,
    inputConnIdxOffset = 29,
    numInternalHiliteTableEntries = 30,
    internalHiliteTableHandleAndPtrTMI = 31,
    nSyncDisplays = 32,
    syncDisplayIdxOffset = 33,
    nSubVIPatches = 34,
    subVIPatchTagsTMI = 35,
    subVIPatchTMI = 36,
    enpdTdOffsetsDso = 37,
    enpdTdOffsetsTMI = 38,
    nDDOs = 39,
    spDDOTableOffset = 40,
    spDDOTableTMI = 41,
    nStepIntoNodes = 42,
    stepIntoNodeIdxTableOffset = 43,
    stepIntoNodeIdxTableTMI = 44,
    hiliteIdxTableTMI = 45,
    numGeneratedCodeProfileResultTableEntries = 46,
    generatedCodeProfileResultTableTMI = 47,
    lReRunPCOffset = 48,
    lResumePCOffset = 49,
    lRetryPCOffset = 50,
ODPOWIEDZ