Un bloc fonction est un POU qui fournit une ou plusieurs valeurs lors du traitement d'un programme de contrôleur. Contrairement à une fonction, les valeurs des variables de sortie et les variables internes nécessaires doivent persister entre deux exécutions du bloc fonction à la suivante. Par conséquent, l'appel d'un bloc fonction avec les mêmes arguments (paramètres d'entrée) ne doit pas toujours produire les mêmes variables de sortie.
En plus de la fonctionnalité décrite par la norme IEC11631-3, la programmation orientée objet est prise en charge et des blocs fonction peuvent être définis en tant qu'extensions d'autres blocs fonction. Ils peuvent contenir des définitions d'interface relatives à l' appel de méthodes. Il est donc possible d'utiliser l'héritage lors de la programmation avec des blocs fonction.
L'appel d'un bloc fonction se fait toujours par le biais d'une instance, soit une reproduction (copie) du bloc fonction.
Pour ajouter un bloc fonction dans une application, sélectionnez le nœud respectif dans l'arborescence
, cliquez sur le signe plus de couleur verte et choisissez . Vous pouvez aussi cliquer avec le bouton droit sur le nœud et choisir la commande . Pour créer un bloc fonction indépendant d'une application, sélectionnez le nœud dans l'arborescence .Dans la boîte de dialogue
, sélectionnez l'option , saisissez un (<identifiant>) de bloc fonction, puis choisissez le .Vous pouvez en outre définir les options suivantes :
Option |
Description |
---|---|
|
Entrez le nom d'un autre bloc fonction disponible dans le projet afin de l'utiliser comme base du bloc fonction actuel. Pour plus d'informations, consultez Extension d'un bloc fonction. |
|
Entrez les noms des interfaces disponibles dans le projet qui doivent être implémentées dans le bloc fonction actuel. Vous pouvez entrer plusieurs interfaces séparées par des virgules. Pour plus d'informations, consultez Mise en œuvre d'interfaces. |
|
Pour des raisons de compatibilité, les modificateurs d'accès sont facultatifs. Le modificateur équivaut à ne définir aucun modificateur.Vous pouvez aussi choisir l'une des options dans la liste de sélection :
|
|
Choisissez le langage de programmation souhaité pour les objets méthode et propriété créés par le biais de la mise en œuvre de l'interface, sans tenir compte de celui défini pour le bloc fonction lui-même. |
Cliquez sur
pour confirmer les paramètres. L'éditeur du nouveau bloc fonction s'ouvre et vous pouvez commencer à le modifier.Syntaxe
FUNCTION_BLOCK <modificateur d'accès> <nom du bloc fonction> | EXTENDS <nom du bloc fonction> | IMPLEMENTS <liste des noms d'interface, séparés par une virgule>
Viennent ensuite les déclarations des variables. Il est également possible de regrouper les entrées et sorties pour les développer et les réduire rapidement lorsque le bloc fonction est utilisé dans un éditeur FBD ou LD. Reportez-vous également au chapitre Attribute Pingroup.