Vous pouvez définir des actions et les affecter aux blocs fonction et aux programmes. Une action est une mise en œuvre supplémentaire. Elle peut être générée dans un langage différent de celui de la mise en œuvre de base. Un nom est attribué à chaque action.
Une action utilise les données du bloc fonction ou du programme auquel elle appartient. Elle utilise les variables d'entrée/sortie et les variables locales définies et ne contient pas de déclarations propres.
L'illustration suivante montre une action dans un bloc fonction
Dans cet exemple, chaque appel du bloc fonction FB1
augmente ou diminue la variable de sortie out
en fonction de la valeur de la variable d'entrée in
. L'appel de l'action Reset
du bloc fonction règle la valeur de la variable de sortie out
sur 0. La même variable out
est écrite dans les deux cas.
Pour ajouter une action, sélectionnez respectivement le nœud du programme ou du bloc fonction dans l'
ou sous le nœud de l' , cliquez sur le plus de couleur verte et exécutez la commande . Vous pouvez aussi cliquer avec le bouton droit sur le nœud du programme ou du bloc fonction et choisir la commande . Dans la boîte de dialogue , définissez le de l'action et le souhaité.EcoStruxure Machine Expert facilite la programmation orientée objet grâce à l'héritage dans les blocs fonction : lorsque vous exécutez sur un bloc fonction qui hérite d'un autre bloc fonction, les éléments , , et utilisés dans le bloc fonction de base sont sélectionnables :
Les éléments
, , et avec = , et défini dans le bloc fonction de base sont sélectionnables. Vous pouvez adapter la définition de l'objet hérité. Dans l'objet hérité, le même est affecté comme aux éléments sources.Les éléments
, , et avec = ne sont pas sélectionnables, car l'accès est limité au bloc fonction de base.Syntaxe
<Program_name>.<Action_name>
ou
<Instance_name>.<Action_name>
Examinez la notation en langage FBD (voir l'exemple qui suit).
Pour appeler une action dans son propre bloc, c'est-à-dire le programme ou le bloc fonction auquel elle appartient, il suffit d'utiliser le nom de l'action.
Cette section donne des exemples d'appel de l'action décrite ci-dessus à partir d'un autre POU.
Déclaration pour tous les exemples :
PROGRAM PLC_PRG
VAR
Inst : Counter;
END_VAR
Appel de l'action Reset
dans un autre POU, programmé en langage IL :
CAL Inst.Reset(In := FALSE)
LD Inst.out
ST ERG
Appel de l'action Reset
dans un autre POU, programmé en langage ST :
Inst.Reset(In := FALSE);
Erg := Inst.out;
Appel de l'action Reset
dans un autre POU, programmé en langage FBD :
Action en langage FBD