Download as pdf or txt
Download as pdf or txt
You are on page 1of 176

‫استعمال البفٌو لتصمٌم نظم التحكم والمحاكاة‬

‫‪for Control Design and‬‬


‫‪Simulation‬‬ ‫‪1‬‬
‫_‪+‬‬ ‫‪s‬‬
‫‪The Virtual Instrumentation Approach‬‬
‫مدخل إلى األجهزة االفتراضٌة‬

‫المكونات البرمجٌة‬

‫تحصٌل‬
‫تحلٌل تحصٌل‬
‫عرض تحلٌل‬
‫عرض‬

‫المكونات المادٌة‬

‫‪3‬‬
‫هذا الدرس سوف ٌساعدك على‪:‬‬
‫‪ -‬فهم وحدة مصمم التحكم والتعرٌف فً البفٌو‪.‬‬
‫‪-‬استعمال البفٌو فً حل مشاكل التحكم‪.‬‬
‫‪ -‬بناء دوال تحوٌل النظم‪.‬‬
‫‪ -‬تطوٌر خوارزمٌات التحكم وتحلٌل استجاباتها‪.‬‬
‫‪ -‬محاكاة خوارزمٌات التحكم فً محٌط الخطً‪.‬‬
‫‪ -‬البحث عن الحلول المثلى للخوارزمٌات من خالل محٌط‬
‫جدالً‪.‬‬

‫‪4‬‬
‫‪ -‬فهم وحدة مصمم التحكم والتعرٌف فً‬
‫البفٌو‪.‬‬
‫‪-‬‬
‫استعمال البفٌو فً حل مشاكل التحكم‪.‬‬

‫‪ -‬بناء دوال تحوٌل النظم‪.‬‬


‫تطوٌر خوارزمٌات التحكم وتحلٌل‬
‫‪ -‬استجاباتها‪.‬‬
‫محاكاة خوارزمٌات التحكم فً محٌط‬
‫‪-‬الخطً‪.‬‬
‫‪ -‬البحث عن الحلول المثلى للخوارزمٌات‬
‫من خالل محٌط جدالً‪.‬‬
‫لالستفادة من هذا الدرس ٌفضل اإللمام‬
‫بقواعد التحكم و معرفة ولو بسٌطة ببرنامج‬
‫البفٌو‪.‬‬
‫‪5‬‬
‫البفٌو نظام تطوٌري للتطبٌقات المبنٌة حول الحواسٌب فً القٌاس‬
‫والتحكم‪ ،‬وهو منتج من طرف شركة ناشٌونال انسترمنتس‪0‬‬
‫مٌادٌن تطبٌق البفٌو ‪ :‬فً الصناعة‪ ،‬البحوث‪ ،‬والتطوٌر‪ ،‬والتعلٌم‪0‬‬
‫البفٌو ٌستعمل البرمجة الصورٌة(بالرسوم) لكن ٌمكن استعمال‬
‫البرمجة النصٌة باستعمال‪:‬‬
‫……‪C, Mathscript‬‬
‫كثٌر من الوظائف للتحلٌل العددي‪ ،‬والتصمٌم‪ ،‬و عرض البٌانات‪ .‬كثٌر‬
‫من المكونات المادٌة تضٌف مواصفات متعددة إلى البفٌو فً‬
‫التحكم ‪ ،‬معالجة اإلشارات‪ ،‬الرٌاضٌات‪ ...‬التواصل مع العالم الخارجً‬
‫ٌتم عن طرٌق ‪:‬‬
‫‪OPC, Modbus, RS 232, GPIB ……..‬‬
‫األجهزة االفتراضٌة ‪Virtual Instrumentation‬‬
‫ألكثر من ‪ 25‬سنة‪ ،‬غٌرت شركة ناشٌونال انسترمنتس طرق تعامل‬
‫وطرق المهندسٌن والباحثٌن فً الصناعة‪ ،‬واألكادٌمٌٌن مع األجهزة‬
‫القٌام بالقٌاسات واألتمتة‪ .‬األجهزة االفتراضٌة تزٌد من اإلنتاجٌة‪،‬‬
‫وتخفض تكالٌف االختبار‪ ،‬التحكم ‪ ،‬وتساعد على تصمٌم التطبٌقات من‬
‫خالل تسهٌل استعمال البرامج ‪ ،‬مثل البفٌو‪ ،‬و المكونات المادٌة النمطٌة‬
‫المستقلة بذاتها والتعامل مع األجهزة‪:‬‬
‫‪PXI, PCI, USB, and Ethernet.‬‬

‫‪7‬‬
‫مع األجهزة االفتراضٌة‪ٌ ،‬ستعمل المهندسون البرمجة‬
‫الصورٌة لخلق حلول تناسب حاجٌاتهم‪ ،‬وهو البدٌل‬
‫المهم للملكٌة الخاصة‪ ،‬التوظٌف الثابت لألجهزة‬
‫التقلٌدٌة‪.‬‬
‫أضف إلى ذلك‪ ،‬األجهزة االفتراضٌة تعطً أولوٌة ألداء‬
‫الحاسوب المتزاٌد‪ .‬مثال‪ ،‬فً االختبار‪ ،‬القٌاس‪ ،‬والتحكم‪،‬‬
‫المهندسون األجهزة االفتراضٌة للتقلٌل من حجم استعمل‬
‫أجهزة األتمتة واالختبار‪ ،‬وارتفع كسب المردود فً‬
‫اإلنتاجٌة بعشرة مرات‬
‫مقابل تكالٌف متدنٌة بالنسبة لمردود األجهزة التقلٌدٌة‪.‬‬
‫كثٌر من الشركات الرائدة اختارت األجهزة االفتراضٌة‬
‫بدال من األجهزة التقلٌدٌة‪.‬‬
‫‪8‬‬
‫ذطٕس األخٓضج االفرشاض‪ٛ‬ح‬
‫‪ٚ‬ؼرثش ذطٕس األخٓضج االفرشاض‪ٛ‬ح ذسٕال ف‪ ٙ‬طش‪ٚ‬قح ذطث‪ٛ‬ق ػًه‪ٛ‬ح انشتظ ت‪ٍٛ‬‬
‫انساعٕب ٔاألخٓضج انخاسخ‪ٛ‬ح انًشذثطح تّ‪ .‬ف‪ ٙ‬انًاض‪ ٙ‬انقش‪ٚ‬ة‪ ،‬كاَد ػًه‪ٛ‬ح‬
‫انشتظ يثُ‪ٛ‬ح ػهٗ أكٕاد‪ ،‬يؼقذج ٔغ‪ٛ‬ش ٔاضسح انًؼانى‪ ،‬إٌ نى َقم يثًٓح‪ٚٔ .‬قض‪ٙ‬‬
‫انًظًى ٔقرا طٕ‪ٚ‬ال نكراتح انكٕد أٔ نًؼشفح ك‪ٛ‬ف ‪ٚ‬ؼًم‪ ،‬يثم يا ْٕ انسال ػُذ‬
‫اعرؼًال نغح ‪ ....، Basic ،Pascal ، C‬ان‪ٕٛ‬و‪ًٚ ،‬كٍ أٌ ‪ٚ‬سم َفظ انًٕضٕع‬
‫ف‪ ٙ‬نسظح تاعرؼًال طش‪ٚ‬قح األخٓضج االفرشاض‪ٛ‬ح ‪Virtual ( VI‬‬
‫‪ٔ ،)Instruments‬خاطح ذهك انر‪ ٙ‬ذغرؼًم ذقُ‪ٛ‬ح انثشيدح(انظٕس‪ٚ‬ح)‬
‫تانشعٕياخ ٔاألشكال ٔذذفق انث‪ٛ‬اَاخ‪.‬‬

‫‪9‬‬
‫ْزِ انرقُ‪ٛ‬ح ذسراج إنٗ يًاسعح ػًه‪ٛ‬ح‪ ،‬كًا ذسراج إنٗ‬
‫انُض انرذق‪ٛ‬ق‪ ٙ‬انُظش٘ نرسٕ‪ٚ‬م انخثشج إنٗ كٕد يُرح‬
‫ٔفؼال‪ .‬انُض انُظش٘ ‪ٚ‬غرؼًم كًشخغ نرشخًرّ إنٗ‬
‫ػًه‪ ٙ‬ف‪ ٙ‬انً‪ٛ‬ذاَ‪ ٍٛ‬األكاد‪ٔ ًٙٚ‬انظُاػ‪ .ٙ‬ف‪ ٙ‬اػرقاد‬
‫انكث‪ٛ‬ش‪ ٍٚ‬أَّ ال ذٕخذ ػالقح ت‪ ٍٛ‬تشيدح التف‪ٔ ٕٛ‬انثشيدح‬
‫انرقه‪ٛ‬ذ‪ٚ‬ح‪ْٔ ،‬زا غ‪ٛ‬ش يقُغ‪ .‬طس‪ٛ‬ر أٌ يٕاطفاخ التف‪ٕٛ‬‬
‫كث‪ٛ‬شج ٔٔظائف خاطح تّ‪ ،‬ن‪ٛ‬ظ نٓا يا ‪ٚ‬قاتهٓا ف‪ٙ‬‬
‫انثشيدح انرقه‪ٛ‬ذ‪ٚ‬ح‪.‬‬

‫‪10‬‬
‫ف‪Icon ٙ‬نكٍ‪ ،‬أعاط انًُطق ٔازذ‪ .‬التف‪ٚ ٕٛ‬غرؼًم األ‪ٚ‬قَٕح‬
‫انثشيدح‪ٔ ،‬انؼالقح ت‪ ٍٛ‬انثشيدح انرقه‪ٛ‬ذ‪ٚ‬ح‪ .‬انثشيدح ف‪ ٙ‬التف‪ٕٛ‬‬
‫‪ًٚ‬كٍ ذذاسكٓا تغٕٓنح ٔتذٌٔ ػُاء تؼكظ انثشيدح انرقه‪ٛ‬ذ‪ٚ‬ح‬
‫انر‪ ٙ‬ذرغى تانظؼٕتح ٔانٕقٕع ف‪ ٙ‬كثشج األخطاء‪.‬‬

‫‪11‬‬
‫نًارا التف‪ٕٛ‬؟‬
‫هدف هذه المشاركات الفنٌة هو إعطاء فكرة على األجهزة االفتراضٌة ‪ ،‬بناء‬
‫القٌاس‪ ،‬واألتمتة بتطبٌق المعاٌٌر الصناعٌة باستعمال محٌط البفٌو المبنً‬
‫على الرسومات واألشكال‪ .‬كٌف ٌمكن استعمال البفٌو لتحصٌل البٌانات‪،‬‬
‫تحلٌلها‪،‬وعرضها؟ ‪Acquire , Analyze, and Present Data‬‬

‫‪12‬‬
‫األجهزة االفتراضٌة تتطلب التطور المتوازي فً‬
‫المكونات المادٌة والمكونات الغٌر مادٌة(البرمجٌات)‪.‬‬
‫إن تطور الوصلة البٌنٌة لمستعمل الرسومات بتطور‬
‫البرامج و التقدم فً استعمال معاٌٌر موصالت األجهزة‪،‬‬
‫كلها شاركت فً تطوٌر األجهزة االفتراضٌة ‪ ،VI‬ولم‬
‫ٌكن بمقدور أحدها التطور بدون اآلخر‪ .‬هذا التفاعل تم‬
‫إبرازه وتفسٌر التعامل بٌن هذه العناصر‪ .‬كما تطرقنا‬
‫للمقارنة بٌن محٌطً البرمجة التقلٌدٌة التً توصف‬
‫بتدفق البرامج و البرمجة باستعمال البفٌو من خالل ‪VI‬‬
‫التً تعرف بتدفق البٌانات‪ ،‬وإظهار وجه االختالف‬
‫بٌنهما‪.‬‬

‫‪13‬‬
‫ما هً األجهزة االفتراضٌة ‪VI‬؟‬
‫منذ منتصف الثمانٌنات‪ ،‬أصبحت األجهزة االفتراضٌة تكون تحالفا‬
‫مع تكنولوجٌا الحاسوب‪ ،‬برامج التطوٌر وأجهزة القٌاس‬
‫المعٌارٌة(المكونة من عناصر متكررة) لمساعدة المستعملٌن‬
‫بتكوٌن أجهزة شخصٌة معرفة بواسطة برنامج الحاسوب‪.‬‬
‫هذه األجهزة االفتراضٌة تتوفر على اللٌونة والمرونة أفضل من‬
‫األجهزة التقلٌدٌة و تطورت بسرعة لتالحق تطور تكنولوجٌا علم‬
‫الحاسوب‪.‬‬
‫األجهزة االفتراضٌة تم اعتمادها وبقوة فً تطبٌقات االختبار‪.‬‬
‫معانً وتصورات األجهزة االفتراضٌة إما ٌتم اعتمادها أو ٌطعن‬
‫فً مصداقٌتها فً صناعة االختبار‪.‬‬

‫‪14‬‬
‫الصناعة التكنولوجٌة عند وزارة لدفاع األمرٌكٌة‪ ،‬مثال‪ ،‬التً‬
‫لٌس لها ‪ ،‬بصفة عامة‪ ،‬مٌول و نزعة فً خلق التوجهات‬
‫فً مٌدان التكنولوجٌا‪ ،‬اعتمدت وبقوة األجهزة االفتراضٌة‪،‬‬
‫وهً تعتبر أكبر مستهلك ألجهزة االختبار المؤتمتة‪ .‬وقد‬
‫اعتمدت اختٌار األجهزة الموجهة بواسطة برامج الحاسوب‬
‫‪Synthetic‬فً مشروعها"األجهزة التركٌبٌة‬
‫‪Instrument .‬‬

‫‪15‬‬
‫هذه األجهزة ٌمكن إعادة تشكٌلها التكوٌنً‬
‫‪ Reconfiguration‬كلما لزم تغٌٌر نمط‬
‫التحكم‪ .‬الجهاز التركٌبً ٌمكن أن ٌعوض كثٌرا‬
‫من األجهزة أحادٌة الوظٌفة‪ ،‬وهذا ٌقلص من‬
‫الحجم المخصص لها‪ ،‬ومن الصعوبات اللوجستٌة‬
‫وٌحل مشكل اإلهمال واالستغناء عن األجهزة‬
‫أحادٌة المهام والمكلفة‪.‬‬

‫‪16‬‬
‫معظم الشركات الصناعٌة الكبرى ‪ ،‬مثل‬
‫موتوروال‪ ،‬فٌلٌبس‪،‬نوكٌا ‪ ....‬اعتمدت األجهزة‬
‫االفتراضٌة وتستعمل برامج الحاسوب واألجهزة‬
‫االفتراضٌة لبناء التطبٌقات الحاسمة والحرجة‬
‫فً اختبار اإلنتاجٌة بكمٌات كبٌرة وبدقة عالٌة‪،‬‬
‫و فً مٌدان التحكم فً آالت اإلنتاج‪ ،‬وحتى فً‬
‫المفاعالت الذرٌة‪......‬‬

‫‪17‬‬
‫تارٌخ األجهزة االفتراضٌة‬
‫عند بداٌة تطور الحاسبات‪ ،‬كان لكل حاسوب برنامج خاص به‪ .‬لكن‪ ،‬عملٌة‬
‫تقاسم المحٌط الزمنً باستعمال نظم التشغٌل بدأت منذ الستٌنات‪ .‬فكان‪،‬‬
‫‪ VAX VMS‬أو هذه النظم وسٌطر على الكثٌر من عملٌات التحكم فً‬
‫التطبٌقات الصناعٌة‪ .‬وتاله نظام ‪ HPUX‬من ‪ .UNIX‬إطالق‬
‫‪ PC/MSDOS2‬فً سنة ‪ 1983‬غٌر الكثٌر فً نمط تشغٌل الحاسب‬
‫الشخصً‪ ،‬لكن الشًء الجدٌد الذي حمله هو إمكانٌة ربط األجهزة المشغلة‬
‫بنظام التشغٌل‪ .‬وبذلك أصبحت عملٌة تطوٌر األجهزة اإللكترونٌة التً ٌمكن‬
‫ربطها بنظام التشغٌل منتشرة‪ ،‬وكل مطور ٌبحث عن تطوٌر نظام األجهزة‬
‫الخاصة بتطبٌقاته‪ .‬ثم تمكن ‪ Macintosh‬من طرح الوصلة البٌنٌة‬
‫الخاصة بالرسومات واألشكال سنة ‪ .1984‬ثم جاء نظام ‪Windows3‬‬
‫سنة ‪ .1990‬فً بداٌة صدورها‪ ،‬لم ٌكن نظام وندووز مستقرا ولم ٌكتسب‬
‫الشعبٌة المرتقبة من طرف المستعملٌن‪ .‬لكن‪ ،‬وندووز تحسن من الزمن‪.‬‬
‫التوصٌل البٌنً‬
‫‪18‬‬
‫تطرقنا سابقا لعملٌة ربط الحاسوب بالعالم الخارجً‪ .‬بعد ظهور‬
‫‪ Unibus‬واكتسابه الشهرة‪ ،‬لوحظ أنه ال ٌستجٌب لكل متطلبات‬
‫الربط فً التطبٌقات المختلفة‪ ،‬مما أدى إلى تطوٌر الكثٌر من‬
‫الوصالت البٌنٌة حسب التطبٌق الخاص به وسعة الذاكرة الالزمة‪.‬‬
‫فً التوصٌل البٌنً بالحاسوب‪ ،‬كل من الموصالت البٌنٌة الداخلٌة‬
‫للحاسوب و التوصٌالت البٌنٌة الخارجٌة المعٌارٌة تلعب دورا‬
‫خاصا ومهما فً ربط األجهزة بالحاسوب وتكوٌن المنابر‪ .‬تم‬
‫تطوٌر و تمدٌد الموصل ‪ VME‬لٌتعامل مع األجهزة ومنه برز‬
‫‪ PXI‬المعٌاري الذي هو فً األصل ‪ PCI‬و ‪ X‬تعنً التمدٌد‪ .‬كما‬
‫تم تمدٌد الموصل ‪ SCSI‬لٌصبح ‪ SCXI‬المعٌاري‪ .‬كما ٌوجد‬
‫موصل ٌدمج بٌن ‪ SCXI‬و ‪.PXI‬‬

‫‪19‬‬
‫تستعمل الكثٌر من الموصالت البٌنٌة لربط األجهزة الخارجٌة بالحاسوب‪ .‬فً‬
‫التوصٌل على التوالً تمرر كل البتات بالتتابع‪ ،‬أي الواحد تلو اآلخر‪ .‬فً‬
‫الوصلة على التوازي توجد خطوط منفصلة ولكل بت خط خاص به‪ .‬هذا ٌعنً‬
‫أن تحوٌل البٌانات على التوازي أسرع من تحوٌلها على التوالً‪ .‬لكن‪ ،‬فً‬
‫الوقت الحالً التوصٌل على التوالً باستعمال ‪ USB‬هو أٌضا سرٌع ووصل‬
‫إلى ‪ 1600MB‬فً الثانٌة‪ .‬الموصالت المعٌارٌة الشعبٌة المتوفرة هً‪:‬‬
‫‪.Firewire ،USB ، GPIB ، RS485 ، RS232C‬‬

‫‪20‬‬
‫من ناحٌة أخرى‪ ،‬األسطوانات المرنة‪ ،‬وسائل اإلعالن والتعلٌق‪ ،‬ونطاق‬
‫المرور‪ Pass Band‬فً الموصالت البٌنٌة كلها استفادت من نفس‬
‫الكسب فً األداء‪ .‬الجٌل الجدٌد من الموصالت عالٌة السرعة ‪PCI‬‬
‫‪ Express, PXI, USB, Ethernet….‬تتمتع بنطاق مرور‬
‫‪ 3Go/s‬وأكثر من ذلك‪ ،‬مما ٌسمح بقٌاس نطاق مرور أوسع‪ .‬األجهزة‬
‫االفتراضٌة تجمع بٌن كل هذه الموصالت البٌنٌة ألن كل موصل بٌنً‬
‫افتراضً ٌمكن دمجه فً برنامج التطبٌق‪.‬‬
‫االتجاه الٌوم‪ ،‬فً التعلٌم‪ ،‬هو تلقٌن علوم الحاسوب والتقنٌات الحدٌثة‬
‫منذ الصغر‪ .‬ألن التحكم بالحاسوب فً األجهزة أبسط لالستعمال من‬
‫األجهزة ذات التوصٌالت التقلٌدٌة‬

‫‪21‬‬
‫البرامج البٌانٌة لتصمٌم النظم‬
‫أهم مكسب لألجهزة االفتراضٌة هو مقدرتها على تصمٌم نظم محددة‬
‫المواصفات وذلك باستعمال برامج حاسوب للتصمٌم توفر وصلة بٌنٌة‬
‫حدسٌة(بدٌهٌة ‪ .)Intuitive‬فً األجهزة االفتراضٌة‪ ،‬كل مستعمل ٌمكنه‬
‫اختٌار الخوارزمٌة التً تناسب جهازه الشخصً‪.‬‬
‫البفٌو مثال على هذا االختٌار‪ .‬البفٌو ٌستعمل لغة رسوم‬
‫بٌانٌة(صورٌة)‪ Graphical‬مع تدفق بٌانات‪ ،‬وٌحوي وصلة بٌنٌة تسمى‬
‫المخطط ‪ . Diagram‬البفٌو ٌوفر محٌطا ٌساعد المهندسٌن واألكادٌمٌٌن‬
‫فً تصمٌم نظم قٌاس خاصة بهم‪.‬‬

‫‪22‬‬
‫البفٌو و األجهزة االفتراضٌة‬
‫كل من ٌسمع باألجهزة االفتراضٌة ألول مرة ٌتساءل عن مغزاها؟‬
‫لإلجابة على السؤال‪ٌ ،‬جب أن ننظر إلى تطور األجهزة االفتراضٌة ‪.VI‬‬
‫منذ بداٌة استعمال الحاسوب‪ ،‬كان دوره األساسً فً المراقبة والتحكم‪،‬‬
‫ثم تطور تطورا عجٌبا مع الزمن‪ .‬مع تطور استعمال الحاسوب‪،‬‬
‫تضاعفت وظائف اللوحات األمامٌة لألجهزة المتوفرة من خالل‬
‫الوصالت البٌنٌة‪ .‬هكذا‪ ،‬ولدت فكرة التحكم فً األجهزة من خالل‬
‫اللوحة األمامٌة و الحاسوب معا‪ .‬هكذا جاءت فكرة األجهزة االفتراضٌة‪.‬‬
‫بدأت هذه الفكرة عندما كان ‪ GPIB‬األكثر شعبٌة بٌن الموصالت‪ .‬لذلك‬
‫ٌمكن القول أن ‪ GPIB‬هو أو جهاز افتراضً تم اعتماده‪ .‬هكذا‪،‬‬
‫أصبحت ‪VI‬تقنٌة مستقلة بذاتها وانتشرت تطبٌقاتها فً العدٌد من‬
‫التطبٌقات ٌمتد من المختبرات التجرٌبٌة إلى التطبٌقات المؤتمتة‬
‫الكبٌرة‪....،‬‬
‫‪23‬‬
‫منذ البداٌة‪ ،‬تشعبت تقنٌات ‪ VI‬المتعددة األوجه والمبنٌة‬
‫على الحاسوب‪ .‬سر نجاح ‪ VI‬هو التحول فً جعل األجهزة‬
‫ذكٌة بارتباطها ببرامج الحاسوب‪ .‬المكونات المادٌة‬
‫للحاسوب أصبحت تمثل الحساسات ‪ Sensors‬الحالٌة‬
‫للتحسس والقٌام بالقٌاس‪ ،‬مثل االزدواج الحراري‪،‬‬
‫القناطر‪ .... ،‬والمشغالت لتغٌٌر النظام مثل المفاتٌح‪،‬‬
‫المحركات‪ ،‬الصمامات‪....،‬وكل إجراء ومعالجة ٌتم عن‬
‫طرٌق البرنامج‪.‬‬
‫ٌمكن استعمال الحاسوب الشخصً فً التعامل مع ‪ VI‬من‬
‫خالل نظم تشغٌل وندووز و لٌنكس ‪ .Linux‬كما ٌمكن‬
‫استعمال نظم ‪..HP ،Sun ،Macintosh‬‬
‫كل منابر ‪ VI‬تستعمل وصلة الرسوم البٌنٌة‬
‫للمستعمل(‪،GUI ) Graphical User Interface‬‬
‫لتطوٌر‪ ،‬تنفٌذ وتحقٌق الحلول‪.‬‬
‫الحلول باستعمال ‪ VI‬تدور حول استعمال المكونات المادٌة لهدف عام ٌتمثل فً‬
‫تحصٌل البٌانات ولو على حساب المكونات المادٌة الجاهزة‪ .‬المكونات المادٌة‬
‫المصممة ألهداف عامة علٌها طلب أكثر من المكونات المادٌة الجاهزة لهدف‬
‫معٌن‪ .‬باإلضافة إلى الفرق فً التكلفة بٌن النوعٌن ٌمكن أن ٌعول وٌعتمد على‬
‫المكونات المادٌة لهدف عام كما تتمٌز بالعمومٌة‪.‬‬

‫‪25‬‬
‫البرمجة التقلٌدٌة والبرمجة(الصورٌة) المبنٌة على الرسومات واألشكال‬
‫المشغالت تتمثل فً الوصالت البٌنٌة للمكونات المادٌة واألجهزة وهً متوفرة‬
‫بكثرة‪ ،‬وهذا ٌحد من التكلفة ومن زمن التطوٌر فً التطبٌقات التً تستعملها‬
‫وحسب مطور األجهزة الذي ٌضطر إلى إٌجاد البرنامج المشغل المناسب لمنابر‬
‫‪ VI‬أو االستعانة بمزودي هذه المشغالت‪ .‬من بٌن هذه المنتجات ٌمكن االعتماد‬
‫على مشغالت البفٌو التً تستعمل فً التحمٌل التحتً تقرٌبا فً كل األجهزة مثل‬
‫‪.....Matrox ،Tektronics ، HP‬‬
‫الهدف من هذه التراكٌب التً تجمع بٌن المشغل والجهاز هو الوصول إلى أداء‬
‫األجهزة التقلٌدٌة بدقة أكبر وبسعر اقل‪ .‬كما ٌمكن تعمٌم استعمالها فً حاالت‬
‫متشابهة‪.‬‬

‫‪26‬‬
‫ٌرتبط تطور ‪ VI‬بتطور الحاسوب والتقدم الحاصل فً المكونات المادٌة‬
‫والبرمجة‪ .‬وصلة الرسومات البٌنٌة هً أٌضا لعبت دورا مهما فً‬
‫تطوٌر ‪ ،VI‬وأصبحت عنصرا أساسٌا فً برامج ‪ .VI‬مع تطور‬
‫استعمال شاشة الحاسوب فً الرسومات واألشكال أصبحت التطبٌقات‬
‫التفاعلٌة سهلة‪ .‬فً نفس الوقت تطورت قدرة المعالجات فً الحوسبة‬
‫وتعدت حدودا معتبرة‪.‬‬
‫ٌمكن حصر تطور ‪ VI‬فً ثالثة عناصر‪:‬‬
‫‪ -1‬معٌارٌة وتقدم المكونات المادٌة والحوسبة‪:‬‬
‫بما أن قدرة الحاسبات تطورت وبشكل رهٌب‪ ،‬كان من الممكن تطوٌر‬
‫ذكاء الحاسوب الشخصً الذي ٌمثل قلب النظام‪.‬‬
‫‪ -2‬تطور وصلة الرسوم البٌنٌة‪:‬‬
‫تقدم المحٌط المعٌاري التفاعلً لعب دورا مهما فً تطور ‪،VI‬‬
‫والفضل ٌرجع إلى ‪Macintosh‬المبنً على منبر ‪Motorola‬‬
‫منذ البداٌة‪ .‬بٌنما‪ ،‬منبر ‪ Intel‬لم ٌفلح فً ذلك‪.‬‬
‫‪ -3‬تطوٌر معاٌٌر الوصالت البٌنٌة‪:‬‬

‫‪27‬‬
‫دور المعٌارٌة واضح وجلً‪ ،‬فقد أدت إلى تقلٌص كمً مهم فً مجهود‬
‫التطوٌر‪.‬‬
‫كل هذه التطورات حدثت بالتوازي وأوصلت ‪ VI‬إلى أداة مسٌطرة فً عملٌة‬
‫تطوٌر وتنفٌذ تطبٌقات األجهزة المتحكم فٌها بواسطة ‪ VI‬من خالل ‪VI‬‬
‫متواجدة داخل الجهاز ذاته‪ .‬كما هو متوفر فً أجهزة راسم الذبذبات‬
‫الحدٌثة‪ٌ .‬جب التفرٌق بٌن ‪ VI‬المبنٌة حول األجهزة و ‪ VI‬المتوافقة أو‬
‫المتسقة مع األجهزة‪ .‬كل جهاز مرتبط بوصلة بٌنٌة مع الحاسوب ٌسمى‬
‫متوافق أو متسم ‪ Compatible‬مع ‪ VI‬مثل ‪، GPIB‬‬
‫‪...،RS232C‬رغم أن التوافق مع الحاسوب ٌمكن أن ٌتغٌر‪ .‬بٌنما‬
‫‪VI‬المبنٌة حول األجهزة تحتاج إلى حاسوب لتشغٌلها‪ ،‬وقدراتها التشغٌلٌة‬
‫مبٌنة حول الحاسوب‪ .‬مثل هذه األجهزة ٌمكن توصٌلها مباشرة بموصل‬
‫الحاسوب ‪ Computer Bus‬أو بتوصٌلها بشاسً ‪ Chassis‬جهاز‬
‫شعبً مثل ‪ VXI‬أو ‪.PXI‬‬

‫‪28‬‬
‫برنامج البفٌو‬
‫برنااامج البفٌااو هااو نظااام تطااوٌري ٌسااتعمل فااً الصااناعة‪ ،‬التجااارب‪ ،‬القٌاااس‪،‬‬
‫التعلااٌم وتطبٌقااات الااتحكم اآللااً‪ .‬هااذا البرنااامج مبنااً علااى البرمجااة بالرسااوم‬
‫واألشكال(الصورٌة) البٌانٌاة ‪Graphical Programming Language‬‬
‫مكااون ماان الكثٌاار ماان العقااد ‪ nodes‬موصاالة ببعضااها الاابعض‪ ،‬ماان الٌسااار إلااى‬
‫الٌمااٌن‪ .‬بعكااس البرمجااة النصااٌة التقلٌدٌااة برنااامج البفٌااو ٌحااوي الترجمااة اآللٌااة‬
‫المسااتمرة ‪ Continuous Auto-Compiling‬والعدٌااد ماان الوظااائف‬
‫لتصاامٌم‪ ،‬تحلٌاال و إظهااار المعطٌااات‪ .‬بحٌااث‪ٌ ،‬خباارك البرنااامج أٌاان وقااع الخطاا‬
‫مباشرة‪ .‬البفٌو ٌبدأ العد من الصافر‪ .‬كماا أن مخططاات البفٌاو لٌسات مثال الادوائر‬
‫الكهربائٌااة المكونااة ماان المقاومااات والمكثفااات والاادوائر المتكاملااة ‪ .ICs‬برنااامج‬
‫البفٌو ٌعوض لغات البرمجة المبنٌة على النصوص‪ .‬فً البفٌاو تارى بعٌنٌاك كٌاف‬
‫تبنً نظامك بإضافة أجهزة وتوصٌلها ببعضها البعض ‪ ،‬كماا تتاابع تادفق البٌاناات‬
‫وسرٌانها من جهاز إلى آخار‪ .‬البرمجاة باساتعمال البفٌاو ال تحتااج إلاى كتاباة وال‬
‫هجاء‪.‬‬

‫‪29‬‬
‫البفٌاااو مااان شاااركة ناشاااٌونال انساااترمنتس ‪ NI‬برناااامج رائاااد فاااً المٌااادان‬
‫الصناعً‪ ،‬وهو أداة الختبار للتصمٌم‪ ،‬القٌاس‪ ،‬والتحكم فً النظم‪ .‬مناذ بداٌاة‬
‫اساااتعماله سااانة ‪ ، 1986‬المهندساااون واألكاااادٌمٌون‪ ،‬حاااول العاااالم‪ ،‬الاااذٌن‬
‫اختاروا البفٌو فً تطاوٌر البرمجاة بالرساوم واألشاكال لمشاارٌعهم مان خاالل‬
‫مراحاال تصاامٌم المنااتج ربحااوا النوعٌااة فااً المنااتج‪ ،‬زمنااا أقصاار لتسااوٌقه‪،‬‬
‫وكثٌاارا ماان الدقااة فااً التصاانٌع‪ .‬بتكاماال محااٌط البفٌااو مااع الوصاالة البٌنٌااة‬
‫وإشااارات العااالم الحقٌقااً‪ ،‬تحلٌاال البٌانااات للحصااول علااى المعلومااة الدقٌقااة‪،‬‬
‫وتقاسم النتائج‪ٌ ،‬مكن الادفع إلاى األماام باإلنتاجٌاة مان خاالل التنظاٌم‪ .‬بماا أن‬
‫البفٌااو ٌمتلااك صاافة المرونااة عنااد البرمجااة والتااالف مااع األجهاازة الجاااهزة‬
‫الخاصة بالتجربة‪ ،‬القٌااس‪ ،‬والاتحكم‪ٌ .‬مكان إقاماة تطبٌقاات تمتاد مان مراقباة‬
‫درجة الحرارة البسٌطة حتى محاكاة النظم المعقدة والتحكم فٌها‪.‬‬

‫‪30‬‬
‫● كتابة البرامج باستعمال برامج البفٌو‪ ،‬المسماة أجهزة افتراضٌة‬
‫‪.VIs‬‬
‫● التمكن من إزالة العلل ‪،‬اكتشاف وتصحٌح األخطاء باستعمال‬
‫تقنٌات متعددة‪.‬‬
‫● معالجة كل من وظائف األجهزة االفتراضٌة ‪ VIs‬الجاهزة‬
‫لالستعمال‪.‬‬
‫●تصمٌم وصالت بٌنٌة وفقا لمواصفات محددة من طرف المستعمل‪.‬‬
‫●حفظ البٌانات فً ملفات ونشرها على شكل مخطط بٌانً أو خرٌطة‪.‬‬
‫●خلق تطبٌقات تستعمل الناقل البٌنً ألغراض عامة ‪ GPIB‬أو‬
‫أجهزة التسلسل ‪. Serial Instruments‬‬
‫● استعمال ‪ DAQ‬لتحصٌل البٌانات‪.‬‬
‫● وظائف تحلٌل جاهزة لالستعمال لمعالجة البٌانات‪.‬‬
‫● البحث عن الحلول المثلً للسرعة وأداء برامج البفٌو التً تم‬
‫تصمٌمها‬
‫‪31‬‬
‫●استعمال تقنٌات متقدمة كالهٌاكل(البنً) ‪.Structures‬‬
‫●التحكم فً ‪ VIs‬ونشر البٌانات‪.‬‬
‫●استعمال البفٌو فً خلق تطبٌقات معٌنة‪.‬‬
‫بعد كل هذا‪ٌ ،‬مكن القول أن البفٌو منتج ممتاز شامل و‬
‫واسع‪ٌ ،‬حتوي على روابط من أدوات وبرامج عدٌدة ‪،‬‬
‫متنوعة‪ ،‬و قابلة للتطور‪ .‬البفٌو له نزعة تالءم وتتكٌف مع‬
‫‪Fire-wire,‬الوصالت البٌنٌة المعٌارٌة والجدٌدة مثل‬
‫‪ ....‬التً بدأت تحتل الوصالت ‪USB, Bluetooth‬‬
‫‪ ..‬كما أن البفٌو له مٌزة ‪RS232C, GPIB‬التسلسلٌة مثل‬
‫‪MATLAB,‬التواصل مع الكثٌر من برامج المحاكاة‬
‫‪Simulink‬‬

‫‪32‬‬
‫البفٌو واألجهزة االفتراضٌة ‪VI‬‬
‫انسذ ‪ VI‬يشذثظ ترطٕس ‪ ، LabVIEW‬ز‪ٛ‬ث ذى ذُف‪ٛ‬ز أٔل ًَٕرج‬
‫انثشيدح(انظٕس‪ٚ‬ح) تانشعٕياخ ٔاألشكال‪ٔ .‬يُز أكثش يٍ ستغ قشٌ تق‪ٙ‬‬
‫التف‪ ٕٛ‬يرشتؼا ػهٗ ػشػ انثشيدح انظٕس‪ٚ‬ح‪ .‬اعرًذ التف‪ ٕٛ‬أفكاسِ يٍ‬
‫زضيح انثشايح انداْضج ف‪ٔ .Apple Macintosh ٙ‬طٕس‬
‫‪ LabVIEW2‬كًرشخى ‪ Compiler‬تشايح تذال يٍ يفغش‬
‫‪Interpret‬نثشايح خاْضج‪ْ .‬زِ انرقُ‪ٛ‬ح اندذ‪ٚ‬ذج انًؼرًذج زغُد يٍ األداء‬
‫تك‪ٛ‬ف‪ٛ‬ح يؼرثشج‪ .‬ف‪ ٙ‬عُح ‪1992‬ذى طشذ ‪ LabVIEW‬ػٍ طش‪ٚ‬ق‬
‫َٔذٔٔص‪ .‬ثى ذى ذؼً‪ٛ‬ى اعرؼًال ‪ LabVIEW3‬ف‪Macintosh, PC, ٙ‬‬
‫‪... SUN‬عُح ‪ٔ .1993‬ف‪ ٙ‬عُح ‪ 1999‬أطثر التف‪ ٕٛ‬يرٕفشا ف‪َ ٙ‬ظاو‬
‫‪ .Linux‬ف‪َ ٙ‬غخح التف‪ 6ٕٛ‬ذى اعرؼًال االَرشَد‪ .‬ف‪ ٙ‬انُغخح التف‪ 7ٕٛ‬ذى‬
‫انرثغ‪ٛ‬ظ ٔاعرؼًال انًغاػذاخ ٔانًغشػاخ ‪Express & Assistants‬‬
‫ٔ انًغاػذ انشقً‪ ٙ‬انشخظ‪..PDA ٙ‬‬
‫‪33‬‬
‫ذٕخذ َغخح ‪ LabVIEW RT‬يٕخٓح نرطث‪ٛ‬قاخ انضيٍ انسق‪ٛ‬ق‪ٔ ،ٙ‬‬
‫‪ًٚ ٔ Bridge VIEW‬كٍ ذغً‪ٛ‬رٓا ‪LabVIEW Industrial‬يٕخٓح‬
‫نرطث‪ٛ‬قاخ انً‪ٛ‬ذاٌ انظُاػ‪ ٙ‬تاعرؼًال زًا‪ٚ‬ح ذرًثم ف‪ ٙ‬كهًح عش‪ٔ ،‬ذرؼايم يغ‬
‫انكث‪ٛ‬ش يٍ انسغاعاخ ٔانًسٕالخ‪ LabVIEW RT .‬طًى‪ ،‬ف‪ ٙ‬انثذا‪ٚ‬ح‪،‬‬
‫نهرؼايم يغ انسٕعثح انًٕصػح ٔذطث‪ٛ‬قاخ انضيٍ انسق‪ٛ‬ق‪ .ٙ‬يشكهح ذشغ‪ٛ‬م‬
‫التف‪ ٕٛ‬تاعرؼًال َٔذٔٔص ْٕ أٌ َٔذٔٔص ن‪ٛ‬ظ َظاو ذشغ‪ٛ‬م ف‪ ٙ‬انضيٍ انسق‪ٛ‬ق‪ٙ‬‬
‫‪ٚ ْٕٔ ، RTOS‬رؼايم يغ ذؼذد انؼًه‪ٛ‬اخ تذال يٍ ذؼذد انًٓاو‪ .‬انؼًم تذٌٔ‬
‫‪ RTOS‬ال ‪ٚ‬غًر تانرسكى ترٕق‪ٛ‬د انسهقاخ‪ٔ ،‬ال تضيٍ ذأخ‪ٛ‬ش ػًه‪ٛ‬اخ‬
‫انرطث‪ٛ‬ق‪ .‬كًا أٌ ػًه‪ٛ‬اخ انرٕص‪ٚ‬غ أنساعٕت‪ ٙ‬ذسذ يٍ عؼح راكشج انًؼانح‪.‬‬
‫‪ًٚ‬كٍ تشيدح ‪ RT‬تانرٕافق يغ خٓاص ‪FPGA‬نرسق‪ٛ‬ق ػذد يٍ انًٓاو‬
‫انًشذثطح تانضيٍ انسق‪ٛ‬ق‪.ٙ‬‬
‫أسباب تفوق البفٌو كثٌرة‪ ،‬نذكر منها‪:‬‬
‫•ٌوفر محٌطا قوٌا ومالئما لتطوٌر تطبٌقات األجهزة‪.‬‬
‫•توفر برامج الوصالت البٌنٌة مع هذه األجهزة‪.‬‬
‫البرامج المشغلة فً البفٌو متوفرة لكثٌر من األجهزة‬

‫‪34‬‬
‫•ٌمكن تحمٌل البفٌو داخل راسم الذبذبات كما ٌمكن استعمال البفٌو من‬
‫داخل راسم الذبذبات‪.‬‬
‫•البفٌو ٌسمح لراسم الذبذبات أن ٌتصرف حسب ‪VI‬وحسب اختٌار‬
‫المستعمل‪.‬‬
‫تطور ‪ VI‬أدى إلى تطور أدوات البرمجة الصورٌة‪ .‬لكن‪ ،‬اعتبار ‪VI‬‬
‫محدودة على البرمجة بالرسومات واألشكال فقط غٌر صحٌح‪ٌ .‬مكن تنفٌذ‬
‫‪ VI‬باستعمال لغات البرمجة التقلٌدٌة‪ ،‬بتمدٌد المكتبات‪ ،‬أو باستعمال‬
‫برامج الترجمة مثل ‪ .CVI LabVIEW‬هذا ٌعنً أن ‪ VI‬لٌست حكرا‬
‫على البفٌو وال على محٌط تدفق البٌانات‪ .‬كما ٌمكن التداخل بٌن البرمجة‬
‫التقلٌدٌة و البفٌو‪.‬‬

‫‪35‬‬
‫كل وصلة الرسوم البٌنٌة للمستعمل( ‪Graphical User‬‬
‫‪ٌ GUI ) Interface‬مكن اعتبارها مكونة من عنصرٌن‪:‬‬
‫وصلة المستعمل البٌنٌة والكود المسطر‪ .‬وصلة المستعمل‬
‫البٌنٌة لم تتغٌر حسب االستعمال التقلٌدي أو الصوري أي‬
‫بالرسم واألشكال‪ .‬فً حالة الكود المسطر فً البداٌة‪ ،‬تظهر‬
‫األمور مختلفة‪ .‬الكود فً اللغات التقلٌدٌة مثل ‪ٌ C‬حوي‬
‫عددا من البرامج أو الروتٌن‪ ،‬بٌنما فً لغة ‪(G‬الصورٌة) ال‬
‫نرى أثرا للنص‪ .‬كل ما نراه هو مجموعة من األٌقونات‬
‫مرتبطة ببعضها البعض بخطوط متعددة األلوان‪ .‬لكن‪ ،‬الفرق‬
‫بسٌط بٌن طرٌقتً البرمجة‪ .‬الفرق المالحظ هو فً الفصل‬
‫بٌن قائمتً المداخل والمخارج‪ ،‬وهذا ٌتماشى مع فلسفة‬
‫تدفق البٌانات‪ .‬الفصل بٌن القائمتٌن ٌمنع الروتٌن من تغٌٌر‬
‫بٌانات الدخل‪.‬‬
‫‪36‬‬
‫المستقبل والتوقعات‬
‫مستقبل تصمٌم النظم باستعمال األجهزة االفتراضٌة‬
‫األجهزة االفتراضٌة ‪ VI‬مستمرة فً بسط قدراتها وتستعمل فً عدد‬
‫متزاٌد من التطبٌقات‪ .‬البفٌو ٌمكن استعماله‪ ،‬لٌس فقط فً خلق برامج‬
‫االختبار على الحاسوب‪ ،‬ولكن فً التصمٌم باستهداف معالجات‬
‫مغمورة و شبكات مبرمجة ‪ .FPGA‬هدف هذه التكنولوجٌا هو توفٌر‬
‫محٌط فرٌد‪ٌ ،‬ستخدم فً مجاالت عدٌدة من تصمٌم نظم االختبار حتى‬
‫تعرٌف وظائف المواد‪ .‬مهندسو االختبار ٌمكنهم العمل على النظم‬
‫باستعمال الوظائف المناسبة وتسخٌر البرامج المرافقة لمعرفة وظائف‬
‫النظم‪ .‬فٌمكن خلق برامج لقٌاس التٌار المستمر وزمن الصعود‬
‫‪....‬باستعمال أجهزة افتراضٌة على شكل تراكٌب‪ .‬كما ٌمكن استعمال‬
‫البفٌو لتحلٌل البٌانات فً الزمن الحقٌقً‪ ،‬أو تعرٌف خوارزمٌة‬
‫فلتر(مرشح) باستعمال ‪...... FPGA‬‬
‫‪.‬‬
‫‪37‬‬
‫إن إمكانٌة أداء األجهزة االفتراضٌة تزداد ٌوما بعد ٌوم‪ .‬لقد تم‬
‫اعتمادها كبدٌل لألجهزة التقلٌدٌة فً الكثٌر من التطبٌقات‪ .‬موازاة‬
‫مع تطور الحاسوب المستمر وشبه الموصالت‪ ،‬و قدرات البرامج‬
‫الهائلة وانسجامها مع كل الحاالت واألوضاع‪ ،‬سٌكون لألجهزة‬
‫االفتراضٌة وضع مشوق فً المستقبل القرٌب لتصمٌم نظم‬
‫االختبار والقٌاس وتزوٌد المهندسٌن بوسائل مساعدة فً مٌدانً‬
‫القٌاس والتحكم‬

‫‪38‬‬
‫مستقبل البرمجة(الصورٌة) بالرسوم واألشكال‬
‫مستقبل هذه التقنٌة ٌتمثل فً السرعة‪ ،‬السهولة‪ ،‬والتكلفة المتدنٌة‪.‬‬
‫من المحتمل أن ٌتزاٌد التوجه نحو هذه التقنٌة وبتسارع‪ٌ .‬ساعد فً‬
‫هذا التطور برمجة ‪ FPGA‬المتوفرة فً البفٌو وال تتوفر فً البرمجة‬
‫التقلٌدٌة‪ .‬من المحتمل أن ٌتوسع نطاق البفٌو مستقبال فً البرمجة‬
‫الموزعة ‪،‬النظم المطوقة(المغمورة)‪ ،‬وما ٌشابهها‪ ...‬الزمن الحقٌقً‬
‫‪ RT‬تم إدماجه فً البفٌو باستعمال كود ‪Xilinx‬و نجح فً برمجة‬
‫التراكٌب مثل ‪ .PXI‬مع تزاٌد استعمال ‪ FPGA‬كنظام معٌاري مفتوح‪،‬‬
‫سوف تصبح وظائف الزمن الحقٌقً جزءا أساسٌا من البفٌو‪.‬‬
‫الحساسات الذكٌة أصبحت الهدف المنشود‪ .‬باستعمال ‪ٌ FPGA‬مكن‬
‫أن نت كد من أن المكونات المادٌة لمعالجة اإلشارات الرقمٌة ‪DSP‬‬
‫تمثل حساسا ذكٌا‪.‬‬
‫باختصار‬

‫‪39‬‬
‫البفٌو مثال على الربط بٌن الجهاز والبرمجة نتج عنه‬
‫محٌط صوري تطوٌري ٌتمتع باألداء والمرونة للغة‬
‫البرمجة‪ ،‬مع وظائف عالٌة المستوى و أشكال تراكٌب‬
‫صممت خصٌصا لتطبٌقات القٌاس واألتمتة‪.‬‬

‫الشكل‪ :‬مثال على تطوٌر‬


‫الكود الصوري فً البفٌو‬

‫‪40‬‬
Virtual Instrumentation Applications
‫تطبٌقات األجهزة االفتراضٌة‬
• Design ‫التصمٌم‬
– Signal and Image Processing ‫معالجة اإلشارة‬
‫والصور‬ A single graphical development platform
– Embedded System Programming
)‫برمجة النظم المطمورة(المطوقة‬ Design Prototype Deploy
• (PC, DSP, FPGA, Microcontroller)
– Simulation and Prototyping ...‫محاكاة ونمذجة‬
• Control ‫تحكم‬
– Automatic Controls and Dynamic Systems ‫نظم‬
‫دٌنامٌكٌة وتحكم‬
– Mechatronics and Robotics ‫الكترونٌة‬-‫مٌكانٌكا‬
...‫ربوت‬
• Measurements ‫قٌاسات‬
– Circuits and Electronics ‫دوائر الكترونٌة‬
– Measurements and Instrumentation ‫أجهزة‬
‫وقٌاسات‬

41
Spectrum of Control Applications
‫مجاالت تطبٌقات التحكم‬

Industrial Control ‫ التحكم الصناعي‬Embedded Control )‫التحكم المطوق(المطمور‬

Flight Control
Precision Machine Control ‫التحكم في الطيران‬
‫التحكم في دقة اآللة‬
Process Control
‫التحكم في العمليات‬

Motion Control Engine Control


‫التحكم الحركي‬ ‫التحكم في المحركات‬
42
‫تطبيقات التحكم ‪Control Applications‬‬
‫اآللي‬
‫عند مناقشة نظم التحكم اآللً‪ٌ ،‬تبادر لذهننا‬
‫التطبٌقات المتعددة‪ .‬نظم التحكم فً المحٌط الصناعً‪.‬‬
‫فمثال‪ ،‬عملٌة تكرٌر الزٌوت‪ ،‬حٌث دور التحكم مهم‬
‫جدا فً هذه الصناعة‪ .‬نظم التحكم اآللً تستعمل فً‬
‫الحاكمات كثٌر من الصناعات التً تستعمل‬
‫المبرمجة‪ ،‬التً تنفذ الحاكم التناسبً التكاملً‬
‫التفاضلً‪ ،‬أو نظم التحكم الموزعة فً نظم أكبر‬
‫حجما‪ٌ .‬ستعمل نظام التحكم فً مصانع اإلنتاج‬
‫االستهالكً المتعددة‪ .‬كما ٌستخدم التحكم اآللً فً‬
‫مصانع السٌارات‪ ،‬الطائرات‪ ،‬اإللكترونٌات‪ ،‬التحكم‬
‫بدقة فً المحركات‪ ،‬وآالت الغسٌل ‪ ،‬وتقنٌات متعددة‬
‫ومتقدمة‪.‬‬
‫‪43‬‬
Topics Covered ‫المواضٌع المدروسة‬
A. Review: LabVIEW Environment ‫مراجعة محٌط البفٌو‬
• Front Panel / Block Diagram ‫اللوحة األمٌة\المخطط‬
ً‫الصندوق‬
• Toolbar /Tools Palette ‫قضٌب األدوات\لوحة األدوات‬
B. The Design Process ‫تصمٌم العملٌة‬
1. Modeling ‫نموذج‬
2. Control Design ‫تصمٌم التحكم‬
3. Simulation ‫محاكاة‬
4. Optimization ‫البحث عن الحل األمثل‬
5. Deployment ‫االنتشار‬
44
Review: Open and Run LabVIEW
‫ فتح وتشغٌل البفٌو‬:‫مراجعة‬
Start » All Programs » National Instruments LabVIEW 8.2
»

Startup Screen:
‫شاشة البدء‬
Start from a Blank VI:
New » Blank VI
‫البداٌة‬
or‫أو‬
Start from an Example:
‫البداٌة من مثال‬
Examples » Find
Examples…

45
‫‪LabVIEW‬‬ ‫البفٌو‬
‫البفٌو هو للغة برمجة صورٌة ٌستخدم األٌقونات بدال من‬
‫الخطوط النصٌة لخلق تطبٌقات‪.‬‬
‫خالفا للغات البرمجة النصٌة‪ ،‬حٌث تحدد األوامر عملٌة‬
‫تنفٌذ البرنامج‪ ،‬البفٌو ٌستعمل برمجة تدفق البٌانات‪ ،‬حٌث‬
‫ٌحدد تدفق البٌانات ترتٌب التنفٌذ ‪ٌ .‬مكن استعمال الكثٌر من‬
‫التطبٌقات‪ .‬كل البرامج المرافقة حسب كل تخصص لتطوٌر‬
‫البرامج المرافقة‪.‬‬
‫البفٌو ٌشمل أٌضا كثٌرا من األدوات العرافة للمساعدة‪،‬‬
‫لتشكٌل أجهزة تحصٌل البٌانات واألجهزة المرتبطة‬
‫بالحاسبات لبناء التطبٌقات‪.‬‬

‫‪46‬‬
Review: Creating a Virtual Instrument
ً‫ خلق جهاز افتراض‬:‫مراجعة‬
• LabVIEW programs are called Virtual Instruments or
VIs.
Vis ‫أجهزة افتراضٌة‬:‫تسمى برامج البفٌو‬
• Each VI has two windows
‫لكل جهاز افتراضً نافذتان‬
– Front Panel  User Interface (UI)
‫اللوحة األمامٌة = وصلة المستعمل البٌنٌة‬
• Controls = User Inputs =‫عناصر التحكم‬
‫مداخل المستعمل‬
Front Panel
‫اللوحة األمامٌة‬

Block Diagram ً‫المخطط الصندوق‬

47
Indicators = Outputs ‫المؤشرات =المخارج‬
Block Diagram  Program Code
‫المخطط الصندوقً= كود البرنامج‬
Data travels on wires from controls
‫البٌانات تنتقل من خالل موصالت من عناصر التحكم‬
through functions to indicators ‫مرورا بالوظائف نحو‬
‫المؤشرات‬
Blocks execute by Dataflow ‫الصنادٌق تنفذ تدفق البٌانات‬

48
‫برامج البفٌو‬
‫)‪.virtual instruments (VIs‬‬
‫عناصر التحكم هً المداخل والمؤشرات هً‬
‫المخارج‬
‫تسمى أجهزة افتراضٌة‬
‫كل جهاز افتراضً ٌحتوي على ثالثة أجزاء‪:‬‬
‫‪ -‬اللوحة األمامٌة‪ :‬تستعمل لتفاعل المستعمل‬
‫مع األجهزة االفتراضٌة‪.‬‬
‫‪ -‬المخطط الصندوقً‪ٌ :‬حوي أكواد التحكم فً‬
‫البرنامج‪-.‬‬
‫‪ -‬األٌقونة\رابطة ‪:‬تمثل ربط جهاز افتراضً‬
‫بجهاز افتراضً آخر‪.‬‬

‫‪49‬‬
‫فً البفٌو نبنً وصلة مستعمل بٌنٌة باستعمال أدوات‬
‫وأهداف‪ .‬وصلة المستعمل البٌنٌة تسمى باللوحة‬
‫األمامٌة‪.‬‬
‫ٌمكن إضافة الكود باستعمال عروض صورٌة للوظائف‬
‫للتحكم فً أهداف اللوحة األمامٌة‪ .‬المخطط الصندوقً‬
‫ٌحوي هذا الكود‪ .‬بشكل عام ٌشبه المخطط الصندوقً‬
‫خرٌطة سٌر العملٌات‪ .‬المستعملون ٌتفاعلون مع‬
‫اللوحة األمامٌة عند تنفٌذ البرامج‪.‬‬
‫ٌمكن للمستعمل التحكم فً تغٌر مداخل و رؤٌة تجدٌد البٌانات فً‬
‫تستعمل للمداخل مثل ضبط مسطرة الزمن الحقٌقً‪ .‬عناصر التحكم‬
‫تحكم لوضع قٌم جهاز إنذار‪ ،‬ضبط قٌم مفتاح تشغٌل أو لتوقٌف‬
‫برنامج‪ .‬المؤشرات تستعمل كمخارج‪ .‬ترمومتر‪ ،‬إضاءة‪،‬وغٌرها‬
‫من المؤشرات تنشر قٌم المخارج من البرنامج‪ 0‬هذه ٌمكنها أن‬
‫تشمل البٌانات‪ ،‬حاالت البرامج‪ ،‬وغٌرها من المعلومات‪ .‬كل لوحة‬
‫عناصر تحكم أو مؤشرات لها نهائً مناسب فً المخطط‬
‫من عناصر الصندوقً‪ 0‬عند تنفٌذ جهاز افتراضً‪ ،‬تتدفق القٌم‬
‫التحكم نحو المخطط الصندوقً‪ ،‬حٌث تستعمل فً الوظائف فً‬
‫المخطط‪ ،‬والنتائج تمرر فً وظائف أخرى أو مؤشرات من خالل‬
‫لفات‪.‬‬

‫‪51‬‬
Review: Front Panel Controls Palette
‫ اللوحة األمامٌة لوحة عناصر التحكم‬:‫مراجعة‬
(Controls & Indicators ‫)عناصر التحكم والمؤشرات‬
‫تحكم عددي‬Control:
Numeric

Front Panel
‫اللوحة األمامٌة‬

Indicator:
Gauge ‫مؤشر‬
‫القٌاس‬
52
‫ٌمكن استعمال لوحة التحكم لوضع عناصر‬
‫التحكم والمؤشرات على اللوحة األمامٌة‪.‬‬
‫لوحة عناصر التحكم توجد فقط فً اللوحة‬
‫األمامٌة‪ .‬لرؤٌة اللوحة‪ ،‬ننقر بٌمنى الف رة‬
‫على مساحة مفتوحة فً اللوحة األمامٌة‪ .‬كما‬
‫ٌمكن اختٌار‪:‬‬

‫‪Window » Show Controls Palette‬‬


‫ثم تحرٌك لوحة عناصر التحكم نحو األسفل‬
‫بالنقر على دبوس طرف التوصٌل فً القمة‬
‫الزاوٌة الٌسرى للوحة‪.‬‬

‫‪53‬‬
Review: Block Diagram Functions Palettes
‫المخطط الصندوقً لوحة الوظائف‬:‫مراجعة‬

Structure: ‫هٌكل الحلقة‬


While Loop

54
‫استعمل لوحة الوظائف لبناء المخطط الصندوقً‪ .‬لوحة‬
‫الوظائف توجد فقط على المخطط الصندوقً‪ .‬لرؤٌة‬
‫اللوحة‪ ،‬اختر‪:‬‬
‫‪select Window»Show Functions Palette‬‬
‫كما ٌمكن نشر لوحة الوظائف بالنقر بٌمنى الف رة على‬
‫مساحة مفتوحة من المخطط الصندوقً‪ ،‬ثم تحرٌك لوحة‬
‫الوظائف نحو األسفل بالنقر على دبوس طرف التوصٌل‬
‫فً القمة الزاوٌة الٌسرى للوحة‪.‬‬

‫‪55‬‬
Review: Block Diagram Terminals
ً‫ نهاٌات المخطط الصندوق‬:‫مراجعة‬
Front Panel Window ‫نافذة اللوحة األمامٌة‬ Block Diagram Windowً‫نافذة المخطط الصندوق‬

Numeric Numeric
Controls Indicator
‫عناصر تحكم‬ ‫مؤشرات‬
‫عددٌة‬ ‫عددٌة‬

56
‫عند خلق هدف على اللوحة األمامٌة‪ ،‬سوف ٌخلق نهائً‬
‫على المخطط الصندوقً‪ .‬هذه النهائٌات تسمح بالوصول‬
‫ألهداف للوحة األمامٌة انطالقا من كود المخطط الصندوقً‪.‬‬
‫كل نهائً ٌحوي معلومات مهمة عن الهدف المتواجد فً‬
‫اللوحة األمامٌة المناسب له‪ .‬مثال‪ ،‬اللون و الرمز تعطً‬
‫معلومات على نوع البٌانات‪ .‬فمثال‪ ،‬نوع البٌانات الدٌنامٌكٌة‬
‫أشكال ‪polymorphic data‬هً نوع من البٌانات متعددة‬
‫التنفٌذ‪:‬‬

‫‪57‬‬
‫لون نهائٌاتها أزرق قاتم‪ .‬النهائٌات البولٌانٌة لونها أخضر ‪.‬‬
‫بصفة عامة‪ ,‬النهائٌات الخضراء ٌجب أن تلف(توصل) بالنهائٌات‬
‫الزرقاء‪ ،‬األخضر باألخضر‪ ،‬وهكذا‪...‬هذه لٌست قاعدة دائمة وسرٌعة‪,‬‬
‫البفٌو ٌسمح للمستعمل بتوصٌل(لف) نهائً أزرق (بٌانات‬
‫دٌنامٌكٌة) بنهائً وردي(قٌم كسرٌة)‪ ،‬كمثل‪ .‬لكن‪ ،‬فً الكثٌر من‬
‫الحاالت‪ٌ ،‬جب مراقبة مواءمة األلوان عند اللف‪ .‬عنصر التحكم‬
‫تحتوي على سهم فً الجهة الٌمنى ولها حدود سمٌكة‪ .‬المؤشرات‬
‫لها سهم فً الجهة الٌسرى وحدود رقٌقة‪ 0‬القواعد المنطقٌة‬
‫المستعملة فً اللف فً البفٌو تنص على أن‪ :‬كل لفة ٌجب أن تحوي‬
‫مصدرا(عنصر تحكم) واحدا فقط (ال غٌر) وكل لفة ٌمكن أن تكون لها‬
‫مقاصد متعددة (مؤشرات)‪.‬‬

‫‪58‬‬
‫إذا تم تمكٌن أداة االختٌار آلٌا وباإلمكان تحرٌف مؤشر‬
‫الشاشة(الشعرة) من فوق األهداف فً اللوحة األمامٌة أو المخطط‬
‫الصندوقً‪ ،‬سوف ٌختار البفٌو آلٌا األداة المناسبة من لوحة‬
‫األدوات‪ .‬تبادل اختٌار األداة آلٌا بالنقر على زر اختٌار األداة آلٌا فً‬
‫لوحة األدوات‪ 0‬استعمل أداة التشغٌل لتغٌٌر قٌم عنصر تحكم أو اختر‬
‫النص داخل عنصر التحكم‪ .‬استعمل أداة وضع وإعادة تحجٌم‬
‫الختٌار ‪ ،‬تحرٌك‪ ،‬أو تغٌٌر حجم الهدف‪ .‬أداة وضع وإعادة تحجٌم‬
‫تغٌر شكلها عندما تتحرك من على زاوٌة هدف إلعادة تحجٌمه‪.‬‬
‫استعمل أداة العنونة لتنقٌح أو تعدٌل نص وخلق عناوٌن حرة‪ .‬أداة‬
‫العنونة تتحول إلى مؤشر الشاشة(الشعرة) عند خلق عناوٌن حرة‬
‫(خاصة)‪ .‬استعمل أداة اللف(التوصٌل) لكتابة األهداف معا على‬
‫المخطط الصندوقً‪.‬‬

‫‪60‬‬
Review: Status Toolbar ‫ حالة قضٌب األدوات‬:‫مراجعة‬

Run Button ‫زر التنفٌذ‬

Continuous Run Button ‫زر التنفٌذ المستمر‬

Abort Execution ‫تنفٌذ اإلجهاض‬

Additional Buttons on the Diagram Toolbar


‫أزرار إضافٌة فً قضٌب أدوات المخطط‬

Execution Highlighting Button ‫زر تنفٌذ اإلظهار‬


Retain Wire Values Button ‫زر حجز قٌم الوصلة‬
Step Function Buttons ‫أزرار وظٌفة الخطوة‬

61
‫‪٠‬انقر على زر التنفٌذ ‪:Run button‬‬
‫لتنفٌذ الجهاز االفتراضً‪ ،‬زر التنفٌذ ٌظهر بسهم أسود إذا كان الجهاز‬
‫االفتراضً جهازا افتراضٌا من مستوى على‪ٌ ،‬عنً لٌس له‬
‫ألوان وهذا ٌعنً أنه لٌس جهازا افتراضٌا فرعٌا‪.‬‬
‫‪ ٠‬أنقر على زر التنفٌذ المستمر‪Continuous Run button :‬‬
‫لتنفٌذ الجهاز االفتراضً حتى اإلجهاض أو التوقف المؤقت‪0‬كما‬
‫ٌمكن أٌضا النقر على الزر مرة ثانٌة لتعطٌل‪0‬حجب) التنفٌذ‬
‫المستمر‪ ،‬خالل تنفٌذ الجهاز االفتراضً‪ٌ ،‬جب تفادي زر إجهاض‬
‫تدفق بٌانات التنفٌذ توقٌف تنفٌذ جهاز افتراضً‪ .‬كما ٌجب ترك‬
‫حتى النهاٌة أو صمم طرٌقة لتوقٌف تنفٌذ الجهاز االفتراضً‬
‫برمجٌا‪ 0‬عند القٌام بهذه العملٌة‪ٌ ،‬كون الجهاز االفتراضً فً حالة‬
‫معروقة‪ 0‬فمثال‪ ،‬ضع زرا على اللوحة األمامٌة لتوقٌف الجهاز‬
‫االفتراضً عند النقر علٌه‪.‬‬
‫‪:‬‬

‫‪62‬‬
‫‪٠‬أنقر زر توقٌف مؤقت لتوقٌف تنفٌذ مؤقتا‪ ،‬عند النقر على زر‬
‫التوقٌف المؤقت‪ٌ ،‬قوم البفٌو بإظهار مكان التوقف المؤقت فً‬
‫المخطط الصندوقً‪ .‬بالنقر على زر التوقف المؤقت مرة أخرى‬
‫الستمرار تنفٌذ الجهاز االفتراضً‪.‬‬
‫لتغٌٌر شكل حرف الطباعة للجهاز االفتراضً‪ ،‬الحجم‪،‬‬
‫اختر أوضاع النص‪ Text Settings :‬النسق(الطراز)‪ ،‬واللون‬
‫‪ Align‬لصف (محاذاة) األهداف‪ ،‬عمودي‪ ،‬أفقً‪ٌ ،‬مٌن‪ٌ ،‬سار‪...‬‬
‫‪٠‬اختر ‪Objects :‬‬
‫‪ Distribute Objects‬لخلق مسافات بٌن األهداف‪ ،‬ضغط‪... ،‬‬
‫‪٠‬اختر توزٌع األهداف‪:‬‬
‫‪ Resize Objects‬لتغٌٌر عرض وطول أهداف اللوحة األمامٌة‪.‬‬
‫‪٠‬اختر‬

‫‪63‬‬
Review: Dataflow Programming
‫ برمجة تدفق البٌانات‬:‫مراجعة‬
• Block diagram execution
ً‫تنفٌذ المخطط الصندوق‬
– Dependent on the flow of data
‫حسب تدفق البٌانات‬
– Block diagram does NOT execute left
to right
‫المخطط الصندوقً ال ٌنفذ من الٌسار على الٌمٌن‬
• Node executes when data is available to
ALL input terminals
‫العقدة تنفذ عندما تكون البٌانات جاهزة لكل نهاٌات‬
‫الدخل‬
• Nodes supply data to all output
terminals when done
‫العقدة تزود كل نهاٌات المخارج بالبٌانات‬

64
‫البفٌو ٌستعمل نموذج تدفق البٌانات لتنفٌذ األجهزة االفتراضٌة‪ .‬عقدة‬
‫مخطط صندوقً تنفذ عندما تكون كل بٌانات مداخلها متوفرة‪ .‬عندما‬
‫ٌنتهً تنفٌذ عقدة‪ٌ ،‬تم إمداد (تموٌن) نهائٌات المخارج بالبٌانات و‬
‫تمرر بٌانات الخرج للحلقة التالٌة فً مسار تدفق البٌانات‪ .‬فً تدفق‬
‫البٌانات‪ ،‬ترتٌب التتابع لعناصر البرنامج ٌحدد ترتٌب التنفٌذ للبرنامج‪.‬‬
‫كما نالحظ فً المخطط‪ٌ ،‬قوم بجمع عددٌن ثم ضرب نتٌجة الجمع‬
‫باثنٌن ‪ 0‬فً هذه الحالة‪ٌ ،‬نفذ المخطط الصندوقً من الٌسار على‬
‫الٌمٌن‪ ،‬لٌس ألن األهداف موضوعة فً هذا الترتٌب‪ ،‬ولكن ألن أحد‬
‫مداخل الضرب ٌكون غٌر صالح(ساري المفعول) حتى تتم عملٌة الجمع‬
‫وتمرر البٌانات لوظٌفة الضرب‪ .‬تذكر أن العقدة تنفذ فقط عندما تكون‬
‫البٌانات متوفرة فً كل نهائٌات مداخلها‪ ،‬وتقوم بإمداد البٌانات لكل‬
‫نهائٌات الخرج فقط بعد نهاٌة التنفٌذ‪ .‬فً القطعة الثانٌة للكود‪ ،‬محاكاة‬
‫الجهاز االفتراضً السرٌع لإلشارة‬
‫‪Simulate Signal Express VI‬‬

‫‪65‬‬
‫ٌتلقى المداخل من عناصر التحكم وٌمرر نتائجها‬
‫لراسم اإلشارة‪ .‬بهذا ٌمكن اعتبار عملٌة الجمع‪-‬‬
‫ضرب ومحاكاة كود اإلشارة متواجدان على نفس‬
‫المخطط الصندوقً وعلى التوازي‪ .‬هذا ٌعنً أنهما‬
‫سوف ٌبدآن فً التنفٌذ فً نفس اللحظة و لكن‬
‫ٌنفذان باستقاللٌة كل عن اآلخر‪ .‬إذا كان الحاسوب‬
‫الذي ٌنفذ هذا الكود كثٌرا من المعالجات‪ ،‬هاتان‬
‫القطعتان من الكود تنفذا باستقاللٌة الواحدة عن‬
‫األخرى(لكل واحدة معالجها الخاص) بدون إضافة‬
‫أي تكوٌد‪.‬‬

‫‪66‬‬
Review: Context Help Window
‫ نافذة سٌاق المساعد‬:‫مراجعة‬
‫< للمساعدة‬Ctrl+H> ‫اضغط على مفتاح‬
• Help»Show Context Help, press the <Ctrl+H> keys ‫نافذة سٌاق المساعد‬
• Hover cursor over object to update window

‫حرك مؤشر الف رة فوق أٌقونة الجهاز‬


ً‫االفتراض‬
– Right-Click on the VI icon
and choose Help, or
‫وأنقر بٌمنى الف رة على األٌقونة‬
Detailed Help‫واختر‬
– Choose “Detailed Help.” on the
context help window
67
‫نافذة سٌاق المساعد‬
Context Help window
‫ معلومات أهداف سٌاق المساعد‬.‫الشاشة(الشعرة) من فوق كل هدف‬
،‫ اللوحات‬،ً‫ البن‬،‫ الثوابت‬،‫ الوظائف‬،‫تشمل األجهزة االفتراضٌة‬
.‫ ومكونات صنادٌق الحوار‬،‫ األحداث‬،‫ الطرق‬،)‫الخواص(المواصفات‬
:‫لنشر نافذة سٌاق المساعد نختار‬
Help»Show Context Help
: ‫ونضغط على‬
<Ctrl+H> keys, or press the Show Context Help Window
button in the toolbar

To display the Context Help window, select Help»Show


Context Help, press the <Ctrl+H> keys, or press the Show
Context Help Window button in the toolbar
Connections displayed in Context Help:

68
:‫الروابط التً تنشر من خالل سٌاق المساعد‬
Required – bold ‫أسود عرٌض‬-‫متطلب‬
Recommended – normal ‫ عادي‬-)ً‫موصى به (مزك‬
Optional – dimmed )‫ معتم(باهت‬-‫اختٌاري‬
Additional Help ‫إضافات‬
• VI, Function, & How-To Help is also available. ‫أجهزة‬
‫ وظائف& كٌف تساعد متوفر‬،‫افتراضٌة‬
– Help» VI, Function, & How-To Help
– Right-click the VI icon and choose Help, Help ‫أنقر بٌمنى‬
‫الف رة أٌقونة الجهاز االفتراضً واختر‬
– Choose “Detailed Help.” on the context help window.
Detailed Help :‫أو اختر‬
• LabVIEW Help – reference style help ‫ مرجع‬-‫مساعد البفٌو‬
‫طراز المساعد‬
– Help»Search the LabVIEW Help… ‫البحث عن مساعد البفٌو‬
69
Review: Textual Math in LabVIEW
‫ النص ألرٌاضٌاتً فً البفٌو‬:‫مراجعة‬
• Integrate existing scripts with LabVIEW for faster development ‫ربط التعلٌق البفٌو لتطوٌر‬
‫أسرع‬
• Interactive, easy-to-use, hands-on learning environment
‫ عملً فً محٌط التعلم‬،‫ سهل االستعمال‬،ً‫تفاعل‬
• Develop algorithms, explore mathematical concepts, and analyze results using
a single environment
‫ وتحلٌل النتائج فً نفس المحٌط‬،‫ استكشاف أساسٌات الرٌاضٌات‬،‫تطوٌر الخوارزمٌة‬
• Freedom to choose the most effective syntax, whether graphical or textual
within one VI ‫حرٌة‬
ً‫اختٌار تركٌب الجمل الصورٌة أو النصٌة باستعمال جهاز افتراض‬

MATLAB ® is a registered trademark of The MathWorks, Inc.


Supported Math Tools: ‫األدوات ألرٌاضٌاتٌة المساندة‬
MathScript script node ‫عقدة المخطوط‬
ً‫ألرٌاضٌات‬ MathSoft software ‫البرنامج‬
ً‫ألرٌاضٌات‬
Mathematica software ‫برنامج ماتٌماتٌكا‬
MATLAB® software ‫ماتالب‬
Maple software ‫ برنامج مابل‬Xmath
software ‫إكس ماث‬

71
‫مراجعة ‪Overview‬‬
‫بإطالق نسخة البفٌو الثامنة‪ ،‬أصبحت لنا حرٌة اختٌار‬
‫أهم تركٌب الجمل الفعالة للحساب التقنً‪ ،‬مهما كان من‬
‫ناحٌة تطوٌر الخوارزمٌات‪ ،‬اكتشاف معالجة مبادئ‬
‫اإلشارات‪ ،‬أو تحلٌل النتائج‪ٌ .‬مكن تحوٌل المخطوط إلى‬
‫أداة وتطوٌر الخوارزمٌات فً المخطط الصندوقً بالقٌام‬
‫بعملٌة تفاعلٌة مع أدوات رٌاضٌاتٌة مثل‪:‬‬
‫‪The MathWorks Inc. MATLAB software,‬‬
‫‪Mathematica, Maple, Mathcad, IDL and Xmath‬‬
‫استعمال هذه األدوات ألرٌاضٌاتٌة مع البفٌو تتم بطرق‬
‫متعددة حسب الحاجة‪.‬‬
‫‪Communication with vendor software‬‬
‫االتصال مع مروجً ‪through LabVIEW node:‬‬
‫البرامج من خالل عقدة البفٌو‪:‬‬

‫‪72‬‬
‫‪Xmath node, MATLAB script node, Maple* node,‬‬
‫‪IDL* node‬‬

‫‪Communication with vendor software through VI‬‬


‫‪Server:‬‬ ‫االتصال مع مروجً البرامج من خالل‬
‫وحدة خدمة‪:‬‬
‫‪Mathematica* VIs, and Mathcad* VIs‬‬
‫فً نسخة ثمانٌة من برنامج البفٌو وما تالها ‪ٌ،‬مكن الجمع‬
‫بٌن برمجة حدسٌة صورٌة لتدفق البٌانات باستعمال ‪:‬‬
‫المخطوط‪ -‬ألرٌاضٌاتً‪MathScript:‬‬
‫وهً لغة برمجة نصٌة رٌاضٌاتٌة موجهة‪ ،‬تتوافق مع لغة‬
‫البرمجة الشعبٌة‪:‬‬
‫‪popular m-file script language.‬‬

‫‪73‬‬
Review: Math with the MathScript Node
ً‫ الرٌاضٌات وعقدة المخطوط ألرٌاضٌات‬:‫مراجعة‬
• Implement equations and algorithms textually
‫تطبٌق المعادالت والخوارزمٌات نصٌا‬
• Input and Output variables created at the border
‫تولد متغٌرات المداخل والمخارج عند الحد‬
• Generally compatible with popular m-file script language
‫متوافق(متسق) عامة مع مخطوطات اللغات الشعبٌة‬
• Terminate statements with a semicolon to disable immediate output

(Functions»Programming»
Structures»MathScript)

Prototype your equations in the interactive MathScript Window.


‫نموذج المعادالت فً نافذة المخطوط ألرٌاضٌاتً التفاعلٌة‬
‫تحسن البفٌو بإضافة نص أساسً لغوي طبٌعً لتطبٌق‬
‫عقدة المخطوط ألرٌاضٌاتً ‪The MathScript Node‬خوارزمٌات‬
‫رٌاضٌاتٌة فً المحٌط البرمجً الصوري‪ .‬ملفات المخطوطات‪-‬‬
‫الرٌاضٌاتٌة التً كتبت وحفظت انطالقا من نافذة المخطوط‬
‫ألرٌاضٌاتً ٌمكن فتحها واستعمالها فً عقدة المخطوط ألرٌاضٌاتً‪:‬‬
‫‪M-file scripts you’ve written and saved from the‬‬
‫‪MathScript window can be opened and used in the‬‬
‫‪MathScript node.‬‬
‫ملفات المخطوط ألرٌاضٌاتً التً كونت فً برامج رٌاضٌاتٌة أخرى‬
‫ٌمكن تنفٌذها أٌضا‪ .‬المخطوط ألرٌاضٌاتً ٌسمح ب خذ الجمل المكبة‬
‫التً ترتاح لها لحل المشاكل‪ٌ .‬مكن تحوٌل المعادالت إلى أدوات‬
‫للتعامل مع عقد المخطوط ألرٌاضٌاتً للكشف عن البرامترات‪،‬‬
‫المحاكاة‪ ،‬أو تنفٌذها فً مشروع نهائً‪.‬‬
‫‪75‬‬
The MathScript Node: ً‫عقدة المخطوط ألرٌاضٌات‬
• Located in the Programming»Structures
sub-palette. ‫توجد فً اللوحة الفرعٌة‬
• Resizable box for entering textual
computations directly into block diagrams.
‫إعادة تحجٌم الصندوق إلدخال النصوص الحسابٌة‬
ً‫مباشرة فً المخطط الصندوق‬
• To add variables, right-click and choose
Add Input or Add Output : ‫ ننقر‬،‫إلضافة متغٌرات‬
‫بٌمنى الف رة ونختار‬
• .‫على العقدة‬

76
• Name variables as they are used in formula.
(Names are case sensitive.) ً‫تسمٌة المتغٌرات كما ه‬
.‫مستعملة فً القانون‬
• The data type of the output can be changed by
right-clicking the input or output node. ‫نوع بٌانات‬
‫الخرج ٌمكن استبدالها بالنقر بٌمنى الف رة على عقد الدخل أو‬
.‫الخرج‬
• Statements should be terminated with a semicolon
to suppress output. ‫العبارات ٌجب أن تنتهً بفاصلة‬
‫نقطة لكتم(طمس) الخرج‬
• Ability to import & export m-files by right-clicking
on the node. ‫إمكانٌة استٌراد وتصدٌر الملفات ألرٌاضٌاتٌة‬
‫بالنقر بٌمنى الف رة‬
77
Review: The Interactive MathScript Window
‫ نافذة المخطوط ألرٌاضٌاتً التفاعلٌة‬:‫مراجعة‬
• Rapidly develop and test algorithms ‫تطوٌر واختبار الخوارزمٌات‬
• Share Scripts and Variables with the
Node
‫مشاركة المخطوطات والمتغٌرات مع العقد‬
• View /Modify Variable content in 1D, 2D,
and 3D Variable ‫مساحة عمل‬
Output ‫نافذة‬ ‫المتغٌرات‬
‫رؤٌة\تغٌٌر المتغٌرات‬ ‫الخرج‬
Window
Workspace

View/Modify ‫مشاهدة\تغٌٌر‬
‫محتوى المتغٌرات‬
Variable Contents

m-file Script User Commands ‫أوامر‬


‫المستعمل‬
‫مخطوط الملفات ألرٌاضٌاتٌة‬

(LabVIEW»Tools»MathScript Window)
‫نافذة المخطوط ألرٌاضٌاتً توفر محٌطا تفاعلٌا حٌث ٌمكن تصنٌفها على شكل نموذج‬
‫والقٌام بالحسابات‪.‬نافذة المخطوط ألرٌاضٌاتً و العقدة تشتركان فً تركٌب الجمل‬
‫والمتغٌرات الشاملة والعمومٌة تجعل التحرك من التصنٌف إلى التنفٌذ سهلة وب قل‬
‫األخطاء‪ .‬مراجعة البٌانات توفر طرٌقة مناسبة لمشاهدة البٌانات المتغٌرة ك عداد‪،‬‬
‫صور ومخططات‪ ،‬و سمعٌة(فً حالة توفر كرت صوتً)‪.‬‬
‫مساعد المخطوط ألرٌاضٌاتً ‪Help for MathScript‬‬
‫ٌمكن الوصول إلى المساعد باستعتمال نافذة محٌط تفاعل المخطوط ألرٌاضٌاتً‪.‬‬
‫‪Type Help in the command window for an introduction to MathScript‬‬
‫أكتب ‪ Help‬للوصول على نافذة المساعد ‪help‬‬
‫‪Help followed by a function will display help specific to that function‬‬
‫إذا أضفنا ‪Help +function‬تنشر المساعد الخاص بتلك الوظٌفة‪.‬‬
‫ممٌزات نافذة المخطوط ‪Features of the interactive MathScript Window‬‬
‫ألرٌاضٌاتً التفاعلٌة‬

‫‪79‬‬
• Prototype equations and formulas through the command
Window ‫تصنٌف المعادالت والقوانٌن من خالل نافذة األوامر‬
• Easily access function help by typing Help <function> in the
Command Window ‫سهولة الوصول إلى المساعد‬
• Select a variable to display its data in the Preview Pane and
even listen to the result ‫نشر بٌانات المتغٌرة ومشاهدتها‬
• Write, Save, Load, and Run m-files using the Script tab ،‫كتابة‬
‫ وتنفٌذ الملفات باستعمال المخطوط‬،‫ تحمٌل‬،‫حفظ‬
• Share data between the MathScript Node in LabVIEW and the
MathScript Window using Global Variables
ً‫إشراك البٌانات بٌن عقدة المخطوط ألرٌاضٌاتً و نافذة المخطوط ألرٌاضٌات‬
‫باستعمال المتغٌرات الشاملة‬
• Advanced plotting features and image export features ‫و مزاٌا‬
‫ممٌزات المرسوم المتقدمة تصدٌر الصور‬

80
Review Exercise: Introduction to LabVIEW
:‫تمرٌن مراجعة‬

Force  Mass  Acceleration


‫ْ القوة = الكتلة ×التسارع‬
Objectives: ‫األهداف‬
• Calculate the Acceleration given Force and Mass ‫حساب التسارع بمعرفة القوة والكتلة‬
• Become familiar with the LabVIEW Environment ‫التعامل معل محٌط البفٌو‬

81
‫ذًش‪ ٍٚ‬يشاخؼح‪ :‬يذخم إنٗ التف‪ٕٛ‬‬
‫نهثذء ف‪ ٙ‬كراتح انًُٕرج‪َ ،‬قٕو ترثغ‪ٛ‬ظ زغاب انًُٕرج نقإٌَ َ‪ٕٛ‬ذٍ انرقه‪ٛ‬ذ٘‪:‬‬
‫‪ F=m*a‬عٕف َسغة انرغاسع يٍ انقإٌَ ‪a=F/m :‬‬
‫تاػرثاس انكرهح ٔانقٕج كًذخم‪.‬‬

‫‪ -‬أَقش ت‪ ًُٗٛ‬انفأسج ػهٗ انهٕذ األياي‪ ٙ‬نهسظٕل ػهٗ نٕزح ػُاطش انرسكى‪ :‬ػذد٘‬
‫ٔػًٕد٘ ٔ ػًٕد٘ اَضالق‪.ٙ‬‬
‫‪ -‬ارْة إنٗ‪:‬‬
‫‪Navigate to the Modern » Numeric sub-palette by left-‬‬
‫‪clicking‬‬
‫تانُقش ت‪ٛ‬غشٖ انفأسج‪. .‬‬
‫أَقش ت‪ٛ‬غشٖ انفأسج ػهٗ ػُظش ‪a)Left click the Numeric control.‬‬
‫انرسكى‪.‬‬
‫أَقش ‪b)Left click on the Front Panel to place the control.‬‬
‫ت‪ٛ‬غشٖ انفاسج ػهٗ انهٕذ األياي‪ ٙ‬نٕضغ ػُظش٘ انرسكى‪.‬‬
‫‪c) The name of the control will be highlighted. Start typing to‬‬
‫”(‪rename this control to “Mass )kg‬‬
‫اعى ػُظش انرسكى عٕف ‪ٚ‬ظٓش ‪ .‬اتذأ ترغ‪ٛٛ‬ش االعى إنٗ كرهح (ك‪ٛ‬هٕغشاو)‪.‬‬
‫‪a)Repeat steps a-d with a Vertical Pointer Slide. Name this‬‬
‫أػ‪ٛ‬ذ ”(‪control “Force )N‬‬
‫‪82‬‬
a).ٙ‫َفظ انًشازم تانُغثح نؼُظش انرسكى انؼًٕد٘ أالَضالق‬
1.Create a front panel gauge indicator ‫ٍ يؤشش‬ٕٚ‫ذك‬
ٙ‫ انهٕذ األياي‬ٙ‫شج) ف‬ٚ‫اط(انًؼا‬ٛ‫انق‬
a)In the Controls Palette, navigate to the Modern »
Numeric sub-palette :ٙ‫ ٔ ف‬،‫ح‬ٛ‫ انهٕزح األياي‬ٙ‫ف‬
b)Select the Gauge indicator ٙ‫شج) ف‬ٚ‫اط(انًؼا‬ٛ‫اخرش يؤشش انق‬
ٙ‫انهٕذ األياي‬
c)Place and name this indicator “Acceleration )m/s2(” ‫ضغ‬
‫ ْزا انًؤشش انرغاسع‬ًٙ‫ٔ ع‬
2.Notice how corresponding terminals appeared on the white
block diagram. )‫ض‬ٛ‫(األت‬ٙ‫ انًخطظ انظُذٔق‬ٙ‫اخ ف‬ٛ‫ف ذظٓش انُٓائ‬ٛ‫الزع ك‬
3.Place a divide function on the block diagram ‫ضغ ػاليح قغًح‬
ٙ‫ انًخطظ انظُذٔق‬ٙ‫ف‬
a)In the Functions Palette, navigate to the Programming »
Numeric sub-palette ،‫ نٕزح انٕظائف‬ٙ‫ف‬
b)Select and place the Divide function. ‫اخرش ثى ضغ ػاليح قغًح‬

83
The Design Process ‫تصمٌم النظام‬

1. Modeling – Identify a mathematical representation of the plant


‫ تحقٌق تعرٌف عرض رٌاضٌاتً للنظام‬-‫نموذج‬
2. Control Design – Choose a control method and design a
controller ‫ اختٌار طرٌقة تحكم وتصمٌم الحاكم‬-‫تصمٌم التحكم‬
3. Simulation – Employ a point-by-point approach to simulate
the system timing with a solver - ‫ نستعمل طرٌقة نقطة‬-‫محاكاة‬
‫نقطة لمحاكاة توقٌت النظام باستعمال أداة حل‬
4. Tuning and Verification – Introduce real-world nonlinearities,
tune, and verify the control algorithm ‫ إدماج الضبط‬-‫ضبط وتحقٌق‬
‫ والت كد من خوارزمٌة التحكم‬،ً‫الالخط‬
5. Deployment – Implement the finalized control system
6. ً‫ تحقٌق نظام التحكم النهائ‬-‫نشر‬

84
‫ٌمكن الحصول على قٌمة مثلى للحاكم بفهم‬
‫العملٌة(النظام)‪ .‬هذا الفهم ٌ تً من التحلٌل المتوفر فً‬
‫وحدة تصمٌم التحكم والمحاكاة‪ .‬مخططات تخصصٌة مثل‬
‫مخطط بودي‪ ،‬موقع الجذور‪ ،‬ومخطط نٌكوٌست‪ ،‬تعطً‬
‫فكرة عن تصرف العملٌة(النظام)‪ .‬تحالٌل إضافٌة‬
‫باستعمال هذه المخططات فً حالة نظام ذي حلقة مفتوحة‬
‫بوجود الحاكم تسمح بدراسة االستقرار ومواصفات أخرى‬
‫ٌمكن حسابها‪ .‬لهذا الهدف‪ ،‬نستعمل تصمٌم تحكم لحساب‬
‫القٌمة المثلى للبرامترات‪ .‬فً الحالة الخاصة التً نحن‬
‫بصدد دراستها تخص قٌم الحاكم التناسبً‪ -‬التكاملً‪-‬‬
‫التفاضلً‪ ،‬و مخططات االستجابة الزمنٌة فً حالة إشارة‬
‫خطوة فً الدخل‪ ،‬لتعطً فكرة عن التصرف المثالً‬
‫للنظام‪ ،‬كزمن الصعود‪ ،‬التعدي(التجاوز)‪ ،‬زمن االستقرار‪،‬‬
‫و الخط فً حالة االستقرار‪.‬‬
‫‪85‬‬
‫ٌمكننا حٌنئذ محاكاة الوحدة للت كد من صحة هذه البرامترات فً‬
‫حالة عوائق قٌد أو تحفظ‪ .‬أول هذه األمثلة تتمثل فً القٌمة‬
‫العظمى والقٌمة الصغرى للجهد والتٌار المتوفران لتغذٌة المحرك‪.‬‬
‫حدود الجهد للمحرك تحدد المدى الخطً للعملٌة‪ .‬خارج هذا‬
‫المدى‪ ،‬الذي ال ٌمكن حساب نموذج خاص به‪ ،‬وٌمكن أن ٌؤثر‬
‫على عمل المحرك و عدم التنبؤ بعمله‪ .‬هذا مثال على المحٌط‬
‫الالخطً‪ ،‬الذي ال ٌمكن حساب نموذج خاص به باستعمال القوانٌن‬
‫الخاصة بالنظم الخطٌة المتوفرة فً وحدة تصمٌم التحكم ‪ .‬أما‬
‫وحدة المحاكاة فتسمح بمحاكاة الالخطٌات باستعمال تجمٌع‬
‫التشبع‪ ،‬مثال‪ .‬تصرف الالخطٌات أخرى ٌمكن كتابته فً‬
‫البفٌو‪،‬المحطوط ألرٌاضٌاتً‪ ،‬الصٌغة ألرٌاضٌاتٌة للعقدة فً‬
‫البفٌو‪،‬و ٌمكن دمجها فً الوحدة كجهاز افتراضً فرعً‪.‬‬

‫‪86‬‬
Step 1: ‫الخطوة األولى‬
Modeling ‫النمذجة‬

Identify a mathematical representation of the plant


‫تحقٌق تعرٌف عرض رٌاضٌاتً للنظام‬
The Design Process ‫تصمٌم النظام‬

1. Modeling – Identify a mathematical representation of the plant


‫ تحقٌق تعرٌف عرض رٌاضٌاتً للنظام‬- ‫نمذجة‬
Create a model that describes the motor speed given an input
voltage.‫خلق نموذج ٌمثل سرعة محرك باستعمال جهد دخل‬
2- Control Design – Choose a control method and design a
controller
3-Simulation – Employ a point-by-point approach to
simulate the system timing with a solver
4-Tuning and Verification – Introduce real-world
nonlinearities, tune, and verify the control algorithm
5- Deployment – Implement the finalized control system

88
‫ٌمكن الحصول على قٌمة مثلى للحاكم بفهم العملٌة(النظام)‪.‬‬
‫هذا الفهم ٌ تً من التحلٌل المتوفر فً وحدة تصمٌم التحكم‬
‫والمحاكاة‪ .‬مخططات تخصصٌة مثل مخطط بودي‪ ،‬موقع‬
‫الجذور‪ ،‬ومخطط نٌكوٌست‪ ،‬تعطً فكرة عن تصرف‬
‫العملٌة(النظام)‪ .‬تحالٌل إضافٌة باستعمال هذه المخططات فً‬
‫حالة نظام ذي حلقة مفتوحة بوجود الحاكم تسمح بدراسة‬
‫االستقرار ومواصفات أخرى ٌمكن حسابها‪ .‬لهذا الهدف‪،‬‬
‫نستعمل تصمٌم تحكم لحساب القٌمة المثلى للبرامترات‪ .‬فً‬
‫الحالة الخاصة التً نحن بصدد دراستها تخص قٌم الحاكم‬
‫التناسبً‪ -‬التكاملً‪ -‬التفاضلً‪ ،‬و مخططات االستجابة الزمنٌة‬
‫فً حالة إشارة خطوة فً الدخل‪ ،‬لتعطً فكرة عن التصرف‬
‫المثالً للنظام‪ ،‬كزمن الصعود‪ ،‬التعدي(التجاوز)‪ ،‬زمن‬
‫االستقرار‪ ،‬و الخط فً حالة االستقرار‪.‬‬

‫‪89‬‬
‫ٌمكننا حٌنئذ محاكاة الوحدة للت كد من صحة هذه البرامترات فً حالة‬
‫عوائق قٌد أو تحفظ‪ .‬أول هذه األمثلة تتمثل فً القٌمة العظمى والقٌمة‬
‫الصغرى للجهد والتٌار المتوفران لتغذٌة المحرك‪ .‬حدود الجهد للمحرك‬
‫تحدد المدى الخطً للعملٌة‪ .‬خارج هذا المدى‪ ،‬الذي ال ٌمكن حساب‬
‫نموذج خاص به‪ ،‬وٌمكن أن ٌؤثر على عمل المحرك و عدم التنبؤ‬
‫بعمله‪ .‬هذا مثال على المحٌط الالخطً‪ ،‬الذي ال ٌمكن حساب نموذج‬
‫خاص به باستعمال القوانٌن الخاصة بالنظم الخطٌة المتوفرة فً وحدة‬
‫وحدة المحاكاة فتسمح بمحاكاة الالخطٌات تصمٌم التحكم ‪ .‬أما‬
‫باستعمال تجمٌع التشبع‪ ،‬مثال‪ .‬تصرف الالخطٌات أخرى ٌمكن كتابته‬
‫فً البفٌو‪،‬المحطوط ألرٌاضٌاتً‪ ،‬الصٌغة ألرٌاضٌاتٌة للعقدة فً‬
‫البفٌو‪،‬و ٌمكن دمجها فً الوحدة كجهاز افتراضً فرعً‪.‬‬

‫‪90‬‬
Why Model? ‫لماذا النموذج‬
A model represents a physical system ‫النموذج ٌمثل نظاما فٌزٌائٌا‬
• Inputs and outputs have real-world units ‫المداخل والمخارج لها وحدات حقٌقٌة‬
• It is often a simplification of the system’s behavior ‫تمثل اختصارا لمحٌط‬
‫النظام‬
Many types of systems can be modeled ‫كثٌر من أنواع النظم ٌمنكن أن تنمذج‬
• Mechanical systems ‫النظم المٌكانٌكٌة‬
• Electronic circuits ‫الدوائر اإللكترونٌة‬
• Analog and digital filters ‫المرشحات التماثلٌة والرقمٌة‬
• Thermal and fluid systems ‫النظم الحرارٌة ونظم السوائل‬

Models can be represented in many ways ‫النماذج ٌمكن أن تعرض بطرق متعددة‬
• Transfer function ‫دوال التحوٌل‬
• State space ‫فضاء الحالة‬
• Others ...‫وغٌرها‬
91
‫‪Modeling with the Transfer Function‬‬
‫النمذجة باستعمال دالة التحوٌل‬

‫‪A transfer function‬‬ ‫‪provides a mathematical description or model for how‬‬


‫دالة التحوٌل توفر الوصف ‪the Inputs and Outputs of a system are related.‬‬
‫ألرٌاضٌاتً أو نموذجا لتفسٌر العالقة بٌن دخل وخرج نظام‬
‫إذا كان النظام محركا‪:‬‬ ‫)‪ m ( s‬‬ ‫‪Km‬‬
‫‪‬‬
‫‪In this case, the system is a motor.‬‬ ‫‪Vm ( s) J eq Rm s  K m 2‬‬
‫دخل المحرك هو الجهد ‪• Motor input is voltage‬‬
‫خرج المحرك هً زاوٌة السرعة ‪• Motor output is angular velocity‬‬
‫فً هذه الحالة‪ ،‬نموذج النظام مشتق من النموذج الفٌزٌائً‪ .‬الطرٌقة البدٌلة ٌمكن أن‬
‫تتم بقٌاس استجابة النظام لدخل محدد واشتقاق نموذج باستعمال البفٌو‪.‬‬

‫‪92‬‬
‫دالة التحوٌل ‪Transfer function‬‬
‫تمثل العالقة الرٌاضٌاتٌة بٌن خرج نظام التحكم (العملٌة) ودخله‪.‬‬
‫بصفة عامة‪ ،‬تمثل بتحوٌل البالس لخرج النظام(العملٌة) مقسمة‬
‫على تحوٌل البالس لدخل النظام باعتبار القٌم البدائٌة مساوٌة‬
‫للصفر‪ .‬كما ٌمكن تمثٌل دالة التحوٌل بتحوٌل زاد‪:‬‬
‫‪Z-Transform.‬‬
‫دخل وخرج دالة التحوٌل ٌمكن أن تكون عبارة مٌكانٌكٌة‪،‬‬
‫كهربائٌة‪ ،‬نٌوماتٌة‪...‬فً هذه الحاالت ٌكون النظام محركا مثال‬
‫وٌكون دخل النظام جهدا وخرجه سرعة‪ٌ .‬مكن الحصول على دالة‬
‫التحوٌل للنموذج الفٌزٌائً باستعمال المعادالت الفٌزٌائٌة‬
‫باستعمال أدوات مثل وحدة نظام التعرٌف فً الحركٌة‪...‬أو بتقدٌر‬
‫البفٌو‪.‬‬

‫‪93‬‬
QNET DC Motor Control Trainer
‫نموذج تحكم فً محرك تٌار مستمر‬
The model in this course is based on the ‫نستعمل‬
‫نموذج محرك تٌار مستمر‬
Quanser QNET DC Motor.
‫ فولت‬24 ‫بجهد تغذٌة‬
• The motor is a 24 volt DC motor
The motor is highly linear in terms of its speed
given a voltage ‫المحرك خطً وٌنتج عن الجهد سرعة‬
• We will use the Control Design Toolkit
functions to create the mathematical model in
LabVIEW
‫سوف نستعمل وحدة وظائف لتصمٌم عملٌة التحكم‬
.‫والحصول على نموذج رٌاضٌاتً فً البفٌو‬

94
Deriving the Motor Model
‫بناء نموذج المحرك‬
Electrical ‫المعادالت الكهربائٌة‬
1. Motor Diagram
2.
where : L  R
m m

3.
Mechanical ‫المعادالت المٌكانٌكٌة‬
4.
Ωm Fixed Magnets
Motor Coil

5. where : Td  0
Brushes
Drive Shaft
6. (substitute in Electrical eqn)
Encoder
7 Ω
 m
Vm Inertial Mass
‫بعد التغٌٌر فً المعادالت الكهربائٌة‬

Motor model derivation from Quanser QNET Interactive Learning Guide.


Copyright ©2005, by Quanser Inc. All rights reserved. 95
‫نموذج محرك تٌار مستمر ٌحصل علٌه امن مواصفات النظام المٌكانٌكٌة‬
‫والكهربائٌة‪.‬‬
‫‪ .‬دالة التحوٌل التً تمثل العالقة بٌن دخل النظام وخرجه هً قسمة السرعة‬
‫خرج النظام هو السرعة الزاوٌة‪(ωm) :‬الزاوٌة على‬
‫جهد دخل النظام‪.‬‬
‫)‪(Ωm/Vm)=km/(Rm*Jeq*s+km2‬‬
‫حٌث‪:‬‬
‫))‪km = Motor back-EMF constant (V/(rad/s‬‬ ‫ثابتة القوة الكهرومغناطٌسٌة‬
‫المعاكسة‬
‫الذراع الحركً المقاوم )‪Rm = Motor armature resistance (Ohms‬‬
‫‪Jeq = Equivalent moment of inertia (kg*m2) (Assume that‬‬
‫مكافئً عزم القصور الذاتً ))‪Jeq=Jm(Motor armature moment of inertia‬‬
‫دالة التحوٌل هذه تمثل نموذج العملٌة التً سوف تستعمل فً التمارٌن الالحقة‪.‬‬
‫نموذج النظام ٌستعمل لتصمٌم نموذج الحاكم‪ ،‬الذي سوف ٌختبر مع المحرك الحالً‪.‬‬

‫‪96‬‬
Motor Specifications Sheet ‫مواصفات المحرك‬
Symbol Description Value ‫القٌمة‬ Unit ‫الوحدة‬
Motor: ‫المحرك‬
Rm Motor armature resistance. ‫مقاومة كتلة المحرك‬ 3.30 ohms
Kt Motor torque constant .‫ثابت عزم المحرك‬ 0.0280 N.m
Km Motor back-emf constant ‫ثابتة القوة المحركة العكسٌة‬ 0.0280 V/(rad/s)
Moment of inertia of motor rotor ً‫عزم القصور الذات‬
Jm 9.64e-6 kg.m2
‫لدوار المحرك‬
Ml Inertial load disc mass ‫حمل كتلة القرص البدائٌة‬ 0.033 kg
rl Inertial load disc radius ً‫حمل جذر القرص البدائ‬ 0.0242 m
Pulse-Width Modulated Amplifier: ‫عرض نبضة المكبر المعدلة‬
PWM amplifier maximum output voltage ‫عرض نبضة‬
Vmax 24 V
‫المكبر المعدلة لجهد خرج أكبر‬
PWM amplifier maximum output current ‫عرض نبضة‬
5 A
‫المكبر المعدلة لتٌار خرج أكبر‬
Plant(Motor) Vm  Input Voltage
PWM amplifier gain‫كسب المكبر‬ 2.3 V/V
Vm Km m  m  Angular Velocity
J eq Rm s  K m
2
LabVIEW Control Design Toolkit
‫وحدة البفٌو للتصمٌم والتحكم‬
• Construct and analyze system
models ‫بناء وتحلٌل نماذج التحكم‬
• Design basic and advanced
control algorithms ‫تصمٌم‬
‫خوارزمٌات تحكم أساسٌة و متقدمة‬
• Simulate response of controller
designs ‫محاكاة استجابة تصامٌم‬
‫الحاكمات‬
• Analyze control efficiency and
stability interactively ‫تحلٌل كفاءة‬
‫الحاكم واالستقرار تفاعلٌا‬

98
Constructing Models Graphically
‫بناء النماذج صورٌا‬
• Create continuous and discrete time models
‫خلق نماذج مستمرة ومتقطعة زمنٌا‬
• Models can be created symbolically
‫ٌمكن بناء النماذج رمزٌا‬

99
‫استعمل نموذج بناء الجهاز االفتراضً لخلق نماذج نظم خطٌة صورٌة‬
‫وتغٌٌر مواصفات نموذج نظام‪ .‬كما ٌمكن استعمال نموذج بناء جهاز‬
‫افتراضً لحفظ نموذج نظام فً ملف‪ ،‬قراءة شكل نموذج نظام من‬
‫ملف‪ ،‬أو الحصول على تمثٌل مرئً لنموذج‪.‬‬
‫الخطوة األولى فً استعمال وحد تصمٌم تحكم تتمثل فً الحصول على‬
‫نموذج ٌنفذ من خالله‪ .‬وحد تصمٌم تحكم ٌمكن أن ٌتعامل مع دالة‬
‫التحوٌل‪ ،‬فضاء الحالة‪ ،‬نماذج كسب األقطاب و األصفار‪:‬‬
‫‪The Control Design Toolkit can work with Transfer‬‬
‫)‪Function (TF), State Space (SS), and Zero Pole Gain (ZPK‬‬
‫ٌخزن النموذج كمجموعات متجانسة ٌمكن تمرٌرها من ‪models.‬‬
‫جهاز افتراضً إلى آخر ألداء عملٌات متعددة على نموذج واحد‪.‬‬

‫‪100‬‬
Constructing Models Textually
‫بناء النماذج نصٌا‬
MathScript allows models to be created using m-file syntax.
‫مخطوط رياضياتي يسمح بتكوين النماذج باستعمال الجمل‬

101
‫النماذج ٌمكن بناؤها باستعمال لغة البرمجة النصٌة مع‬
‫وظائف المخطوط ألرٌاضٌاتً فً مصمم التحكم‪ .‬نستعمل‬
‫عقدة المخطوط ألرٌاضٌاتً لتعرٌف منطقة فً المخطط‬
‫الصندوقً للبرمجة النصٌة‪ .‬المخطوط ألرٌاضٌاتً ٌمكن‬
‫الحالة‪ ،‬و نماذج أن ٌستعمل مع دالة التحوٌل‪ ،‬فضاء‬
‫كسب األصفار واألقطاب‪ .‬المجموعة المتجانسة التً‬
‫تحوي المعلومات عن النموذج الناتج عن عقدة المخطوط‬
‫ألرٌاضٌاتً له نفس شكل المجموعة المتجانسة الناتجة‬
‫عن بناء نظام الجهاز االفتراضً‪ ،‬و ٌسمح باالستعمال‬
‫المتبادل بٌن البرمجة النصٌة والبرمجة الصورٌة‪.‬‬

‫‪102‬‬
Exercise 1a: ‫التطبٌق األول‬
Create and Display a Transfer Function
‫خلق ونشر دالة تحوٌل‬
Plant(Motor)
Vm Km m Vm  Input Voltage

J eq Rm s  K m
2 m  Angular Velocity

• Use physical specifications to create a plant model.


‫استعمل مواصفات فٌزٌائٌة لخلق دالة تحوٌل‬
• Build a transfer function with Control Design Toolkit.
• ‫وبناء دالة تحوٌل باستعمال برنامج تصمٌم تحكم‬

103
1. Build the VI block diagram ٙ‫غ يخطظ خٓاص افرشاض‬ًٛ‫تُاء ذد‬
Open a blank VIand save it as i from the Getting Started screen. ‫َثذأ تفرر‬
:‫ َٔسفظّ تاعى‬ٙ‫يخطظ طُذٔق‬ Exercise_1a.v
Switch to the block diagram (<Ctrl+E>) ٙ‫َُرقم إنٗ انًخطظ انظُذٔق‬
Place the CD Construct Transfer Function Model.vi on the block diagram.
:‫َضغ‬
ٙ‫ انًخطظ انظُذٔق‬ٙ‫ف‬
From the functions palette, select : ‫يٍ نٕزح انٕظائف َخراس َٔضغ‬
Place the CD Construct Transfer Function Model.vi ‫َٔضغ تانغسة يٍ خالل‬
Addons»Control Design»Model Construction»CD Construct Transfer
Function Model.vi
.ٙ‫ انًخطظ انظُذٔق‬ٙ‫َٔضؼٓا تانغسة ف‬
and place it on the block diagram. From the drop-down menu select ‫يٍ خالل‬
‫انٓثٕط َسٕ األعفم‬
Single-Input Single-Output (Symbolic). ‫َسراس‬
Right-click the Symbolic Numerator input terminal of the CD Construct
Transfer Function Model.vi ‫ًُٗ انفأسج‬ٛ‫َُقش ت‬
and select Create»Control from the shortcut menu. ‫َٔخراس انقائًح انًخرظشج‬
Right-click the Symbolic Denominator input terminal of the CD Construct
Transfer Function Model.vi
:ٗ‫ًُٗ انفاسج ػه‬ٛ‫َُقش ت‬
and select Create»Control from the shortcut menu. ‫َٔخراس يٍ انقائًح انًخرظشج‬
Right-click the Variables input terminal of the CD Construct Transfer
Function Model.vi : ٗ‫ًُٗ انفأسج ػه‬ٛ‫َُقش ت‬

104
and select Create»Control from the shortcut menu. ‫َخراس يٍ انقائًح‬
‫انًخرظشج‬
Place the CD Draw Transfer Function Equation.vi on the block
diagram. From the functions palette, select
:‫ َٔخراس‬ٙ‫ انًخطظ انظُذٔق‬ٙ‫تانغسة َضغ ف‬
Addons»Control Design»Model Construction» CD Draw Transfer
Function Equation.vi and
:‫ ٔتانٓثٕط َسٕ األعفم َخراس‬.ٙ‫ انًخطظ انظُذٔق‬ٙ‫َٔضؼٓا ف‬
place it on the block diagram. From the drop-down menu select
Transfer Function.
 ‫م ًَٕرج‬ٕٚ‫ دخم دانح انرس‬ٙ‫م تُٓائ‬ٕٚ‫ خشج دانح انرس‬ٙ‫ٔطم َٓائ‬
Wire the Transfer Function Model output terminal of the CD
Construct Transfer Function Model.vi to the Transfer Function
Model input terminal of the CD Draw Transfer Function
Equation.vi.
: ‫ يؼادنح‬ٙ‫ًُٗ انفأسج خشج َٓائ‬ٛ‫أَقش ت‬
Right-click the Equation output terminal of the CD Draw Transfer
Function Equation.vi and select
Create»Indicator from the shortcut menu. ‫َكٌٕ يؤششا يٍ انقائًح‬
‫انًخرظشج‬
Double-click the label of the picture indicator,. ‫ٍ ػهٗ ػَُٕح‬ٛ‫َُقش يشذ‬
‫ح‬ًٛ‫ذ انرغ‬ٛ‫انًؤشش ٔ َؼ‬
and rename it Plant Equation
Save the VI. ٙ‫َسفع اندٓاص االفرشاض‬
105
Exercise 1b: ‫التمرٌن‬
Create and Display a Transfer Function
‫خلق ونشر دالة تحوٌل‬
Plant(Motor)
Vm Km m Vm  Input Voltage

J eq Rm s  K m
2 m  Angular Velocity

106
Exercise 1b: ٍٚ‫ذًش‬
1. Build the VI block diagram. ٙ‫ نهدٓاص االفرشاض‬ٙ‫تُاء يخطظ طُذٔق‬
Open a blank VI and save it from the Getting Started screen. ٍ‫ي‬
‫شاشح انثذء‬
as Exercise_1b.vi :‫ضا َٔسفظٓا تاعى‬ٛ‫ا أت‬ٛ‫َفرر خٓاصا افرشاض‬
Switch to the block diagram (<Ctrl+E>) ٙ‫َُرقم إنٗ انًخطظ انظُذٔق‬
Place a MathScript Node on the block diagram. Right-click to
open the functions palette and select
‫ًُٗ انفاسج نفرر نٕزح‬ٛ‫ َُٔقش ت‬.ٙ‫ انًخطظ انظُذٔق‬ٙ‫ ف‬ٙ‫اذ‬ٛ‫اض‬ٚ‫َضغ ػقذج انًخطٕط أنش‬
:‫انٕظائف َٔخراس‬
Programming»Structures»MathScript Node.
Enter the following code inside the MathScript Node: ‫أدخم انكٕد‬
ٙ‫اذ‬ٛ‫اض‬ٚ‫ ػقذج انًخطٕط أنش‬ٙ‫ ف‬ٙ‫انران‬
%Motor Model ‫عنونة‬
num = [K]; ‫البسط‬
den = [J*Rm K^2]; ‫المقام‬
sys = tf(num,den); ‫تكوين دالة تحويل النظام‬

107
Right-click on the left border of the MathScript
Node and select Add Input. Enter K as input.
Right-click
‫ ٔاخرثش‬ٙ‫اذ‬ٛ‫اض‬ٚ‫غش نؼقذج انًخطٕط أنش‬ٚ‫ًُٗ انفأسج ػهٗ انسذ األ‬ٛ‫أَقش ت‬
ًُٗٛ‫ًح انكغة ثى أَقش ت‬ٛ‫ إضافح دخم ٔادخم ق‬K ‫انفأسج ػهٗ دخم‬
‫ انكغة‬ٙ‫َٓائ‬
the input terminal of the K variable and select
Create»Control from the shortcut menu. ٌٕ‫َٔك‬
‫ػُظش ذسكى‬
Right-click on the left border of the MathScript
Node and select Add Input. Enter Rm as input.
Right-click
:‫ َٔخراس‬ٙ‫اذ‬ٛ‫اض‬ٚ‫غش ػقذج انًخطٕط أنش‬ٚ‫ًُٗ انفاسج ػهٗ انسذ األ‬ٛ‫َُقش ت‬
Rm :‫ًح انذخم‬ٛ‫ َٔذخم ق‬Add Input
Rm ‫شج‬ٛ‫ انذخم نهًرغ‬ٙ‫ًُٗ انفأسج َٓائ‬ٛ‫ثى َُقش ت‬
the input terminal of the Rm variable and select
Create»Control from the shortcut menu.
Create»Control: ‫َٔخراس‬
.‫ٍ ػُظش انرسكى‬ٕٚ‫نرك‬

108
Right-click on the left border of the MathScript Node
and select Add Input. Enter J as input. Right-click
.ٙ‫ًح ػضو انقظٕس انزاذ‬ٛ‫ َٔذخم ق‬Add Input ‫ًُٗ انفأسج ػهٗ انسذ‬ٛ‫َُقش ت‬
:‫غش َٔخراس‬ٚ‫األ‬
the input terminal of the J variable and select
Create»Control from the shortcut menu.
.‫َٔكٌٕ ػُظش ذسكى كًا عثق‬
Right-click on the right border of the MathScript
Node and select Add Output. Enter plant as output.
Add Output ‫ًٍ نؼقذج انًخطٕط‬ٚ‫ًُٗ انفأسج ػهٗ انسذ األ‬ٛ‫َُقش ت‬
:‫ َٔخراس‬ٙ‫اذ‬ٛ‫اض‬ٚ‫أنش‬
.‫ كذخل‬plan ‫َٔذخم‬
......‫ ونختار نوع البيانات‬plan ‫ح‬ٚ‫ انُٓا‬ٙ‫ف‬
:ٗ‫ًُٗ انفأسج ػه‬ٛ‫َُقش ت‬
Right-click on plant and select Choose Data
Type»Add-ons»TF objeCT

109
Step 2: ‫الخطوة‬
Control Design ‫تصمٌم تحكم‬

Choose a control type and design a controller


‫اختر نوع التحكم وصمم الحاكم‬
The Design Process

Use feedback to control the speed of the motor in the presence of


disturbances.
‫استعمل التغذٌة الخلفٌة للتحكم فً سرعة المحرك بوجود التشوٌش‬

111
‫ٌمكن الحصول على القٌمة المثلى للحاكم بفهم العملٌة (النظام)جٌدا‪0‬‬
‫الفهم ٌ تً من التحلٌل الذي ٌتم فً وحدة تصمٌم التحكم فً البفٌو‪.‬‬
‫الرسومات والمخططات البٌانٌة المتخصصة ‪ ،‬كمخطط بودي‪ ،‬موضع‬
‫الجذور‪ ،‬ومخطط نٌكوٌست‪ ،‬تعطً فكرة عن تصرف النظام(العملٌة)‪.‬‬
‫تحلٌل أدق ‪،‬فً حالة نظام ذي حلقة مفتوحة‪ ،‬بوجود حاكم تسمح‬
‫ٌمكن حسابها‪ 0‬فً هذا بدراسة االستقرار‪ ،‬ومواصفات أخرى‬
‫الموضوع‪ٌ ،‬مكن استعمال تصمٌم التحكم للحصول على قٌم مثلى‪،‬‬
‫التفاضلً‪ .‬االستجابة الزمنٌة توفر فكرة كالكسب التماثلً‪ ،‬التكاملً‪،‬‬
‫سرٌعة على التصرف المثالً للنظام‪.‬‬
‫مثل زمن الصعود‪ ،‬زمن الوصول على القمة‪ ،‬التعدي‪ ،‬زمن االستقرار‪...‬‬

‫‪112‬‬
Control Systems ‫نظم التحكم‬
• A control system consists of a Controller model and a Plant
model. ‫ٌتكون نظام التحكم من نموذج حاكم ونموذج عملٌة متحكم فٌها‬
• Control systems can be open or closed loop. ‫نظم التحكم ٌمكن‬
‫أن تكون مفتوحة أو مغلقة‬

• Controller
‫حاكم‬ ‫فيها‬ ‫متحكم‬
Plant ‫عملية‬
(Motor )

error Vm Km m 1
Setpoint  +_ PID Output 
J eq Rm s  K m
2
s

113
‫نظام التحكم ٌتكون عادة من نموذج حاكم‪ ،‬ونموذج عملٌة(نظام) متحكم فٌها‪0‬خرج‬
‫الحاكم ٌرسل إلى العملٌة‪ 0‬فً نظام ذي‬
‫حلقة مغلقة ‪ ،‬خرج العملٌة ٌطرح من دخل النظام‪ٌ .‬نتج عن عملٌة الطرح فرق ٌسمى‬
‫الخط ‪ ،‬هذا الخط ٌمثل دخل الحاكم‪ .‬تسمى هذه العملٌة بالتغذٌة الخلفٌة‪.‬‬

‫نظام (العملٌة) لنموذج المحرك ‪1. Plant (Motor) Model‬‬


‫‪0‬العملٌة هً تمثٌل رٌاضٌاتً للنظام ‪ .‬فً هذه الحالة‪ ،‬العملٌة هً المحرك‪.‬‬
‫والخرج هو السرعة الزاوٌة رادٌان ثانٌة‪radians per second (ωm). :‬‬
‫‪ 0‬دخل المحرك هو الجهد ‪(Vm),‬‬

‫نموذج الحاكم ‪2. Controller Model: PID‬‬


‫‪0‬نموذج الحاكم ٌمثل بخوارزمٌة رٌاضٌاتٌة وٌولد دخال لنموذج العملٌة مبنٌة‬
‫على قٌمة المخط ‪.‬‬
‫‪ 0‬الحاكم التناسبً‪• PID (Proportional, Integral, Derivative) ،‬‬
‫التكاملً‪،‬ة التفاضلً‬
‫وهو خوارزمٌة رٌاضٌاتٌة تستعمل عادة فً التحكم ‪.‬‬
‫‪ 0‬دخل الحاكم التناسبً التكاملً التفاضلً هو الخط وٌحسب بطر قٌمة خرج‬
‫النظام من قٌمة دخل النظام‪.‬‬
‫العنصر التكاملً ‪3. Integrator: 1/s‬‬
‫المحرك) أي السرعة الزاوٌة لوحدة تناسب وحدة الدخل( زاوٌة وضع)‪.‬‬
‫ٌستعمل لتحوٌل خرج العملٌة‬

‫‪114‬‬
PID Control Algorithm -ً‫تكامل‬-ً‫خوارزمٌة حاكم تناسب‬
ً‫تفاضل‬
ً‫تفاضل‬-ً‫تكامل‬-ً‫ تناسب‬:ً‫ تعن‬PID
:‫وتمثل خوارزمٌة‬
-Linear, Single Input Single Output (SISO) :‫ وحٌدة الدخل ووحٌدة الخرج‬،‫خطٌة‬

Uses error from feedback as control input ‫تستعمل الخط من التغذٌة الخلفٌة كدخل للتحكم‬
– Proportional: Proportional linear reaction to error ‫تتناسب خطً مع الخط‬
– Differential: React more when signal is changing quickly ‫التفاضلً ٌتفاعل أكثر‬
‫عند تغٌر اإلشارة بسرعة‬
– Integral: React when error is present over a long period of time ‫التكاملً ٌتفاعل‬
‫عند وجود الخط لدورة زمنٌة طوٌلة‬

Setpoint θ +_ PID Output θ

115
‫الحاكم التناسبً التكاملً التفاضلً ‪PID controller‬‬
‫ٌعمل على استثارة العملٌة‪ ،‬معامالت الحاكم‪:‬‬
‫‪Kp, ,Kd and Ki PID controller.‬‬
‫تستعمل لضبط عمل الحاكم التناسبً التكاملً التفاضلً‬
‫خط التتبع ‪“e” represents the tracking error,‬‬
‫وٌمثل الفرق بٌن الخرج المرغوب والخرج الحالً‪ .‬هذا‬
‫الخط ٌرسل للحاكم التناسبً التكاملً التفاضلً‪ٌ .‬قوم الحاكم‬
‫التكاملً التفاضلً بحساب معامالت التناسب التناسبً‬
‫والتكامل والتفاضل للخط ‪ 0‬بعدها ٌرسل خرج الحاكم‬
‫التناسبً التكاملً التفاضلً إلى دخل العملٌة ‪ ،‬وبهذا تولد‬
‫العملٌة خرجا آخر ٌمثل خط التجمٌع‪ٌ .‬غذى هذا الخط خلفٌا‬
‫للحاكم التناسبً التكاملً التفاضلً‪ .‬وهكذا تعاد العملٌة‪.‬‬

‫‪116‬‬
‫)‪A proportional controller (Kp‬‬ ‫‪ 0‬الحاكم التناسبً‬
‫ٌعمل على تقلٌص زمن الصعود و خط حالة االستقرار‪.‬‬
‫‪ 0‬الحاكم التفاضلً )‪A derivative control (Kd‬‬
‫ٌعمل على زٌادة استقرار النظام‪ ،‬تقلٌص التجاوز‪ ،‬و‬
‫تحسٌن االستجابة العابرة‪.‬‬
‫‪ 0‬الحاكم التكاملً )‪an integral control (Ki‬‬
‫ٌعمل على القضاء على خط حالة االستقرار‪ ،‬تخفٌض‬
‫زمن الصعود‪ ،‬ولكن ٌزٌد من قٌمة زمن االستقرار‪.‬‬

‫‪117‬‬
Constructing a PID Controller with Control Design
Toolkit ‫تفاضلً باستعمال وحدة‬-ً‫تكامل‬-ً‫بناء حاكم تناسب‬
‫تصمٌم تحكم‬
• Create a PID model in the
form of a transfer function
-ً‫تكامل‬-ً‫خلق نموذج تناسب‬
‫تفاضلً لدالة تحوٌل‬
• Model can then be
interconnected with plant
model ‫النموذج ٌمكن أن ٌكون‬
‫متصال بٌنٌا بنموذج عملٌة‬
‫متحكم فٌها‬
Controller

PID

118
‫بناء نموذج للحاكم التناسبً التكاملً التفاضلً باستعمال مصمم التحكم‬
‫ٌخلق نموذج حاكم تناسبً تكاملً تفاضلً على شكل دالة تحوٌل‪.‬‬
‫وهذا جهاز افتراضً متعدد أشكال التنفٌذ‪ ،‬مع اختٌارات نموذج حاكم‬
‫تناسبً تكاملً تفاضلً على التوازي‪ ،‬نموذج حاكم تناسبً تكاملً‬
‫تفاضلً أكادٌمً‪ ،‬أو نموذج حاكم تناسبً تكاملً تفاضلً على‬
‫التوالً‪ .‬فً هذه الدروس سوف نستعمل نموذج الحاكم التناسبً‬
‫‪.‬التكاملً التفاضلً على التوازي‪.‬‬
‫لمعادلة التالٌة تستعمل فً حالة نموذج ‪the PID Parallel Model:‬‬
‫التوازي‪:‬‬
‫)‪U(s)/E(s) = Kc + Ki/s + Kds/(Tfs+1‬‬

‫‪119‬‬
Control Design Model Interconnection
‫نموذج تصمٌم تحكم متصل بٌنٌا‬
Graphical ‫ صوري‬MathScript ‫مخطوط‬
‫رياضياتي‬
Series: A B
‫توالي‬
A +
Parallel:
+
‫توازي‬ B
+
A
Feedback: -

B
‫تغذية خلفية‬

120
‫نماذج النظم ٌمكن أن توصل بٌنٌا باستعمال وحدة البفٌو لتصمٌم التحكم‬
‫‪the Model‬إما صورٌا أو نصٌا‪ 0‬التوصٌالت البٌنٌة الصورٌة ٌمكن أن‬
‫تكون باستعمال األجهزة االفتراضٌة فً ‪Interconnection palette‬‬
‫البفٌو انطالقا من‪:‬‬
‫وتعنً لوحة نموذج التوصٌالت البٌنٌة‪ 0‬نفس التوصٌالت البٌنٌة ٌمكن‬
‫أن تكون نصٌا باستعمال عقدة المخطوط ألرٌاضٌاتً‪.‬‬
‫األنواع المختلفة من نماذج التوصٌل البٌنً تشمل‪ :‬التوالً‪ ،‬التوازي‪ ،‬و‬
‫من خالل وظائف تصمٌم التحكم‪ .‬توصٌل التغذٌة الخلفٌة‪.‬‬
‫لكل وظٌفة نموذجان اثنان للدخل ونموذج واحد للخرج‪.‬‬

‫‪121‬‬
‫‪•Create a Series model graphically with the CD Series VI, or‬‬
‫‪textually with the Series() function.‬‬
‫ٌمكن تكوٌن نماذج توالً صورٌة باستعمال مصمم تحكم لألجهزة‬
‫االفتراضٌة على التوالً‪ ،‬أو نصٌا باستعمال وظائف التوالً‪.‬‬
‫‪•Create a Parallel model graphically with the CD Parallel VI,‬‬
‫‪or textually with the Parallel() function.‬‬
‫مكن تكوٌن نماذج توازي صورٌة باستعمال مصمم تحكم لألجهزة‬
‫االفتراضٌة على التوازي‪ ،‬أو نصٌا باستعمال وظائف التوازي‪.‬‬
‫‪•Create a Feedback model graphically with the CD‬‬
‫‪Feedback VI, or textually with the Feedback() function.‬‬
‫ٌمكن تكوٌن نموذج تغذٌة خلفٌة صورٌا باستعمال مصمم التحكم لألجهزة‬
‫االفتراضٌة بالتغذٌة الخلفٌة‪.‬‬
‫األنواع المختلفة من التوصٌالت البٌنٌة تستعمل غالبا معا لتكوٌن نظم ‪.‬‬
‫تحكم مكتملة بتكوٌن مجموعة مؤتلفة من الحاكمات و النظم المتحكم فٌها‪.‬‬

‫‪122‬‬
Control Design Model Interconnection (Math Script)
)ً‫نموذج تصمٌم تحكم متصل بٌنٌا(مخطوط رٌاضٌات‬
Plant(Motor)
• Use MathScript commands to Vm Km m 1 Output 
J eq Rm s  K m
2
interconnect models s

‫استعمل مخطوط رٌاضٌاتً لربط النماذج‬


‫بٌنٌا‬
• Types of interconnection:
:‫أنواع التوصٌالت البٌنٌة‬
– Series ً‫توال‬
– Parallel ‫توازي‬
– Feedback ‫تغذٌة خلفٌة‬
– Append ‫ملحق‬

123
‫وظائف المخطوط ألرٌاضٌاتً فً مصمم‬
‫التحكم تشمل وظائف نماذج التوصٌل البٌنً‪.‬‬
‫وظٌفة التوصٌل سوف تكون نموذج خرج‬
‫مكافئا لنماذج الدخل الموصلة بٌنٌا‪.‬‬

‫‪124‬‬
Control Design Model Interconnection (Graphical)
)‫نموذج تصمٌم تحكم متصل بٌنٌا(صوري‬
• Connect models in series and parallel
‫توصٌل النماذج على التوالً والتوازي‬
• Create feedback loops ‫خلق حلقة مغلقة‬

Controller Plant(Motor)
error Vm Km m 1
Setpoint  +_ PID Output 
J eq Rm s  K m
2
s

125
‫نماذج تصمٌم التحكم ٌمكن أن توصل بٌنٌا إما‬
‫صورٌا أو نصٌا‪ .‬توصٌل األجهزة االفتراضٌة‬
‫بٌنٌا سوف ٌكون نموذج خرج مكافئا لنماذج‬
‫الدخل الموصلة بٌنٌا‪.‬‬

‫‪126‬‬
‫تحلٌل االستجابة الزمنٌة ‪Time Response Analysis‬‬

‫‪• Parametric Time Response‬‬


‫االستجابة الزمنٌة البارامترٌة‬
‫التعدي(التجاوز) ‪• Overshoot‬‬
‫زمن الصعود ‪• Rise Time‬‬
‫خط حالة االستقرار ‪• Steady State Error‬‬

‫‪127‬‬
‫الجهاز االفتراضً لالستجابة الزمنٌة ٌمكن أن ٌستعمل‬
‫لتكوٌن محاكاة خطٌة عامة فً مجال الرسم البٌانً‬
‫الزمنً عندما تكون إشارة الدخل إشارة خطوة‪ ،‬نبضة‪ ،‬و‬
‫االستجابة لقٌم بدائٌة‪ٌ .‬مكن رسم النتائج بٌانٌا‪ ،‬و نشر‬
‫البٌانات البارامترٌة تخص المحاكاة الخطٌة‬

‫‪128‬‬
Displaying Frequency Response and Dynamic
Characteristics Data
‫نشر االستجابة الترددٌة وبٌانات الدٌنامٌكٌة الخاصة‬

129
‫إٌفا نس ‪Evans plot‬‬
‫ٌستعمل لرسم مخطط أو ‪single-input single-output (SISO) system‬‬
‫مسار أقطاب الحلقة المغلقة لنظام ذي دخل منفرد‪-‬خرج منفرد‬
‫عندما ٌتغٌر كسب التغذٌة الخلفٌة ٌتغٌر من الصفر إلى ما النهاٌة‪.‬‬

‫مصمم تحكم بودي ‪CD Bode:‬‬


‫‪XY graph‬‬ ‫ٌرسم السعة والطور لنموذج النظام فً راسم مخطط‬

‫مصمم تحكم نٌكوٌست ‪CD Nyquist:‬‬


‫ٌرسم مخطط نٌكوٌست للنظام‪ .‬الجهاز االفتراضً ٌرسم الجزء التخٌلً‬
‫لالستجابة الترددٌة مقابل قٌمتها الحقٌقٌة‪.‬‬

‫مصمم تحكم لرسم خرٌطة األصفار واألقطاب ‪CD Pole-Zero Map:‬‬


‫ٌرسم األقطاب واألصفار لنموذج نظام ‪ XY graph‬أي فً المستوى التخٌلً‪.‬‬
‫فً راسم‬
‫‪130‬‬
Control Design Analysis and Display
‫تحلٌل تصمٌم تحكم ونشره‬
Perform general linear simulations in the time
domain ‫تحقٌق محاكاة خطٌة عامة زمنٌا‬
Analyze models in the frequency domain ‫تحلٌل‬
‫النماذج ترددٌا‬
Calculate dynamic properties of a model ‫حساب‬
‫الخواص الدٌنامٌكٌة لنموذج معٌن‬

131
Review: While Loops ‫ حلقات الفترة‬:‫مراجعة‬

• terminal counts each


iteration ‫نهائً حساب كل تكرار‬
• Always runs at least once ‫عادة‬
‫ٌنفذ مرة على األقل‬
• Runs until stop condition is
met
‫ٌنفذ حتى ٌالقً شروط التوقف‬

132
‫حلقة الفترة ‪While Loop‬‬
‫مثل ما ٌحدث فً حلقة التكرار فً البرمجة النصٌة‪ ،‬حلقة‬
‫الفترة تنفذ مخطط فرعٌا حتى تالقً شرطا‪.‬‬
‫حلقة الفترة تنفذ المخطط الفرعً حتى نهائً شرطً أو‬
‫نهائً دخل ٌتلقى قٌمة بوولٌة معٌنة‪.‬‬
‫البدٌل االفتراضً هو‪:‬‬
‫‪Stop If True‬‬
‫أي توقف إن كان صحٌحا‪ .‬تنفذ الحلقة حتى تتلقى قٌمة‬
‫صحٌحة‪:‬‬
‫‪TRUE value‬‬
‫نهائً التكرار مبٌن فً الٌسار(نهائً خرج) ٌحوي عدد‬
‫التكرار التً ٌجب إتمامها‪.‬‬
‫حساب التكرار ٌبدأ عادة من الصفر‪.‬‬

‫‪133‬‬
‫التمرٌن الثانً ‪Exercise 2:‬‬
‫بناء حاكم تناسبً‪-‬تكاملً‪-‬تفاضلً ‪Construct a PID Controller‬‬

‫‪134‬‬
Exercise 2: َٙ‫ٍ انثا‬ٚ‫انرًش‬
1. Open a blank VI from the Getting Started screen. Save the
VI as Exercise 2.vi. ّ‫ضا َٔسفظ‬ٛ‫ا أت‬ٛ‫َفرر خٓاصا افرشاض‬
:‫تاعى‬
2. Go to the block diagram (<Ctrl+E>) ٙ‫َزْة إنٗ انخطظ انظُذٔق‬
3. and place a while loop down. ‫َٔضغ زهقح فرشج‬
4. Right-click to open the functions palette and select ‫َُقش‬
‫ًُٗ انفأسج نفرر نٕزح انٕظائف‬ٛ‫ت‬
5. Programming»Structures»While Loop. :‫َٔخراس‬
6. Click and drag on the block diagram to make the while loop
the correct size. ‫ زهقح انفرشج يغ ضثظ‬ٙ‫ انًخطظ انظُذٔق‬ٙ‫َُقش َٔغسة ف‬
.‫انسدى‬
7. Place the CD Construct PID Model.vi on the block diagram.
ٙ‫ انرفاضه‬ٙ‫ انركايه‬ٙ‫ نثُاء انساكى انرُاعث‬ٙ‫َضغ اندٓاص االفرشاض‬

135
1. From the functions palette, select :‫يٍ نٕزح انٕظائف َخراس‬
2. Addons»Control Design»Model Construction»CD Construct PID
Model.vi
3. and place it on the block diagram. ٙ‫ انًخطظ انظُذٔق‬ٙ‫َٔضؼٓا ف‬
4. From the drop-down menu select PID Parallel. :‫تانٓثٕط إنٗ أعفم َخراس‬
5. Right-click the Kc input terminal of the CD Construct PID
Model.vi : Kc‫ًُٗ انفأسج انًؼايم‬ٛ‫َُقش ت‬
6. and select Create»Control from the shortcut menu. ‫ٍ ػُظش‬ٕٚ‫َٔخراس ذك‬
‫ذسكى‬
7. Right-click the Ki input terminal of the CD Construct PID Model.vi
Ki‫ًُٗ انفأسج انًؼايم‬ٛ‫َُقش ت‬
8. and select Create»Control from the shortcut menu. ‫ٍ ػُظش‬ٕٚ‫َٔخراس ذك‬
‫ذسكى‬

136
Exercise 2: َٙ‫ٍ انثا‬ٚ‫ذاتغ انرًش‬
Right-click the Kd input terminal of the CD Construct PID Model.vi Kd
‫ًُٗ انفأسج ػهٗ انًؼايم‬ٛ‫َُقش ت‬
16. and select Create»Control from the shortcut menu. ‫ٍ ػُظش‬ٕٚ‫َٔخراس ذك‬
‫ذسكى‬
17. Right-click the High Frequency Time Constant [s] (Tf) ‫ًُٗ انفأسج‬ٛ‫َُقش ت‬
ٗ‫ػه‬
18. input terminal of the CD Construct PID Model.vi ٙ‫ ذًثم دخم َٓائ‬ْٙٔ
ٙ‫ انرفاضه‬ٙ‫ انركايه‬ٙ‫ نثُاء انساكى انرُاعث‬ٙ‫اندٓاص االفرشاض‬
19. and select Create»Constant from the shortcut menu. ‫ٍ ثاتد‬ٕٚ‫ثى َخراس ذك‬
20. Place the CD Series.vi on the block diagram. ٗ‫ ػه‬ٙ‫َضغ يظًى خٓاص انرٕان‬
ٙ‫انًخطظ انظُذٔق‬

137
21. From the functions palette, select :‫يٍ نٕزح انٕظائف َخراس‬
22. Addons»Control Design»Model Construction»CD Series.vi
23. and place it on the block diagram.ٙ‫َٔضؼٓا ػهٗ انًخطظ انظُذٔق‬
24.F rom the drop-down menu select Transfer Function and
Transfer Function. :‫تانٓثٕط َسٕ األعفم َخراس‬
25. Wire the Transfer Function Model output terminal of the CD
Construct PID Model.vi to the Model 1 input terminal of the CD
Series.vi. ٙ‫م انساكى تذخم خٓاص انرٕان‬ٕٚ‫َٕطم (َهف) خشج دانح ذس‬
27. Place the CD Feedback.vi on the block diagram. From the
functions palette, ‫ اَطالقا يٍ نٕزح‬ٙ‫َضغ يظًى انرسكى ػهٗ انًخطظ انظُذٔق‬
.‫انٕظائف‬
28. select Addons»Control Design»Model Construction»CD
Feedback.vi :‫َٔخراس‬
29. and place it on the block diagram. ٙ‫ انًخطظ انظُذٔق‬ٙ‫َٔضؼٓا ف‬
30. From the drop-down menu select :‫يٍ قائًح انٓثٕط َسٕ األعفم َخراس‬
31. Transfer Function and Transfer Function. ‫م‬ٕٚ‫م ٔدانح ذس‬ٕٚ‫دانح ذس‬

138
Step 3: Simulation ‫الخطوة الثالثة‬

Test the controller and incorporate real-world


nonlinearities
‫جرب الحاكم وادمج الدوال الالخطٌة‬
The Design Process

Test the motor and controller with real-world timing and a continuous time solver.
‫جرب المحرك والحاكم بتوقٌت حقٌقً وأداة حل فً زمن مستمر‬

140
‫ٌمكن الحصول على القٌمة المثلى للحاكم بفهم العملٌة (النظام)جٌدا‪ 0‬الفهم‬
‫ٌ تً من التحلٌل الذي ٌتم فً وحدة تصمٌم التحكم فً البفٌو‪ .‬الرسومات‬
‫والمخططات البٌانٌة المتخصصة ‪ ،‬كمخطط بودي‪ ،‬موضع الجذور‪ ،‬ومخطط‬
‫نٌكوٌست‪ ،‬تعطً فكرة عن تصرف النظام(العملٌة)‪ .‬تحلٌل أدق ‪،‬فً حالة نظام‬
‫ذي حلقة مفتوحة‪ ،‬بوجود حاكم تسمح بدراسة االستقرار‪ ،‬ومواصفات أخرى‬
‫ٌمكن حسابها‪ 0‬فً هذا الموضوع‪ٌ ،‬مكن استعمال تصمٌم التحكم للحصول‬
‫التفاضلً‪ .‬االستجابة الزمنٌة على قٌم مثلى‪ ،‬كالكسب التماثلً‪ ،‬التكاملً‪،‬‬
‫توفر فكرة سرٌعة على التصرف المثالً للنظام‪.‬‬
‫مثل زمن الصعود‪ ،‬زمن الوصول على القمة‪ ،‬التعدي‪ ... ،‬عند استعمال وحدة‬
‫المحاكاة للت كد من صحة هذه البارامترات تحت عوائق حقٌقٌة‪.‬‬
‫أحد هذه األمثلة هً القٌمة الكبرى والقٌمة الصغرى للجهد والتٌار المتوفران‬
‫لتغذٌة المحرك‪.‬‬
‫حدود جهد المحرك تحدد المدى الخطً للعملٌة‪ .‬خارج المدى‪ٌ ،‬مكن أن ٌت ثر‬
‫الالخطٌات التً ٌمكن تمثٌلها فً المحرك وٌصبح غٌر دقٌق‪ .‬هذه الحالة تمثل‬
‫وحدة المحاكاة‪.‬‬

‫‪141‬‬
LabVIEW Simulation Module ‫وحدة البفٌو النمطٌة للمحاكاة‬

• Develop dynamic systems such as motor controllers and hydraulic simulators


with LabVIEW ‫تطوٌر النظم الدٌنامٌكٌة مثل حاكمات المحرك والمحاكاة الهٌدرولٌكٌة باستعمال‬
‫البفٌو‬
• Implement your dynamic systems with real-time I/O using built-in LabVIEW data
acquisition functions ‫تنفٌذ النظم الدٌنامٌكٌة فً الزمن الحقٌقً دخل\خرج باستعمال وظائف‬
‫تحصٌل البٌانات فً البفٌو‬
• Simulate linear, nonlinear, and discrete systems with a wide array of solvers
.‫ و النظم المتقطعة باستعمال مجموعة من أدوات الحل‬،‫ الخطٌة‬،‫محاكاة النظم الخطٌة‬
• Deploy dynamic systems to real-time hardware with the NI LabVIEW Real-Time
Module ‫تنفٌذ النظم الدٌنامٌكٌة فً الزمن الحقٌقً بواسطة المكونات المادٌة باستعمال وحدة الزمن‬
.‫الحقٌقً فً البفٌو‬
• Translate models from The MathWorks, Inc. Simulink® into LabVIEW with built-
in utility
:‫القٌام بترجمة النماذج من‬
MathWorks, Inc. Simulink® into LabVIEW
.‫باستعمال وحدات المنفعة الخدماتٌة المبنٌة‬
142
‫وحدة المحاكاة فً البفٌو تدمج محاكاة النظم الدٌنامٌكٌة فً محٌط‬
‫البفٌو‪ .‬كوحدة‪ ،‬تضٌف وحدة المحاكاة وظائف جدٌدة فً البفٌو‪ .‬حلقة‬
‫المحاكاة ٌمكنها نمذجة العملٌات الخطٌة ‪ ،‬الخطٌة‪ ،‬متقطعة‪ ،‬و مستمرة‬
‫أو تحكم فً النظم على شكل مخططات صندوقٌة‪ ،‬مثل عنصر تكامل‪،‬‬
‫عنصر تفاضل‪ ،‬و مجمعات دالة التحوٌل‪ ،‬وبهذا تضٌف مخططات بٌانٌة‬
‫وعناصر تحكم الختبار النماذج‪ .‬وبالمقابل‪ٌ ،‬مكن استٌراد نماذج مطورة‬
‫فً وحدة تصمٌم التحكم فً البفٌو أو وحدة نظام تعرٌف النظم‪.‬‬
‫طبٌعة أدوات البفٌو التفاعلٌة تسمح بتغٌٌر البرامترات خالل عملٌة‬
‫تسجٌل نتائج عملٌة المحاكاة‪ .‬النماذج التً ٌتم بناؤها بواسطة عقدة‬
‫المحاكاة ٌمكن أن تحمل لهدف فً الزمن الحقٌقً باستعمال وحدة البفٌو‬
‫للزمن الحقٌقً لتصنٌف التحكم والمحاكاة باستعمال المكونات المادٌة فً‬
‫الحلقة‪.‬‬
‫‪LabVIEW Real-Time Module for control prototyping and‬‬
‫‪hardware-in-the-loop (HIL) simulation.‬‬

‫‪143‬‬
The Simulation Loop ‫حلقة المحاكاة‬

Input Node Main Loop Output Node


‫دخل العقدة‬ ‫الحلقة الرئٌسٌة‬ ‫خرج العقدة‬
• Built in Differential Equation Solver allows continuous-time system
‫بناء أداة حل المعادالت التفاضلٌة الستعمال نظم مستمرة زمنٌا‬
• Similar to a While Loop with a predefined time period
‫مثل حلقة الفترة لها دورة سابقة التعرٌف زمنٌا‬
• Installed with Simulation Module ‫مركبة مع وحدة محاكاة‬
• Double-click Input Node to configure simulation parameters
• ‫نقر مزدوج على نواة الدخل لتشكٌل بارمترات المحاكاة‬
• Create an indicator on the Output Node to display Simulation errors ‫خلق مؤشر عند خرج‬
‫العقدة لنشر أخطاء المحاكاة‬

144
‫حلقة المحاكاة تمثل عنصر وحدة المحاكاة الرئٌسً‪ .‬وهً عبارة عن نسخة‬
‫مطورة لحلقة الفترة التً تدمج عنصر حل المعادالت التفاضلٌة العادٌة‪،‬‬
‫مواصفات التوقٌت الداخلٌة والخارجٌة‪ ،‬و منصة تقاطع برمجٌة ذات‬
‫قدرات‪.‬‬
‫مع وحدة المحاكاة ٌمكن تنفٌذ نظم الزمن المستمر فً المجال الرقمً‬
‫المتقطع‪ .‬تتكون الحلقة من ثالثة أجزاء‪:‬‬
‫دخل العقدة (ٌسارا) ‪Input node (Left)-‬‬
‫ٌسمح بتعرٌف بارامترات المحاكاة برمجٌا‪ .‬افتراضٌا‪ ،‬هذه البرامترات‬
‫تكون استاتٌكٌة(ساكنة) وٌمكن أن ٌتم تشكٌلها بالنقر المزدوج دخل العقدة‪.‬‬
‫وٌمكن أن توسع بالنقر على الهامش السفلً للعقدة النتزاع المعالجة و‬
‫السحب ألسفل لعرض برامترات إضافٌة‪.‬‬
‫الحلقة الرئٌسٌة – ‪Main loop‬‬
‫حٌث ٌوضع النظام المراد تمثٌله‪.‬‬
‫خرج العقدة(ٌمٌن) – )‪Output node (Right‬‬
‫ٌرجع األخطاء التً وقعت فً المحلقة‪ ،‬مثل دالة التحوٌل الغٌر سلٌمة‪.‬‬

‫‪145‬‬
Simulation Loop Parameters ‫بارامترات حلقة المحاكاة‬
• Drag left node to show current parameters and
provide inputs for run-time simulation
configuration ‫إسجب العقدة الٌسرى إلظهار البارومترات‬
‫الحالٌة وتوفٌر مداخل لتنفٌذ تشكٌل المحاكاة زمنٌا‬

• Double-click Input Node to configure simulation


parameters ‫نقر مزدوج على دخل العقدة لتشكٌل بارمترات‬
‫المحاكاة‬

146
‫تشكٌل محاكاة‬
‫‪Configuring a Simulation‬‬
‫ٌوجد الكثٌر من البرامترات التً ٌمكن تشكٌلها لحلقة محاكاة‪.‬‬
‫بارامترات المحاكاة ‪Simulation Parameters Tab‬‬
‫زمن المحاكاة– ‪Simulation Time‬‬
‫ٌحدد مدى دوام دورة ”زمن المحاكاة“ و مدة تنفٌذ المحاكاة‪ .‬هذا الزمن المحاكاة‪.‬‬
‫ال ٌملً زمن حوسبة(معالجة)‬
‫أداة حل المعادالت – ‪Solver Method‬‬
‫ٌعٌن ما نوع أداة حل المعادلة التفاضلٌة العادٌة التً تستعمل لحل تجمٌع أنواع‬
‫التكامل والتفاضل فً المحاكاة‪ .‬توجد أنواع متعددة من أدوات الحل‪.‬‬
‫زمن الخطوة و حد التفاوت المسموح به‪Time Step and Tolerance – -‬‬
‫عوامل الضبط هذه تتحكم فً نافذة زمن الخطوات التً تستعمل فً البفٌو‪ .‬عادة‪،‬‬
‫عوام الضبط االفتراضٌة المتوفرة تكفً ‪،‬‬

‫‪147‬‬
‫ولكن ٌجب إعادة ضبطها إذا لزم‪.‬‬
‫زمن التقطٌع – ‪Discrete Time‬‬
‫بما أن اختٌارات زمن التقطٌع الذاتً سوف تعمل فً الكثٌر من المحاكاة‪ٌ ،‬مكن إجبار‬
‫البفٌو فسرٌا باستعمال حجم معٌن للخطوة ‪.‬‬
‫بارامترات التوقٌت ‪Timing Parameters Tab‬‬
‫اختٌارات توقٌت البرنامج تستعمل عادة عند تنفٌذ المحاكاة‪ .‬هذا سوف ٌحل المعادلة‬
‫حسب سرعة وحدة المعالجة‪ٌ .‬مكن مالحظة محاكاة فً الزمن الحقٌقً‪ ،‬نقوم‬
‫بتعطٌل(حجب) اختٌارات التوقٌت فً البرنامج ووضع برامترات المحاكاة المبٌنة‪.‬‬
‫مصدر توقٌت الحلقة – ‪Loop Timing Source‬‬
‫عند تنفٌذ محاكاة فً مكونات مادٌة‪ ،‬تغٌر مصدر توقٌت الحلقة بتوقٌت المكونات‬
‫تستعمل لتحقٌق تزامن تنفٌذ المحاكاة مع المادٌة المتوفرة‪ .‬هذا االختٌار ٌمكن أن‬
‫مصدر زمن خارجً‪ ،‬مثل ساعة نظام التشغٌل‪ ،‬أو ساعة لوحة تحصٌل البٌانات‪.‬‬
‫بارامترات توقٌت الحلقة– ‪Loop Timing Parameters‬‬
‫هذه الخٌارات تتحكم فً كٌفٌة تنفٌذ الحلقة باعتبار مصدر التوقٌت الذي تم اختٌاره‪.‬‬
‫ٌمكن االستعانة بالمساعد‬

‫‪148‬‬
Generating Simulation Input ‫تولٌد دخل المحاكاة‬
Simulations can utilize a wide variety of signal sources: ‫ٌمكن‬
‫للمحاكاة استعمال مجموعة واسعة من إشارات المصادر‬

• Simulated Signals ‫إشارات المحاكاة‬


– Step Input ‫إشارة خطوة دخل‬
– Impulse ‫نبضة‬
– Front Panel User Input ‫دخل لوحة‬
‫األمامٌة المستعمل‬
• Real World signals ‫إشارات حقٌقٌة‬
– Data Acquisition Hardware ‫مكونات‬
‫مادٌة لتحصٌل البٌانات‬

150
‫المحاكاة ٌمكن أن تستعمل الكثٌر من اإلشارات‪.‬‬
‫إشارة المحاكاة تفٌد فً تصنٌف استجابات النظم‬
‫واختبار الحاالت المختلفة‪ 0‬إشارة الخطوة تعطً‬
‫استجابة جٌدة‪ ،‬إشارة النبضة سرٌعة‪... ،‬‬
‫بعد ت كٌد المحاكاة‪ٌ ،‬مكن استعمال إشارة حقٌقٌة‬
‫لتحل محل إشارة المحاكاة‪ .‬بذلك نقوم بحسابات‬
‫مبنٌة على بٌانات آنٌة‪.‬‬
‫‪.‬‬

‫‪151‬‬
Capturing Simulation Output ‫التقاط خرج المحاكاة‬

• Use the Graph Utilities functions to


plot one or more signals ‫استعمل‬
‫الوظائف البٌانٌة لرسم اإلشارات‬

• Plots are updated as the Simulation


Loop executes ‫ٌتم تحدٌث الرسومات‬
ً‫ف‬ ‫الوقت الذي تنفذ فٌه الحلقة‬

152
‫المحاكً لمخطط شكل الموجة زمنٌا هو مؤشر عددي خاص‬
‫لنشر رسم أو أكثر من رسم على نفس الشاشة‪ .‬مخطط شكل‬
‫الموجة ٌوجد فً لوحة‪:‬‬
‫» ‪Functions » Control Design & Simulation‬‬
‫‪Simulation » Graph Utilities » SimTime Waveform‬‬
‫‪palette‬‬
‫ٌمكن تغٌٌر القٌمتٌن العظمى والصغرى لكل من المحورٌن‬
‫بالنقر مرتٌن على القٌمة المعنونة وكتابة قٌمة جدٌدة‪ .‬كما‬
‫ٌمكن تغٌٌر عنونة أي من المحورٌن‪ .‬كما ٌمكن تغٌٌر أسلوب‬
‫أو طراز أو شكل و لون الرسم‪....‬بالنقر بٌمنى الف رة على‬
‫شعار الرسم‪.‬‬

‫‪153‬‬
Exercise 3: ‫التمرٌن‬
Simulate the Motor Control System ً‫محاكاة نظام التحكم ف‬
‫المحرك‬

Km 1
+_ PID J eq Rm s  K m
2
s

• Build a PID controller with Simulation Module. -ً‫تكامل‬-ً‫بناء حاكم تناسب‬


‫تفاضلً باستعمال وحدة المحاكاة‬
• Create a state model that combines PID controller with existing transfer
function. ‫التفاضلً مع دالة التحوٌل‬-ً‫التكامل‬-ً‫خلق حالة نموذج تجمع الحاكم التناسب‬
‫المتوفرة‬
• Use different solver methods in the Simulation loop to optimize
performance. ‫استعمل طرق أدوات حل مختلفة فً حلقة المحاكاة للوصول لحل أمثل‬
‫فً األداء‬
154
‫انرًش‪Exercise 3: ٍٚ‬‬
‫افتح التمرين باسم‪1.Open Exercise 2.vi. :‬‬
‫أزفع اندٓاص االفرشاض‪ ٙ‬تاعى‪2.Save the VI as Exercise 3.vi. :‬‬
‫إصانح زهقح انفرشج ‪3.Remove While Loop‬‬
‫ارْة إنٗ انًخطظ انظُذٔق‪ٔ ٙ‬قى تئصانح زهقح انفرشج‪ .‬أَقش ت‪ ًُٗٛ‬انفاسج ػهٗ زافح انسهقح‬
‫ٔاخرش إصانح انسهقح تس‪ٛ‬ث ال ‪ًٚ‬غر يا ْٕ يٕخٕد داخم انسهقح‪.‬‬
‫اعرثذل ػُاطش انرسكى انًٕطهح تانًخطٕط أنش‪ٚ‬اض‪ٛ‬اذ‪ ٙ‬تثٕاتد‬
‫‪K control‬‬ ‫أَقش ت‪ ًُٗٛ‬انفأسج ػهٗ ثاتد انرسكى ٔاخرش‪:‬‬
‫‪Right-click the l and choose Change to Constant. Set the‬‬
‫‪constant to 0.028.‬‬
‫ثى ضغ ق‪ًٛ‬ح انثاتد‪.‬‬

‫‪155‬‬
Right-click the Rm control and choose Change to Constant.
Set the constant to 3.3.
Rm:ٗ‫ًُٗ انفأسج ػه‬ٛ‫أَقش ت‬
.‫ًح انثاتد‬ٛ‫ ثى ضغ ق‬،‫م إنٗ ثاتد‬ٕٚ‫ٔاخرش انرس‬
Right-click the J control and choose Change to Constant. Set
the constant to 9.64E-6.
J:ٗ‫ًُٗ انفأسج ػه‬ٛ‫أَقش ت‬
.‫ًح انثاتد‬ٛ‫ ثى ضغ ق‬،‫م إنٗ ثاتد‬ٕٚ‫ٔاخرش انرس‬
‫ ٔ انثٕاب‬ٙ‫اذ‬ٛ‫اض‬ٚ‫ ياػذا ػقذج انًخطٕط أنش‬ٙ‫ء يٍ انًخطظ انظُذٔق‬ٙ‫قى تًغر كم ش‬
.ٙ‫اذ‬ٛ‫اض‬ٚ‫انًٕطهح تانًخطٕط أنش‬
MathScript Node, Kc, Ki, and Kd.

156
Step 4: Tuning and Verification
‫ ضبط و وضع تحقٌق‬:4 ‫الخطوة‬

Tune the controller behavior to meet design


specifications in a realistic environment ‫اضبط محٌط‬
ً‫الحاكم للحصول على مواصفات التصمٌم فً محٌط حقٌق‬
The Design Process ‫عملٌة التصمٌم‬
1. Modeling – Identify a mathematical representation of
the plant
2. Control Design – Choose a control method and
design a controller
3. Simulation – Employ a point-by-point approach to
simulate the system timing with a solver
4. Tuning and Verification – Introduce real-world
nonlinearities, tune, and verify the control algorithm ‫ضبط و‬
ً‫ و تحقٌق ف‬،‫ ضبط‬،‫ الخطٌات‬:ً‫ إدماج فً العالم الحقٌق‬-‫وضع تحقٌق‬
‫إدماج حدود الجهد فً عالم حقٌقً – وضبط بارمترات أداء الحاكم‬: ‫خوارزمٌة التحكم‬

5. . Deployment – Implement the finalized control system

158
‫إدماج الالخطٌات ‪Introducing Nonlinearities‬‬

‫•‬ ‫مصادر الالخطٌات ‪Sources of Nonlinearities‬‬


‫تشبع ‪– Saturation‬‬
‫تشوٌش ‪– Noise‬‬
‫احتكاك ‪– Friction‬‬

‫الالخطٌات تسبب للنماذج المثالٌة والحاكمات أن ت خذ مسالك‬


‫تختلف عن تلك المرتقبة فً العالم الحقٌقً‪.‬‬

‫‪159‬‬
‫الالخطٌات تسبب تصرفا غٌر مرتقب للنماذج‬
‫المثالٌة والحاكمات‪ .‬مصادر الالخطٌات تشمل‬
‫التشبع‪ ،‬التشوٌش‪ ،‬االحتكاك‪ ،‬التً ال ٌمكن‬
‫حسابها فً نموذج نظام خطً‪ .‬وحدة المحاكاة‬
‫ٌمكنها تحلٌل النماذج الالخطٌة‪ ،‬وتسمح بمحاكاة‬
‫تنفٌذه‪.‬التصرف الغٌر مثالً قبل‬

‫‪160‬‬
‫مثال على الالخطٌات ‪Nonlinearity Example‬‬

‫إدماج الخطٌة من نوع تشبع مع وحدة محاكاة ٌمكن أن تغٌر سلوك‬


‫النموذج كلٌا‪.‬‬

‫استجابة مثالٌة لنموذج خطً فً تصمٌم تحكم‬ ‫نفس الحاكم بوجود تشبع أضٌف فً المحاكاة‬

‫‪ Kc = 10‬تناسبً‬
‫‪ Ki = 0‬تكاملً‬
‫‪Kd = 1‬تفاضلً‬

‫‪161‬‬
‫فً هذا المثال‪ ،‬تم تكوٌن نموذج حاكم تناسبً تكاملً تفاضلً باستعمال‬
‫وحدة تصمٌم التحكم‪ .‬بارامترات الحاكم التناسبً التكاملً التفاضلً ٌتم‬
‫ضبطها بحٌث تكون استجابة الخطوة للنظام قرٌبة من المثالٌة‪ٌ .‬ستعمل‬
‫المحاكاة مع نفس بارامترات الحاكم عندها نموذج الحاكم فً وحدة‬
‫التناسبً التكاملً التفاضلً‪ ،‬حٌث أدمجت الخطٌة تشبع‪ .‬الالخطٌة تمثل‬
‫العظمى و الصغرى‪ .‬قٌمتً الجهد‬
‫)‪the maximum and minimum voltage (24V, -24V‬‬
‫التً تغذي المحرك‪ .‬إدماج وظٌفة التشبع تغٌر تصرف النظام بحٌث ٌكون‬
‫تصرفها بعٌدا عن التصرف المثالً‪ .‬هذا القٌد أو التحفظ الحقٌقً لوظٌفة‬
‫التشبع ٌجب اعتباره من اآلن وٌجب إعادة ضبط بارامترات الحاكم‬
‫تناسبً تكاملً تفاضلً إلعطاء استجابة أفضل بوجود قٌد‪.‬‬
‫البحث عن الحل األمثل تشمل ‪،‬عادة‪ ،‬الكثٌر من التكرار بٌن مصمم التحكم‬
‫و المحاكاة التً نرٌد الحصول علٌها للوصول إلى أداء مقبول للنظام‪..‬‬

‫‪162‬‬
Controller Optimization ‫البحث عن القٌمة المثلى للحاكم‬
Control Design ‫تصمٌم التحكم‬
• Tune Controller Parameters ‫ضبط بارمترات الحاكم‬
• Estimate Performance ‫تقدٌر األداء‬
Simulation ‫محاكاة‬
• Introduce Impairments and Nonlinearities ‫إدماج مؤثرات والخطٌات‬

0Verify Performance ‫وضع تحقٌق األداء‬


Controller optimization is an iterative process
‫البحث عن القٌمة المثلى للحاكم عمل تكراري‬

163
‫ٌمكن الحصول على القٌمة المثلى للحاكم بفهم العملٌة (النظام)جٌدا‪ 0‬الفهم‬
‫ٌ تً من التحلٌل الذي ٌتم فً وحدة تصمٌم التحكم فً البفٌو‪ .‬الرسومات‬
‫والمخططات البٌانٌة المتخصصة ‪ ،‬كمخطط بودي‪ ،‬موضع الجذور‪ ،‬ومخطط‬
‫نٌكوٌست‪ ،‬تعطً فكرة عن تصرف النظام(العملٌة)‪ .‬تحلٌل أدق ‪،‬فً حالة نظام‬
‫ذي حلقة مفتوحة‪ ،‬بوجود حاكم تسمح بدراسة االستقرار‪ ،‬ومواصفات أخرى‬
‫ٌمكن حسابها‪ 0‬فً هذا الموضوع‪ٌ ،‬مكن استعمال تصمٌم التحكم للحصول‬
‫التفاضلً‪ .‬االستجابة الزمنٌة على قٌم مثلى‪ ،‬كالكسب التماثلً‪ ،‬التكاملً‪،‬‬
‫توفر فكرة سرٌعة على التصرف المثالً للنظام‪.‬‬
‫مثل زمن الصعود‪ ،‬زمن الوصول على القمة‪ ،‬التعدي‪ ... ،‬عند استعمال وحدة‬
‫المحاكاة للت كد من صحة هذه البارامترات تحت عوائق حقٌقٌة‪.‬‬
‫أحد هذه األمثلة هً القٌمة الكبرى والقٌمة الصغرى للجهد والتٌار المتوفران‬
‫لتغذٌة المحرك‪.‬‬
‫حدود جهد المحرك تحدد المدى الخطً للعملٌة‪ .‬خارج المدى‪ٌ ،‬مكن أن ٌت ثر‬
‫الالخطٌات التً ٌمكن تمثٌلها فً المحرك وٌصبح غٌر دقٌق‪ .‬هذه الحالة تمثل‬
‫وحدة المحاكاة‪.‬‬

‫‪164‬‬
Tuning your PID Controller -ً‫التكامل‬-ً‫ضبط الحاكم التناسب‬
ً‫التفاضل‬
Tune PID controller design using the step response ‫ضبط تصمٌم حاكم‬
‫تفاضلً باستعمال استجابة خطوة‬-ً‫تكامل‬-ً‫تناسب‬

• Begin with Gains set at: Kc = 1, Ki = 0, and Kd = 0 ‫قٌم الكسب‬

• Increase Proportional Gain (Kc) to get desired rise time


‫الرفع من قٌمة معامل الكسب التناسبً للحصول على زمن الصعود المرغوب‬

• Increase Derivative Gain (Kd) to reduce overshoot and settling time


‫الرفع من قٌمة معامل الكسب التفاضلً للتقلٌل من التعدي(التجاوز) و زمن االستقرار‬

• Increase Integral Gain (Ki) to reduce steady-state error if necessary


‫الرفع من قٌمة الكسب التكاملً للتقلٌل من خط حالة االستقرار إذا كان الزما‬

165
Exercise 4: ‫التمرٌن‬
Tune the Controller ‫ضبط الحاكم‬

Km 1
+_ PID J eq Rm s  K m
2
s

• Change Simulation loop to a continuous model ‫تحوٌل حلقة المحاكاة إلى نموذج مستمر‬
• Incorporate nonlinearities into state model. ‫إدراج الخطٌات فً نموذج الحالة‬
• Tune PID parameters with a continuous input. ‫تفاضلً بدخل‬-ً‫تكامل‬-ً‫ضبط الحاكم تناسب‬
‫مستمر‬

166
Exercise 4: ٍٚ‫انرًش‬
1. Open Exercise 3.vi. ٍٚ‫افرر انرًش‬
2. Save the VI as Exercise 4.vi. :‫أزفع تاعى‬
3. Go to the front panel and place down a Slide Switch control. ‫ انهٕزح‬ٙ‫ف‬
.ٙ‫ح َضغ ػُظش ذسكى اَضالق‬ٛ‫األياي‬
4. Right-click and select Boolean »Slide Switch :‫ًُٗ انفاسج َٔخراس‬ٛ‫َُقش ت‬
5. Label the Slide Switch Input Mode. ٙ‫َؼٌُٕ ػُظش انرسكى أالَضالق‬
6. Double-click on empty space to the left of Input Mode to create a free
label. Type “Manual )Dial(” inside this free label. “Manual )Dial(”
:ًّٛ‫ٍ ػُٕاٌ خاص َٔغ‬ٕٚ‫غاس ًَٕرج انذخم نرك‬ٚ ٗ‫ انفشاؽ ػه‬ٙ‫ٍ ف‬ٛ‫َُقش يشذ‬
7. Double-click on empty space to the right of Input Mode to create another
free label. Type “Pulse Train” inside this free label . “Pulse Train” ‫َُقش‬
ًّٛ‫ٍ ػُٕاٌ آخش َٔغ‬ٕٚ‫ٍ ًَٕرج انذخم نرك‬ًٛٚ ٗ‫ انفشاؽ ػه‬ٙ‫ٍ ف‬ٛ‫يشذ‬
8. Place a dial on the front panel. Right-click and select Numeric »Dial.
‫ح َُٔقش‬ٛ‫ انهٕزح األياي‬ٙ‫َضغ يفرازا دٔاسا(ذهفُح) ف‬Numeric »Dial
:‫ًُٗ انفأسج َٔخراس‬ٛ‫ت‬

167
1. Label the Dial Input Angle. ٘ٔ‫َؼَُّٕ تانذخم انضا‬
2. Place a stop button on the front panel. Right-click and select
Boolean» Stop Button. ‫َضغ صس ذٕقف ػهٗ انهٕزح‬
Boolean» Stop Button :‫ًُٗ انفاسج َٔخراس‬ٛ‫ َُٔقش ت‬، ‫ح‬ٛ‫األياي‬
1. Go to the block diagram. ٙ‫َزْة ػهٗ انًخطظ انظُذٔق‬
2. Double-click the block on the top-left of the Simulation Loop.
In the Configure Simulation Parameters window, set Final Time
to “Inf”. ‫م َضغ‬ٛ‫ َافزج انرشك‬ٙ‫ ف‬.‫غشٖ نسهقح انًساكاج‬ٛ‫ٍ ػهٗ انقًح ان‬ٛ‫َُقش يشذ‬
:ٗ‫ إن‬ٙ‫انضيٍ انُٓائ‬
3. Right-click the Step Signal VI and select Replace»
Programming» Comparison» Select ‫ًُٗ انفأسج ػهٗ اندٓاص‬ٛ‫َُقش ت‬
Replace» Programming» Comparison» ‫ إلشاسج انخطٕج‬ٙ‫االفرشاض‬
:‫َٔخراس‬
4. Right-click Input Angle (rad) and select Create» Control. ‫َُقش‬
‫ٍ ػُظش ذسكى‬ٕٚ‫ًُٗ انفأسج ػهٗ انذخم انضأ٘ َٔخراس ذك‬ٛ‫ت‬
5. Label this new control Output Angle (rad). ‫َؼٌُٕ خشج ػُظش انرسكى‬
٘ٔ‫تانخشج انضا‬
6. Right-click Output Angle (rad) and select Change to Indicator.
‫ًُٗ انفأسج ػهٗ انخشج انضأ٘ َٔخراس زٕل إنٗ يؤشش‬ٛ‫َُقش ت‬

168
Step 5: Deployment ‫ النشر‬:5 ‫الخطوة‬

Implement the finalized control system ‫تنفٌذ نظام التحكم‬


ً‫الختام‬
The Design Process
1. Modeling – Identify a mathematical representation of the
plant
2. Control Design – Choose a control method and design a
controller
3. Simulation – Employ a point-by-point approach to simulate
the system timing with a solver
4. Tuning and Verification – Introduce real-world
nonlinearities, tune, and verify the control algorithm
5. Deployment – Implement the finalized control system
‫نشر خوارزمٌة تحكم على مكونات مادٌة للتحكم فً السرعة‬:‫ تنفيذ نظام التحكم الختامي‬-‫النشر‬
Deploy the control algorithm on real hardware to control the speed of the motor.

170
‫ٌمكن الحصول على القٌمة المثلى للحاكم بفهم العملٌة (النظام)جٌدا‪ 0‬الفهم‬
‫ٌ تً من التحلٌل الذي ٌتم فً وحدة تصمٌم التحكم فً البفٌو‪ .‬الرسومات‬
‫والمخططات البٌانٌة المتخصصة ‪ ،‬كمخطط بودي‪ ،‬موضع الجذور‪ ،‬ومخطط‬
‫نٌكوٌست‪ ،‬تعطً فكرة عن تصرف النظام(العملٌة)‪ .‬تحلٌل أدق ‪،‬فً حالة نظام‬
‫ذي حلقة مفتوحة‪ ،‬بوجود حاكم تسمح بدراسة االستقرار‪ ،‬ومواصفات أخرى‬
‫ٌمكن حسابها‪ 0‬فً هذا الموضوع‪ٌ ،‬مكن استعمال تصمٌم التحكم للحصول على‬
‫التفاضلً‪ .‬االستجابة الزمنٌة توفر قٌم مثلى‪ ،‬كالكسب التماثلً‪ ،‬التكاملً‪،‬‬
‫فكرة سرٌعة على التصرف المثالً للنظام‪:‬‬
‫مثل زمن الصعود‪ ،‬زمن الوصول على القمة‪ ،‬التعدي‪ ... ،‬عند استعمال وحدة‬
‫المحاكاة للت كد من صحة هذه البارامترات تحت عوائق حقٌقٌة‪.‬‬
‫أحد هذه األمثلة هً القٌمة الكبرى والقٌمة الصغرى للجهد والتٌار المتوفران‬
‫لتغذٌة المحرك‪.‬‬
‫حدود جهد المحرك تحدد المدى الخطً للعملٌة‪ .‬خارج المدى‪ٌ ،‬مكن أن ٌت ثر‬
‫المحرك وٌصبح غٌر دقٌق‪.‬‬

‫‪171‬‬
‫ٌمكن الحصول على القٌمة المثلى للحاكم بفهم العملٌة‬
‫(النظام)جٌدا‪ 0‬الفهم ٌ تً من التحلٌل الذي ٌتم فً وحدة‬
‫تصمٌم التحكم فً البفٌو‪ .‬الرسومات والمخططات البٌانٌة‬
‫المتخصصة ‪ ،‬كمخطط بودي‪ ،‬موضع الجذور‪ ،‬ومخطط‬
‫نٌكوٌست‪ ،‬تعطً فكرة عن تصرف النظام(العملٌة)‪ .‬تحلٌل أدق‬
‫‪،‬فً حالة نظام ذي حلقة مفتوحة‪ ،‬بوجود حاكم تسمح بدراسة‬
‫ٌمكن حسابها‪ 0‬فً هذا االستقرار‪ ،‬ومواصفات أخرى‬
‫الموضوع‪ٌ ،‬مكن استعمال تصمٌم التحكم للحصول على قٌم‬
‫التفاضلً‪ .‬االستجابة مثلى‪ ،‬كالكسب التماثلً‪ ،‬التكاملً‪،‬‬
‫الزمنٌة توفر فكرة سرٌعة على التصرف المثالً للنظام‪.‬‬
‫مثل زمن الصعود‪ ،‬زمن الوصول على القمة‪ ،‬التعدي‪ ،‬زمن‬
‫االستقرار‪...‬‬

‫‪172‬‬
Control System Deployment Options ‫خٌارات نشر نظام التحكم‬
Algorithms designed in LabVIEW Control Design Toolkit and
Simulation Module can be deployed on a desktop PC, or a Real
Time system. ‫الخوارزمٌات المصممة فً وحدة تصمٌم تحكم ومحاكاة ٌمكن أن‬
ً‫تنفذ على شاشة حاسوب شخصً أو نظام تحكم فً الزمن الحقٌق‬
• Desktop PC ً‫حاسوب شخص‬
− Program runs on Windows ‫برنامج ٌنفذ على وٌندوز‬
− Input and Output via NI Data Acquisition device ‫الدخل‬
‫والخرج من خالل جهاز تحصٌل بٌانات‬
− For example, desktop PC with PCI-6259 ‫مثل حاسوب‬
ً‫شخص‬
• Real Time System ً‫نظام الزمن الحقٌق‬
− Program runs on a deterministic operating system ‫برنامج‬
‫ٌعمل على نظام تشغٌل محدد‬
− Input and Output via specialized devices ‫الدخل والخرج من‬
‫خالل أجهزة متخصصة‬
− For example, CompactRIO controller with selected
modules
‫ وحدة مدمجة إلعادة تشكٌل المداخل والمخارج مع وحدات تحكم‬:‫مثل‬
‫مختارة‬
173
‫بعد إتمام تصمٌم نظام تحكم بواسطة وحدة تصمٌم التحكم ووحدة المحاكاة فً البفٌو‪،‬‬
‫ٌمكن تنفٌذ الخوارزمٌة للتحكم فً نظام فٌزٌائً حقٌقً‪ٌ.‬مكن تنفٌذ الخوارزمٌة عن‬
‫طرٌق الحاسب الشخصً أو فً الزمن الحقٌقً‪.‬‬
‫عند تنفٌذ نظام تحكم على سطح مكتب ٌستلزم استبدال العملٌة بوظائف دخل وخرج‬
‫من مكونات مادٌة‪.‬‬
‫ٌنفذ النظام فً البفٌو مثل ما هو فً المحاكاة‪ .‬كمثال‪ ،‬نستبدل دالة التحوٌل التً تمثل‬
‫العملٌة(النظام المتحكم فٌه) فً حلقة محاكاة باستعمال جهاز تحصٌل البٌانات‪:‬‬
‫بدخل وخرج الجهاز االفتراضً ‪NI-DAQmx input and output Vis‬‬
‫‪The DAQmx VIs would control an NI Data Acquisition device like the‬‬
‫‪PCI-6259.‬‬
‫لكن طرٌقة تنفٌذ نظام تحكم على سطح مكتب‪ ،‬تتمثل فً عدم محدودٌة نظام تشغٌل‬
‫الحاسوب‪ٌ .‬مكن أن تحدث مقاطعات تخل بالنتائج‪ .‬للحصول على نتائج مرضٌة ٌجب‬
‫استعمال التجربة فً الزمن الحقٌقً باستعمال جهاز مدمج إلعادة تشكٌل المداخل‬
‫والمخارج مثل‪such as the CompactRIO :‬‬

‫‪174‬‬
‫النشر والتنفٌذ ‪Deployment‬‬
‫المرور من نموذج محاكاة إلى ‪Moving from a simulated model to a real life model‬‬
‫نموذج عالم حقٌقً‬
‫•‬ ‫تغٌٌر نموذج العملٌة بمكونات مادٌة ‪Replace Plant Model with Hardware I/O‬‬
‫ذات دخل وخرج‬
‫ت كد من أن توقٌت مداخل ‪• Make sure Hardware I/O timing matches Simulation‬‬
‫ومخارج المكونات المادٌة ٌوائم المحاكاة‬
‫حلقة التوقٌت ‪• Loop timing‬‬

‫‪175‬‬
‫وحدة المحاكاة فً البفٌو ٌمكن استعمالها للتحكم فً النظم فً الزمن‬
‫الحقٌقً وكذلك فً نماذج المحاكاة‪ .‬للمرور من نماذج المحاكاة إلى نظم‬
‫الزمن الحقٌقً‪ٌ،‬مكن استبدال العملٌة(النظام المتحكم فٌه) بوظائف مداخل‬
‫ومخارج المكونات المادٌة‪.‬‬
‫فً هذه الحالة‪ ،‬سوف نستبدل دالة التحوٌل التً تمثل المحرك بمداخل‬
‫ومخارج الجهاز االفتراضً‬
‫‪DAQmx input and output VIs that control the actual motor.‬‬
‫الذي ٌتحكم فً المحرك الحالً‪.‬‬
‫للتوقٌت اعتبارات مهمة عند التنفٌذ باستعمال وحدة المحاكاة‪ .‬بما أن حلقة‬
‫‪ODE solver with time‬المحاكاة تستعمل أداء حل المعادالت التفاضلٌة‬
‫بخطوات زمنٌة‪steps:‬‬
‫ٌجب وضع بارامترات المحاكاة و بارامترات التوقٌت الخاصة بالحلقة لكً‬
‫ٌكون لها نفس زمن الخطوة‪ .‬مهام تحصٌل البٌانات‪ ،‬خصٌصا‪ ،‬تستعمل‬
‫بارامترات التوقٌت‪ ،‬بحٌث تعادل توقٌت حلقة المحاكاة مع توقٌت تحصٌل‬
‫البٌانات‪.‬‬

‫‪176‬‬
Exercise 5: (Optional) )‫التمرٌن (اختٌاري‬
Use the Controller in a Real Life System
ً‫استعمال الحاكم فً نظام زمن حقٌق‬

1
+_ PID s

• Replace the plant model with the real life motor. ‫استبدل نموذج العملٌة بمحرك‬
ً‫حقٌق‬
• Test the behavior of the motor, and compare to the original plant model.
‫جرب سلوك محٌط المحرك وقارن بالعملٌة األصلٌة‬

177

You might also like