> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/data-logic/signal-operators/delay-step.md).

# Delay Step

هذا الـ function block يؤخر الإشارة الواردة بمقدار خطوة تنفيذ واحدة. يقوم بإخراج القيمة السابقة التي استلمها على المقبس `Input` ويُحدّث ذاكرته الداخلية بالقيمة الحالية للاستخدام في التشغيل التالي. استخدم هذا البلوك عندما تحتاج إلى تأخير مقدار خطوة واحدة في معالجة الإشارات أو لكسر حلقة تغذية راجعة فورية.

## 📥 المدخلات

`Input` — إشارة إدخال عامة ليتم تأخيرها. يقبل أي نوع بيانات.

## 📤 المخرجات

`Output` — القيمة المقدمة في خطوة التنفيذ السابقة. في أول تشغيل قد تكون فارغة (لا توجد قيمة سابقة).

## 🕹️ عناصر التحكم

لا توجد عناصر تحكم تفاعلية أو ويدجيت لهذا البلوك.

## ⚙️ آلية التشغيل

في كل دورة تنفيذ:

* يرجع البلوك القيمة المخزنة من الدورة السابقة عبر `Output`.
* يستبدل القيمة المخزنة بالقيمة الحالية من `Input` لاستخدامها في الدورة التالية.

هذا السلوك ينشئ تأخيرًا ثابتًا بمرحلة واحدة بين الإدخال والإخراج دون تعديل محتوى الإشارة.

## 🎯 الميزات

* تأخير بسيط وموثوق لمقدار خطوة واحدة لأي نوع بيانات.
* مفيد لإنشاء علاقات زمنية بين الإشارات.
* يساعد في كسر حلقات التغذية الراجعة الفورية في الرسوم البيانية التي تتطلب تحديثات حالة متسلسلة.

## 📝 تعليمات الاستخدام

1. وصل أي بلوك يولد إشارة إلى المقبس `Input`.
2. استخدم `Output` أينما تحتاج إلى قيمة الخطوة السابقة.
3. إذا كانت القيمة الفارغة في أول تشغيل غير مقبولة، قم بالتعامل معها بواسطة بلوك مثل `Replace None` أو تهيئة البيانات صعودًا بشكل مشروط.

## 💡 نصائح وحيل

* امزجه مع `Edge Rising` أو `Edge Falling` لاكتشاف التحولات مع سجل خطوة واحدة للتخلص من الاهتزازات أو لكشف تسلسلات.
* استخدمه مع `Set - Reset` أو `Counter` لبناء آلات حالة بسيطة أو منطق عدّ يحتاج إلى معلومات الحالة السابقة.
* ضعه قبل البلوكات المنطقية مثل `And` / `Or` عند الحاجة لتزامن توقيت الإشارات.
* استخدمه مع `Data Memory` أو `Data Write Local` / `Data Read Local` عند بناء أنظمة حالة أكثر تعقيدًا أو الحاجة لحفظ القيم عبر عدة خطوات أو أنظمة فرعية.
* ضع البلوك قبل `Demux` / `Mux` أو `Batch Processing` عند تأخير هياكل بيانات مركبة للحفاظ على محاذاة التسلسل.
* إذا كان سير عملك يتضمن تبديلات يدوية، اقترن بـ `Logic Input` لإنشاء توقيت خطوة يدوية مع سجل خطوة واحدة.

## 🛠️ استكشاف الأخطاء وإصلاحها

* الإخراج يظهر فارغًا في التشغيل الأول: هذا متوقع. لتجنب المشكلات، قم بتهيئة البيانات صعودًا أو استخدم `Replace None` لاستبدال القيمة الافتراضية.
* الإشارات تبدو غير متزامنة: تذكّر أن المخرجات دائمًا متأخرة بمقدار خطوة تنفيذ عن المدخلات. تأكد من محاذاة البلوكات الأخرى في التدفق أو أدخل بلوكات `Delay Step` إضافية عند الحاجة.
* حلقات تغذية راجعة غير متوقعة: استخدم هذا البلوك لكسر الدورات الفورية؛ غالبًا ما يحل تأخير خطوة واحدة مشاكل الاستقرار والترتيب.
