Data Memory
Ce bloc de fonction conserve une valeur en mémoire et la met à jour optionnellement lorsqu'une mise à jour est demandée. Il est utile pour préserver la dernière donnée connue entre les exécutions ou pour geler une valeur jusqu'à ce qu'une mise à jour explicite soit fournie.
📥 Inputs
Generic Données d'entrée générales à stocker en mémoire. Peut être de n'importe quel type (nombres, texte, image, listes, dictionnaires, etc.).
Update Data Entrée booléenne qui contrôle si les données entrantes doivent remplacer la valeur stockée.
📤 Outputs
Generic La valeur actuellement stockée. Si elle n'a jamais été mise à jour, cette valeur peut être vide/None.
🕹️ Controls
Ce bloc n'a pas de widgets d'interface supplémentaires. Le comportement est contrôlé par les deux sockets listés ci-dessus.
🎯 Features
Mémoire persistante dans le flux : conserve une valeur entre les évaluations et ne change que lorsque
Update Dataest vrai.Accepte n'importe quel type de données sur la prise
Generic.Mécanique simple de gel/dégel : régler
Update Datasur False pour geler la valeur stockée, sur True pour autoriser les mises à jour.
📝 Usage Instructions
Alimentez la valeur que vous souhaitez conserver dans l'entrée
Generic.Basculez
Update Datasur True lorsque vous voulez que la mémoire accepte la nouvelle entrée.Réglez
Update Datasur False pour geler la valeur stockée ; le bloc continuera à renvoyer cette valeur jusqu'à ce qu'une mise à jour soit autorisée.
📊 Evaluation
À chaque évaluation, le bloc vérifie l'entrée Update Data. Si elle est True, il stocke l'entrée courante Generic et la renvoie en sortie. Si elle est False, il renvoie la valeur précédemment stockée inchangée.
💡 Tips and Tricks
Utilisez avec
Is Nonepour détecter les entrées manquantes avant d'écrire en mémoire, afin d'éviter les écrasements accidentels par None.Associez avec
Replace Nonepour fournir des données de secours lorsque l'entrée est vide, puis contrôlez les écritures avecUpdate Data.Combinez avec
Data Read Local/Data Write LocalouData Read Global/Data Write Globalpour un partage plus persistant entre différentes parties de votre flux.Utilisez conjointement avec
Debug Inputpour journaliser les valeurs stockées pendant le développement et vérifier quand la mémoire est mise à jour.Lors du traitement par lots, coordonnez avec
Batch Processing,Get Batch SizeouBatch Concatenationpour déterminer si la mémoire doit stocker des lots entiers ou des éléments individuels.Pour des scénarios de journalisation ou d'export, alimentez la sortie du bloc dans
CSV Export,Image Loggerou d'autres blocs d'export afin d'enregistrer les données préservées uniquement lorsqu'une mise à jour confirmée se produit.
🛠️ Troubleshooting
Si la sortie ne change jamais, assurez-vous que l'entrée
Update Dataest définie sur True lorsque vous attendez une mise à jour.Si la valeur stockée devient None de manière inattendue, vérifiez les blocs en amont pour des sorties None et envisagez d'utiliser
Replace Noneavant d'écrire en mémoire.Si plusieurs zones de votre flux nécessitent la même valeur, préférez les blocs de lecture/écriture local/global pour éviter la duplication et assurer des mises à jour cohérentes.
Mis à jour