راهنمای ﻧﮕﺎرش ﻣﻘﺎﻟﻪ ﭘﮋوهشی درباره طراحی و ساخت سامانه اندازه گیری دمای چند کاناله با قابلیت ... |
[۶] http://www.atryco.com/en/index.php/download/16-2012-04-14-09-54-39/82-concept
[۷] http://www.omega.com/
[۸] “DataSheet Max6675”, MAXIM Co, 2002
[۹] http://www.gilsoneng.com/reference/ THERMOCOUPLE GENERALINFORMATION.pdf
[۱۰] “SPI Block Guide V03.06 “ Motorola inc. , 2001
[۱۱] http://zone.ni.com/reference/en-XX/help/371361K-01/
پیوست الف: جدول ترموکوپل نوع K
پیوست ب: Reentrant در نرمافزار LabVIEW
Reentrant چیست؟
وقتی که در روال برنامه نیاز دارید از یک SubVI (زیر برنامه) در چند نقطه بطور همزمان استفاده کنید یا SubVI مذکور در طول پردازشهای خود به دادههایی که در RAM رایانه قرار میدهد نیاز دارد. باید از این تکنیک استفاده نمایید.
انواع Reentrant در نرمافزار LabVIEW و چگونگی استفاده از آن
Non - reentrant execution
وقتی که یک SubVI در حالت Reentrant نباشد و آن را در چند نقطه مختلف بطور همزمان صدا بزنند، باید به صورت نوبتی این SubVI اجرا شود یعنی برای هر بار استفاده باید بقیه نقاط منتظر بمانند تا کار نقطه قبل تمام شود سپس نوبت به بعدی برسد (شکل ب-۱).
دلیل این امر این است که وقتی یک VI در حالت Reentrant نیست فقط از یک فضا برای اجرای روتین برنامه استفاده می کند.
به عنوان مثال فرض کنید از یک SubVI وقتی در حالت Non - reentrant execution (حالت پیش فرض LabVIEW) است، در سه نقطه بطور همزمان بخواهیم استفاده کنیم.
شکل ب-۱: Non - reentrant execution
Shared clone reentrant execution
وقتی کهSubVI در حالت Shared clone reentrant execution باشد، اولین بار که صدا زده شود فقط دو فضا ایجاد می کند و در هر فضا یک کپی از SubVI مربوطه قرار میدهد که معلوم نیست کدام یک از دو فضای مربوطه را به نقطهای که آن را صدا زده اختصاص میدهد، این فضاها به صورت گردشی و تصادفی به نقاط دیگر نیز اختصاص داده میشوند (شکل ب-۲).
در این حالت تا زمانی که نیاز نباشد فضای اضافهای را ایجاد نمیکند.
به عنوان مثال اگر ۲۰ بار صدا زده شود ولی همه آنها در یک زمان نباشند یا بیشتر از ۲ تای آنها در یک زمان نباشند فضای اضافهای ایجاد نمیکند؛ بنابراین چون فقط به تعداد نیاز فضا ایجاد می کند، میتوان گفت در مصرف حافظه بهینه عمل می کند، اما داده ها پس از انجام کار از بین میروند.
شکل ب-۲: Shared clone reentrant execution
Preallocated clone reentrant execution
وقتی که یک SubVI در حالت Preallocated clone reentrant execution داشته باشید قبل از این که صدا زده شوند برای هر نقطهای که از این SubVI استفاده می کند یک فضای اختصاصی ایجاد می کند، مثلاً اگر ۲۰ نقطه وجود داشته باشد ۲۰ فضای مجازی ایجاد می کند حتی زمانی که در یک لحظه فقط از ۲ تای آنها به صورت همزمان استفاده شده باشد نیز این کار را انجام میدهد (شکل ب-۳).
از این روش زمانی استفاده می شود که برنامه نوشته شده داده های قبلی را برای اجراهای مجدد نیاز داشته باشد و از روش Shared clone reentrant execution نمی توان بدین منظور استفاده کرد زیرا هیچ وقت نمیدانیم فضای استفاده شده کدام است؛ از این رو ممکن است داده ها با هم تداخل کنند.
بزرگترین مشکل این حالت فضای زیادی را اشغال می کند.
شکل ب-۳: Preallocated clone reentrant execution
اگر چند front panel با یک SubVI یکسان را، بطور همزمان اجرا نمایید دیگر Reentrant SubVI به شما کمکی نمیکند. برای حل این مشکل دو روش دارید:
SubVI مربوطه را کپی کنید، نامهای متفاوتی به آنها دهید و در Block Diagram خود از آنها استفاده نمایید تا هر کدام فضای مجزایی داشته باشند.
اگر برای شما مهم نیست که فضای مجزایی داشته باشید میتوانید SubVI خود را باVI Server صدا بزنید و دادههایتان را هر بار ذخیره نمایید.
روش تغییر Reentrant برای یک SubVI
بدین منظور کاربر باید در SubVI که میخواهد به آدرس File>>VI Properties برود و پس از باز شدن پنجرهای مانند شکل ب-۴، سربرگ Execution را انتخاب کند سپس در کادر قرمز رنگ، Reentrant مورد نظر خود را تغییر دهد.
شکل ب-۴: پنجره VI Properties
پیوست پ: نمونه ای از نمودارهای بارگذاری شده
شکل پ-۱: نمودار داده های دریافتی برای مدت زمان ۵۶ ساعت با نرخ ذخیرهسازی ۱ ثانیه یک بار برای ۲۹ کانال را نشان میدهد.
شکل پ-۲: نمودار قرمز رنگ (کانال ۱) مربوط به دمای آبی است که در حال سرد شدن میباشد.
شکل پ-۳: مربوط به زمانی است که مسیر ارتباطی بین نرمافزار کامپیوتری و برد اصلی قطع میباشد.
شکل پ-۴: نمودار داده های دریافتی برای مدت زمان ۱۶ ساعت با نرخ ذخیرهسازی ۱ ثانیه یک بار برای ۲۹ کانال را نشان میدهد.
شکل پ-۵: نمودار داده های دریافتی برای مدت زمان ۸ ساعت با نرخ ذخیرهسازی ۱ ثانیه یک بار برای ۲۹ کانال را نشان میدهد.
پیوست ت: راهنمای کاربری سامانه
سختافزار
در فصلهای گذشته در مورد قطعات و کاربرد هر یک از آنها در این سامانه بحث کردهایم، در این فصل قصد داریم طریقه اتصال و پیامهای موجود در برد اصلی را مورد بررسی قرار دهیم.
برد اصلی
بردی که آن را در شکل ت-۱ مشاهده میکنید قلب سخت افزار این سامانه را تشکیل میدهد؛ این برد دارای یک محل برای اتصال درگاه LAN، دو پورت RS485 (که یکی از آنها برای کارهای آینده پیش بینی شده است)، یک LCD شانزده کاراکتری، یک MMC، یک پورت USB برای تبادل اطلاعات و یک پورت USB دیگر برای اتصال منبع تغذیه است.
این برد تعدادی پیام را نمایش میدهد که آنها را در زیر بررسی میکنیم.
اگر روی LCD پیامConnected to IP نوشته شده بود به این معنی است که برد به یک رایانه متصل است و در خط دوم IP مربوط به آن رایانه را نمایش میدهد؛ اگر روی LCD پیام PC Not Connected نوشته شده بود به این معنی است که هیچ رایانهای به آن متصل نیست.
همچنین اگر برد به درستی کار خود را انجام دهد و خطایی نداشته باشد LED اول از سمت چپ مانند شکل ت-۱ روشن می شود، در غیر این صورت LED دوم از سمت چپ روشن خواهد شد.
شکل ت-۱: برد اصلی (Main Board)
منبع تغذیه (Power) از طریق کابل USB نشان داده شده در شکل ت-۱ به برد اصلی متصل می شود و تغذیه تمام بردها نیز از همین منبع تأمین می شود. در صورت اتصال صحیح منبع به برد اصلی، LED قرمزِ روی برد اصلی و LED سبزِ روی تمام بردها روشن می شود.
کابل مربوط به درگاه LAN را باید از طریق سوکت نشان داده شده در شکل ۲-۴ به سوئیچی که رایانه به آن متصل است وصل کنید. در صورت اتصال صحیح کابل مربوطه دو چراغ کوچک بالای سوکت روشن میشوند و شروع به چشمک زدن می کنند.
بردهای Slave از طریق کابل RS485 به روش Daisy Chain (شکل ت-۲) به یکدیگر و همچنین به برد اصلی متصل میشوند، این بردها با کابل RS485 داده ها را دریافت و ارسال می کنند.
فرم در حال بارگذاری ...
[یکشنبه 1400-08-09] [ 09:06:00 ق.ظ ]
|