Kulio Programování Mosaic 5. 12. 2021 12:37 3. 12. 2021 18:52

Dobrý den,

chtěl bych se zeptat jestli existuje možnost měřit v programu dobu trvání bloku či kratších časových intervalů. Používám jednoduchý způsob dynamické alokace paměti Databox, a pokud bude alokována větší část, bude se prodlužovat doba cyklu. Chtěl jsem změřit dobu trvání bloku zajišťující alokaci. Měření pomocí čítače S52-S55 v ms je moc hrubé, navíc nevím, jestli tento čítač svoji hodnotu neodvozuje od stavu registru S78,79, který se aktualizuje při otočce cyklu. Je nějaká možnost měření kratších intervalů uvnitř cyklu? Jinak mě také napadá možnost spočítat dobu běhu podle doby trvání instrukcí, ale to je pracné :)

díky

Michal K.

Odpovědi 3

M.B. 3. 12. 2021 13:49

Dobrý den,

v knihovně SysLib naleznete funkční blok fbStopwatch100us, který dokáže měřit čas s přesností na 100 mikrosekund. Příklad použití naleznete v nápovědě prostředí Knihovny SysLib > Funkční bloky > 5.6 Funkční blok fbStopwatch100us.

Kulio 3. 12. 2021 17:34

Dobrý den,

díky, mrknu na to. To jsem nenašel, ale teď jsem zjistil, že mám starší verzi knihovny SysLib.

M.K.

Kulio 3. 12. 2021 18:52

Dobrý den,

odzkoušeno, funguje. To jsem přesně potřeboval.

díky

MK

Tento dotaz je vyřešený.