Skip to main content

Objet : Programme

Un programme est un POU qui produit une ou plusieurs valeurs lorsqu'il est exécuté. Toutes les valeurs restent inchangées après l'exécution du programme jusqu'à la prochaine exécution. L'ordre d'appel des programmes dans une application est défini dans les objets de tâche.

Vous ajoutez l'objet à l'application ou au projet en cliquant sur Projet → Ajouter un objet → POU. Dans l'arborescence des appareils et dans le POU vue, les POU du programme ont la (PRG) suffixe.

L'éditeur d'un programme est constitué d'une partie déclaration et d'une partie implémentation.

La première ligne de la partie déclaration contient la déclaration suivante :

PROGRAM <program>

Appel d'un programme

Les programmes et les blocs fonctionnels peuvent appeler un programme. Un appel de programme n'est pas autorisé dans une fonction. Il n'y a pas d'instances de programmes.

Si un UOP appelle un programme et que les valeurs du programme changent en conséquence, ces modifications sont conservées jusqu'au prochain appel de programme. Les valeurs du programme sont conservées même si le prochain appel est effectué par une autre POU. Ceci est différent de l'appel d'un bloc fonction. Lorsque le bloc fonction est appelé, seules les valeurs de l'instance respective du bloc fonction changent. Les modifications ne doivent être prises en compte que lorsqu'un POU appelle à nouveau la même instance.

Vous pouvez également définir les paramètres d'entrée et/ou de sortie d'un programme directement lorsque vous l'appelez.

Syntaxe: <program>(<input variable> := <value>, <output value> => <value>):

Si vous utilisez l'assistant de saisie pour insérer un appel de programme et que Insertion avec arguments l'option est sélectionnée dans l'assistant de saisie, puis CODESYS ajoute des paramètres d'entrée et/ou de sortie à l'appel du programme selon la syntaxe.

Exemple 511. Exemples

Appels:

POINÇON:

_cds_img_program_cal_awl2.png

Avec affectation des paramètres :

_cds_img_program_call_awl.png

ST :

PLC_PRG()
erg := PLC_PRG.out2;

Avec affectation des paramètres :

PLC_PRG(in1:=2, out1=>erg);
_cds_img_program_call_fbd.png