CanRecv – Přijetí zprávy sběrnice CAN
Symbol blokuPotřebná licence: CANDRV
Popis funkce
Blok slouží k přijetí zprávy na sběrnici CAN. Blok přijímá jen zprávy které odpovídají filtru (parametry filterId, filterIdMask, filterLength, RTR, EXT).
Počet zpráv, které prošly filtrem za periodu (tj. od minulého spuštění bloku) určuje výstup nDRDY.
Poslední přijatá zpráva je zobrazena na výstupech msgId, data, length. Starší zprávy (s ohledem na parametr nmax) jsou dostupné pomocí bloku CanItem navázaného na výstup itemRef.
Pro správnou funkci blok musí být napojen na ovladač CanDrv, který je v režimu simpleCAN (tj. NodeMode=256). To se provede pojmenováním bloku dle vzoru <DRV>__<signal> (stejně jako u bloků Goto, OUTSTD, OUTQAD, apod.), tj. název bloku musí začínat názvem driveru a dvěma podtržítky následované názvem signálu, přičemž název signálu může být v tomto případě libovolný.
Blok umožňuje přijímat zprávy s krátkým (11bitů) i dlouhým (29 bitů) číslem zprávy (řídí se parametrem EXT) a také zprávy pro vyžádání zprávy (parametr RTR). FD režim (který umožňuje zprávy s až 64 bajty) není podpořen.
Parametry
filterId | Číslo zprávy, které jsou přijaty tímto blokem 0 536870911 | Long (I32) |
filterIdMask | Označuje platné bity v parametru filterId 0 536870911 | Long (I32) |
filterLength | Kolik bajtů dat musí mít zpráva, aby byla akceptována tímto blokem (-1 nefitruje se podle délky dat) -1 8 | Long (I32) |
RTR | Příznak žádost o zprávu (RequestToSend) on | Bool |
EXT | Rozšířený formát čísla zprávy (29bitů) on | Bool |
timeout | Pokud během této doby nepřijde packet, je indikována chyba [s] 0.0 | Double (F64) |
nmax | Maximální počet zpráv přijatých blokem během jedné periody 1 255 | Long (I32) |
Výstupy
itemRef | Odkaz na další přijaté packety | Reference |
msgId | Číslo zprávy (COB-ID) | Long (I32) |
data | Data zprávy (max. 8 bajtů, nejnižší bajt první) -9.22337E+18 9.22337E+18 | Large (I64) |
length | Počet datových bajtů zprávy 0 8 | Long (I32) |
nDRDY | Počet přijatých zpráv v aktuální periodě tasku 255 | Word (U16) |
iErr | Kód chyby | Error |
age | Čas od poslední přijaté zprávy [s] 0.0 | Double (F64) |
[Předchozí] [Na začátek] [Výše] [Další]
2020 © REX Controls s.r.o., www.rexygen.com