LabVIEW چیست؟
قبل از شروع آموزش LabVIEW، بد نیست که مختصری بیشتر با این نرمافزار آشنا شویم. LabVIEW مخفف عبارت Laboratory Virtual Instrumentation Engineering Workbench ؛ یا میزکار مهندسی با ابزارهای آزمایشگاهی مجازی است. ابزارهایی که در این نرمافزار وجود دارند، ظاهر و عملکردی دقیقا مشابه نمونههای واقعیشان دارند. مثلا شما کلیدهای شستی، ولتمتر، اسیلوسکوپ و … را مشابه همان شکلی میبینید که در دنیای واقعی وجود دارند. به همین علت است که نام آنها را ابزارهای آزمایشگاهی مجازی گذاشتهاند.
در واقع، همانطور که احتمالا متوجه شدهاید، امکانی که این نرمافزار در اختیار ما قرار میدهد این است که بتوانیم برای محصولاتی که قرار است در دنیای واقعی تولید کنیم؛ به صورت گرافیکی و سادهای مدار طراحی کرده و آنها را شبیهسازی کنیم. سادگی و مزیت روش گرافیکی در آن است که بدون نیاز به رعایت سینتکسهای برنامهنویسی مداری، و تنها با تکیه بر منطقهای سادهی طراحی مدار میتوان از آن استفاده کرد. به این ترتیب LabVIEW یک ابزار طراحی سطح بالا (high level) ست که بدون نیاز به کامپایل شدن توسط ما؛ خود وظیفه تفسیر و کامپایلری مدار گرافیکی طراحی شده را به عهده گرفته و نتایج شبیهسازی را به ما تحویل خواهد داد! کافیست که ما فقط آن را اجرا کنیم!
تفاوت LabVIEW با سایر نرمافزارهای طراحی / شبیهسازی مدار چیست؟
شاید هنوز قانع نشده باشید و با خودتان فکر کنید که LabVIEW چه تفاوتی با سایر نرمافزارها دارد در حالی که با بقیه نرمافزارها هم میتوان مدارها را طراحی و شبیهسازی کرد!
خب! در پاسخ بهتر است قدری دقیقتر شویم تا تفاوتها را بهتر ببینیم! اغلب ابزارهایی که برای طراحی و شبیهسازی مدارها وجود دارند، یک صفحه شماتیک دارند که در آنجا شمای کلی مدارتان را به صورت گرافیکی طراحی میکنید؛ و بخشی هم به منظور نوشتن برنامهی شبیهسازی برای مدار طراحی شده. به این ترتیب میتوانید مدارهای متنوع و مختلفی را طراحی کنید و برنامه شبیهسازی هر کدام را نیز به صورت منحصر به فرد در همان ابزار نوشته و اجرا کنید.
اما در LabVIEW چه اتفاقی میافتد؟ در اینجا شما یک میزکار برای تست و شبیهسازی مدارها دارید. دقیقا مشابه یک میزکار واقعی آزمایشگاهی که میتوانید مدار طراحی شده با هر ابزاری را به صورت واقعی بر روی آن ساخته و تست کنید. هر مداری که توسط هر ابزاری طراحی کرده باشید! تنها تفاوتی که وجود دارد این است که این میزکار آزمایشگاهی به صورت مجازی در اختیار شماست و الا تمام قابلیتهای یک میزکار واقعی را دارد!.
خب احتمالا حالا دیگر مزیت LabVIEW را به خوبی درک کردهاید. به عنوان نکته تکمیلی هم بد نیست اضافه کنیم که همانطور که احتمالا میدانید؛ برنامهنویسی دو نوع دارد : نوع اول آنها که مبتنی بر نوشتن کدها هستند یا به اصطلاح text-based؛ مانند C ، C++ ، Java و … و نوع دوم برنامه نویسی گرافیکی مانند همین نرمافزار LabVIEW. دستهای از نرمافزارها نیز در میان این دو دسته قرار میگیرند؛ مثلا متلب.
چرا الکترونیککارها به سراغ LabVIEW میروند؟
واضح است! LabVIEW به هیچ حداقلهایی از دانستن زبانهای برنامهنویسی و کدزنی نیاز ندارد! هر کسی که تنها دانش تجربی و عملی در زمین الکترونیک و طراحی الکترونیکی داشته باشد نیز به راحتی میتواند از آن استفاده کند. کافیست که منطقهای کلی حاکم بر طراحی مدارها را بداند. به این ترتیب دردسر آشنایی با سینتکس زبانهایی مانند ++C ، C و … که در ابزارهای دیگر دانستن و تسلط بر آنها ضروری است، از بین میرود.
مورد دیگری که افراد را به سمت استفاده از LabVIEW سوق میدهد؛ طراحی مدارهای بزرگ است. یک مدار بزرگ و پیچیده را اگر در ابزارهای دیگر بخواهید پیادهسازی کنید، احتمالا میان حجم زیاد و تو در تویی از کدها سردرگم شده و دچار چالشهای جدی خواهید شد. اما همین مدارهای بزرگ را اگر بخواهید به صورت سختافزاری پیادهسازی و تست کنید چه؟ کافیست قطعات را با دقت و طبق طراحیتان به صورت فیزیکی به هم متصل کنید. LabVIEW نیز دقیقا همین امکان را برای شما فراهم میکند؛ منتها به صورت مجازی و نرمافزاری.
به عنوان حسن ختام این بخش تصویر زیر ببینید که تفاوت برنامهنویسی گرافیکی را با برنامهنویسی مبتنی بر کد، به خوبی نشان میدهد. سمت چپ کد آردوینو طراحی مداری را نشان میدهد که میخواهیم در آن یک LED را با تاخیرهای یک ثانیهای به صورت چشمکزن روشن و خاموش کنیم. سمت راست طراحی گرافیکی دقیقا همان مدار را نشان میدهد که به کمک LabVIEW انجام شده است. هر زمان که بر روی OK کلیک کنید، مدار راهاندازی خواهد شد. خودتان تفاوت را احساس کنید!
راهانداخن نرمافزار LabVIEW
بعد از آن همه مقدمات و حالا که اهمیت و مزیت یادگیری و استفاده از LabVIEW را درک کردهاید، حتما میپرسید که خب؛ از کجا شروع کنیم؟
ابتدا نرمافزار را دانلود کنید. پس از اینکه آن را نصب و اجرا کردید؛ صفحهی شروع نرمافزار به شکل زیر خواهد بود:
این پنجره را با نام ” پنجره شروع به کار ” میشناسیم. Ctrl+N را بزنید تا پروژه جدیدی برایتان ایجاد کند. با این کار؛ دو پنجرهی front panel و block diagram را خواهید دید که به صورت زیر در مقابلتان باز خواهند شد.
توجه داشته باشید که با باز شدن پروژه جدید، پنجره شروع به کار را دیگر نخواهید دید. در پایانِ کار بر روی پروژهای که ایجاد کردهاید و بستن تمام front panel ها و block diagram ها، دوباره آن را خواهید دید. اگر هم در حین کار و قبل از اتمام یک پروژه، به آن نیاز داشتید کافیست در نوار ابزار بالای هرکدام از صفحات front panel یا block diagram به قسمت view رفته و Getting started window را انتخاب کنید.
اگر دوست داشتید مانند تصویر زیر پنجرههای کارتان را در کنار یکدیگر و به صورت همزمان ببینید؛ کافیست از ctrl+T استفاده کنید.
پنجره Front panel در واقع همان رابط کاربری شماست که در آن ورودیهای مدار ( که نرمافزار آنها را با عنوان Controls میشناسد) مانند سوییچها و … و خروجیها ( با عنوان Indicators) مثلا LED و … را مشخص میکنید. نگران نباشید! برای روشنتر شدن، در ادامهی این آموزش مثالهایی را با هم بررسی میکنیم. اما قبل از آن بهتر است با انواع متغییر های مورد استفاده در LabVIEW نیز آشنا شویم.
انواع دادههای معتبر در LabVIEW
متغیرهایی که در این نرمافزار استفاده میکنیم، مانند سایر نرمافزارها به انواعی دستهبندی میشوند. این دستهبندی به همراه رنگی که هر نوع داده با آن در پنجره block diagram نمایش داده میشود را در جدول زیر میبینیم.
منظور از داده های Polymorphic دادههای هستند که میتوانند از سایر انواع ذکر شده و یا از انواعی متفاوت با اینها باشند.
مثال شماره 1:
طراحی مداری ساده برای روشن شدن LED با فشردن کلید
مرحله اول – اضافه کردن controls (ورودی ها) به front panel:
Control ها در واقع شبیهساز ورودیهایی هستند که در یک میزکار واقعی آزمایشگاهی، به مدار طراحی شده اعمال میکنیم تا عملکرد آن را تست کنیم. این ورودیها به ابزارهای مجازی یا همان VI ها (Virtual Instruments ) متصل میشوند.
- برای دسترسی به این ورودیها، در نوار ابزار بالای پنجره، وارد تب view شوید و از آنجا Controls Palette را باز کنید. توجه کنید وقتی از این مسیر منوی ابزارهای کنترلی را باز میکنید، این منو به صورت ثابت در نرمافزار برای شما نمایش داده میشود. اما اگر بخواهید صرفا یکی از ابزارها را بردارید و پس از آن دیگر به منو نیازی ندارید میتوانید با راست کلیک کردن روی هر قسمت خالی از پنجرههای front panel یا block diagram، آن را به صورت موقتی نیز باز کنید.
- در پنجره باز شده برای منوی کنترل؛ اگر موس را روی هر کدام از گروههای موجود در Modern palette نگه دارید، انواع ورودیهایی که در آن دسته قرار دارند را میتوانید ببینید و انتخاب کنید.
نکته : ما برای مداری که در اینجا مد نظر داریم، به یک کلید نیاز داریم که یک ورودی منطقی از نوع بولی محسوب میشود. پس به سراغ این دسته میرویم.( ستون دوم از ردیف اول در تصویر فوق )
- بر روی آیکون Boolean کلیک میکنیم تا کنترلهای موجود در این دسته را ببینیم.
- کلیدی که نیاز داریم اولین آیکون در ردیف چهارم( تصویر زیر را ببینید) است. آن را انتخاب میکنیم و به front panel اضافه میکنیم.
یادآوری میکنیم که کاربرد این کلید برای ما، روشن کردن LED در مدارمان است.
به این ترتیب، همانطور که در تصویر فوق میبینید، اولین کنترل مدار ما که یک کلید بود، به front panel اضافه شده است.
مرحله دوم – اضافه کردن Indicators ( خروجیها) به front panel:
- از همان منوی کنترل و دقیقا مشابه اضافه کردن کلید، از همان دستهی Boolean یک LED نیز به front panel اضافه میکنیم و مشابه تصویر زیر آنها را به هم وصل میکنیم.
مرحله سوم – اجرای مدار!
- در نوار ابزار بالای پنجره front panel، تب operate را باز کنید و از آنجا یکی از گزینههای Run یا Run Continuously را انتخاب کنید.
- و یا از آیکونهایی که در تصویر فوق مشخص شدهاند هم میتوانید استفاده کنید.
- برای متوقف کردن مدار هم مجددا آیکون run continuously را بزنید.
به این ترتیب، مدار شما ساخته شده و هر زمان که کلید را بزنید، LED روشن میشود!
نکته : اگر چنانچه آیکون run کار نکند، به معنای این است که LabVIEW نتوانسته است مدار را به درستی فهمیده و کامپایل کند و جایی از طراحی مدار ایراد داشته است. روی آیکون کلیک کنید تا پیغام خطا را برای شما نمایش دهد. پس از برطرف کردن خطا مجددا اجرا کنید.
مثال دوم:
مداری با قابلیت روشن و خاموش کردن LED
کافی ست به جای استفاده از کلید شستی، از یک کلید اهرمی به عنوان کنترل مدار استفاده میکنیم.
مثال سوم:
LED چشمکزن!
- در این مثال؛ همانطور که در تصویر فوق پیداست، کلید ok را برداشته و به جای آن کلید stop را اضافه کردهایم.
- روی پنجره block diagram راست کلیک کنید تا جعبه ابزار توابع (Functions palette) نمایش داده شود.
- از این جعبه ابزار while loop را انتخاب کرده و به روی صفحه بکشید.
- بر روی while loop راست کلیک کنید و Add Shift Register را انتخاب کنید.
- مجدد روی پنجره block diagram راست کلیک کنید و جعبه ابزارboolean را باز کنید. از آنجا Boolean not gate را انتخاب کنید.
- به همین ترتیب delay را هم انتخاب کرده و به روی صفحه بکشید. سپس یک تاخیر ثابتی را در آن تنظیم کنید.
( مقادیر ثابت مقادیری هستند که جزء متغیرهای مدار محسوب نمیشوند و میتوانید به دلخواه و براساس نیاز مدار، مقادیری مشخص مثلا 1s یا 1000ms به آنها بدهید.)
- اتصالات مدار را مانند تصویر فوق برقرار کنید.
توجه کنید که هر کدام از مدارهای فوق را شما میتوانید با منطقهای طراحی خودتان به هر شیوه دیگری نیز بازطراحی کنید!
برخی از میانبرهای قابل استفاده در نرمافزار LabVIEW
تعدادی از این میانبرها را در جدول زیر برای شما گذاشتهایم.
برای مطالعه مطالب بیشتر در مورد LabVIEW و نمونه پروژه های آن به اینجا مراجعه کنید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
مرسی مثله همیشه عالی
ینی هر خطی که میخونم دعاتون میکنم
تمام دست اندرکاران این طراحی و توضیحات رو
ممنون بابت زحماتی که برای ارتقای سطح دانش تخصصی بچه ها میکشید. واقعا سایت بسیار عالی دارید
بازم ممنون خدا قوت