كيف يعمل السميولينك ؟؟
مقدمة
يقوم السميولنك بمحاكاة الأنظمة الديناميكية كما تعرفنا سابقا وتتم هذه العملية بمرحلتين هما :
المرحلة الأولى يقوم بها المستخدم بعمل النموذج والذى يحتوى على مجموعة البلوكات المطلوبة .
والمرحلة الثانية يقوم البرنامج بتنفيذ عملية المحاكاة فى الفترة الزمنية المطلوبة .
نمذجة المنظومات الديناميكية
من المعروف ان المنظومات الديناميكية تتكون من مجموعة من المعادلات الرياضية ويتم تمثيل هذه المعادلات فى السميولنك على هيئة بلوكات وهذه الفكرة مأخوذة من مبادى التحكم الالى والمعروف بى
Block Diagram
وتنقسمالبلوكات فى السميولنك الى نوعان نوع افتراضى و نوع غير أفتراضى
(nonvirtual block and virtual blocks) .
الانواع الغير افتراضية هى التى تمثل عناصر النظام الديناميكى اما الانواع الافتراضية وهى التى تستخدم فى تحويل الاشارات وغيرها دون ان تدخل فى تكوين النظام او معادلاته الرياضية .
ما معنى "time-based block diagram" ؟؟؟
1- اى ان هناك علاقة زمنية بين الاشارات وبين المتغيرات
(state variables) ويكون حل النموذج اوblock diagram هو حل لهذه العلاقات خلال الزمن المحدد time step والذى يمثل بزمن البداية الى زمن النهاية .
2- الاشارات تعبر عن كميات تتغير مع الزمن وتكون معرفة خلال الفترة الزمنية المحددة .
3- العلاقة بين الاشارات والمتغيرات تكون عبارة عن مجموعة من المعادلات اى ان كل بلوك يحتوى على مجموعة من المعادلات وهذه المعادلات توضح العلاقة بينه و بين الداخل له وبين الخارج منه .
ويوجد نوعان من انواع البلوكات تبعا لنوعية بناءها
1- البلوكات الموجودة فى البرنامج وتسمى built-in blocks
2- البلوكات التى يقوم المستخدم بعملها وتسمى
custom blocks User-defined
States
وهى التى تمثل قيم النظام الموجود وهى عبارة عن مجموعة من المتغيرات والتى تستخدم فى حساب الخرج الخاص بالبلوك عند الخطوة الزمنية المحدده وهناك نوعان من انواع ال states وهما : Discrete و continuous متقطعة ومستمرة .
والمستمرة هى التى تتغير باستمرار اما المتقطعة هى التى تتغير عند فترات زمنية محددة intervals .
وتعتبر البلوكات States كما فى الشكل التالى
والبلوكات التى تعبر continuous states يجب ان تحتوى على احد البلوكات الاتية :
· Integrator
ووظيفة هذا البلوك هو تكامل الاشارة الداخلة
· State-Space
ووظيفة هذا البلوك هو عمل نظام خطى من النوع State-Space
· Transfer Fcn
ووظيفة هذا البلوك هو عمل نظام خطى من النوع transfer function
· Zero-Pole
وهذا البلوك يعتبر حالة خاصة من السابق حيث يعبر عن نظام خطى من النوع transfer function ولكن يحتوى على zero-pole-gain اى يوجد قيم ل S تساوى صفر سواء فى البسط او المقام .
الحالات المستمرة Continuous States
للتعامل مع الحالات المستمرة يجب علينا معرفة معدل تغيرها او مشتقتها و قيمة الحالة المستمرة يساوى تكامل مشتقتها فى الفترة الزمنية المحدده وتعتمد دقة هذه الحسابات على مقدار الخطوة الزمنية وكما معروف كلما صغرت الخطوة الزمنية فان الدقة سوف تزيد ولكن سيسبب هذا فى حمل اضافى على معالج الكمبيوتر وقد يسبب بعض البطء .
ومن مميزات السميولنك انه يوجد به مجموعة من طرق الحل و تكون بها الخطوة الزمنية متغيرة تبعا لمعدل التغير .
الحالات المتقطعة Discrete States
للتعامل مع الحالات المتقطعة يجب علينا معرفة العلاقة بين قيمتها فى الفترة الزمنية الحالية وبين قيمتها فى الفترة الزمنية السابقة وهذه العلاقة تسمى فى البرنامج
update functions
وتعتمد أيضا على قيمة الدخل للنموذج .
نمذجة الانظمة التى تحتوى على حالات متقطعة ومستمرة معا
Modeling Hybrid Systems
وفى هذا النوع يقوم السميولنك بوضع مقدار للفترة الزمنية يحقق الدقة المطلوبة لتكامل الحالات المستمرة وفى نفس الوقت يكون مناسب للحالات المتقطعة .
قيم معاملات البلوك Block Parameters
وهى التى تعبر عن خصائص اى بلوك فمثلا البلوك الخاص باضافة ثابت يعتبر Parameter ولكل بلوك له Parameters يكون له خصائص ويمكن استعمال الماتلاب فى تعديل هذه الخصائص .
ويقوم السيمولينك بحساب هذه القيم قبل بداية المحاكاة كما يمكنك تغيرها اثناء عمل المحاكاة .
وتسمى بى A tunable parameter وهى التى تغيرها دون الحاجة الى اعادة ترجمة النموذج الى لغة الالة recompiling ويجب العلم ان هذا التغيير لن يكون سريع ولكن سوف يقوم بالانتظار الى بداية الفترة الزمنية الجديدة ويمكن جعل جميع parameters الموجوده غير قابلة للتعديل مما يودى الى زيادة فى سرعة التنفيذ .
الفترة الزمنية Block Sample Times
يوجد لكل بلوك فترة زمنية خاصة به ويمكننا تغيرها وللبلوكات ذات الحالات المستمرة تكون الفترة الزمنية مالانهاية وتسمى
continuous sample time .
وبالنسبة للبلوكات الغير متاح بها الفترة الزمنية تسمى
implicit sample time
او
fundamental sample time of the inputs
اى يعتمد على نوع الدخل فمثلا لو كان الدخل مستمر فان الفترة الزمنية تكون مثل الحالات المستمرة .
اما اذا كان الدخل متقطع فهنا الفترة الزمنية تسمى An implicit discrete sample time وتساوى اصغر فترة زمنية فى الدخل .
Systems and Subsystems
يمكن للنموذج فى السيميولنك ان يتكون من عدة طبقات كل طبقة تسمى نظام فرعى subsystem ويوجد نوعان منها ايضا وهما افتراضى وغير افتراضى virtual and nonvirtual ومن مميزات البرنامج انه يمكنك عمل Subsystems يكون تنفيذها متوقف على شروط معينة مثل استعداء دالة معينة او فعل ويكون اغلب الانظمة الفرعية الغير مرتبطة باى شروط أنظمة أفتراضية .
طرق البلوكات Block Methods
البلوكات هى عبارة عن مجموعة من المعادلات كما عرفنا وهذه المعادلات تعبر عن طريقة البلوك ويتم تفيذ هذه الطريقة خلال تنفيذ النموذج ومن انواع هذه الطرق :
Outputs
والتى فيها يتم حساب خرج البلوك من الدخل عند الفترة الزمنية الحالية والفترة الزمنية السابقة
Update
وهى الطريقة الخاصة بالبلوكات ذات الحالات المتقطعة فى الفترة الزمنية الحالية
Derivatives
وهى الطريقة الخاصة بالبلوكات ذات الحالات المستمرة فى الفترة الزمنية الحالية
ويكون التعبير فى السميولنك عن نوع الطريقة المستخدمة كما يلى ::
BlockType.MethodType
تابع