MX_SLFS – Ukládání a čtení matice/vektoru do souboru nebo textového řetězce

Symbol blokuPotřebná licence: STANDARD
Qt SVG Document Exported by REXYGEN Studio uMV uStr LOAD SAVE yMV yStr iE MX_SLFS

Popis funkce
Blok umožňuje konvertovat matici nebo vektor do textové podoby a naopak. Matice se přivádí jako odkaz na vstup uMV. Výstup yMV odkazuje na stejnou matici, jako vstup uMV a je určen pro řetězení maticových bloků ve správném pořadí, jak je obvyklé u všech bloků ze skupiny MATRIX.

Text může být buď na vstupu uStr (resp. výstupu yStr pro opačný směr konverze) nebo v souboru. Pokud je text v souboru, tak jeho název je text připojený na vstup uStr. Pro název souboru platí obvyklá pravidla systému REXYGEN, tj. je relativně k datadir a není dovoleno ../ pro opuštění adresáře. Pokud je vstup uStr nepřipojený (nebo prázdný text), použije se pro jméno souboru název bloku s celou cestou (tj. včetně jména tasku a všech subsystémů) s příponou .dat.

Formát matice v textovém souboru nebo v textovém vstupu a výstupu určuje parametr format. Podpořeno je anglické i české CSV (tj. sloupce odděleny čárkou nebo středníkem), formát JSON (vytvořený firmou Google a často používaný ve webových aplikacích) a formát používaný MATLABem (pro zadávání matice ve skriptech MATLABu).

Konverze z textové podoby do matice/vektoru nebo naopak může probíhat v každém kroku algoritmu nebo je spouštěna pomocí vstupů LOAD a SAVE. Přesný způsob je určen parametrem mode:

  • 1: aktivované úrovní, do/z souboru: data jsou konvertována ze souboru do matice při LOAD = on a z matice do souboru při SAVE = on; pokud jsou aktivní oba signály, je to chyba a žádná akce se neprovede,
  • 2: aktivované hranou, do/z souboru : data jsou konvertována ze souboru do matice při náběžné hraně (off on) na vstupu LOAD a z matice do souboru při náběžné hraně SAVE; pokud jsou náběžné hrany na obou signálech, je to chyba a žádná akce se neprovede,
  • 3: aktivované úrovní, do/z textu: data jsou konvertována ze vstupu uStr do matice při LOAD = on a z matice na výstup yStr při SAVE = on; pokud jsou aktivní oba signály, je to chyba a žádná akce se neprovede,
  • 4: aktivované hranou, do/z textu: data jsou konvertována ze vstupu uStr do matice při náběžné hraně na vstupu LOAD a z matice na výstup yStr při náběžné hraně SAVE; pokud jsou náběžné hrany na obou signálech, je to chyba a žádná akce se neprovede,
  • 5: trvale text do matice: data jsou konvertována ze vstupu uStr do matice v každém kroku algoritmu,
  • 6: trvale matice do textu: data jsou konvertována z matice na výstup yStr v každém kroku algoritmu,
  • 7: trvale soubor do matice: data jsou konvertována ze souboru do matice v každém kroku algoritmu,
  • 8: trvale matice do souboru: data jsou konvertována z matice do souboru v každém kroku algoritmu.

Pokud nastane chyba, je signalizována na výstupy iE a v logu. Po fatální chybě se konverze z/do matice přestane provádět. Resetování chyby se pro mode = 1 .. 4 provede nastavením LOAD = SAVE = off, pro mode = 5 .. 8 resetování fatální chyby nelze provézt (musí se přepnout na mode = 1 .. 4 a pak zpět).

Parametr nmax slouží k předalokování výstupního textu. Pokud je nmax > 0, naalokuje se při inicializaci úlohy zadané množství znaků a pokud je to nedostatečné, blok hlásí chybu. Pokud je nmax = 0, blok zvětšuje délku výstupního textu podle potřeby. Může se zdát nesmyslné zadávat omezení na velikost, když pak může blok selhávat, ale pokud se nezadá, může v extrémním případě dojít k použití celé dostupné paměti, která pak chybí dalším komponentám (např. operačnímu systému) a pak selže celý systém nekontrolovatelně.

Tento blok nepropaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.

Vstup

uMV

Vstupní reference na matici nebo vektor

Reference

uStr

Text pro konverzi na matici/vektor nebo jméno souboru

String

LOAD

Povolení zápisu hodnoty do matice/vektoru

Bool

SAVE

Povolení zápisu hodnoty do souboru/textu

Bool

Parametr

mode

Režim spouštění konverze  2

Long (I32)

1 ....

aktivované úrovní, do/z souboru

2 ....

aktivované hranou, do/z souboru

3 ....

aktivované úrovní, do/z textu

4 ....

aktivované hranou, do/z textu

5 ....

trvale text do matice

6 ....

trvale matice do textu

7 ....

trvale soubor do matice

8 ....

trvale matice do souboru

format

Formát souboru/textu  1

Long (I32)

1 ....

CSV

2 ....

CSV(středník)

3 ....

JSON

4 ....

MATLAB

prec

Počet platných cifer pro každou hodnotu   0  20 6

Long (I32)

TRN

Příznak transpozice matice

Bool

nmax

Rezervovaná paměť pro řetězec   0

Long (I32)

Výstup

yMV

Výstupní reference na matici nebo vektor

Reference

yStr

Textová podoba matice/vektoru

String

iE

Kód chyby

Error

2024 © REX Controls s.r.o., www.rexygen.com