Note de ce sujet :
  • Moyenne : 5 (1 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Contrôleur logique ABA S/1.2.1 : partage de blocs fonctions
#76
(09/09/2020, 21:13:11)kalhimeo a écrit : Moyenne x entrées

Le but du bloc est de calculer la moyenne des nombres en entrée. Il est facile d'adapter ce bloc à tout type de datapoints (1 byte unsigned, 2 byte float, etc.) et à un plus grand nombre d'entrées.

Exemple :
On désire calculer la moyenne de température d'une pièce qui comporte plusieurs capteurs

Fonctionnement : 
1) Adapter les entrées et la sortie du bloc fonction au type de datapoint souhaité (2 byte float pour une température dans l'exemple)
2) Ajouter plus d'entrées si nécessaire, il suffit de modifier la constante par le nombre d'entrées, de copier/coller le N-CONV et le DIV pour chaque nouvelle entrée, et d'ajouter au bloc ADD le résultat des nouveaux blocs DIV.
3) Créer le nouveau bloc fonction après ces modifications, et connecter simplement les valeurs aux entrées pour avoir la moyenne en sortie.
4) Attention chaque entrée doit être utilisée sans quoi la moyenne ne sera pas correcte.

Schéma :

PS: la conversion des entrées en 4 byte float avant les calculs est pour garder le résultat dans la limite des valeurs du datapoint, sinon le ABB retourne 0 (pas vraiment le cas avec les t°, mais avec des 1 byte 0-255 par exemples ça arrive).

Download :

Bonjour,

Merci pour le bloc, ça fonctionne bien avec 2 entrées.

Question 1: 
Est-ce qu'il y a un moyen d'éditer un bloc importé. Je n'ai pas trouvé de fonction "Edit" et le webinaire ABB sur le contrôleur semble confirmer qu'il n'est pas possible de modifier un bloc de fonction importé...c'est bien dommage

Question 2:
J'essaye de faire une moyenne sur 4 entrées pour une grande pièce donc je m'inspire de ta logique. Cela fonctionne mais mes températures sont arrondies en sortie des convertisseurs (N-Conv). Comme je n'ai pas accès au détail de ton bloc je ne vois pas ce que j'oublie. 

Si quelqu'un a une idée?  Angel

[Image: Screenshot-2024-12-29-at-12-18-07.png]
Répondre
#77
en effet il n'est pas possible d'éditer un bloc importé et c'est bien dommage.

ton problème est dû au fait que ton n-conv converti en "1 byte unsigned" (couleur rouge), alors qu'il faudrait convertir en "4 byte float" (brun). De tête je ne sais plus comment cela est défini, mais je pense que c'est la constante qui doit être sélectionnée comme "4 byte float" pour qu'il adapte automatiquement.
Répondre
#78
Je confirme c'est bien le "datatype" de la constante qui détermine la logique d'arrondi. Problème réglé. Merci pour ton retour!
Répondre
#79
pour recréer un .xml, il faut prendre le fichier .fbxml et le renommer en .xml. Voir le post de Ives. D'où l'intérêt de publier sur le forum, le fichier.fbxml
[Image: default_avatar.png]

Ives [Image: buddy_offline.png]
Posting Freak
[Image: star.png][Image: star.png][Image: star.png][Image: star.png][Image: star.png]

Messages : 3,427
Sujets : 39
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)