:جديد المواضيع
صفحة 4 من 4 الأولىالأولى 1234
النتائج 31 إلى 35 من 35

دورة المحاكاة بإستخدام السميولينك Simulink

  1. #31
    عضو متميز

    User Info Menu

    وعندما نقوم بوضع بلوك model فى نموذج فارغ يكون شكله كما يلى

    والان سنقوم بعمل نموذج اخر جديد اسمه ref1وليكن كما فى الشكل الاتى :

    والان قم بالضغط على بلوك model الموجود فى النموذج الاول وستظهر لنا نافذه الخيارات كما يلى ::

    واسم النموذج المطلوب الرجوع له هو ref1
    ويجب ان يكون النموذج المطلوب الرجوع اليه يستخدم solver من النوع
    Fixed step لمعرفة كيفية عمل هذه راجع الفصول السابقة
    والان عند الضغط على البلوك يفتح لنا النموذج الذى سوف يرجع له
    ولتغير خصائصه افتح قائمة edit واختار model reference parameters
    والان سنقوم بتوصيل step على المدخل و scope على المخرج وسيصبح شكل النموذج كما يلى ::

    ويجب ملاحظة ان الخصائص التى يمكن تعديلها اثناء عملية المحاكاة هى المتغيرات والخصائص الموجودة فى المستوى الاعلى او
    global tunable parameters
    ولذلك عند الحاجة لعمل تعديل فى خصائص نموذج يتم الرجوع عليه أثناء عملية المحاكاة فانه يجب ان نقوم بتعديل هذه الخصائص وجعلها من النوع
    global tunable parameters.
    وسوف نتعرف عليها لاحقا .



    Using Model Arguments

    نستخدم Model Argumentsعندما نريد عمل أكثر من مرجعية لنفس النموذج ولكن بسلوك مختلف ومثال على ذلك اننا نريد عمل reference مرتان لل
    Counter ولكن سنختار قيمة ابتدائية وخطوة عد مختلفة فى كلا ال reference

    ولعمل ذلك يجب علينا عمل الاتى :
    1- Declare model workspace variables that determine the model's behavior as model arguments
    نقوم بعمل تعريف للمتغيرات فى workspace حيث يوجد فى ال workspaceنوعان من المتغيرات وهما
    global nontunable parameters
    global tunable parameters

    2- Assign values to the model arguments in each reference to the parameterized model
    وهذه القيم الخاصة بكل مرجعية والان سنعرف كيفية عمل ما سبق ذكره
    تابع



    0 Not allowed!
    التعديل الأخير تم بواسطة ahmedeldeep ; 2006-07-05 الساعة 11:08 AM
    Eng Ahmed El Deep
    Mechatronics Engineer

  2. #32
    عضو متميز

    User Info Menu

    اولا لتعريف Model Arguments
    قم بقتح النموذج المرجع ثم قم بالدخول الى متصفح النموذج عن طريق اختيار قائمة view ثم اختيار model explorer
    وسيظهر لنا الشكل الاتى ::

    قم باختيار model workspace كما فى الشكل الاتى ::

    وفى الشكل السابق نجد ان ال workspace فارغة ولذلك سنقوم بعمل المتغيرات فى ال workspace عن طريق الدخول الى قائمة add فى متصفح النموذج ثم اختيار MATLAB variable كما يلى

    ثم قم بتعديل المتغير واسمه كما تريد فمثلا فى ال counter نريد متغيران احدهما بقيمة صفر وهو القيمة الابتدائية والاخر هو الخطوة ولتكن قيمتها تساوى 1
    كما بالشكل الاتى ::

    والان قم بادخال هذه الاسماء فى خانة Model Arguments الموجود فى اليمين
    كما بالشكل الاتى :: مع مراعاه استخدام فاصلة بينهما

    والان اذهب الى النموذج الاصلى وقم اختيار Model block's parameter من قائمة edit
    والان قم بادخال قيم Model Argument الخاصة بهذه المرجعية كما بالشكل الاتى ::

    تمرين ::
    حاول ان تقوم بعمل نموذج يحتوى على مرجعيتين لنموذج واحد وليكن لى counter بسيط مع تغير خصائص المرجعيتين كما سبق وفى انتظار حلولكم ؟!








    0 Not allowed!
    Eng Ahmed El Deep
    Mechatronics Engineer

  3. #33
    عضو متميز

    User Info Menu

    Model Block Sample Times

    يكون زمن التقطيع لهذا البلوك هو زمن التقطيع للنموذج الذى يرجع له ويتم تحديد ذلك فى ال simulation target ويتم تحديد ايضا اذا كان هذا النموذج يحتاج لان يتوارث زمن التقطيع ام لا من النموذج الاساسى ويكون ذلك فى الحالات الاتية
    1- لا يوجد به بلوكات لها زمن تقطيع (متوارثة او ثوابت )
    2- لا يوجد به اى حالات مستمرة
    3- لا يوجد به بلوكات تحتوى تستخدم الزمن المطلق
    4- يستخدم fixed-step solver ولكن ليس fixed step size
    5- البلوكات التى يكون لدينا زمن تقطيع واحد بعد عملية توليد زمن التقطيع
    sample time propagation وهذا الزمن لا يشمل الثوابت او triggered sample time

    6- لا يوجد بالنموذج اى بلوكات تعوق عملية توارث زمن التقطيع

    ويمكننا استخدام بلوكات مرجعية لنماذج تتوارث زمن تقطيعها فى اى مكان فى النظام الاساسى وبالمثل لا يمكننا استخدام بلوكات مرجعية لها زمن تقطيع مستخدم فى
    Triggered subsystem
    Function call
    iterator subsystem

    وفى بعض الاحيان قد تتولد اخطاء نتيجة عملية تداخل الازمنة ولتجنب هذه الاخطاء يجب التاكد ان البلوكات الموصلة الى النظام المرجعى لها زمن تقطيع مثل المستخدم فى النظام الذى سيتم الرجوع اليه .

    Blocks That Preclude Sample-Time Inheritance
    البلوكات التى تعوق عملية توارث زمن التقطيع

    عند استخدام البلوكات التى يعتمد خرجها على زمن تقطيع متوارث من نظام مرجعى فان البرنامج يقوم باعطاء اخطاء وعند بناء ال simulation target فان السميولينك يقوم بالبحث عن هذه البلوكات واذا وجدها فانه يقوم بعمل ال simulation target بزمن التقطيع ال default ويقوم بعرض خطأ
    ومن امثلة هذه البلوكات التى خرجها يعتمد على زمن تقطيعها المتوارث ولذلك فهى تعيق النظام المرجعى من عملية توارثه لزمن التقطيع من النظام الاساسى



    Discrete-Time Integrator



    From Workspace (if it has input data that contains time)



    Probe (if probing sample time)



    Rate Limiter



    Sine Wave


    تمرين ::
    حاول القيام بعمل نموذج يحتوى على بلوك model يرجع الى نموذج اخر وقم بوضع احد من البلوكات التى تعوق عملية توارث زمن التقطيع فى النظام المرجعى

    Referenced Model I/O

    هناك بعض القيود على توصيل مداخل و مخارج بلوك model وهى :
    Bus I/O Limitations
    يمكن توصيل البلوك المرجعى بمداخل او مخارج من النوع bus فى حالة
    1- ان يكون المدخل معرف على انه bus object
    2- ان يكون ال bus object معرف فى ال workspace على انه مرئى فى النظام الاساسى والنظام المرجعى
    3- يجب ان يكون ال bus تم عمله بواسطة Bus Creator block

    Index I/O Limitations

    فى بعض الاحيان فان السميولينك لا يستطيع ان يقوم بعملية توليد لل

    كود:
     0 - or 1-  based indexing
    فمثلا فى البلوك for فان الدخل يكون موصل الى

    كود:
    0- or 1-based indexing
    فان البرنامج لا يستطيع تخصيص نفس القيم للخرج فى حالة النظام المرجعى

    Matching I/O Rates

    يجب ان تكون بلوكات الادخال وبلوكات الاخراج فى النظام المرجعى لها نفس ال rate

    Building Simulation Targets

    ال Simulation Targets هى S-function تقوم بحساب خرج النظام المرجعى فى حالة تنفيذ النظام الاصلى
    ويمكننا جعل السميولينك ان يقوم بتوليد simulation targets فى اى وقت باستخدام updating the model's diagram من قائمة edit او من خلال تنفيذ امر slbuild .
    ويقوم السميولينك بتوليدها فى بداية عملية المحاكاة ولذلك ينبغى عليك ان تقوم بتوليدها مره اخر اذا قمت بعمل تعديل لبعض الخصائص اثناء عملية المحاكاة .
    ومن الممكن التغلب على هذا بجعل البرنامج يقوم دائما بعمل اعادة بناء لكل targets الموجودة .
    واثناء عملية البناء يقوم الماتلاب بعرض الخطوات فى سطر الاوامر ويكون بناء هذه الملفات فى نفس مسار البرنامج ويقوم بعمل مسار فرعى باسم slprj ويستخدم هذا المسار ايضا مع Simulink Accelerator و Real-Time Workshop



    0 Not allowed!
    Eng Ahmed El Deep
    Mechatronics Engineer

  4. #34
    عضو متميز

    User Info Menu

    Function-Call Models

    هناك بعض البلوكات من الممكن ان يقوم بالتحكم فى عمل النظام المرجعى مثل
    Function-Call Generator
    ويسمى البلوك الذى يقوم بهذه العملية فى حالة النظام المرجعى هوfunction-call model.
    وسنقوم الان بعمل مثال على هذا النوع
    قم بوضع بلوك trigger فى النظام المرجعى ثم قم بوضع ال trigger من النوع function call وفى هذا الحالة نلاحظ ظهور سهم على بلوك Model
    والان قم بوضع بلوك function call controller الموجود فى
    ports & subsystem
    ثم قم بتوصيله ببلوك model
    والان قم بالدخول الى قائمة simulation واختار configure parameters
    وفى خانه ال solver اختار fixed step واختار من قائمة
    Periodic sample time constraint
    اختار Ensure sample time independent
    ويجب ملاحظة ان اشارة الدالة يجب ان تكون scalar
    وسيكون النموذج على الشكل الاتى :


    Browsing Model Reference Dependencies

    يمكننا عرض شكل لتسلسل الانظمة المرجعية فى صورة هرمية من خلال الدخول على قائمة Tools ثم اختيار Model Reference Graph او عن طريق ادخال الامر الاتى فى الماتلاب
    view_mdlrefs
    وسيظهر لنا الشكل الاتى

    Converting Subsystems to Model References

    يمكننا تحويل النظام الفرعى الى نظام مرجعى من خلال الظغط كليك يمين واختيار
    Convert to Model Block ولكن فى حالة atomic subsystem فقط
    انتهى الدرس السادس



    0 Not allowed!
    Eng Ahmed El Deep
    Mechatronics Engineer

  5. #35
    عضو متميز

    User Info Menu

    السلام عليكم ورحمة الله وبركاته
    اخوانى الاعزاء اسف جدا على عدم استكمال الدورة وان شاء الله سيتم استكمالها على منتدى أخر
    ومن يريد معرفة يرجى مراسلى على الخاص



    0 Not allowed!
    Eng Ahmed El Deep
    Mechatronics Engineer

صفحة 4 من 4 الأولىالأولى 1234

الكلمات الدلالية لهذا الموضوع

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •