EPC – Spouštění externích programů

Symbol blokuPotřebná licence: ADVANCED
Qt SVG Document Exported by REXYGEN Studio uVec1 uVec2 uVec3 uVec4 uVec5 uVec6 uVec7 uVec8 EXEC RESET DSI DSO yVec1 yVec2 yVec3 yVec4 yVec5 yVec6 yVec7 yVec8 DONE BUSY ERR errID res icnt ocnt EPC

Popis funkce
Blok EPC vykoná externí program, když je detekována náběžná hrana (off on) na vstupu EXEC. Název programu a parametry jsou specifikovány parametrem cmd, formátované přesně tak, jak by byly na příkazové řádce operačního systému.

Data mohou být předávána mezi systémem REXYGEN a externím programem pomocí souborů. Formát souboru, specifikovaný parametrem format, je textový, aby byla zajištěna kompatibilita a snadné použití s různými softwarovými nástroji. Například data lze načíst v MATLABu pomocí příkazu:

    values = load(’-ASCII’, ’epc_inputVec1’);

a v SCILABu s:

    values = read(’epc_inputVec1’, -1, 32);

Upravte název souboru a počet sloupců podle potřeby vašeho konkrétního projektu. Data lze také získat zpět do systému REXYGEN pomocí stejného formátu souboru.

Blok EPC pracuje ve dvou režimech:

Základní režim:
Spuštěný náběžnou hranou na EXEC, tento režim čte aktuální vstupní data a ukládá je do určených souborů specifikovaných parametrem ifns. Každý i-tý vstupní vektor uVec<i> je uložen do svého odpovídajícího i-tého souboru.
Vzorkovací režim:
V tomto režimu jsou data z vstupních vektorů neustále ukládána do souborů v každém algoritmickém cyklu, což usnadňuje záznam dat v reálném čase.

V obou režimech jsou data z jednoho časového okamžiku uložena v jednom řádku v souboru. Obdobně jsou data z výstupních souborů získána a přiřazena výstupům bloku (yVec<i>), přičemž každý řádek z i-tého výstupního souboru jde do i-tého výstupního vektoru.

Vstupy pracující ve vzorkovacím režimu jsou definovány seznamem sl (Např. 1,3..5,8. Programy třetích stran (Simulink, OPC klienti, atd.) pracují s celým číslem, které reprezentuje binární masku, např. 157 (binárně 10011101) v uvedeném příkladu.). Výstupy pracují vždy ve vzorkovacím režimu – poslední hodnoty jsou udržovány, když je dosaženo konce souboru. Kopírování dat do vstupních souborů může být blokováno vstupem DSI, to samé platí pro výstupní data a vstup DSO.

Pro sloučení více signálů do jednoho vektoru použijte blok RTOV. Pro rozložení vektoru na jednotlivé signály použijte blok VTOR. Tyto bloky lze řetězit pro zpracování vektorů libovolné velikosti, což zvyšuje flexibilitu bloku při zpracování složitých datových struktur.

Poznámky:

  • Volaný externí program má stejnou prioritu jako volající úloha. Tato priorita je vysoká, v některých případech vyšší než úlohy jádra operačního systému. Na systémech založených na Linuxu je možné snížit prioritu pomocí příkazu chrt:
    chrt -o 0 extprg.sh,
    kde extprg.sh je původní externí program.
  • Velikost signálů je omezena parametrem nmax. Větší parametr znamená větší spotřebu paměti, takže zvolte tento parametr co nejmenší.
  • Názvy souborů musí respektovat konvence pojmenování operačního systému cílové platformy. Doporučuje se používat pouze alfanumerické znaky a podtržítko, aby se předešlo problémům. Dodržujte také velká a malá písmena.
  • Blok také vytváří kopie souborů ifns a ofns z implementačních důvodů. Názvy těchto souborů jsou rozšířeny o podtržítko.
  • Cesty ifns a ofns jsou relativní k adresáři, kde jsou uloženy archivy systému REXYGEN. Doporučuje se definovat symbolický odkaz na RAM-disk uvnitř tohoto adresáře pro zlepšení výkonu. Na druhou stranu, pro dlouhé řady dat je lepší ukládat data na trvalé úložiště, protože data lze např. po obnovení po výpadku napájení přidat.
  • Blok OSCALL lze také použít pro provedení některých funkcí operačního systému.

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

Vstup

uVec1..uVec8

Vstupní vektorový signál

Reference

EXEC

Náběžná hrana spouští externí program

Bool

RESET

Reset bloku

Bool

DSI

Pozastavení vzorkování na vstupech

Bool

DSO

Pozastavení vzorkování na výstupech

Bool

Parametr

cmd

Externí program

String

ifns

Vstupní soubory (oddělené středníkem)  epc_uVec1;epc_uVec2

String

ofns

Výstupní soubory (oddělené středníkem)  epc_yVec1;epc_yVec2

String

sl

Seznam vzorkovacích vstupů (oddělené čárkou)   0  255 85

Long (I32)

ifm

Maximální počet vzorků ve vstupním souboru  10000

Long (I32)

format

Formát vstupních a výstupních souborů  1

Long (I32)

1 ....

textový (pouze hodnoty)

2 ....

CSV (desetinná tečka a čárky)

3 ....

CSV (desetinná čárka a středníky)

nmax

Maximální délka výstupních vektorů   2  1000000 100

Long (I32)

Výstup

yVec1..yVec8

Výstupní vektorový signál

Reference

DONE

Příznak skončení externího programu

Bool

BUSY

Příznak běhu externího programu

Bool

ERR

Příznak chyby

Bool

errID

Kód chyby

Error

res

Návratový kód externího programu

Long (I32)

icnt

Aktuální číslo vzorku na vstupech

Long (I32)

ocnt

Aktuální číslo vzorku na výstupech

Long (I32)

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