Skip to main content

Objet : Action

Symbole : _cds_icon_obj_action.png

Vous pouvez ajouter des actions à un bloc fonctionnel ou à un programme. Chaque action a un nom.

L'objet d'action implémente un code supplémentaire, qui peut être programmé dans un langage différent de celui de l'implémentation de base du POU supérieur. Les actions sont souvent mises en œuvre dans SFC. Une action ne possède pas sa propre déclaration de variable. Il fonctionne avec les données de son implémentation de base supérieure et utilise ses variablesVAR, VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT).

Dans la programmation orientée objet, il est possible d'hériter d'un bloc fonctionnel avec ses actions subordonnées.

Pour plus d'informations, voir : Prise en charge des entrées lors de la génération de POU héritées

Insérer une action

Ajoutez un Action à un bloc fonctionnel ou à un programme avec ProjetAjouter un objetAction commande et définissez les propriétés de la nouvelle action dans la boîte de dialogue qui s'ouvre.

Tableau 61. Ajouter une action

Nom

Nom de l'action

Langage d'implémentation

Sélectionné dans la zone de liste contenant les langues d'implémentation disponibles



Appel

Syntaxe :

<program name> . <action name> ( <parameter passing> )

ou

<name of function block instance> . <action name> ( <parameter passing> )

<program name> .

Facultatif

Chemin d'instance avec le nom du programme

Lorsqu'une action est appelée dans l'implémentation de base correspondante du programme, il suffit de spécifier le nom de l'action.

<name of function block instance> .

Facultatif

Chemin d'instance avec le nom de l'instance du bloc fonctionnel

Lorsqu'une action est appelée dans l'implémentation de base correspondante du bloc fonctionnel, il suffit de spécifier le nom de l'action.

<action name>

Nécessaire

Nom de l'action

( <parameter passing> )

Facultatif

Lorsque des paramètres sont transmis, les arguments peuvent être transmis aux variables d'entrée et de sortie de la même manière que pour le bloc fonctionnel correspondant.

Voir Bloc fonction

Les variables disponibles dans l'action sont déclarées dans le POU supérieur. Il est tout de même possible de transmettre des paramètres lorsqu'une action est appelée. Les variables (VAR, VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT) du programme supérieur ou de l'instance du bloc fonctionnel est accessible (contrairement à l'appel de méthode).

Lorsqu'une action est appelée dans un éditeur graphique, toutes les E/S du POU de base sont donc affichées.

Exemple 524. Exemple

En appelant le Réinitialiser action (Counter bloc fonctionnel) depuis un autre POU.

Instanciation du bloc fonctionnel

PROGRAM PLC_PRG
VAR
    Inst : Counter;
END_VAR

En appelant le Réinitialiser action en Illinois

CAL Inst.Reset(In := FALSE)
LD Inst.Out
ST ERG

En appelant le Réinitialiser action à ST

Inst.Reset(In := FALSE);
Erg := Inst.out;

En appelant le Réinitialiser action dans FBD

_cds_img_action_fbd.png


Exemple 525. Exemple

Déclaration du bloc fonctionnel FB_Test

FUNCTION_BLOCK FB_Test
VAR_INPUT
    i_xTest : BOOL;
    i_lrTest : LREAL;
END_VAR
VAR_OUTPUT
    q_xTest : BOOL;
    q_lrTest : LREAL;
END_VAR
VAR
    xSet : BOOL;
    xReset : BOOL;
    SR_0 : SR;
    R_TRIG_0 : R_TRIG;
END_VAR

Mise en œuvre de la Act_Text action (en FBD) avec accès aux E/S du bloc fonctionnel correspondant

_cds_object_action_example_textact.png


Astuce

Les actions sont souvent utilisées dans le langage d'implémentation SFC.