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.

1378

Entrées/Sorties

datatype_icon

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).

Dans les applications multicanaux, entrelacez les données et câblez un élément par période d'horloge à x.
datatype_icon

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

datatype_icon

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.

datatype_icon

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.

datatype_icon

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.

Par exemple, le LSB pourrait provenir de la configuration binaire de la sortie retenue en sortie/report inversé en sortie d'un nœud Accumulateur en amont.
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.

datatype_icon

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.

datatype_icon

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.

Cette sortie apparaît si vous câblez des valeurs numériques signées à x et y.
VraiCe nœud fait passer la valeur de somme par la valeur minimale.
FauxCe nœud ne fait pas passer la valeur de somme par la valeur minimale.
Remarque Si vous avez des nœuds en cascade, vous devez utiliser des versions non signées des nœuds dans les opérations intermédiaires. Définissez l'encodage du nœud final à celui désiré pour toute l'opération en cascade.

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.