منتديات الالكترونيات العصرية  
yoursite.com page title .

استرجاع كلمة المرور طلب كود تفعيل العضوية تفعيل العضوية
العودة   منتديات الالكترونيات العصرية > الاقسام المتعلقة باهم البرامج الهندسيه وشروحاتها > منتدى برنامج الماتلاب Matlab > منتدى دروس برنامج متلاب Matlab

  #21  
قديم 04-20-2010, 06:00 PM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,242
معدل تقييم المستوى: 25
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: دورة المحاكاة بإستخدام السميولينك Simulink


Using Callback Functions

يمكنك تعريف أوامر ماتلاب يتم تنفيذها عند تفعيل نموذج معين وتسمى هذه الاوامر بى callback functions

Tracing Callbacks

وهذه الخاصية تمكننا من معرفة الاوامر المستدعاه (Tracing Callbacks ) التى يستحضرها السميولينك وما هى كيفية تنفيذ هذه الاوامر وتوقيتها ولتفعيل هذه الخاصية ادخل على Simulink Preferences ثم اختار Callback tracing كما يلى :



ااو من خلال تنفيذ الامر الاتى فى سطر أوامر الماتلاب

رمز:

كود:

>> set_param(0,'callbacktracing','on')



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



والان سنتعلم كيفية عمل هذه الاوامر
وتكون بطريقتين وهما باستخدام السميولينك او باستخدام البرمجة
والان سنبدا فى التعرف على Callbacks pane وهى التى تظهر عند أختيار Model Properties عند الضغط كليك يمين



وستظهر لنا النافذه الاتية



وفى الجدول التالى نجد توقيت حدوث كل أمر من اوامر ال Callbacks pane



ويمكن ايضا عمل Callbacks خاصة ببلوك معين وايضا عمل Callbacks خاصة بى port معين فى هذا البلوك

Working with Model Workspaces

يكون لكل نموذج Workspaces خاصة به لتخزين متغيراته بها والتى تشبه ال Workspaces الموجودة فى الماتلاب وتكون هذه المتغيرات مرئية باستخدام scope .
ويمكننا من خلال ال Workspaces عمل متغيرات لنموذج معين وعند فتح تحميل هذا النموذج فان قيم هذه المتغيرات يتم تحميلها من مصدر للبيانات
ومصادر البيانات هى ::
MDL-file وهو الملف الخاص بالموديل
MAT-file
M-code
و انواع ال objects المستخدمة فى تخزين البيانات الموجودة فى ال Workspaces هى
Simulink.Parameter objects
Simulink.Signal objects

وكل هذه المتغيرات الموجودة فى Workspaces لا يمكن تعديلها اثناء عملية المحاكاة اى انها تعتبر not tunable
ماعدا المتغيرات التى نستخدمها لل model arguments لعمل نماذج مرجعية .

Working with Data Stores

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

ويمكننا استخدام هذه المميزات عن طريق اضافة بلوك Data Store Memory او أستخدام Simulink.Signal class
والان سنبدا فى أضافة بلوك data store ونقوم بوضعه فى اى مكان فى النموذج وحتى تكون هذه البيانات ظاهرة فى جميع أجزاء الموديل يجب وضع هذا البلوك فى اعلى مستوى من النموذج وهو مستوى ال root
والان قم بالدخول الى signal routing
من على اليمين اسحب بلوك data store الى الموديل كما بالشكل الاتى



ثم قم بالضغط عليه لتحديد اسمه كما بالشكل الاتى :





والان فى النظام الفرعى الموجود لدينا نقوم بوضع بلوك Data Store Write او فى اى نظام موجود لدينا فى النموذج نريد تخزين بياناته
كما بالشكل الاتى :




ثم نقوم بالدخول الى خصائصه بالضغط عليه مرتين وكتابة اسم data store name مثل التى تم تحديدها فى بلوك data memory store الموجود فى المستوى الاعلى



والان قم بالضغط على بلوك data memory store الموجود فى المستوى الاعلى وسنلاحظ انه تم التعرف على بلوك Data Store Write الذى قمنا بوضعه فى المستوى الفرعى وبالضغط عليه سوف يوجهنا اليه



والان قم بتوصيل بلوك Data Store Write بمصدر البيانات المطلوب
كما بالشكل الاتى :



وللحصول على البيانات التى يتم تخزينها عند كل فترة زمنية نقوم باضافة بلوك Data Store Read فى اى مستوى من النموذج نريد فيه استخدام هذه القيمة ولا يشترط ان يكون فى نفس المستوى مع Data Store Write
فمثلا سنقوم بوضع البلوك فى المستوى الاعلى root ونوصله بى scope لعرض البيانات مع مراعاة الدخول الى خصائصه وتغيير اسم data store name الى الاسم الموجود فى data store memory كما بالشكل الاتى :



والان أصبحنا جاهزين لان نقوم بعملية المحاكاة
قم بالذهاب الى المستوى الاعلى ثم أضغط على بداية المحاكاة وسيكون شكل ال scope الموجود بعد بلوك Data Store Read كما بالشكل التالى :




ولاستخدام Simulink.Signal class
قم بعمل Simulink.Signal فى ال workspace. وتكون عن طريق الدخول الى Model Explorer كما بالشكل الاتى :



ومثلا نقوم بعمل object له الخصائص الاتية : data store name التى تم وضعها فى المستوى الاعلى من النموذج


ahmed = Simulink.Signal;


ahmed.Description = 'Use to signal that subsystem output is


invalid';


ahmed.DataType = 'boolean';


ahmed.Complexity = 'real';


ahmed.Dimensions = 1;


ahmed.SamplingMode='Sample based';



ahmed.SampleTime = 0.1;
ويمكننا تخصيصها ايضا بكتابة الاوامر السابقة فى سطر الماتلاب
ااما بالنسبة للجزء السفلى من الخصائص والخاص بى StorageClass فيجب ان يكون auto فى حالة تخزين البيانات فى مستوى واحد local

Consulting the Model Advisor

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

ولبدء عمل Model Advisor قم بالدخول الى قائمة tools ثم اختار Model Advisor او من خلال الدخول الى contents فى ال The Model Explorer ثم اختار Advice for مع تحديد اسم النموذج كما بالشكل الاتى



وايضا من خلال سطر أوامر الماتلاب يمكننا كتابة الامر الاتى
رمز:

كود:

>>modeladvisor(model_name)
وايضا من خلال الضغط كليك يمين على النموذج الفرعى واختيارModel Advisor
كما فى الصورة الاتية



ويجب ملاحظة ان ال Model Advisor يقوم بتخزين التقارير فى الملف slprj الذى يكون موجود مع اى ملف موديل

وعند بداية ال Model Advisor يكون على الشكل الاتى



ويمكننا ايضا تشغيل ال Model Advisor من خلال برنامج M-file



__________________
رد مع اقتباس
  #22  
قديم 04-20-2010, 06:02 PM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,242
معدل تقييم المستوى: 25
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: دورة المحاكاة بإستخدام السميولينك Simulink



Model Discretizer

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

وسنقوم الان بخطوات التحويل والتعرف على Model Discretizer
اولا قم بعمل نموذج بسيط كما يلى :



ثانيا لفتح ال Model Discretizer قم بالدخول الى قائمة Tools ثم Control Design ثم اختارModel Discretizer وسيكون لدينا شكل ال Model Discretizer كما يلى :



ويمكن ايضا فتح Model Discretizer عن طريق سطر اوامر الماتلاب من خلال الامر الاتى


كود:

>> slmdldiscui('model_name')

وبعد فتح Model Discretizer سنلاحظ انها قام بالتعرف على الحالات المستمرة وتلوينها باللون الاحمر للاستعداد فى تحويلها كما يلى



والان سنقوم بتحديد طريقة التحويل
ولتحديد الطريقة المناسبة يجب ان تكون على دراية بالتحكم فى الزمن المتقطع discrete time control
ويوجد فى ال Model Discretizer الطرق الاتيه

1- zero-order hold
2- first-order hold
3- Tustin
4- . tustin with prewarping
5- matched pole-zero

فعلى سبيل المثال سنختار zero-order hold
والاختيار يكون عن طريق قائمة الخصائص الموجودة فى يمين Model Discretizer وفى اليسار ستجد البلوكات التى سيتم تحويلها
والان سنتقل الى مرحلة تحديد زمن التقطيع sample time
يمكنا تحديد ال sample time فى صورة scaler واذا اردنا عمل offset فنقوم بادخال ال sample time فى صورة vector فمثلا الزمن الذى على الصورة الاتية


كود:

[1.0 0.1]

يعبر عن sample time يساوى واحد بعد offset يساوى 0.1

والان سنتقل على مرحلة اختيار نتائج التحويل
ويتحتوى هذه القائمة على الخيارات الاتية

Discrete blocks (Enter parameters in s-domain)

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

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



والان
أضغط على زر dicretize كما بالشكل الاتى :



وبالدخول الى خصائص ال transfer function سنجدها لن تتغير ولكن اصبحت فى الزمن المتقطع



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




وتكون نتيجة تنفيذ المحاكاة بعد تحويل لبلوك transfer function فقط كما يلى :



ونجد فى الشكل السابق ان اللون الاصفر يشير الى استجابة النظام الذى يعمل فى الزمن المتقطع واللون البنفسجى يشير الى الدخل الى النظام
ونلاحظ ان ان الاستجابة منعدمة لانه لا يصلح ان يكون الدخل الى النظام فى الزمن المتقطع دخل مستمر
والان سننتقل الى النوع الثانى
Discrete blocks (Enter parameters in z-domain).

وعند تنفيذ التحويل سنجد ان خصائص ال transfer function قد تغيرت وقد اصبحت ايضا فى Z-domain كما يلى :



وتكون نتيجة تنفيذ المحاكاة كما فى الحالة السابقة
والان ننتقل الى النوع الثالث :
Configurable subsystem (Enter parameters in s-domain).

وفى هذه الحالة يقوم ال Model Discretizer التحويل لمجموعة من البلوكات معا ويتم حفظها فى ملف موديل جديد يحتوى على كافة الانواع المختلفة .
ومن خلال Model Discretizer نقوم بتحديد مكان حفظ هذا الملف
فمثلا تحت اختيار Location for block in configurable subsystem قم باختيار new discrete subsystem
والان قم بتنفيذ عملية التحويل
وسنجد الان ملف فى ال current directory يحتوى على النظام الفرعى الذى تم تكوينه وعلى النوعين المختلفين من ال transfer function احدهما فى حالة continuous والاخر فى الحالة discrete وخصائصهما تكون فى S-domain كما بالشكل الاتى :



اما النظام الاخير وهو
Configurable subsystem (Enter parameters in z-domain).

فهو مثل النظام السابق ولكن خصائص البلوكات تكون فى Z-domain

وباستخدام المكتبة التى تم عملها يمكننا التحويل بين الحالة المتقطعة والحالة المستمرة لكل بلوك عن طريق الضغط كليك يمين على البلوك المطلوب ثم من القائمة اختار Block choice ومنها اختار الحالة المستمرة او المتقطعة .



__________________
رد مع اقتباس
  #23  
قديم 04-20-2010, 06:11 PM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,242
معدل تقييم المستوى: 25
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: دورة المحاكاة بإستخدام السميولينك Simulink

الجزء الثانى
Working with Blocks
التعامل مع البلوكات


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





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

كود:
set_param('<model name>','showgrid','on')
ويمكننا تغيير عرض خطوط الشبكة باستخدام الامر الاتى

كود:

set_param('<modelname>','gridspacing',<number of pixels>)

ويجب مراعاة انه يوجد شبكة مخفية عرضها 5 بيكسل ولذلك يجب ان يكون اختيارنا لعرض الشبكة من مضاعفات الخمسة




Working with Block Parameters




االتعامل مع خصائص البلوكات




يكون لكل بلوك مجموعة من الخصائص التى تحدد شكله وسلوكه ويوجد بعض الخصائص العامة لكل البلوكات وبعضها خاص لبلوكات معينة


ويمكننا تغيير خصائص البلوكات باستخدام مجموعة من القوائم مثل


Format menu


Block Properties dialog box


Block Parameter dialog box


Model Explorer


set_param command





Working with Tunable Parameters




وهى البلوكات التى يمكن تعديل خصائصها اثناء عملية المحاكاة


ويمكن معرفة هذه البلوكات عن طريق محاولة الدخول الى التحكم فى خصائصها من خلال


block's dialog box or the Model Explorer


او من خلال اوامر الماتلاب


أثناء عملية المحاكاة


فاذا استطاعنا الدخول فان الخصائص التى نستطيع التحكم فيها تكون من النوع Tunable Parameters اما الخصائص التى لن نستطيع الدخول اليها nontunable .




Displaying Block Outputs


يمكننا اظهار قيمة خرج البلوك عند الوقوف عليه بالماوس


ولتفعيل هذه الخاصية قم بالدخول قائمة view واختيارPort Values كما واضح فى الشكل الاتى









Working with Block Libraries


التعامل مع مكتبات البلوكات




يمكننا عمل مكتبة لمجموعة من البلوكات طريق قائمة file ثم اختيار new library
__________________
رد مع اقتباس
  #24  
قديم 04-20-2010, 06:22 PM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,242
معدل تقييم المستوى: 25
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: دورة المحاكاة بإستخدام السميولينك Simulink

الدرس 11
التعامل مع الإشارات

يتم التعبير عن الاشارات فى السميولينك بواسطة خطوط تصل بين البلوكات وبعضها البعض وهذه الخطوط لها علاقات رياضية تحدد بها ويتم عمل الاشارات باستخدام بلوكات source ويمكن ايضا استخدام Signal & Scope Manager لعمل الاشارات بدون استخدام البلوكات

أشكال خطوط الاشارات

يستخدم السميولينك مجموعة من اشكال الخطوط التى تعبر عن الانواع المختلفة من الاشارات كما موضح فى الجدول الاتى



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

علامات الاشارات
Signal Labels

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

أنواع الاشارات

تكون فى الغالب جميع انواع الاشارات فى السميولينك من النوع double ولكن يمكنك عمل اشارات من انواع مختلفة كما تشاء

أبعاد الاشارات
Signal Dimensions

توجد فى السميوليك بلوكات يكون خرجها ذو بعد واحد او ذو بعدين
والاشاراة ذات البعد الواحد تتكون من متسلسة ذات بعد واحد تخرج عند تردد معين لمتسلسلة متجهة فى بعد واحد عند كل زمن محاكاة
A one-dimensional (1-D) signal consists of a stream of one-dimensional arrays output at a frequency of one array (vector) per simulation time step
وبالمثل الاشاراة ذات البعدين تتكون من متسلسلة فى بعدين تخرج عند تردد متسلسة مصفوفة فى بعدين عند كل زمن تقطيع
A two-dimensional (2-D) signal consists of a stream of two-dimensional arrays emitted at a frequency of one 2-D array (matrix) per block sample time.

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

Complex Signals

الاشارات ذات القيم المركبة
ويمكننا عمل اشارات ذات قيم مركبة عن طريق الاتى :
1- تحميل بيانات من الماتلاب
2- استخدم بلوك constant وجعله يخرج قيمة complex
3- عمل اشارات تحتوى على قيمة حقيقية وقيمة تخيلية معا ثم تحويلها الى قيمة مركبة complex باستخدام بلوك Real-Imag to Complex
ويجب مراعاة مراجعه انواع البلوك لمعرفة الانواع التى تدعم الاشارات المركبة قبل استخدامها
Virtual Signals
الاشارات الافتراضية

وهى اشارات تستخدم للتعبير عن اشارات اخرى وغالبا تستخدم مع البلوكات الاتية Bus Creator,
Inport, and Outport blocks
وتكون هذه الاشارات فى صورة مرسومة وليس لها اى علاقات رياضية ويهملها السميولينك عند البدء فى المحاكاة ويقوم بتحديد القيم الاصلية لهذه الاشارات عن طريق استخدام signal propagation كما عرفنا سابقا ويمكننا ملاحظة هذا فى الشكل الاتى حيث يقوم السميولينك بتحديد الاشارات المناسبة لى S1 و S2



Displaying Virtual Signal Sources and
Destinations

لعرض مصدر ونهاية الاشارة نقوم بتحديد الاشارة والضغط بالماوس يمين واختيار Highlight to Source



وسيكون شكل الاشارة كما يلى :



ولتحديد نهاية الاشارة او المكان التى تخزن بها
بعد كليك يمين اختار Highlight to Destination
ويكون شكل الموديل كما يلى :



ولإزالة هذه التحديدات اختار بعد عمل كليك يمين
Remove Highlighting
عرض الاشارات الغير افتراضيه المقابلة للاشارات الافتراضيه
Displaying the Nonvirtual Components of Virtual Signals

سنقوم الان بعمل مثال بسيط وهو يحتوى على بلوكين constant و يحتوى على mux و demux و display كما ياتى



والان سنقوم بتحديد اسماء الاشارات الخارجة من الثوابت وهى اشارات غير افتراضيه عن طريق الدخول الى Signal Properties Dialog Box
اختار الاشارة التى تريد تسميتها ثم كليك يمين واختار Signal Properties كما يلى :



وبالدخول الى Signal Properties اكتب الاسم الذى تريده كما بالشكل الاتى



وبالمثل مع الاشارة الاخرى
والان ننتقل الى الاشارات الافتراضيه
وعند الدخول الى Signal Properties نلاحظ وجود خيار على اليمين يسمى
Show propagated signals
كما بالشكل الاتى :


وعند اختيار on فان هذا سيودى الى توليد اسماء الاشارات الغير الافتراضيه المقابلة لها كما فى الشكل الاتى :



وعند تغيير اسم الاشارة الغير افتراضيه فان السميولينك يقوم بتغيير الاشارة الافتراضيه المقابلة لها مباشرة .

Control Signals
إشارات التحكم

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



Signal Buses
ناقل الاشارات ( باص )

وهو عبارة عن اشارة مركبة من مجموعة من الاشارات ويرمز له فى الطبيعة بالبلاستيك الذى يغلف مجموعة من الاسلاك معا
والان حاول تطبيق المثال السابق مع استخدام بلوك
Bus Creator و Bus Selector كما يلى :



ولا تنسى عند استخدام Bus Selector من تحديد الاشارات التى سوف يستخدمها بالدخول الى خصائص البلوك بالضغط عليه مرتين واختيار الاشارات ثم الضغط على select كما فى الشكل التالى :








ويوجد ايضا باص افتراضى وباص غير افتراضى

Virtual Versus Nonvirtual Buses

ومن اهم البلوكات التى تمثل النوع الافتراضى
Bus Creator و Inport
ولجعل الخرج منها غير افتراضى
اختار Output as structure
من نافذة الخصائص الخاصة بهم
كما يلى :



ويمكننا استعمال بلوك Signal Conversion



للتحويل من nonvirtual to virtual buses والعكس

Bus-Capable Blocks

وهى انواع البلوكات التى يمكنها ان تمرر باص افتراضى و غير افتراضى
وجميع البلوكات الافتراضيه تكون Bus-Capable و وايضا البلوكات الغير الافتراضية الاتية
Memory
Merge
Switch
Multiport Switch
Rate Transition
Unit Delay
Zero-Order Hold
تكون Bus-Capable

والان توجد نقطة مهمة عند تعاملنا مع الانظمة الفرعية حيث يعتبر البلوك Inport بلوك افتراضى ولذلك فهو يقبل bus as input ولكن فى حالة الانطمة الفرعية فان Inport block يكون غير افتراضى ولا يقبل bus as input فى حالة ان تكون مكونات الباص من نفس النوع اى متجانسة ولكن لو كانوا من نوعين مختلفين فان السميولينك سوف يعطينا رسالة خطا ولتفادى هذه المشكلة نستعمل Signal Conversion block
والان سنقوم بعمل المثال البسيط الاتى :
اولا قم باعداد الموديل كما يلى :



ويكون النظام الفرعى الموجود فى الموديل السابق كما يلى :



والان ابدا فى عمل المحاكاة
سنلاحظ ان السميولينك اخرج لنا رسالة الخطا الاتية



والان سنقوم بوضع بلوك Signal Conversion block
كما يلى :




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



Determining Output Signal Dimensions

فى حالة ان خرج البلوك كمية غير قياسية فان ابعاد الاشارة التى يخرجها تعتمد على خصائص البلوك وغالبا فان اشارة الخرج هذه تكون مثل اشارة الدخل
اما فى حالة البلوكات من النوع source التى ليس لها دخل فتكون ابعاد الاشارة مثل قيمة خصائص البلوك .

ومن القواعد التى يجب مراعاتها عن عمل الموديل

1- جميع الاشارات الغير قياسية Nonscalar الداخلة لاى بلوك يجب ان تكون لها نفس الابعاد ومن الممكن ان يكون الدخل كمية قياسية وغير قياسية معا بشرط ان تكون جميع الكميات الغير القياسية لها نفس الابعاد .

2- غالبا تكون خصائص اى بلوك لها ابعاد الاشارة الداخلة له الا فى بعض الحالات .

3- يقوم السميولينك بتحويل الاشارات الاتجاهيه vector signal الى مصفوفات ذات صف واحد او مصفوفات ذات عمود واحد والعكس ايضا فى الحالة الاتية :
اذا كانت هذه الاشارة موصلة بدخل ويشترط ان يكون الدخل على هيئة مصفوفة والعكس صحيح .


Scalar Expansion of Inputs

والمقصود به هو تحويل القيمة القياسية الى قيمة غير قياسية على هيئة متسلسلة array لها نفس الابعاد .
وتستخدم هذه الخاصية عندما يكون الدخل الى البلوك كميه قياسية وغير قياسية معا حيث يجعل الكمية القياسية لها نفس ابعاد الكمية الغير قياسية
والان سنقوم بعمل مثال لتوضيح هذا
قم باعداد مثال كما فى الشكل الاتى :



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



Scalar Expansion of Parameters

اذا كان لبلوك معين اشارة غير قياسية داخلة وخصائص هذا البلوك كمية قياسية فان السميولينك يقوم بعملية ال expand لهذه الخصائص حتى تتوافق مع الاشارة الداخلة وتكون عبارة عن كمية غير قياسية لها نفس ابعاد الاشارة الداخلة وقيمتها تساوى قيمة ال parameter نفسه .
ويمكننا ملاحظة هذا فى المثال الاتى :



وبالدخول الى خصائص بلوك Gain




__________________
رد مع اقتباس
  #25  
قديم 04-20-2010, 06:25 PM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,242
معدل تقييم المستوى: 25
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: دورة المحاكاة بإستخدام السميولينك Simulink

The Signal & Scope Manager

وهو من احد ال GUI الشهيرة فى السميولينك ويستخدم فى عملية تنظيم مولدات الاشارات وايضا فى ادوات عرضها .
ولفتح The Signal & Scope Manager
قم بالدخول الى قائمة الادوات Tools
ويكون شكله كما يلى :



والقائمة الموجودة على اليسار تتيح لك عمل Signal generators و
Signal viewers



والان سنبدأ فى عمل ال generators وال viewers
من القائمة اليسرى ادخل على generators ثم simulink ثم constant
وبعد ذلك اضغط على Attach to model
وايضا بالنسبة لل viewer
قم بادراج scope من قائمة simulink

مثلا لدينا موديل به scope ونريد اضافة generator لتوليد اشارة
قم بالدخول الى The Signal & Scope Manager ومن اليمين كما سبق اضف constant
الان سنقوم بتحديد ال scope الذى سيتم به عرض الاشارة المتولدة عن طريق الاتى :
اضغط على الزر كما فى الشكل الاتى :



ومن النافذة التى سوف تظهر اختر البلوك الذى ستكون الاشارة المتولدة هى الدخل له كما يلى :


وسيكون شكل الموديل اصبح كالاتى :



وايضا اذا كان لدينا بلوك source ونريد اضافه viewer فيمكننا اتباع ما سبق
وسنلاحظ فى الموديل وجود علامة ال viewer كما يلى :



وبالوقوف على علامة ال viewer بالماوس سنجدها تظهر لنا اسم الviewer وبالضغط عليها
سيكون شكلها كما يلى :



والان قم بتنفيذ عملية المحاكاة
ولا تستغرب عندما تتم عملية المحاكاة بنجاح ولا يظهر لك السميولينك خطأ نتيجة بلوكات غير متصله .

Logging Signals

وهى عملية المقصود بيها حفظ قيم الاشارات الى ال workspace الخاصة بالماتلاب أثناء عملية المحاكاة حتى نستخدمها بعد ذلك فى عملية تحليل البيانات
وتتم هذه العملية عن طريق توصيل الاشارة المطلوبة ببلوك workspace او بلوك Scope او viewer او بلوك root-level Outport

وهناك بعض القيود على هذه العملية حيث لا يتم عمل signal logging على الاشارات الاتية
1- الاشارة الخارجة من البلوك Function-Call Generator
وهو البلوك الذى يقوم بتنفيذ نظام فرعى عبارة عن function عدد معين من المرات وعند معدل معين وقد تعرضنا له سابقا
2- الاشارات الموصلة الى دخل بلوك Merge
وهو البلوك الذى يقوم بدمج مجموعة من الاشارات معا
3- الاشارات الخارجة من البلوكات Trigger و Enable
وهى البلوكات التى تستخدم عن التعامل مع الانظمة الفرعية Subsystems وقد تعرضنا لها بالتفصيل سابقا .

Enabling Signal Logging

حتى نقوم بتفعيل هذه الخاصية لاشارة معينة يجب علينا الدخول الى نافذة خصائص الاشارة واختيار Log signal data



ويجب ايضا تفعيل هذه الخاصية عن طريق الدخول الى Configuration Parameters من قائمة Simulation
ثم قم بالدخول الى Data Import/Export



كما يمكننا تغيير اسم الملف الذى سوف تخزن فيه بيانات الاشارة عن طريق الدخول الى خصائص الاشارة Signal properties ثم أختيار Custom من قائمة Logging name وفى الجزء السفلى Data نقوم بتحديد عدد النقاط التى سيقوم السميولينك بتخزينها فى الملف
Initializing Signals and Discrete States

من خصائص برنامج السميولينك انه يتيح لنا ان نقوم بتحديد القيم الابتدائية للاشارات والحالات المتقطعة
والقيم الابتدائية تعنى قيمة الاشارة عند الزمن صفر
ويكمننا عمل هذا عن طريق ال signal objects .
ويكمننا عمل هذا ايضا بالدخول الى خصائص البلوك نفسه كما فى البلوكات الاتية
Outport, Data Store Memory, or Memory
فمثلا قم بادراج بلوك Unit Delay من قائمة Discrete فى نموذج فارغ وقم بالضغط عليه لتظهر نافذه خصائص البلوك وستجد بها initial condition حيث يمكنك تحديد القيمة الابتدائية للاشارة



اما لتحديد القيم الابتدائية عن طريق ال Signal Object فهذا سوف نتعرض له لاحقا عن التعامل مع البيانات .
التعامل مع نقط الاختبار
Working with Test Points

نقطة أختبار او Test point تعنى فى السميولينك ان هذه الاشارة من الموكد ان يتم ملاحظتها عند استعمال سكوب Scope ويتيح لنا السميولينك ان نجعل اى اشارة نقطة اختبار .
وعند تعريف الاشارة على انها نقطة فان هذا يمعنها من عمليات ال model optimizations مثل
signal storage reuse
وهى طريقة لتقليل حجم الذاكرة المستخدمة فى المحاكاة عن طريق تحديد امكان عامة فى الذاكرة لاستخدمها مع جميع البلوكات والاشارات بدلا من جعل مكان مخصص لكل بلوك او اشارة وسوف نتعرض لها لاحقا ان شاء الله .
block reduction
وهى عملية يقوم بها السميولينك لتجاهل الاشارات الداخلة او الخارجة الى كل بلوك اثناء عملية المحاكاة .

Designating a Signal as a Test Point
تصميم اشارة كنقطة اختبار

قم بالدخول الى خصائص الاشارة المطلوبة Signal Properties وقم بوضع علامة على Test point



وايضا عند وضع علامة على signal logging فان السميولينك يقوم باعتبار الاشارة نقطة اختباراتوماتيكيا
والان ستلاحظ العلامة الموجودة على الاشارة بعد تحويلها الى نقطة اختبار كما يلى :



ويمكننا ايضا استخدام Signal Objects وسوف نتعرض له لاحقا .

Working with Signal Groups
التعامل مع مجموعات الاشارات

يتيح لنا بلوك Signal Builder الموجود فى قائمة Sources عمل مجموعات من الاشارات يمكنها ان تتبادل بين بعضها ومن فائدة هذا انه يسهل عمليه اختبار الموديل وخاصا عند استخدام بلوك Assertion والذى يستخدم فى اختبار للاشارات اذا كانت تساوى صفر ام لا .

والان قم بعمل موديل فارغ وضع به بلوك Signal Builder
وعند الضغط عليه فانه يظهر لنا مجموعة واحده وتحتوى على اشارة واحده وهذه الاشارة عبارة عن موجة مربعة square wave كما بالشكل الاتى



والان قم باضافة اشارة اخرى الى المجموعة الموجودة عن طريق الدخول الى قائمة Signal واختيار new او عن طريق استخدام الايقونات الموجودة فى ال Toolbar كما يلى



والان سنقوم بعمل مجموعة اخرى
قم بالدخول الى قائمة Group واختار Copy
وسيقوم البرنامج بعمل مجموعة اخرى تحتوى على نفس اشارات المجموعة السابقة
ادخل على المجموعة الثانيه وقم بالتعديل فى الاشارات الموجودة بها كما تريد ويجب ملاحظة ان يكون عدد الاشارات فى كل من المجموعتان متساوى

والان قم بتحديد المجموعة التى تريد تخرجها من البلوك علما بان البلوك لا يخرج الا مجموعة واحده
ثم قم بتكملة الموديل كما يلى



قم الان بتنفيذ عملية المحاكاة وستكون نتيجة التنفيذ فى حالة المجموعة الاولى كما يلى :



وفى حالة المجموعة الثانية تكون كما يلى :



Bus Editor




يتيح لنا ال Bus Editor تغيير خصائص ال bus المستخدم فى نقل مجموعة من الاشارات


اولا لفتح الBus Editor نستخدم احدى الطرق الاتية

1- أختار Bus Editor من قائمة tools

2- من ال model explorer اضغط على ايقونه Bus Editor الموجودة فى ال Bus object
فمثلا قم بعمل موديل فارغ وادخل على قائمة view واختار Model explorer
وبعد ذلك فى ال model explorer ادخل على قائمة add وقم باضافة simulink bus كما يلى :



والان سيظهر لنا ال Bus object وعند الضغط عليه تظهر لنا ايقونة
Launch Bus Editor
اضغط عليها لفتح Bus Editor



3- واخر طريقة لفتح ال Bus Editor عن طريق كتابة الامر الاتى

كود:


Buseditor

فى سطر اوامر الماتلاب





والان سيظهر لنا ال Bus editor كما بالشكل الاتى












وتوجد على اليسار قائمة يمكنك من خلالها اضافة Bus




والايقونة الثانية لاضافة ال Bus الى النموذج وسيظهر على اليمين فى خانة Bus elements مكونات ال Bus الذى تم اضافته .





سوف نتعرض ان شاء الله لمعرفة مميزات وخصائص ال Bus editor عن قرب عند الدخول الى فصل working with data object





النسبة المئوية لما تم انهاءه فى الدورة حتى الان الى اجمالى الدورة يساوى 50%











__________________
رد مع اقتباس
  #26  
قديم 04-20-2010, 06:53 PM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,242
معدل تقييم المستوى: 25
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: دورة المحاكاة بإستخدام السميولينك Simulink

__________________
رد مع اقتباس
  #27  
قديم 04-20-2010, 07:04 PM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,242
معدل تقييم المستوى: 25
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: دورة المحاكاة بإستخدام السميولينك Simulink

الدرس الثالث عشر
http://www.4shared.com/document/STIyld1U/lesson_13.html

__________________
رد مع اقتباس
  #28  
قديم 12-12-2010, 09:03 PM
hossam_shi hossam_shi غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Dec 2010
المشاركات: 6
معدل تقييم المستوى: 0
hossam_shi is on a distinguished road
افتراضي رد: دورة المحاكاة بإستخدام السميولينك Simulink

والله مجهود خرافى.....وانا استفدت كتير مشكور ليك
رد مع اقتباس
  #29  
قديم 03-28-2011, 10:51 PM
ro0ok-707 ro0ok-707 غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Mar 2011
المشاركات: 6
معدل تقييم المستوى: 0
ro0ok-707 is on a distinguished road
افتراضي رد: دورة المحاكاة بإستخدام السميولينك Simulink

يعطيك العافيه

ولاكن لو تعملها على شكل كتاب على pdf بيكون شغل احلى واحلى
رد مع اقتباس
  #30  
قديم 03-29-2011, 03:17 AM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,242
معدل تقييم المستوى: 25
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: دورة المحاكاة بإستخدام السميولينك Simulink

اقتباس:
المشاركة الأصلية كتبت بواسطة ro0ok-707 مشاهدة المشاركة
يعطيك العافيه

ولاكن لو تعملها على شكل كتاب على pdf بيكون شغل احلى واحلى
متأسف على الصور وأن شاء الله فى أقرب وقت أقوم بما تريد

تحياتى
__________________
رد مع اقتباس
إضافة رد

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

الكلمات الدلالية (Tags)
simulink, المحاكاة, السميولينك, بإستخدام, دورة

أدوات الموضوع
انواع عرض الموضوع

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

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



الساعة الآن 08:38 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
الحقوق محفوظة لمنتديات الاليكترونيات العصرية

Security team

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77