BSFIFO – Binární Struktura - serializace a deserializace do cyklického bufferu
Symbol blokuPotřebná licence: ADVANCED
Popis funkce
Tento blok postupně přidává a vybírá data do velkého bufferu (přivedeného na
vstup uBuff). Základní jednotka v bufferu je sloupec. Všechny matice (tj. matice nebo
vektory přivedené na vstupy uBuff, uMatIn, uMatOut) musí mít stejnou velikost sloupce
v bajtech. Data jsou organizována buď jako fronta (pokud REV=off) nebo jako
zásobník (pokud REV=on). Chování bloku závisí na vstupech tímto způsobem:
- Pokud je PUSH=on, vkládá se do bufferu obsah matice uMatIn (všechny definované sloupce).
- Pokud je POP=on, vyjímá se z bufferu počet sloupců určených parametrem col a tato data se vloží do matice uMatOut (musí mít dostatečnou velikost).
- Pokud je R1=on, data se znovu načtou (hlavně počet platných sloupců) do bufferu bloku. Vlastní data se předávají odkazem a jsou proto sdílená. Tento signál je prioritní a blokuje signály PUSH, POP.
Chybové stavy (např. neodpovídající si rozměry matic, nedostatečné místo v některé matici, nedostatek dat v bufferu) jsou indikovány na výstupu iE a zprávou v SystemLog.
Vstupy
uBuff | Binární struktura s daty (pole bajtů) | Reference |
uMatIn | Reference matice se vstupními daty (pro PUSH) | Reference |
uMatOut | Reference matice pro uložení výstupních dat (pro POP) | Reference |
PUSH | Povolení vkládání do bufferu | Bool |
POP | Povolení vyčítání z bufferu | Bool |
R1 | Reset bufferu (znovu načtení hlaviček z uBuff) | Bool |
Parametry
OW | Režim přepisu nejstarších položek | Bool |
REV | Vyčítání posledních vložených položek nejdříve | Bool |
col | Počet vyčítaných sloupců (pro POP) 1 | Long (I32) |
Výstupy
yBuff | Kopie uBuff pro řetězení | Reference |
yMatIn | Kopie uMatIn pro řetězení | Reference |
yMatOut | Kopie uMatOut pro řetězení | Reference |
iused | Počet použitých bajtů v bufferu | Long (I32) |
ifree | Počet volných bajtů v bufferu | Long (I32) |
iE | Kód chyby | Error |
[Na začátek] [Výše] [Další]
2024 © REX Controls s.r.o., www.rexygen.com