Vous êtes ici : Accueil / TECHNICAL PAGES / Documentation / Euler Telescope Control System (ETCS) sous Beckhoff / PLC Type CX8090 / Beckhoff pour les Nuls / Programation d'une fonction à effectuer une seule fois au démarrage

Programation d'une fonction à effectuer une seule fois au démarrage

Demo de code pour par exemple programmer une borne intelligente (ex: moteur)

 

Le FunctionBlock (FB) qui ne doit être exécuté qu'une fois:

FUNCTION_BLOCK FB_InitOneTime
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
    bInitDone: BOOL := FALSE;	(* True when the init is done *)
END_VAR
... (* operations *)
bInitDone := TRUE;

Le MAIN exécute fbInitOneTime tant que celui-ci n'est pas terminé. Cela peut donc prendre plusieurs cycles machine (même plusieurs centaines)

PROGRAM MAIN
VAR
    fbInitOneTime: FB_InitOneTime;
END_VAR
IF NOT fbInitOneTime.bInitDone THEN
    fbInitOneTime();
    RETURN;
END_IF

...