Data Memory
Esta función de bloque conserva un valor en memoria y, opcionalmente, lo actualiza cuando se solicita. Es útil para preservar el último dato conocido entre ejecuciones o para congelar un valor hasta que se proporcione una actualización explícita.
📥 Entradas
Generic Datos generales de entrada para almacenar en memoria. Puede ser cualquier tipo de dato (números, texto, imagen, listas, diccionarios, etc.).
Update Data Entrada booleana que controla si los datos entrantes deben reemplazar el valor almacenado.
📤 Salidas
Generic El valor actualmente almacenado. Si nunca se actualizó, puede estar vacío/None.
🕹️ Controles
Este bloque no tiene widgets de interfaz adicionales. El comportamiento se controla mediante los dos sockets listados arriba.
🎯 Características
Memoria persistente en el flujo: mantiene un valor entre evaluaciones y solo cambia cuando
Update Dataes verdadero.Acepta cualquier tipo de dato en el socket
Generic.Mecánica simple de congelar/descongelar: ajuste
Update Dataa False para congelar el valor almacenado, True para permitir actualizaciones.
📝 Instrucciones de uso
Alimente el valor que desea conservar en la entrada
Generic.Active
Update Dataa True cuando quiera que la memoria acepte la nueva entrada.Ajuste
Update Dataa False para congelar el valor almacenado; el bloque seguirá emitiendo ese valor hasta que se permita una actualización.
📊 Evaluación
En cada evaluación, el bloque comprueba la entrada Update Data. Si es True, almacena la entrada actual de Generic y la emite. Si es False, emite el valor almacenado previamente sin cambios.
💡 Consejos y trucos
Use junto con
Is Nonepara detectar entradas faltantes antes de escribir en la memoria, manteniendo el valor almacenado a salvo de sobrescrituras accidentales por None.Combine con
Replace Nonepara proporcionar datos de respaldo cuando la entrada esté vacía, y luego controle las escrituras conUpdate Data.Combínelo con
Data Read Local/Data Write LocaloData Read Global/Data Write Globalpara un intercambio más persistente entre diferentes partes de su flujo.Use junto con
Debug Inputpara registrar los valores almacenados durante el desarrollo y verificar cuándo ocurren las actualizaciones de memoria.Al procesar lotes, coordine con
Batch Processing,Get Batch SizeoBatch Concatenationpara controlar si la memoria debe almacenar lotes completos o elementos individuales.Para escenarios de registro o exportación, alimente la salida del bloque hacia
CSV Export,Image Loggeru otros bloques de exportación para registrar los datos preservados solo cuando ocurra una actualización confirmada.
🛠️ Solución de problemas
Si la salida nunca cambia, asegúrese de que la entrada
Update Datase esté configurando a True cuando espere una actualización.Si el valor almacenado se convierte inesperadamente en None, verifique los bloques aguas arriba por salidas None y considere usar
Replace Noneantes de escribir en la memoria.Si varias áreas de su flujo requieren el mismo valor, prefiera los bloques de lectura/escritura local/global para evitar duplicación y asegurar actualizaciones coherentes.
Última actualización