TP 1 BIS Programmation structurée à l’aide de fonctions (FC) et de bloc fonctionnels (FB)
Configuration Sélectionner les différents éléments constituant votre automate dans l’arbre de de droite. Rack => CPU => Cartes => Eléments connectés au PROFIBUS. Enregistrer et compiler Transférer à la CPU TP1 BIS
Création d’une fonction dans un FC Créer un nouveau FC : Clic droit dans Bloc puis sur fonction Lui donner un nom symbolique Ouvrir le FC : Renseigner les variables IN et OUT dans l’interface. Réaliser le programme indiqué dans le texte de TP. TP1 BIS
Utilisation du bloc créé Utiliser le bloc créé : Créer un nouveau FC Faire un call du précédant FC Le bloc correspondant à la fonction va s’afficher. Renseigner toutes les pattes du bloc. Sinon le logiciel vous empêchera de continuer. Ne pas oublier de renseigner les mnémoniques. N.B.: Ce bloc peut être utilisé autant de fois qu’il le faut. TP1 BIS
Création d’une fonction dans un FB TP1 BIS Créer un nouveau FB : Clic droit dans Bloc puis sur fonction Lui donner un nom symbolique Ouvrir le FB : Renseigner les variables IN et OUT dans l’interface. Réaliser le programme indiqué dans le texte de TP.
Utilisation du bloc créé Créer un nouveau FC Faire un call du précédant FB Le bloc correspondant à la fonction va s’afficher. Ici il n’est pas nécessaire de renseigner toutes les pattes. Cependant ce bloc nécessite qu’on lui associe un bloc de données noté DB Ne pas oublier de renseigner les mnémoniques. N.B.: Ce bloc peut être utilisé autant de fois qu’il le faut. TP1 BIS
Call dans l’OB1 N’appeler dans l’OB1 que les FC et/ou FB ou vous exécutez votre bloc de programme TP1 BIS
Résumé Pgm créé dans un FCPgm créé dans un FB - Ne nécessite pas de bloc de données - Nécessite de renseigner toutes les pattes - Une fois que la fonction est exécutée les données locales sont perdues Utilité : Applications avec E/S identiques - Nécessite un DB - Ne nécessite pas de renseigner toutes les pattes - Garde les mémoire (dans le DB) les données de l’exécution précédente. Utilité : Applications quasi identiques avec quelques variations, ou celles ou les données doivent subsister jusqu’au prochain appel. TP1 BIS
DB Multi instance Créer un nouveau FB Insérer le nouveau programme comme indiqué dans le texte de TP Mettre dans stat les variables dont l’état dois être sauvegardé. TP1 BIS
DB Multi instance Créer un nouveau FB (moteur ess_dies) On prendra soin de créer une variable STAT pour chaque moteur, avec pour type de données le FB contenant le programme tapé précédemment. Le bloc à déplacer dans la zone de programmation se trouve dans l’onglet « Multi instance » Il n’est donc plus nécessaire de renseigner un DB par bloc de programme, on aura un DB pour tout le FB contenant les moteurs. Ne pas oublier de faire un call du FB (moteur ess_dies) dans l’OB1 et ainsi lui assigner son DB. TP1 BIS
Compteur ou (ZAEHLER) / Bloc ADD_I Entrée de comptage Entrée de décomptage Init ( Set ) Valeur de départ ( Preselection ) Reset Initialisation Variable 1 ( un octet, un mot, etc… ) Variable 2 ( idem ou un chiffre ex: 1 ) TP1 BIS Sortie Bin Sortie Hex Sortie BCD Résultat de l’incrémentation
Bloc de données global Créer un nouveau DB (même mode opératoire que pour un FC ou un FB) N.B.: Penser à sélectionner l’option « global » L’ouvrir et renseigner les mnémoniques pour les valeurs des trois compteurs ( il incrémente l’adresse tout seul ) Pour envoyer une valeur dans ce DB global il suffit d’utiliser un bloc move, avec pour adresse de sortie : DB N° de votre DB.DBD adresse de votre variable TP1 BIS
Différents DB Le DB global permet de stocker des valeurs provenant de différents endroits ( FC, FB, OB ) Un DB d’instance quant à lui ne peut être lu et écris que par le bloc fonction qui lui est associé. TP1 BIS