والان قم بعمل المحاكاة مرة اخرى والان سنلاحظ الارقام على البلوكات :
والان اصبح البلوك constant والبلوك gain ينفذان مع النظام الفرعى فقط على الرغم انهم خارج النظام الفرعى وموجودين فى النظام الاساسى ويكون ترتيب التنفيذ كالاتى
1- constant
2- subsystem
3- gain
وهذا ما يعرف بى Conditional Execution Behavior او
CE behavior
Propagating Execution Contexts
عموما برنامج السميولينك يقوم بتعريف ما يسمى بى execution context وهذا عبارة عن مجموعة من البلوكات التى تنفذ مرة واحدة خلال زمن معالجة النموذج .
ويقوم ايضا بعمل execution context للنظام الاساسى وايضا لكل نظام فرعى .
واى execution context هو مجموعة البلوكات التى يحتويها النظام
وعند تنفيذ المحاكاة فان السميولينك يقوم بالبحث عن الشروط الاتية فى كل بلوك:
1- هل خرج البلوك مطلوب فقط لتنفيذ نظام فرعى او دخله يتغير فقط نتيجة تنفيذ نظام فرعى
2-
هل هذا البلوك مرتبط فى تنفيذه مع نظام فرعى وهذه الحالة عندما يكون هذا البلوك على حدود النظام الفرعى
3-
هل خرج البلوك ليس نقطة أختبار testpoint وسوف نعرف ما هى نقط الاختبار لاحقا
4-
هل مسموح للبلوك ان يتوارث execution context
5- هل البلوك ليس من النوع multirate block
6- هل زمن التقطيع sample time متوارث او ثابت
واذا فعلا وجد ان هذه الشروط محققة ومسموح ان يتم توليد execution context
فان السميولينك يقوم بنقل البلوك الى execution context الخاص بالنظام الفرعى وهذا للتاكد ان هذا البلوك يتم تنفيذه فقط عندما يتم تنفيذ النظام الفرعى
وللتعامل مع بلوك Switch
يقوم السميولينك بمعالجة كل فرع من دخل البلوك بصورة مخفية ويكون لكل فرع
execution context
الخاص به والذى يتم تفعيله عندما يتم اختيار تنفيذ الفرع وعموما فان كل فرع من هذا البلوك يتم تنفيذه فقط عندما يتم اختياره كدخل .
ملحوظة :: لالغاء خاصية conditional execution behavior
قم بالدخول ال Configuration Parameters ثم Optimization وضع علامة صح عند Conditional input branch execution
ملحوظة ::هناك بعض الحالات لا يستطيع البرنامج استخدام خاصية
Propagate execution context across subsystem boundary
وهى عندما يكون النظام الفرعى من النوع triggered subsystem او النظام الفرعى له اكثر من مدخل او مخرج ولها شرط ابتدائى غير الصفر وفى هذه الحالة البلوك الموجود فى خرج النظام الفرعى لا يمكنه ان يتوارث
subsystem’s execution context
ويكمننا اظهار مستطيلات حول المداخل التى لا يستخدم خاصية
Propagate
execution context
وهذا عن طريق الضغط اختيار قائمة format ثم Block Displays ثم
Execution Context Indicator
انتهى الدرس …