La version V1.1 d' EcoStruxure Machine Expert ne prend pas en charge les contrôleurs M258, LMC058 et LMC078.

Programme

Présentation

Un programme est un objet POU qui renvoie une ou plusieurs valeurs pendant l'exécution. Toutes les valeurs sont conservées entre deux exécutions du programme. Cependant, il n’existe pas d’instances distinctes de programmes, contrairement aux blocs fonction. En effet, dans ce cas, seules les valeurs de l'instance spécifique du bloc fonction sont modifiées. Les modifications prennent effet lors d'un nouvel appel de la même instance. Les modifications des valeurs du programme sont conservées jusqu’à l'appel suivant du programme, même s'il est appelé par un autre POU.

Ajout d'un programme

Pour attribuer un programme à une application existante, sélectionnez le nœud de l'application dans l'arborescence Applications, cliquez sur le signe plus de couleur verte et exécutez la commande POU.... Vous pouvez aussi cliquer avec le bouton droit sur le nœud Application et choisir la commande Ajouter un objet > POU dans le menu contextuel. Pour ajouter un POU ne dépendant d'aucune application, sélectionnez le nœud Global dans l'arborescence des applications, puis exécutez les mêmes commandes.

Dans la boîte de dialogue Ajouter un POU, sélectionnez l'option Programme, entrez un nom de programme et sélectionnez le langage d'implémentation souhaité. Cliquez sur Ouvrir pour confirmer. L'éditeur du nouveau programme s'ouvre et vous pouvez commencer à modifier le programme.

Déclaration d'un programme

Syntaxe :

PROGRAM <nom du programme>

Viennent ensuite les déclarations des variables d'entrée, de sortie et des variables de programme. Les variables d'accès sont également disponibles en option.

Exemple de programme

G-SE-0027221.3.gif-high.gif

 

 

Appel d'un programme

Un autre POU peut appeler un programme. En revanche, aucun appel de programme n'est autorisé dans une fonction. Il n'existe aucune instance de programme.

Si un POU a appelé un programme et que les valeurs de celui-ci ont été modifiées, ces modifications sont conservées jusqu'à l'appel suivant du programme. Ceci est valable même si l'appel provient d'un autre POU. Il n'en va pas de même lors de l'appel d'un bloc fonction. En effet, dans ce cas, seules les valeurs de l'instance spécifique du bloc fonction sont modifiées. Les modifications prennent effet lors d'un nouvel appel de la même instance.

Pour définir des paramètres d'entrée et/ou de sortie lors de l'appel d'un programme, dans les éditeurs de texte (par exemple, ST), affectez des valeurs aux paramètres en les plaçant entre parenthèses après le nom du programme. Utilisez := pour affecter les valeurs des paramètres d'entrée, comme lors de l'initialisation des variables à l'emplacement de déclaration. Pour les paramètres de sortie, utilisez =>. Voir l'exemple suivant.

Si le programme est inséré via l'aide à la saisie avec l'option Insert with arguments dans l'affichage de l'implémentation d'un éditeur de texte, il s'affiche automatiquement conformément à cette syntaxe avec tous les paramètres, même si l'affectation de ces derniers n'est pas obligatoire.

Exemple d'appels de programme

Programme en langage IL :

CAL               PRGexample               (
         in_var:= 33                       )
LD                PRGexample.out_var       
ST                erg

Exemple avec affectation de paramètres (aide à la saisie avec l'option Insert with arguments) :

Programme en langage IL avec arguments :

CAL               PRGexample               (
         in_var:= 33                       ,
        out_var=> erg                      )

Exemple en langage ST

PRGexample(in_var:= 33);
erg := PRGexample.out_var;

Exemple avec affectation de paramètres (aide à la saisie avec l'option Insert with arguments comme décrit précédemment) :

PRGexample (in_var:=33, out_var=>erg );

Exemple en langage FBD

Programme en langage FBD :

G-SE-0027222.2.gif-high.gif