الدرس الثامن فى دورة برنامج السميولينك - استخدام أوامر الأستدعاء

الدرس الثامن
Using Callback Functions

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

Tracing Callbacks

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

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

رمز:

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

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

http://www.almohandes.org/uploads/vb/uploaded4/254_11334756268.png

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

http://www.almohandes.org/uploads/vb/uploaded4/254_01334757005.png

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

http://www.almohandes.org/uploads/vb/uploaded4/254_11334757005.png

إعجاب واحد (1)

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

http://www.almohandes.org/uploads/vb/uploaded4/254_21334757005.png

ويمكن ايضا عمل 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 الى الموديل كما بالشكل الاتى

http://www.almohandes.org/uploads/vb/uploaded4/254_01334757106.png

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

http://www.almohandes.org/uploads/vb/uploaded4/254_11334757106.png

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

http://www.almohandes.org/uploads/vb/uploaded4/254_21334757106.png

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

http://www.almohandes.org/uploads/vb/uploaded4/254_01334757197.png

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

http://www.almohandes.org/uploads/vb/uploaded4/254_11334757197.png

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

http://www.almohandes.org/uploads/vb/uploaded4/254_21334757197.png

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

http://www.almohandes.org/uploads/vb/uploaded4/254_01334757256.png

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

http://www.almohandes.org/uploads/vb/uploaded4/254_11334757256.png

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

http://www.almohandes.org/uploads/vb/uploaded4/254_21334757256.png

ومثلا نقوم بعمل 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 مع تحديد اسم النموذج كما بالشكل الاتى

http://www.almohandes.org/uploads/vb/uploaded4/254_01334757667.png

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

 
>>modeladvisor(model_name) 

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

http://www.almohandes.org/uploads/vb/uploaded4/254_11334757667.png

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

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

http://www.almohandes.org/uploads/vb/uploaded4/254_21334757667.png

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

الدرس فى صورة pdf

الدرس الثامن فى دورة برنامج السميولينك.pdf (383.6% u)

تم تعديل الصور