۴-۱-۳- Receive ASCII.vi
SubVI شکل ۴-۴ یکی از مهم­ترین قسمت­ های برنامه است، زیرا داده ­های اولیه را دریافت می­ کند و اعمال زیر را روی آن­ها انجام می­دهد:
CheckSum را چک می­ کند.
تعداد بایت­های دریافتی را چک می­ کند.
هدر و تریلر را چک می­ کند.
نوع ترموکوپل را چک می­ کند.
شماره برد متصل را چک می­ کند.
در نهایت پس از چک کردن و درست بودن تمام موارد گفته شده، داده اولیه را از داخل داده دریافتی استخراج کرده و برای مرحله بعد ارسال می­ کند.
پایان نامه - مقاله - پروژه
شکل ۴-۴: Receive ASCII.vi
۴-۱-۴- Convert String number to number.vi
این SubVI (شکل ۴-۵) یک داده عددی که به صورت Hex ارسال شده است را دریافت می­ کند، سپس آن را به صورت یک عدد صحیح تبدیل می­ کند و برای پروسه­های بعدی ارسال می­ کند.
شکل ۴-۵: Convert String number to number.vi
۴-۱-۵- %d to Hex.vi
اینSubVI (شکل ۴-۶)، ۴ عدد صحیح که به صورت متنی است را دریافت می­ کند، سپس ۴ عدد Hex را به خروجی انتقال می­دهد.
شکل ۴-۶: %d to Hex.vi
۴-۱-۶- Check valid board and T.vi
این SubVI (شکل ۴-۷) داده اولیه را دریافت می­ کند، سپس در قسمت خروجی، دو آرایه می­دهد که مشخص می­ کند کدام ترموکوپل­ها و کدام بردها به سامانه متصل هستند.
شکل ۴-۷: Check valid board and T.vi
۴-۱-۷- Extract data.vi
این SubVI (شکل ۴-۸) یکی از مهم­ترین قسمت­ های برنامه است که دادۀ خام دریافتی را به عدد صحیح (دما) تبدیل می­ کند، همچنین پیامی مبنی بر متصل بودن یا نبودن ترموکوپل تولید کرده و از طریق پایه Message به خروجی می­دهد.
شکل ۴-۸: Extract data.vi
۴-۱-۸- F_CRLF_tcp read.vi
این SubVI (شکل ۴-۹)، مانند بلوک TCP Read عمل می­ کند با این تفاوت که، داده را تا رسیدن به یک کاراکتر خاص دریافت می­ کند، سپس کل داده ­ها را از طریق خروجی data out به قسمت­ های بعدی ارسال می­ کند.
شکل ۴-۹: F_CRLF_tcp read.vi
۴-۱-۹- Error Dialog.vi
در این SubVI تمام خطاهای احتمالی سیستم جمع آوری شده است. همان­طور که در شکل ۴-۱۰ مشاهده می­کنید یکی از ورودی­های این SubVI خطای ورودی (error IN) است تا از روی آن پیام مورد نظر را به کاربر نمایش دهد.
شکل ۴-۱۰: Error Dialog.vi
۴-۱-۱۰- Send ASCII.vi
این SubVI (شکل ۴-۱۱) شماره برد، شماره ترموکوپل و نوع ترموکوپل را می­گیرد، سپس دادۀ نهایی که برای بردها ارسال می­کنیم را تولید می­ کند (CheckSum نیز وجود دارد).
شکل ۴-۱۱: Send ASCII.vi
۴-۱-۱۱- Zero before Number less 10.vi
این SubVI (شکل ۴-۱۲) زیر مجموعه SubVI قبل است و قسمتی از کار آن را انجام می­دهد؛ یعنی یک متن رشته ای (String) را از روی داده ­های دریافتی تولید می­ کند.
شکل ۴-۱۲: Zero before Number less 10.vi
۴-۱-۱۲- Max Min Median Data.vi
از این SubVI (شکل ۴-۱۳) برای بدست آوردن بیشترین مقدار و کمترین مقدار داده ­های بارگذاری شده روی نمودار استفاده می­ شود. همچنین به دلخواه کاربر و توسط این SubVI فیلتر Median را روی داده ­های بارگذاری شده اعمال می­ کند.
شکل ۴-۱۳: Max Min Median Data.vi
۴-۱-۱۳- Load Data Mode APPENDED (T).vi
به دلیل این که حجم کمی از فضای RAM رایانه کاربر را اشغال کنیم، داده ­ها را با حالت Appended ذخیره کرده­ایم، از این رو برای بارگذاری داده ­ها نیاز به SubVI نوشته شده در شکل ۴-۱۴ داریم.
شکل ۴-۱۴: Load Data Mode APPENDED (T).vi
۴-۱-۱۴- Fill WDT.vi
این SubVI (شکل ۴-۱۵) داده ­های خام و شماره کانال­های انتخابی را دریافت کرده و دمای مربوط به هر کانال را از طریق خروجی Array 2 به نمودار ارسال می­ کند.
شکل ۴-۱۵: Fill WDT.vi
۴-۱-۱۵- Name Legend.vi
این SubVI (شکل ۴-۱۶) شماره کانال­های انتخابی کاربر را دریافت می­ کند و از روی آن­ها Legend مناسب را برای هر گراف تولید می­ کند.
شکل ۴-۱۶: Name Legend.vi
۴-۱-۱۶- Number to time String
این SubVI (شکل ۴-۱۷) عددی بر حسب ثانیه دریافت می­ کند و آن را به زمان (با فرمت رشته­ای (String)) تبدیل می­ کند.
شکل ۴-۱۷: Number to time String
۴-۱-۱۷- Save WDT Graph.vi
این SubVI (شکل ۴-۱۸) گراف لحظه قبل، داده ­های دریافت شده، زمان t0 و چند پارامتر دیگر را می­گیرد و پس از پردازش­های لازم دمای ترموکوپل­ها را در متغیر Output Graph قرار می­دهد و آن­ها را در رایانه، با نرخ انتخابی توسط کاربر، ذخیره می­ کند.

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...