Les éléments graphiques disponibles pour la programmation dans la fenêtre Editeur CFC sont fournis par une boîte à outils. Ouvrez la boîte à outils dans une fenêtre de vue en exécutant la commande ToolBox du menu Affichage.
Sélectionnez l'élément souhaité dans la boîte à outils et insérez-le dans la fenêtre de l'éditeur par une opération glisser-déposer.
Outre les éléments de programmation, vous disposez d'une entrée en haut de la liste de boîte à outils. Tant que cette entrée est sélectionnée, le curseur a la forme d'une flèche et vous pouvez sélectionner des éléments dans la fenêtre de l'éditeur pour le positionnement ou la modification.
Nom |
Symbole |
Description |
---|---|---|
page |
![]()
|
Le numéro de la page est indiqué automatiquement en fonction de sa position. Vous pouvez entrer le nom (Overview dans cet exemple) dans le champ orange situé en haut de la page. |
point de contrôle |
![]()
|
Un point de contrôle est requis pour résoudre un routage de ligne de connexion manuellement modifié. Cela empêche que la modification soit annulée par la commande Route all Connections. Grâce à 2 points de contrôle, vous pouvez marquer un segment précis d'une ligne pour laquelle vous souhaitez modifier le routage. |
entrée |
![]()
|
Vous pouvez sélectionner le texte spécifié par ??? et le remplacer par une variable ou une constante. L'aide à la saisie permet de sélectionner un identifiant valide. |
sortie |
![]()
|
|
boîte |
![]()
|
Vous pouvez utiliser une boîte pour représenter les opérateurs, fonctions, blocs fonction et programmes. Vous pouvez sélectionner le texte spécifié par ??? et le remplacer par un opérateur, une fonction, un bloc fonction ou un nom de programme. L'aide à la saisie permet de sélectionner l'un des objets disponibles. Si vous insérez un bloc fonction, un autre ??? s'affiche au-dessus du module. Remplacez les points d'interrogation par le nom de l'instance de bloc fonction. Si un bloc fonction avec des paramètres d'entrée constants est instancié, un champ Paramètres… s'affiche dans l'angle inférieur gauche du module. Cliquez sur ce bouton pour ouvrir une boîte de dialogue permettant de modifier les paramètres d'entrée. Consultez le chapitre Modifier les paramètres. Si vous remplacez une boîte existante par une autre (en modifiant le nom saisi) et que la nouvelle boîte a un nombre minimal ou maximal de saisie ou de broches de sortie différent, les broches seront adaptées en conséquence. Si des broches doivent être supprimées, la plus basse le sera en premier. |
saut |
![]()
|
Utilisez l'élément saut pour indiquer la position à laquelle doit continuer l'exécution du programme. Cette position est définie par une étiquette (voir ci-dessous). Par conséquent, remplacez le texte spécifié par ??? par le nom de l'étiquette. |
étiquette |
![]()
|
Une étiquette marque la position vers laquelle le programme peut sauter (voir l'élément saut). En mode En ligne, une étiquette de retour marquant la fin du POU est automatiquement insérée. |
retour |
![]()
|
En mode en ligne, un élément retour est automatiquement inséré dans la première colonne et après le dernier élément dans l'éditeur. En mode pas à pas, le système y accède automatiquement avant que l'exécution quitte le POU. |
composeur |
![]()
|
Utilisez le composeur pour traiter une entrée d'une boîte qui est du type d'une structure. Le composeur affiche les composants de la structure et les rend ainsi accessibles au programmeur dans CFC. Ainsi, nommez le composeur comme la structure concernée (en remplaçant ??? par le nom) et connectez-le à la boîte au lieu d'utiliser un élément d'entrée. |
sélecteur |
![]()
|
Contrairement au composeur, un sélecteur permet de traiter une sortie d'une boîte qui est un type de structure. Le sélecteur affiche les composants de la structure et les rend ainsi accessibles au programmeur dans CFC. Ainsi, nommez le sélecteur comme la structure concernée (en remplaçant ??? par le nom) et connectez-le à la boîte au lieu d'utiliser un élément de sortie. |
commentaire |
![]()
|
Utilisez cet élément pour ajouter des commentaires au diagramme. Sélectionnez le texte de l'espace réservé et remplacez-le par le texte souhaité. Pour obtenir une nouvelle ligne dans le commentaire, appuyez sur CTRL + ENTREE. |
marque de connexion - source marque de connexion - sink |
![]()
![]()
|
Vous pouvez utiliser des marques de connexion à la place d'une ligne de connexion entre des éléments. Cela permet de clarifier des diagrammes complexes. Pour obtenir une connexion valide, attribuez un élément de marque de connexion - source à la sortie d'un élément et attribuez une marque de connexion - sink (voir ci-dessous) à l'entrée d'un autre élément. Attribuez le même nom aux deux marques (pas de distinction entre les majuscules et les minuscules). Nommage : Le premier élément de marque de connexion - source inséré par défaut dans un CFC est nommé C-1 et peut être modifié manuellement. Dans sa marque de connexion - sink homologue, remplacez les ??? par la même chaîne de nom que celle utilisée dans la marque source. L'éditeur vérifiera que les noms des marques sont uniques. Si le nom d'une marque source a changé, le nom de la marque sink connectée sera aussi automatiquement modifié. Toutefois, si une marque sink est renommée, la marque source conservera l'ancien nom. Cela vous permet de reconfigurer les connexions. De la même manière, la suppression d'une marque de connexion ne supprime pas son homologue. Pour utiliser une marque de connexion dans le diagramme, faites-la glisser de la boîte à outils vers la fenêtre de l'éditeur, puis connectez sa broche à la broche d'entrée ou de sortie de l'élément correspondant. Vous avez aussi la possibilité de convertir une ligne de connexion normale existante à l'aide de la commande Connection Mark. Cette commande vous permet également de rétablir les marques de connexion en lignes de connexion normales. Pour visualiser des figures présentant quelques exemples de marques de connexion, reportez-vous au chapitre Marque de connexion. |
broche d'entrée |
![]()
|
Selon le type de boîte, vous pouvez ajouter une entrée supplémentaire. Pour ce faire, sélectionnez l'élément boîte dans le réseau CFC et tirez l'élément broche d'entrée vers la boîte. Vous pouvez faire glisser une connexion d'entrée ou de sortie vers une autre position dans la boîte, tout en maintenant la touche Ctrl enfoncée. |
broche de sortie |
– |
Selon le type de boîte, vous pouvez ajouter une sortie supplémentaire. Pour ce faire, sélectionnez l'élément boîte dans le réseau CFC et tirez l'élément broche de sortie vers la boîte. Vous pouvez faire glisser une connexion d'entrée ou de sortie vers une autre position dans la boîte, tout en maintenant la touche Ctrl enfoncée. |
Un programme CFC cfc_prog gère une instance du bloc fonction fublo1, qui a une variable d'entrée struvar de structure type. Utilisez l'élément composeur pour accéder aux composants de la structure.
Définition de la structure stru1 :
TYPE stru1 :
STRUCT
ivar:INT;
strvar:STRING:='hallo';
END_STRUCT
END_TYPE
Déclaration et implémentation du bloc fonction fublo1 :
FUNCTION_BLOCK fublo1
VAR_INPUT
struvar:STRU1;
END_VAR
VAR_OUTPUT
fbout_i:INT;
fbout_str:STRING;
END_VAR
VAR
fbvar:STRING:='world';
END_VAR
fbout_i:=struvar.ivar+2;
fbout_str:=CONCAT (struvar.strvar,fbvar);
Déclaration et implémentation du programme cfc_prog :
PROGRAM cfc_prog
VAR
intvar: INT;
stringvar: STRING;
fbinst: fublo1;
erg1: INT;
erg2: STRING;
END_VAR
Elément composeur
1 composeur
2 bloc fonction avec variable d'entrée struvar de structure type stru1
Un programme CFC cfc_prog gère une instance du bloc fonction fublo2, qui a une variable de sortie fbout de structure type stru1. Utilisez l'élément sélecteur pour accéder aux composants de la structure.
Définition de la structure stru1 :
TYPE stru1 :
STRUCT
ivar:INT;
strvar:STRING:='hallo';
END_STRUCT
END_TYPE
Déclaration et implémentation du bloc fonction fublo1 :
FUNCTION_BLOCK fublo2
VAR_INPUT CONSTANT
fbin1:INT;
fbin2:DWORD:=24354333;
fbin3:STRING:='hallo';
END_VAR
VAR_INPUT
fbin : INT;
END_VAR
VAR_OUTPUT
fbout : stru1;
fbout2:DWORD;
END_VAR
VAR
fbvar:INT;
fbvar2:STRING;
END_VAR
Déclaration et implémentation du programme cfc_prog :
VAR
intvar: INT;
stringvar: STRING;
fbinst: fublo1;
erg1: INT;
erg2: STRING;
fbinst2: fublo2;
END_VAR
L'illustration montre un élément de sélecteur sur lequel les connexions non reliées ont été supprimées via la commande Supprimer les connexions non reliées.
1 bloc fonction avec variable de sortie fbout de structure type stru1
2 sélecteur