Professional Documents
Culture Documents
اٌّىٔٛبد اٌجشِغ١خ
اٌّىٔٛبد اٌّبد٠خ
3
٘زا اٌذسط عٛف ٠غبػذن ػٍ:ٝ
-فٚ ُٙؽذح ِظُّ اٌزؾىُ ٚاٌزؼش٠ف ف ٟالثف.ٛ١
-اعزؼّبي الثف ٛ١ف ٟؽً ِشبوً اٌزؾىُ.
-ثٕبء دٚاي رؾ ً٠ٛإٌظُ.
-رـ٠ٛش خٛاسصِ١بد اٌزؾىُ ٚرؾٍ ً١اعزغبثبرٙب.
ِ -ؾبوبح خٛاسصِ١بد اٌزؾىُ فِ ٟؾ١ؾ الخـ.ٟ
-اٌجؾش ػٓ اٌؾٍٛي اٌّضٌٍٍ ٝخٛاسصِ١بد ِٓ خالي ِؾ١ؾ
عذاٌ.ٟ
4
-فٚ ُٙؽذح ِظُّ اٌزؾىُ ٚاٌزؼش٠ف فٟ
الثف.ٛ١
-
اعزؼّبي الثف ٛ١ف ٟؽً ِشبوً اٌزؾىُ.
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أ٘ ٚزٖ إٌظُ ٚع١ـش ػٍ ٝاٌىض١ش ِٓ ػٍّ١بد اٌزؾىُ فٟ
اٌزـج١مبد اٌظٕبػ١خٚ .رالٖ ٔظبَ .UNIX ِٓ HPUXإؿالق
PC/MSDOS2ف ٟعٕخ 1983غ١ش اٌىض١ش فّٔ ٟؾ رشغ ً١اٌؾبعت
اٌشخظٌ ،ٟىٓ اٌشٟء اٌغذ٠ذ اٌز ٞؽٍّٗ ٘ ٛإِىبٔ١خ سثؾ األعٙضح اٌّشغٍخ
ثٕظبَ اٌزشغٚ .ً١ثزٌه أطجؾذ ػٍّ١خ رـ٠ٛش األعٙضح اإلٌىزش١ٔٚخ اٌزّ٠ ٟىٓ
سثـٙب ثٕظبَ اٌزشغِٕ ً١زششحٚ ،وً ِـٛس ٠جؾش ػٓ رـ٠ٛش ٔظبَ األعٙضح
اٌخبطخ ثزـج١مبرٗ .صُ رّىٓ ِٓ Macintoshؿشػ اٌٛطٍخ اٌج١ٕ١خ
اٌخبطخ ثبٌشعِٛبد ٚاألشىبي عٕخ .1984صُ عبء ٔظبَ Windows3
عٕخ .1990ف ٟثذا٠خ طذٚس٘ب٠ ٌُ ،ىٓ ٔظبَ ٔٚذٚٚص ِغزمشا ٠ ٌُٚىزغت
اٌشؼج١خ اٌّشرمجخ ِٓ ؿشف اٌّغزؼٌٍّ .ٓ١ىٓٔٚ ،ذٚٚص رؾغٓ ِٓ اٌضِٓ.
اٌزٛط ً١اٌجٟٕ١
18
رـشلٕب عبثمب ٌؼٍّ١خ سثؾ اٌؾبعٛة ثبٌؼبٌُ اٌخبسع .ٟثؼذ ظٛٙس
ٚ Unibusاوزغبثٗ اٌشٙشحٌٛ ،ؽظ أٔٗ ال ٠غزغ١ت ٌىً ِزـٍجبد
اٌشثؾ ف ٟاٌزـج١مبد اٌّخزٍفخِّ ،ب أد ٜإٌ ٝرـ٠ٛش اٌىض١ش ِٓ
اٌٛطالد اٌج١ٕ١خ ؽغت اٌزـج١ك اٌخبص ثٗ ٚعؼخ اٌزاوشح اٌالصِخ.
ف ٟاٌزٛط ً١اٌج ٟٕ١ثبٌؾبعٛة ،وً ِٓ اٌّٛطالد اٌج١ٕ١خ اٌذاخٍ١خ
ٌٍؾبعٛة ٚاٌزٛط١الد اٌج١ٕ١خ اٌخبسع١خ اٌّؼ١بس٠خ رٍؼت دٚسا
خبطب ِّٙٚب ف ٟسثؾ األعٙضح ثبٌؾبعٛة ٚرى ٓ٠ٛإٌّبثش .رُ
رـ٠ٛش ٚرّذ٠ذ اٌّٛطً ١ٌ VMEزؼبًِ ِغ األعٙضح ِٕٗٚثشص
PXIاٌّؼ١بس ٞاٌز ٛ٘ ٞف ٟاألطً X ٚ PCIرؼٕ ٟاٌزّذ٠ذ .وّب
رُ رّذ٠ذ اٌّٛطً ١ٌ SCSIظجؼ SCXIاٌّؼ١بس .ٞوّب ٛ٠عذ
ِٛطً ٠ذِظ ث.PXI ٚ SCXI ٓ١
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
ُمبد اٌزؾى١ِغبالد رـج
Flight Control
Precision Machine Control ٌانتحكى في انطيشا
انتحكى في دقت اآلنت
Process Control
انتحكى في انعًهياث
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
خ١ِؽخ األِبٌٍٛا
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
ّ٠ىٓ اعزؼّبي ٌٛؽخ اٌزؾىُ ٌٛػغ ػٕبطش
اٌزؾىُ ٚاٌّؤششاد ػٍ ٝاٌٍٛؽخ األِبِ١خ.
ٌٛؽخ ػٕبطش اٌزؾىُ رٛعذ فمؾ ف ٟاٌٍٛؽخ
األِبِ١خٌ .شؤ٠خ اٌٍٛؽخٕٔ ،مش ث ّٕٝ١اٌف سح
ػٍِ ٝغبؽخ ِفزٛؽخ ف ٟاٌٍٛؽخ األِبِ١خ .وّب
ّ٠ىٓ اخز١بس:
53
Review: Block Diagram Functions Palettes
ظبئفٌٛؽخ اٌٛ ٟلٚاٌّخـؾ اٌظٕذ:ِشاعؼخ
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 ادٚت األد١ ؽبٌخ لؼ:ِشاعؼخ
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
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 خ٠ؽش
ٟبص افزشاػٙخ ثبعزؼّبي ع١ إٌظٚخ أ٠سٛت اٌغًّ اٌظ١بس رشو١اخز
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
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)
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
(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
:ٓ ِشاعؼخ٠رّش
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 َُ إٌظب١ّرظ
84
ّ٠ىٓ اٌؾظٛي ػٍ ٝلّ١خ ِضٌٍٍ ٝؾبوُ ثفُٙ
اٌؼٍّ١خ(إٌظبَ)٘ .زا اٌف ٠ ُٙر ِٓ ٟاٌزؾٍ ً١اٌّزٛفش فٟ
ٚؽذح رظّ ُ١اٌزؾىُ ٚاٌّؾبوبحِ .خــبد رخظظ١خ ِضً
ِخـؾ ثٛدِٛ ،ٞلغ اٌغزٚسِٚ ،خـؾ ٔ١ى٠ٛغذ ،رؼـٟ
فىشح ػٓ رظشف اٌؼٍّ١خ(إٌظبَ) .رؾبٌ ً١إػبف١خ
ثبعزؼّبي ٘زٖ اٌّخــبد ف ٟؽبٌخ ٔظبَ ر ٞؽٍمخ ِفزٛؽخ
ثٛعٛد اٌؾبوُ رغّؼ ثذساعخ االعزمشاس ِٛٚاطفبد أخشٜ
ّ٠ىٓ ؽغبثٙبٌٙ .زا اٌٙذفٔ ،غزؼًّ رظّ ُ١رؾىُ ٌؾغبة
اٌمّ١خ اٌّضٌٍٍ ٝجشاِزشاد .ف ٟاٌؾبٌخ اٌخبطخ اٌزٔ ٟؾٓ
ثظذد دساعزٙب رخض ل ُ١اٌؾبوُ اٌزٕبعج -ٟاٌزىبٍِ-ٟ
اٌزفبػٍِ ٚ ،ٟخــبد االعزغبثخ اٌضِٕ١خ ف ٟؽبٌخ إشبسح
خـٛح ف ٟاٌذخًٌ ،زؼـ ٟفىشح ػٓ اٌزظشف اٌّضبٌٟ
ٌٍٕظبَ ،وضِٓ اٌظؼٛد ،اٌزؼذ(ٞاٌزغبٚص) ،صِٓ االعزمشاس،
ٚاٌخـ ف ٟؽبٌخ االعزمشاس.
85
ّ٠ىٕٕب ؽٕ١ئز ِؾبوبح اٌٛؽذح ٌٍز وذ ِٓ طؾخ ٘زٖ اٌجشاِزشاد فٟ
ؽبٌخ ػٛائك ل١ذ أ ٚرؾفظ .أٚي ٘زٖ األِضٍخ رزّضً ف ٟاٌمّ١خ
اٌؼظّٚ ٝاٌمّ١خ اٌظغشٌٍ ٜغٙذ ٚاٌز١بس اٌّزٛفشاْ ٌزغز٠خ اٌّؾشن.
ؽذٚد اٌغٙذ ٌٍّؾشن رؾذد اٌّذ ٜاٌخـٌٍ ٟؼٍّ١خ .خبسط ٘زا
اٌّذ ،ٜاٌز ٞال ّ٠ىٓ ؽغبة ّٔٛرط خبص ثّٗ٠ٚ ،ىٓ أْ ٠ؤصش
ػٍ ٝػًّ اٌّؾشن ٚػذَ اٌزٕجؤ ثؼٍّٗ٘ .زا ِضبي ػٍ ٝاٌّؾ١ؾ
اٌالخـ ،ٟاٌز ٞال ّ٠ىٓ ؽغبة ّٔٛرط خبص ثٗ ثبعزؼّبي اٌمٛأٓ١
اٌخبطخ ثبٌٕظُ اٌخـ١خ اٌّزٛفشح فٚ ٟؽذح رظّ ُ١اٌزؾىُ .أِب
ٚؽذح اٌّؾبوبح فزغّؼ ثّؾبوبح اٌالخـ١بد ثبعزؼّبي رغّ١غ
اٌزشجغِ ،ضال .رظشف اٌالخـ١بد أخشّ٠ ٜىٓ وزبثزٗ فٟ
الثف،ٛ١اٌّؾـٛؽ أٌش٠بػ١بر ،ٟاٌظ١غخ أٌش٠بػ١بر١خ ٌٍؼمذح فٟ
الثفّ٠ ٚ،ٛ١ىٓ دِغٙب ف ٟاٌٛؽذح وغٙبص افزشاػ ٟفشػ.ٟ
86
Step 1: ٌٝٚح األٛاٌخـ
Modeling إٌّزعخ
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
ً٠ٛإٌّزعخ ثبعزؼّبي داٌخ اٌزؾ
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. (substitut e in Electrical eqn)
Encoder
7
Ω
Vm
m
Inertial Mass
خ١شثبئٙ اٌّؼبدالد اٌىٟش ف١١ثؼذ اٌزغ
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 Input Voltage
Vm Km m
J eq Rm s K m
2 m Angular Velocity
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 Input Voltage
Vm Km m
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 ُُ رؾى١ّرظ
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فٔ ٟظبَ رٞ
ؽٍمخ ِغٍمخ ،خشط اٌؼٍّ١خ ٠ـشػ ِٓ دخً إٌظبَٕ٠ .زظ ػٓ ػٍّ١خ اٌـشػ فشق ٠غّٝ
اٌخـ ٘ ،زا اٌخـ ّ٠ضً دخً اٌؾبوُ .رغّ٘ ٝزٖ اٌؼٍّ١خ ثبٌزغز٠خ اٌخٍف١خ.
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 ًزفبػ٠ ٍِٟاٌزىب
ٍخ٠ٛخ ؿ١ِٕسح صٚد اٌخـ ٌذٛعٚ ػٕذ
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 )
123
ٚظبئف اٌّخـٛؽ أٌش٠بػ١بر ٟفِ ٟظُّ
اٌزؾىُ رشًّ ٚظبئف ّٔبرط اٌزٛط ً١اٌج.ٟٕ١
ٚظ١فخ اٌزٛط ً١عٛف رىّٛٔ ْٛرط خشط
ِىبفئب ٌّٕبرط اٌذخً اٌّٛطٍخ ث١ٕ١ب.
124
Control Design Model Interconnection (Graphical)
)ٞسٛب(ط١ٕ١ُ رؾىُ ِزظً ث١ّرط رظّٛٔ
• Connect models in series and parallel
ٞاصٛاٌزٚ ٌٟاٛ اٌزًٍٝ إٌّبرط ػ١طٛر
• Create feedback loops خٍك ؽٍمخ ِغٍمخ
125
ّٔبرط رظّ ُ١اٌزؾىُ ّ٠ىٓ أْ رٛطً ث١ٕ١ب إِب
طٛس٠ب أٔ ٚظ١ب .رٛط ً١األعٙضح االفزشاػ١خ
ث١ٕ١ب عٛف ٠ىّٛٔ ْٛرط خشط ِىبفئب ٌّٕبرط
اٌذخً اٌّٛطٍخ ث١ٕ١ب.
126
Time Response Analysis خ١ًِٕ االعزغبثخ اٌض١ٍرؾ
127
اٌغٙبص االفزشاػٌ ٟالعزغبثخ اٌضِٕ١خ ّ٠ىٓ أْ ٠غزؼًّ
ٌزىِ ٓ٠ٛؾبوبح خـ١خ ػبِخ فِ ٟغبي اٌشعُ اٌج١بٟٔ
اٌضِٕ ٟػٕذِب رى ْٛإشبسح اٌذخً إشبسح خـٛحٔ ،جؼخٚ ،
االعزغبثخ ٌم ُ١ثذائ١خّ٠ .ىٓ سعُ إٌزبئظ ث١بٔ١بٔ ٚ ،شش
اٌج١بٔبد اٌجبساِزش٠خ رخض اٌّؾبوبح اٌخـ١خ
128
Displaying Frequency Response and Dynamic
Characteristics Data
خ اٌخبطخ١ى١ِٕب٠بٔبد اٌذ١ثٚ خ٠ٔشش االعزغبثخ اٌزشدد
129
إ٠فب ٔظ Evans plot
٠غزؼًّ ٌشعُ ِخـؾ أsingle-input single-output (SISO) system ٚ
ِغبس ألـبة اٌؾٍمخ اٌّغٍمخ ٌٕظبَ ر ٞدخً ِٕفشد-خشط ِٕفشد
ػٕذِب ٠زغ١ش وغت اٌزغز٠خ اٌخٍف١خ ٠زغ١ش ِٓ اٌظفش إٌِ ٝب الٔٙب٠خ.
131
Review: While Loops ؽٍمبد اٌفزشح:ِشاعؼخ
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 motor and controller with real-world timing and a continuous time solver.
صِٓ ِغزّشٟأداح ؽً فٚ ٟم١ذ ؽم١لٛاٌؾبوُ ثزٚ عشة اٌّؾشن
140
ّ٠ىٓ اٌؾظٛي ػٍ ٝاٌمّ١خ اٌّضٌٍٍ ٝؾبوُ ثف ُٙاٌؼٍّ١خ (إٌظبَ)ع١ذا 0اٌفُٙ
٠ر ِٓ ٟاٌزؾٍ ً١اٌز٠ ٞزُ فٚ ٟؽذح رظّ ُ١اٌزؾىُ ف ٟالثف .ٛ١اٌشعِٛبد
ٚاٌّخــبد اٌج١بٔ١خ اٌّزخظظخ ،وّخـؾ ثٛدِٛ ،ٞػغ اٌغزٚسِٚ ،خـؾ
ٔ١ى٠ٛغذ ،رؼـ ٟفىشح ػٓ رظشف إٌظبَ(اٌؼٍّ١خ) .رؾٍ ً١أدق ،ف ٟؽبٌخ ٔظبَ
ر ٞؽٍمخ ِفزٛؽخ ،ثٛعٛد ؽبوُ رغّؼ ثذساعخ االعزمشاسِٛٚ ،اطفبد أخشٜ
ّ٠ىٓ ؽغبثٙب 0ف٘ ٟزا اٌّٛػٛعّ٠ ،ىٓ اعزؼّبي رظّ ُ١اٌزؾىُ ٌٍؾظٛي
اٌزفبػٍ .ٟاالعزغبثخ اٌضِٕ١خ ػٍ ٝلِ ُ١ضٍ ،ٝوبٌىغت اٌزّبصٍ ،ٟاٌزىبٍِ،ٟ
رٛفش فىشح عش٠ؼخ ػٍ ٝاٌزظشف اٌّضبٌٌٍٕ ٟظبَ.
ِضً صِٓ اٌظؼٛد ،صِٓ اٌٛطٛي ػٍ ٝاٌمّخ ،اٌزؼذ ... ،ٞػٕذ اعزؼّبي ٚؽذح
اٌّؾبوبح ٌٍز وذ ِٓ طؾخ ٘زٖ اٌجبساِزشاد رؾذ ػٛائك ؽم١م١خ.
أؽذ ٘زٖ األِضٍخ ٘ ٟاٌمّ١خ اٌىجشٚ ٜاٌمّ١خ اٌظغشٌٍ ٜغٙذ ٚاٌز١بس اٌّزٛفشاْ
ٌزغز٠خ اٌّؾشن.
ؽذٚد عٙذ اٌّؾشن رؾذد اٌّذ ٜاٌخـٌٍ ٟؼٍّ١خ .خبسط اٌّذّ٠ ،ٜىٓ أْ ٠ز صش
اٌالخـ١بد اٌزّ٠ ٟىٓ رّضٍٙ١ب ف ٟاٌّؾشن ٠ٚظجؼ غ١ش دل١ك٘ .زٖ اٌؾبٌخ رّضً
ٚؽذح اٌّؾبوبح.
141
LabVIEW Simulation Module خ ٌٍّؾبوبح١ إٌّـٛ١ؽذح الثفٚ
143
The Simulation Loop ؽٍمخ اٌّؾبوبح
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 ِزشادٚبس اٌجبسٙ إلظٜغش١ٌإعغت اٌؼمذح ا
ب١ًِٕ اٌّؾبوبح ص١ز رشى١ش ِذاخً ٌزٕف١فٛرٚ خ١ٌاٌؾب
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: ّٓى٠
اعؼخ ِٓ إشبساد اٌّظبدسٚ ػخٌٍّّٛؾبوبح اعزؼّبي ِغ
150
اٌّؾبوبح ّ٠ىٓ أْ رغزؼًّ اٌىض١ش ِٓ اإلشبساد.
إشبسح اٌّؾبوبح رف١ذ ف ٟرظٕ١ف اعزغبثبد إٌظُ
ٚاخزجبس اٌؾبالد اٌّخزٍفخ 0إشبسح اٌخـٛح رؼـٟ
اعزغبثخ ع١ذح ،إشبسح إٌجؼخ عش٠ؼخ... ،
ثؼذ ر و١ذ اٌّؾبوبحّ٠ ،ىٓ اعزؼّبي إشبسح ؽم١م١خ
ٌزؾً ِؾً إشبسح اٌّؾبوبح .ثزٌه ٔم َٛثؾغبثبد
ِجٕ١خ ػٍ ٝث١بٔبد آٔ١خ.
.
151
Capturing Simulation Output اٌزمبؽ خشط اٌّؾبوبح
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
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 حٛاٌخـ
158
إدِبط اٌالخـ١بد Introducing Nonlinearities
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 بد١الخـٚ إدِبط ِؤصشاد
163
ّ٠ىٓ اٌؾظٛي ػٍ ٝاٌمّ١خ اٌّضٌٍٍ ٝؾبوُ ثف ُٙاٌؼٍّ١خ (إٌظبَ)ع١ذا 0اٌفُٙ
٠ر ِٓ ٟاٌزؾٍ ً١اٌز٠ ٞزُ فٚ ٟؽذح رظّ ُ١اٌزؾىُ ف ٟالثف .ٛ١اٌشعِٛبد
ٚاٌّخــبد اٌج١بٔ١خ اٌّزخظظخ ،وّخـؾ ثٛدِٛ ،ٞػغ اٌغزٚسِٚ ،خـؾ
ٔ١ى٠ٛغذ ،رؼـ ٟفىشح ػٓ رظشف إٌظبَ(اٌؼٍّ١خ) .رؾٍ ً١أدق ،ف ٟؽبٌخ ٔظبَ
ر ٞؽٍمخ ِفزٛؽخ ،ثٛعٛد ؽبوُ رغّؼ ثذساعخ االعزمشاسِٛٚ ،اطفبد أخشٜ
ّ٠ىٓ ؽغبثٙب 0ف٘ ٟزا اٌّٛػٛعّ٠ ،ىٓ اعزؼّبي رظّ ُ١اٌزؾىُ ٌٍؾظٛي
اٌزفبػٍ .ٟاالعزغبثخ اٌضِٕ١خ ػٍ ٝلِ ُ١ضٍ ،ٝوبٌىغت اٌزّبصٍ ،ٟاٌزىبٍِ،ٟ
رٛفش فىشح عش٠ؼخ ػٍ ٝاٌزظشف اٌّضبٌٌٍٕ ٟظبَ.
ِضً صِٓ اٌظؼٛد ،صِٓ اٌٛطٛي ػٍ ٝاٌمّخ ،اٌزؼذ ... ،ٞػٕذ اعزؼّبي ٚؽذح
اٌّؾبوبح ٌٍز وذ ِٓ طؾخ ٘زٖ اٌجبساِزشاد رؾذ ػٛائك ؽم١م١خ.
أؽذ ٘زٖ األِضٍخ ٘ ٟاٌمّ١خ اٌىجشٚ ٜاٌمّ١خ اٌظغشٌٍ ٜغٙذ ٚاٌز١بس اٌّزٛفشاْ
ٌزغز٠خ اٌّؾشن.
ؽذٚد عٙذ اٌّؾشن رؾذد اٌّذ ٜاٌخـٌٍ ٟؼٍّ١خ .خبسط اٌّذّ٠ ،ٜىٓ أْ ٠ز صش
اٌالخـ١بد اٌزّ٠ ٟىٓ رّضٍٙ١ب ف ٟاٌّؾشن ٠ٚظجؼ غ١ش دل١ك٘ .زٖ اٌؾبٌخ رّضً
ٚؽذح اٌّؾبوبح.
164
Tuning your PID Controller -ٍِٟاٌزىب-ٟػجؾ اٌؾبوُ اٌزٕبعج
ٍٟاٌزفبػ
Tune PID controller design using the step response ُُ ؽبو١ّػجؾ رظ
حٛ ثبعزؼّبي اعزغبثخ خـٍٟرفبػ-ٍِٟرىب-ٟرٕبعج
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 حٛاٌخـ
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