Accumulateur (signé)
- Mise à jour2023-02-17
- Temps de lecture : 6 minute(s)
Accumulateur (signé)
Accumule ou décrémente x. Ce nœud supporte les opérations sur plusieurs canaux et la mise à l'échelle de la rétroaction.
Ce nœud ne supporte que les tableau de booléens et les valeurs scalaires de types de données entiers ou à virgule fixe.
Entrées/Sorties

x
Données à ajouter ou soustraire de la valeur de somme. Si x est un tableau de booléens de taille fixe, le premier élément du tableau représentant le bit de poids faible (LSB) et le dernier élément représentant le bit de poids fort (MSB).

soust?
Booléen qui spécifie s'il faut effectuer une soustraction ou une addition. Utilisez cette entrée pour changer d'opération par programmation.
| VRAI | Calcule somme - x. |
| FAUX | Calcule somme + x. |
Default value: FAUX

charger
Booléen qui spécifie s'il faut démarrer une nouvelle accumulation à partir de 0.
| VRAI | Ignore toute valeur antérieure de somme et commence une nouvelle accumulation en chargeant la valeur de x. |
| FAUX | Poursuit l'accumulation à partir des exécutions précédentes. |
Default value: FAUX
Redémarrage de l'accumulation à partir d'un canal spécifique
Dans les applications multicanaux, cette entrée affecte le canal dont les données parviennent à x pendant la période d'horloge lorsque charger change. Par exemple, si vous accumulez des données de deux canaux pendant huit périodes d'horloge, x reçoit les données du canal 1 pendant les première, troisième, cinquième et septième périodes d'horloge. Pour redémarrer l'accumulation pour le canal 1, définissez charger à Vrai pendant une de ces périodes d'horloge. L'accumulation du canal 2 se poursuit sans changement.

activer
Booléen qui spécifie s'il faut agir sur la valeur de x. Utilisez cette entrée pour n'agir que sur des valeurs valides de x. Par exemple, vous pouvez câbler la sortie sortie valide d'un nœud Math haut débit à cette entrée pour qu'Accumulateur n'agisse que si le nœud en amont produit un résultat valide.
| VRAI | Accumule la valeur actuelle de x. |
| FAUX | Ignore x et ne change pas la somme. |
Default value: VRAI
Ignorer les valeurs d'un canal spécifique
Dans les applications multicanaux, cette entrée affecte le canal dont les données parviennent à x pendant la période d'horloge lorsque activer change. Par exemple, si vous accumulez des données de deux canaux pendant huit périodes d'horloge, x reçoit les données du canal 1 pendant les première, troisième, cinquième et septième périodes d'horloge. Pour ignorer la deuxième valeur du canal 1, définissez activer à FAUX pendant la troisième période d'horloge puis redéfinissez-le à VRAI pendant la cinquième période d'horloge. L'accumulation du canal 2 se poursuit sans changement.

retenue en entrée/report inversé en entrée
Booléen qui spécifie si Accumulateur tient compte d'un bit de poids faible (LSB) supplémentaire lorsqu'il calcule la somme.
| VRAI | Si sous? est aussi VRAI : calcule somme - x. Si sous? est FAUX : calcule somme + x + 1(LSB). |
| FAUX | Si sous? est VRAI : calcule somme - x - 1(LSB). Si sous? est aussi FAUX : calcule somme + x. |

somme
Résultat calculé par ce nœud.
Ce résultat dépend non seulement de la valeur de x, mais aussi des valeurs des entrées booléennes du nœud, telles que charger et activer. Dans les applications multicanaux, somme effectue une accumulation séparée pour chaque canal.
Effet du dépassement sur les sommes
Si dépassement renvoie VRAI, LabVIEW rejette les bits de poids fort de somme jusqu'à ce que la valeur soit dans la gamme du type de sortie.

dépassement
Booléen qui indique si la valeur théorique calculée de la somme dépasse la gamme valide de son type de données.
| Vrai | Ce nœud fait passer la valeur de somme par la valeur minimale. |
| Faux | Ce nœud ne fait pas passer la valeur de somme par la valeur minimale. |
Débordement de registre
Spécifie si ce nœud ajoute un registre interne avant le débordement.
Par défaut, cette option n'est pas sélectionnée, ce qui signifie que ce nœud renvoie le résultat du débordement une période d'horloge avant la valeur de somme.
Pour renvoyer la valeur de débordement et celle de somme dans la même période d'horloge, sélectionnez cette option.
Examples
Le tableau suivant montre un exemple de la façon dont ce nœud calcule somme + x dans une application qui accumule les données entrelacées de deux canaux.
| Période d'horloge | entrée x | Explication de x | résultat de la somme | Explication de la somme |
|---|---|---|---|---|
| 1 | 6 | Canal 1, échantillon 1 | - | Accumulateur ne renvoie pas de somme à la première période car il lui faut une période d'horloge pour s'exécuter. |
| 2 | 8 | Canal 2, échantillon 1 | 6 (l'accumulation du canal 1) | Bien que x reçoive des données du canal 2, somme renvoie le calcul des données du canal 1 reçues pendant la période d'horloge 1. Pendant la période 1, somme était 0 et x était 6. Ce nœud renvoie donc 6. |
| 3 | 44 | Canal 1, échantillon 2 | 8 (l'accumulation du canal 2) | Bien que x reçoive des données du canal 1, somme renvoie le calcul des données du canal 2 reçues pendant la période d'horloge 2. Pendant la période 2, somme était 0 pour le canal 2 et x était 8. Ce nœud renvoie donc 8. |
| 4 | 5 | Canal 2, échantillon 2 | 50 (l'accumulation du canal 1) | 6 (somme de la période d'horloge 2) + 44 (x de la période d'horloge 3) |
| 5 | 2 | Canal 1, échantillon 3 | 13 (l'accumulation du canal 2) | 8 (somme de la période d'horloge 3) + 5 (x de la période d'horloge 4) |
| 6 | 3 | Canal 2, échantillon 3 | 52 (l'accumulation du canal 1) | 50 (somme de la période d'horloge 4) + 2 (x de la période d'horloge 5) |
| 7 | - | Il n'y a plus de données du canal 1. | 16 (l'accumulation du canal 2) | 13 (somme de la période d'horloge 5) + 3 (x de la période d'horloge 6) |
Réinitialisation de l'accumulation
Pour démarrer une nouvelle accumulation, définissez l'entrée charger à VRAI. Puis réinitialisez charger à FAUX tant que vous voulez que la somme accumule des valeurs.
Opération multicanal
Deux facteurs définissent comment ce nœud agit sur les données de plusieurs canaux.
- Ce nœud met toujours une période à calculer une valeur de somme,
- Pour chaque canal, ce nœud maintient des valeurs internes séparées de somme.
Étant donné un ensemble de données entrelacées de deux canaux, ce comportement signifie que pendant une période où x est du canal 1, le nœud renvoie une valeur de somme pour le canal 2. Pour un exemple détaillé de ce comportement, reportez-vous à l'onglet Exemples de ce nœud.
Effet sur les performances des simulations
Ce nœud peut ralentir considérablement l'exécution des simulations si vous l'utilisez avec le téléchargement, l'arrêt ou l'exécution du VI FPGA.