Foxtrot - jak zjistit čas jednotlivých programů, popřípadě procesů?
(1/1)
Erhard Mareček:
Zjistit celkovou dobu smyčky ve Foxtrotu je snadné. Jak ale zjistit kolik času si vezmou jednotlivé programy, případně procesy?
Petr Liskar:
Zkuste použít funkci GetRTC na začátku a na konci měřeného úseku.
Milan Bydžovský:
Čas s přesností na stovky microsekund lze získa pomocí systémové instrukce.
Vytvořil jsem knihovnu SysTimerLib, kterou si můžete stáhnout zde: http://sdrv.ms/QjXxgC
Knihovna obsahuje jedinou funkci get100us, která vrací hodnotu čítače.
Použití může vypadat následovně:
PROGRAM prgMain
VAR
start : UDINT; //pocatecni stav citace
duration : UDINT; //doba trvani ve stovkach microsekund
i : UINT;
END_VAR
start := get100us();
//zacatek mereneho useku
FOR i := 0 TO 1000 DO
i := i;
END_FOR;
//konec mereneho useku
duration := get100us() - start;
END_PROGRAM
Navigace
[0] Index zpráv