Programmation dans l'éditeur CFC
Note
Vous vous engagez sur le langage d'implémentation lors de la création du POU. Par la suite, il n'est plus possible de passer d'un langage à l'autre. Diagramme de fonctions continues (CFC) et Diagramme de fonctions continues (CFC) - orienté page langages d'implémentation.
Insertion d'éléments et câblage avec lignes de connexion
Faites glisser un Module élément et un Sortie élément dans l'éditeur.
Cliquez sur la sortie du Module élément.
La sortie est marquée d'une module rouge.
Faites glisser une ligne de connexion à partir de la broche de sortie du Module élément à la broche entrée du Sortie élément.
Le symbole du curseur change lorsqu'il atteint la broche entrée .
Relâchez le bouton gauche de la souris.
La broche de sortie du module est câblée à la broche entrée de la sortie.
Vous pouvez également maintenir la touche Ctrl clé, sélectionnez chaque broche, puis faites un clic droit Broches sélectionnées connectées.
Appel d'instances
Créez un nouveau projet en utilisant le modèle standard et spécifiez le nom
First
Par exemple.Le projet
First.project
est créé.Étendez l'application avec le bloc fonctionnel
FB_DoIt
dans le ST langage d'implémentation avec entrées et sorties.Exemple:
FUNCTION_BLOCK FB_DoIt VAR_INPUT iAlfa : INT; iBravo: INT; sCharlie : STRING := 'Charlie'; xItem : BOOL; END_VAR VAR_OUTPUT iResult : INT; sResult : STRING; xResult : BOOL; END_VAR VAR END_VAR iResult := iAlfa + iBravo; IF xItem = TRUE THEN xResult := TRUE; END_IF
Sélectionnez l'application et cliquez sur Ajouter un objet → POU. Sélectionnez le Diagramme de fonctions continues (CFC) langage d'implémentation et le type
Program
. Spécifiez le nomPrgFirst
Par exemple.Cliquez D'ACCORD pour confirmer le dialogue.
Le
PrgFirst
Le programme est créé et s'ouvre dans l'éditeur. Il est encore vide.Instanciez des blocs de fonctions et déclarez des variables.
PROGRAM PrgFirst VAR iCounter: INT; fbDoIt_1 : FB_DoIt; fbDoIt_2 : FB_DoIt; iOut : INT; sOut: STRING; xOut: BOOL; END_VAR
Faites glisser un Module élément de la Boîte à outils vue dans l'éditeur.
Cliquez sur le
???
champ et tapezADD
comme nom de la module .Le type de module est
ADD
La module agit comme un additionneur.Cliquez sur la ligne 3 dans l’éditeur de déclaration.
La ligne de déclaration de
iCounter
est sélectionné.Cliquez dans la sélection et faites glisser la variable sélectionnée dans l'implémentation. Concentrez-vous sur une entrée de la variable.
ADD
module.Une entrée a été créée, déclarée et connectée à la module.
Cliquez à nouveau dans la sélection et faites glisser la variable vers la sortie du
ADD
module.Une sortie a été créée, déclarée et connectée à la module.
Faites glisser un Entrée élément de la Boîte à outils vue de la mise en œuvre. Cliquez sur son
???
champ et tapez1
.Connectez le
1
entrée à une entrée duADD
module.Un réseau est programmé. À l'exécution, le réseau compte les cycles de bus et stocke le résultat dans
iCounter
.Cliquez sur la ligne 5 dans l’éditeur de déclaration.
La ligne est sélectionnée.
Cliquez dans la sélection et faites glisser l'instance sélectionnée dans l'implémentation.
L'instance apparaît sous forme de module dans l'éditeur. Le type, le nom et les repères de la module sont affichés en conséquence.
Faites glisser le
fbDoIt_2
Instance à l'éditeur. Interconnectez les instances entre elles et aux entrées et sorties.Exemple:
Un programme en ST avec les mêmes fonctionnalités pourrait ressembler à ceci :
PROGRAM PrgFirstInSt VAR iCounter: INT; fbDoIt_1 : FB_DoIt; fbDoIt_2 : FB_DoIt; iOut : INT; sOut: STRING; xOut: BOOL; END_VAR iCounter := iCounter + 1; fbDoIt_1(iAlfa := 16, iBravo := 32, sCharlie := 'First', xItem := TRUE, iDelta := 2, iResult => fbDoIt_2.iAlfa, xResult => fbDoIt_2.xItem); fbDoIt_2(iBravo := fbDoIt_1.iResult, sCharlie := 'Second', iDelta := 2, iResult => iOut , sResult=> sOut, xResult => xOut);
Création de marques de connexion
Exigence : Un POU CFC possède des éléments connectés.
Sélectionnez une ligne de connexion entre deux éléments.
La ligne de connexion est affichée comme sélectionnée. Ses extrémités sont marquées d'un
boîtes rouges.
Cliquez CFC → Étiquette de liaison.
La connexion est séparée en un Étiquette de liaison – Source et un Étiquette de liaison – Évier Le nom de la marque est généré automatiquement.
Cliquez sur les marques de connexion source .
Vous pouvez modifier le nom.
Précisez le nom
SimpleMark
pour la étiquette de liaison source .La étiquette de liaison source et la étiquette de liaison cible ont le même nom.
Résolution des collisions et fixation des lignes de connexion au moyen de points de contrôle
L'exemple suivant montre comment utiliser le Routage de toutes les liaisons commandement avec points de contrôle.
Positionnez le Entrée et Sortie éléments. Reliez les éléments.
Position deux Module éléments sur la ligne.
La ligne de connexion et les cases sont marquées en rouge à cause de la collision.
Cliquez CFC → Routage → Routage de toutes les liaisons.
La collision est résolue.
Changez progressivement les lignes de connexion.
La ligne de connexion a été modifiée manuellement et le routage automatique est désormais bloqué. Ceci est indiqué par un symbole de cadenas à la fin de la connexion.
Sélectionnez la ligne de connexion et cliquez sur CFC → Routage → Créer un point de contrôle.
Un point de contrôle est créé sur la ligne de connexion. Cette ligne est fixée au point de contrôle.
Vous pouvez également faire glisser un point de contrôle depuis le Boîte à outils vue sur une ligne.
Modifiez la ligne de connexion comme indiqué dans l’exemple suivant.
Utilisez le point de contrôle pour modifier la ligne de connexion selon vos besoins. Vous pouvez définir autant de points de contrôle que vous le souhaitez.
Dans le menu contextuel, cliquez sur CFC → Routage → Supprimer point de contrôle pour supprimer le point de contrôle.
Cliquez Résoudre la connexion ou cliquez sur le symbole du cadenas pour déverrouiller la connexion.
Sélectionnez la ligne de connexion et cliquez sur Routage de toutes les liaisons.
La ligne de connexion est acheminée automatiquement comme indiqué à l’étape 3.
Important
Les connexions dans un groupe ne sont pas routées automatiquement.
Réduire l'affichage d'une module
Condition préalable : Un POU CFC est ouvert. Dans l'éditeur, ses cases avec toutes les broches déclarées sont affichées.
Sélectionnez une module dont les broches sont partiellement déconnectées.
Exemple:
fb_DoIt_1
La module a besoin d'espace pour toutes les broches.
Cliquez CFC → Broches → Supprimer les connexions non reliées.
Désormais, la module nécessite moins d'espace et s'affiche uniquement avec les broches fonctionnellement pertinentes.