تم افتتاح مركز رفع الملفات للأعضاء من جديد ..  و نعتذر عن عدم إمكانية دمج المركز السابق مع المركز الحالي لرفع الملفات ........ ( إدارة الملتقى )

العودة   ملتقى المهندسين العرب > الملتقى الهندسي > هندسة الميكاترونكس > برنامج الـ Matlab
التسجيل التعليمـــات قائمة الأعضاء التقويم مركز رفع الملفات اجعل كافة الأقسام مقروءة
للتأكد من صحة الحديث قبل نشره اضغط هنا  -   مشاكل التسجيل و تفعيل العضوية اضغط هنا
موضوع مغلق
 
LinkBack أدوات الموضوع تقييم الموضوع
  #16 (permalink)  
قديم 23-06-2006, 07:30 PM
عضو متميز
 
تاريخ التسجيل: Aug 2005
المشاركات: 468
معدل تقييم المستوى: 0
ahmedeldeep يستحق التميز
ويجب ملاحظة ان triggered subsystems
تختلف عن الانظمة enabled subsystems
حيث انها تقوم بحجز اخر قيمة للخرج ولا يمكننا استعادة الخرج عند قيمة ابتدائية ماعدا الانواع التى يكون استدعائها بأمر وهى البلوكات
Function-Call Subsystems
ويكون شرط تنفيذ هذه البلوكات مرتبط بأمر منطقى فى ال S-function الخاصة بالبلوك وسوف نتعرض لها لاحقا .

ملحوظة ::
جميع البلوكات فى الانظمة الفرعية التى تستخدم الTrigger يجب ان يكون زمن تقطيعها متوارث (-1) او مالانهاية وهذا معناه ان البلوكات الموجودة فى النظام الفرعى يتم تشغيلها عند تشغيل النظام الفرعى اى يجب ان لا يحتوى النظام الفرعى على بلوكات ذات زمن متصل مثل بلوك التكامل.


ونقوم الان بعمل هذا المثال البسيط كما يلى ::



والنظام الفرعى



وستكون نتيجة تنفيذ هذا المثال كما يلى :



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


تابع
__________________
Eng Ahmed El Deep
Mechatronics Engineer
  #17 (permalink)  
قديم 23-06-2006, 07:35 PM
عضو متميز
 
تاريخ التسجيل: Aug 2005
المشاركات: 468
معدل تقييم المستوى: 0
ahmedeldeep يستحق التميز

ثالثا :: Triggered and Enabled Subsystems

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



والان سنقوم بعمل مثال بسيط على هذا النوع
قم بتكوين المثال كما بالرسم الاتى ::



ويكون النظام الفرعى كما فى الرسم الاتى



ونتيجة تنفيذ المثال الاتى موجودة فى الشكل التالى ::



ومن الشكل السابق نجد ان الاشارة التى باللون السماوى هى اشارة الدخل وهى عبارة عن sine wave اما الاشارة التى باللون الاصفر فهى ال trigger وهى عبارة عن step input وتبدا عند الزمن واحد ثانية لتصبح قيمتها تساوى واحد وتستمر حتى أخر زمن المحاكاه وهذه الاشارة تستخدم فى محاكاة الانظمة الديناميكية والتى تعبر عن تغير مفاجى فى قيم النظام .

اما الاشارة التى باللون الاحمر فهى عبارة عن pulse مدتها 10 ثوانى وتكون قيمتها تساوى واحد فى 50% من الفترة الزمنية duty cycle وهنا نستخدمها للتعبير عن اشارة التحكم enable

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


تابع

__________________
Eng Ahmed El Deep
Mechatronics Engineer
  #18 (permalink)  
قديم 23-06-2006, 07:40 PM
عضو متميز
 
تاريخ التسجيل: Aug 2005
المشاركات: 468
معدل تقييم المستوى: 0
ahmedeldeep يستحق التميز

Creating Alternately Executing Subsystems

يمكننا استخدام الانظمة الفرعية المتوقف تنفيذها على اشارة تحكم مع بلوك merge الذى يستخدم لدمج اشارتين معا لعمل انظمة فرعية يتم تنفيذها بالتبادل ويتم اعتمادها على حالة الموديل

والان سنقوم بتطبيق المثال الاتى وهو موديل لعمل full-wave rectifier والتى تستخدم فى تحويل التيار المتردد الى تيار مستمر :



ويتكون من نظامان فرعيان كما يلى

النظام الفرعى الاول



النظام الفرعى الثانى



وتكون نتيجة التنفيذ كما يلى ::



تابع
__________________
Eng Ahmed El Deep
Mechatronics Engineer
  #19 (permalink)  
قديم 23-06-2006, 07:49 PM
عضو متميز
 
تاريخ التسجيل: Aug 2005
المشاركات: 468
معدل تقييم المستوى: 0
ahmedeldeep يستحق التميز


Conditional Execution Behavior

يقوم السميولينك بتجنب البلوكات الغير ضرورية اثناء عملية تنفيذ المحاكاة ومن امثلة هذه البلوكات Switch او Multiport Switch وهما يستخدمان فى تحويل الاشارات وايضا من البلوكات التى من الممكن تكون غير ضرورية الانظمة الفرعية المرتبطة بشرط لتنفيذها وهذا يسمى

conditional execution (CE) behavior.

وفى المثال الاتى سوف نقوم بمعرفة هذه الخاصية :



والنظام الفرعى كما فى الصورة الاتية :



وقبل عمل ال simulation قم بالدخول الى قائمة format ثم اختيار
Block displays
ثم sorted order كما فى الصورة الاتية ::



وبعد عمل ال simulation نلاحظ وجود ارقام فوق كل بلوك وهذه الارقام تكون على الصورة الاتية :

X:Y

حيث يعبر عن X على انها الطبقة layer الموجود فيها البلوك فكل البلوكات الموجودة فى الطبقة الاساسية يكون لها ال X=0

اما Y فترمز الى ترتيب تنفيذ البلوك ففى الشكل الاتى نجد :



بلوكات ال
Pulse generator
و constant و subsystem و gain و scope تحتوى على رقم X يساوى الى صفر اى انها تنتمى الى الطبقة الاساسية فى الموديل ويكون ترتيب تنفيذها وهو الرقم Y كما يلى
1- Pulse generator
2- constant
3- subsystem
4- gain
5- scope
ونلاحظ هنا ان بلوك subsystem عليه الاتى 0:2{1} وهذا معناه انه يحتوى على الطبقة الاولى وهى تاتى بعد الطبقة الاساسية
وبالدخول الى النظام الفرعى نجد الاتى ::



ونجد بلوك الادخال يحتوى على الرقم الاتى 1:0 وهذا معناه انه موجود فى الطبقة الاولى و سيكون تنفيذه فى البداية وبلوك الاخراج لا يحتوى على اى ارقام لانه لم يتم تنفيذه لعدم وجود ما يتم اخراجه

والان قم بالضغط كليك يمين على بلوك subsystem واختيار
Subsystem parameters


وعندما تفتح لك نافذه الاختيار قم بوضع علامة صح حول
Propagate execution context across subsystem boundary



وهذا فائدته ان يقوم بجعل تنفيذ البلوكات الموجودة حول النظام الفرعى مرتبط بتنفيذ النظام الفرعى وهذا يعمل على زيادة سرعة المحاكاة مثلا لدينا بلوك gain لن نحتاجه الا عندما يتم تنفيذ النظام الفرعى وعند ايقاف النظام الفرعى غير مهم تنفيذ هذا البلوك



تابع
__________________
Eng Ahmed El Deep
Mechatronics Engineer
  #20 (permalink)  
قديم 23-06-2006, 07:58 PM
عضو متميز
 
تاريخ التسجيل: Aug 2005
المشاركات: 468
معدل تقييم المستوى: 0
ahmedeldeep يستحق التميز
والان قم بعمل المحاكاة مرة اخرى والان سنلاحظ الارقام على البلوكات :



والان اصبح البلوك 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
ويكون شكلها كما يلى

انتهى الدرس ..

__________________
Eng Ahmed El Deep
Mechatronics Engineer
  #21 (permalink)  
قديم 30-06-2006, 04:57 PM
عضو
 
تاريخ التسجيل: Jun 2006
المشاركات: 32
معدل تقييم المستوى: 0
تلميذ يستحق التميز
عفوا لكن هل بإمكاني الاشتراك في هذه الدورة
  #22 (permalink)  
قديم 30-06-2006, 04:58 PM
عضو
 
تاريخ التسجيل: Jun 2006
المشاركات: 32
معدل تقييم المستوى: 0
تلميذ يستحق التميز
أول سؤال لي في هذا الموضوع
  #23 (permalink)  
قديم 30-06-2006, 05:02 PM
عضو
 
تاريخ التسجيل: Jun 2006
المشاركات: 32
معدل تقييم المستوى: 0
تلميذ يستحق التميز
قرأت ذات مرة أنه بالإمكان تحويل رسمة ثلاثية الأبعاد في برنامج رسم ميكانيكي (Mechanical desktop) مع علاقة العناصر و ارتباط الألات ببعضها إلى (Matlab( و تحليل درجات حريتها و حركتها فهل نخبرني كيف يتم ذلك , رجاء
لأنني لم أتمكن من تطبيقها
  #24 (permalink)  
قديم 30-06-2006, 05:03 PM
عضو
 
تاريخ التسجيل: Jun 2006
المشاركات: 32
معدل تقييم المستوى: 0
تلميذ يستحق التميز
عفوأ نسيت أن أقول أن الماتلاب يقرأ الرسومات الميكانيكية بلغة (xml( و شكرا
  #25 (permalink)  
قديم 30-06-2006, 05:07 PM
عضو متميز
 
تاريخ التسجيل: Aug 2005
المشاركات: 468
معدل تقييم المستوى: 0
ahmedeldeep يستحق التميز
اقتباس:
المشاركة الأصلية كتبت بواسطة تلميذ
عفوأ نسيت أن أقول أن الماتلاب يقرأ الرسومات الميكانيكية بلغة (xml( و شكرا
اهلا بك اخى العزيز
وبالنسبة للماتلاب يجب ان بكون الرسومات فى صورة ملفات من الممكن قراءتها فى الماتلاب مثل xml كما ذكرت او data او excel وتكون عبارة على بيانات ثلاثية الابعاد ثم نقوم بتوقيعها للحصول على الرسم المطلوب
ويمكنك بالفعل الاشتراك فى الدورة واهلا بك مرة اخرى
__________________
Eng Ahmed El Deep
Mechatronics Engineer
  #26 (permalink)  
قديم 02-07-2006, 11:22 PM
عضو
 
تاريخ التسجيل: Jul 2006
المشاركات: 32
معدل تقييم المستوى: 0
Ghazala_mea يستحق التميز
دائما بكل جديد وشكل جديد
احمد باشا
  #27 (permalink)  
قديم 03-07-2006, 01:30 AM
عضو متميز
 
تاريخ التسجيل: Aug 2005
المشاركات: 468
معدل تقييم المستوى: 0
ahmedeldeep يستحق التميز
اقتباس:
المشاركة الأصلية كتبت بواسطة Ghazala_mea
دائما بكل جديد وشكل جديد
احمد باشا
اهلا بك اخى الكريم
__________________
Eng Ahmed El Deep
Mechatronics Engineer
  #28 (permalink)  
قديم 05-07-2006, 06:58 AM
عضو
 
تاريخ التسجيل: Jul 2006
المشاركات: 41
معدل تقييم المستوى: 0
belall يستحق التميز
جزاكم الله خيرا

شكرا لكم على هذا المجهود
انا فى الفرقه الرابعة قسم قوى ميكانيكية وأنى فى اشد الحاجه الى هذا العلم
وارجو من سيادتكم اعطاءنا المزيد
خيراوجزاكم الله
  #29 (permalink)  
قديم 05-07-2006, 09:01 AM
عضو
 
تاريخ التسجيل: Jun 2006
المشاركات: 12
معدل تقييم المستوى: 0
smart_storm يستحق التميز
رائع

[FRAME="12 70"]
السلام عليكم

بالفعل رائع موضوع وشرح وألقاء


بالفعل رائع نشكرك جدا جدا
[/FRAME]
  #30 (permalink)  
قديم 05-07-2006, 10:16 AM
عضو متميز
 
تاريخ التسجيل: Aug 2005
المشاركات: 468
معدل تقييم المستوى: 0
ahmedeldeep يستحق التميز
الدرس السادس : 1/7/2006

Referencing Models
المقصود بها هو ادراج نماذج تم عملها سابقا الى الموديل الحالى ويتم اعتبارها على انها بلوكات .
ويتم ذلك عن طريق اضافة بلوك model الموجود فى
simulink
ثم
Ports & subsystems
وهذا النوع من البلوك يسمى instance
ويقوم هذا البلوك بعرض المداخل والمخارج حسب الموجود فى الموديل الاصلى والذى يقوم هذا البلوك بالرجوع له .
واثناء عملية المحاكاة يقوم السميولينك باستحضار S-function تم عملها اتوماتيكيا وتسمى the referenced model's simulation target وذلك لحساب خرج البلوك عند الحاجة .
واذا حدث اى تغيير فى الموديل الاصلى فان السميولينك يقوم بعمل اعادة توليد لل
simulation target .
ويمكن ايضا ان يتم عمل Referencing لنموذج به Referencing
لنموذج أخر وفى هذه الحالة يكون اعلى موديل فى التسلسل الهرمى يسمى root model
ويسمى النموذج- الذى يكون فيه النموذج الاساسى والبلوك model – parent
ويمكن لل parent وهو النموذج الاساسى ان يحتوى على اكثر من Referencing بلوك لنفس الموديل على ان لا يكون فى هذا الموديل
Global data
ولمعرفة ما هى ال global data راجع الماتلاب
وفائدة اضافة مرجعيتين لنفس الموديل هو جعل الموديل الذى سيتم الرجوع اليه يتصرف بأسلوبين مختلفين .


ما الفرق بين Model Referencing و Subsystems ؟؟

تمتاز ال Model Referencing عن ال Subsystems بالمميزات الاتية .
1- Modular development
يمكنك عمل موديل مستقل وتطويره من موديل سابق او اكثر
2- Inclusion by reference
حيث يمكن عمل مرجعية لنموذج أكثر من مرة دون الحاجة من عمل نسخ متعددة من النموذج والعكس ايضا حيث يمكن عمل أكثر من مرجعية لنفس النموذج .
3- Incremental loading
حيث لن يتم تحميل البلوك الا فى حالة الرجوع اليه و يمكننا ترتيب عمليات الرجوع للاسراع من عملية المحاكاة .
4- Incremental code generation
عند استخدام ال Real-Time Workshop فانها تتفاعل مع السميولينك لعمل تطبيقات تنفذ لوحداها دون الحاجة الى اى برامج والتى تعرف بى stand-alone applications حيث يتم توليد ما يسمى بى binaries وفى حالة ان تكون هذه ال binaries احدث من النموذج التى تم توليدها منه فان السميولينك يقوم بايقاف عملية المحاكاة حتى يتم تعديلها .

ويوجد بالسميولينك اداة تستخدم فى تحويل ال Subsystems الى Model Referencing وسوف نتعرض لها لاحقا .

والان سنقوم بعمل Model Reference

Creating a Model Reference

اولا لعمل مرجعية لبلوك معين يجب ان يكون هذا البلوك فى مسار الماتلاب ولم يكن فى المسار يمكنك اضافته عن طريق set path
ثانيا :: اذا كان البلوك الاساسى الذى تريد عمل المرجعية فيه هو اصلا مرجعيه قم بعمل تفعيل لل
Inline parameters optimization
حيث يجب عملها لكل البلوكات الموجودة فى التسلسل الهرمى ماعدا اعلى بلوك وذلك عن طريق
الدخول الى قائمة simulation ثم
configuration parameters
ثم من الشمال اختار optimization وقم بوضع علامة صح حول Inline parameters كما موضح فى الصورة الاتية

__________________
Eng Ahmed El Deep
Mechatronics Engineer
موضوع مغلق

مواقع النشر (المفضلة)


أدوات الموضوع
تقييم هذا الموضوع
تقييم هذا الموضوع:

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

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


الساعة الآن 05:37 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd

Content Relevant URLs by vBSEO 3.1.0