Data Memory
هذا البلوك الوظيفي يحتفظ بقيمة في الذاكرة ويقوم بتحديثها اختياريًا عند الطلب. مفيد للحفاظ على آخر قيمة معروفة عبر مرات التشغيل أو لتجميد قيمة حتى يتم إجراء تحديث صريح.
📥 المدخلات
Generic
مدخل عام لتخزينه في الذاكرة. يمكن أن يكون أي نوع من البيانات (أرقام، نص، صورة، قوائم، قواميس، إلخ).
Update Data
مدخل منطقي (Boolean) يحدد ما إذا كانت البيانات الواردة يجب أن تحل محل القيمة المخزنة أم لا.
📤 المخرجات
Generic
القيمة المخزنة حاليًا. إذا لم يتم تحديثها أبدًا، فقد تكون فارغة/None.
🕹️ الضوابط
لا يحتوي هذا البلوك على عناصر واجهة إضافية. يتم التحكم في سلوكه عبر الموصلين (sockets) المذكورين أعلاه.
🎯 الميزات
ذاكرة متجددة ضمن التدفق: يحتفظ بقيمة عبر التقييمات ولا تتغير إلا عندما يكون
Update Dataصحيحًا.يقبل أي نوع بيانات عبر الموصل
Generic.آلية تجميد/إلغاء تجميد بسيطة: اضبط
Update Dataعلى False لتجميد القيمة المخزنة، وعلى True للسماح بالتحديثات.
📝 تعليمات الاستخدام
أدخل القيمة التي تريد الاحتفاظ بها في المدخل
Generic.قم بتفعيل
Update Data(اضبطها على True) عندما تريد أن يقبل الذاكرة الإدخال الجديد.اضبط
Update Dataعلى False لتجميد القيمة المخزنة؛ سيستمر البلوك في إخراج تلك القيمة حتى يُسمح بتحديث جديد.
📊 التقييم
في كل عملية تقييم، يتحقق البلوك من حالة المدخل Update Data. إذا كان True، يخزن المدخل الحالي من Generic ويخرجه. إذا كان False، يخرج القيمة المخزنة سابقًا دون تغيير.
💡 نصائح وحيل
استخدم مع
Is Noneلاكتشاف المدخلات المفقودة قبل الكتابة إلى الذاكرة، للحماية من الكتابة العرضية لقيمة None.اقتران مع
Replace Noneلتوفير بيانات بديلة عندما يكون الإدخال فارغًا، ثم تحكم في الكتابة عبرUpdate Data.اجمع معه
Data Read Local/Data Write LocalأوData Read Global/Data Write Globalللمشاركة الدائمة بين أجزاء مختلفة من التدفق.استخدم مع
Debug Inputلتسجيل القيم المخزنة أثناء التطوير والتحقق متى تحدث تحديثات الذاكرة.عند معالجة دفعات (batches)، انسق مع
Batch Processing,Get Batch Size, أوBatch Concatenationلتحديد ما إذا كانت الذاكرة ستخزن الدُفعات كاملة أم عناصر فردية.لتسجيل أو تصدير، غذّ مخرج البلوك إلى
CSV Export,Image Loggerأو غيرها من بلوكات التصدير لتسجيل البيانات المحفوظة فقط عند حدوث تحديث مؤكد.
🛠️ استكشاف الأخطاء وإصلاحها
إذا لم يتغير الإخراج أبدًا، تأكد من أن المدخل
Update Dataيتم ضبطه على True عند توقعك لتحديث.إذا أصبحت القيمة المخزنة None بشكل غير متوقع، راجع البلوكات الصاعدة (upstream) بحثًا عن مخرجات None وفكر في استخدام
Replace Noneقبل الكتابة للذاكرة.إذا احتاجت مناطق متعددة من التدفق لنفس القيمة، فضّل استخدام بلوكات القراءة/الكتابة المحلية أو العالمية لتجنب التكرار وضمان تحديثات متسقة.
آخر تحديث