Logo 150Logo 150Logo 150Logo 150
  • صفحه اصلی
  • میکروکنترلرها
    • میکروکنترلرهای AVR
      • آموزش AVR در CodeVision
      • آموزش Atmel Studio
      • AVR بیسیک
    • میکروکنترلرهای PIC
    • میکروکنترلرهای ARM
      • خانواده STM32
    • میکروکنترلر 8051
    • برنامه نویسی گرافیکی
      • LabView
  • مقالات
    • قطعات و نکات فنی
    • خواندنی ها
    • کتاب-جزوه-مجله
  • نرم افزار
    • کتابخانه آلتیوم
      • Microchip
  • پروژه های آماده
  • خرید پروژه
  • حل تمرینات
  • تماس با ما
  • کانال ها
    • کانال تلگرام
    • اینستاگرام
    • آپارات
    • یوتیوب

آموزش راه اندازی پروتکل سریال در LabView

  • صفحه نخست
  • مطالب سایت میکروکنترلرها برنامه نویسی گرافیکی LabView
  • آموزش راه اندازی پروتکل سریال در LabView
منابع کلاک در ARM
منابع کلاک در ARM سری LPC176x
4 دی, 1395
ارسال پیامک با LabView
ارسال پیامک با LabView
4 دی, 1395
منتشر شده توسط مدیر در 4 دی, 1395
موضوعات
  • LabView
  • برنامه نویسی گرافیکی
برچسب ها
  • labview
  • serial
  • آموزش سریال
  • لبویو
آموزش راه اندازی پروتکل سریال در LabView

بازدیدها: 748

آموزش راه اندازی پروتکل سریال در LabView

یکی از معروفترین و پرکاربردترین پروتکل های مورد استفاده در صنعت، پروتکل سریال می باشد. سهولت استفاده از این پروتکل باعث گشته تا اولین انتخاب مهندسین در زمینه طراحی و انتقال اطلاعات باشد. در پروتکل سریال ، شما با یک سیم می توانید اطلاعات خود را ارسال کنید و در صورتی که می خواهید تبادل اطلاعات بصورت دوطرفه باشد، می بایست از 2 سیم ارتباطی با نام های RX و TX، یکی برای ارسال و یکی برای دریافت اطلاعات استفاده نمایید.

آموزش های زیادی در مورد ساختار و پیکربندی پروتکل سریال موجود می باشد که خارج از حوصله این بحث بوده و می توانید با جستجوی در گوگل به آنها دسترسی پیدا کنید. در این آموزش سعی بر این داریم تا با کمترین بلوک های برنامه، بهینه ترین برنامه ارتباط سریال با LABVIEW را راه اندازی کنیم. برای راه اندزای پروتکل سریال توسط لبویو، تولکیت VISA نیاز می باشد. در صورتی که این تولکیت را نصب ندارید، با مراجعه به آدرس http://www.ni.com/visa این تولکیت را دانلود و نصب کنید. همانطور که می دانید پروتکل سریال دارای یک پورت ارسال و یک پورت دریافت اطلاعات می باشد. در تمامی برنامه ها، برنامه نویسی پروتکل سریال تقسیم به دو قسمت ، یکی دریافت و دیگری ارسال اطلاعات می گردد. توابع لبویو نیز همانند دیگر برنامه ها به دو قسمت دریافت و ارسال اطلاعات تقسیم می شود. در ادامه راه اندازی هر بخش آموزش داده می شود.
ابتدا به آدرس nstrument i/o و سپس serial مراجعه کنید.

پروتکل سریال در LabView

توابع اصلی که ما به آنها نیاز خواهیم داشت:
configure port : برای پیکربندی پورت سریال
write : ارسال اطلاعات ( بصورت رشته)
read : دریافت اطلاعات ( بصورت رشته)
close : بستن برنامه
byte at port : مشخص کردن تعداد کاراکتر دریافتی

اصول راه اندازی پورت سریال به این صورت می باشد که ابتدا از طریق configure port پورت سریال را پیکربندی می کنیم، سپس بر اساس اطلاعات دریافتی، توابع مربوط به خواندن و نوشتن اطلاعات را قرار داده و در انتهای کار پورت سریال را می بندیم. لازم به ذکر است که برنامه دقیقا می بایست در همین چارچوب طراحی گردد. حتی در صورت افزایش توابع نیز می بایست همین مراحل طی شده و در انتها پورت سریال بسته شود، در صورت مغایرت برنامه درست کار نکرده و دچار خطا می گردد. عکس زیر یک برنامه ساده بدون هیچ تابع دریافت و یا ارسال اطلاعات می باشد.

پروتکل سریال در LabView

در این برنامه پورت سریال پیکربندی و سپس بسته می شود. تابع configure دارای پورت های زیادی بوده که با مراجعه به HELP تابع و خواندن توضیحات آن می توانید اطلاعات کاملی را کسب کنید. در ادامه یک تابع نوشتن به این پیکربندی اضافه می کنیم.

پروتکل سریال در LabView

در این برنامه هر اطلاعاتی که در پالت write نوشته شود ارسال می گردد. هم اکنون یک تابع خواندن را جایگزین می کنیم.

پروتکل سریال در LabView

در تابع خواندن، شما می بایست مقدار بافر را مشخص کنید. مقدار بافر را هر عددی مشخص کنید، به عنوان مثال 10، بعد از اینکه 10 کاراکتر توسط تابع دریافت شد در پالت read نمایش داده می شود. این روش در مواردی کاربرد دارد که اطلاعات شما از یک تعداد کارکتر خاص و مشخص پیروی می کنند. اما در صورتی که کاراکتر ورودی شما متغیر باشد، دیگر از این روش نمی توانید استفاده کنید و می بایست قبل از تابع خواندن یک گره اطلاعاتی جهت خواندن تعداد کاراکتر قرار دهید. این گره اطلاعاتی در هر دریافت اطلاعات، تعداد کاراکتر را خوانده و عدد آنرا به بافر تابع ارسال می کند. در این حالت همیشه تعداد دقیق بافر مشخص شده و نیاز به تغییر دستی نمی باشد.

پروتکل سریال در LabView

توابعی که معرفی شدند، اصول کلی راه اندازی پروتکل سریال در لبویو می باشند. شما می توانید همانند برنامه زیر، توابع دریافت و ارسال را در یک برنامه قرار دهید.

پروتکل سریال در LabView

همانطور که مشاهده کردید، توابع اصلی بسیار ساده هستند، اما رعایت یکسری از موارد جهت کارکرد صحیح برنامه بسیار الزامی می باشند.
به عنوان مثال، در آخرین برنامه، ابتدا توسط لبویو یک رشته ارسال و پس از آن توسط لبویو یک رشته دریافت و چاپ می گردد. می بایست طبق برنامه و مراحل ارسال و دریافت برنامه خود، توابع را در جای مناسب قرار دهید. بیشترین خطایی که احتمال دارد شما با آن مواجه شوید، خطای timeout می باشد. timeout همانند سرریز watch dog در میکروکنترلرها عمل می کند. یعنی بعد از ارسال هر دستور یک تایمر داخلی شروع به کار کرده و در صورتی که تا پایان زمان، دستوری ارسال نگردد، برنامه با یک پیغام خطا متوقف می گردد. در صورت نیاز می توانید زمان timeout را افزایش دهید تا هربار با خطا و توقف برنامه خود مواجه نشوید. شما هم اکنون با پیکربندی کامل پورت سریال و راه اندازی آن آشنا شدید، اما مواردی نیز وجود دارند که برای بهتر کار کردن، مخصوصا با میکروکنترلرها می تواند برای شما مفید باشد. در ادامه این موارد معرفی می گردند. اولین مورد استفاده از یک secuence می باشد. شما با قرار دادن توابعتان در یک secuence می توانید ترتیب راه اندازی و کارکرد توابع خود را مرتب کرده و در مواقع کار با میکروکنترلرها کمتر دچار مشکل شوید.

پروتکل سریال در LabView

مشکل بعدی، زمان اجرای برنامه ها می باشد. سرعت کامپیوتر بسیار بالا بوده و هنگامی که شما یک رشته را ارسال می کنید، قبل از اینکه میکروکنترلر اقدام به پاسخگویی و ارسال رشته کند، برنامه وارد مرحله بعدی می گردد. در بیشتر مواقع این خطا باعث سردرگمی شده و تنها راه چاره اضافه نمودن تاخیر در اجرای مراحل می باشد. با این تاخیر، برنامه یک توقف کوتاه بعد از ارسال رشته داشته و همین تاخیر کوتاه (در حد چند میلی ثانیه) زمان کافی را برای پاسخ گویی میکروکنترلر مهیا می کند.

پروتکل سریال در LabView

همین تاخیر با اندازه بسیار کوچک می تواند به راحتی مشکل را رفع کند. شما با تست و خطا می توانید کمترین زمان را انتخاب کنید. قسمت دریافت اطلاعات از طرف کامپیوتر بوده و احتیاجی به قرار دادن تاخیر ندارد. در صورت رعایت موارد فوق، شما می توانید برنامه های پیچیده و تکمیلتری را طراحی کنید. اما همیشه به این نکته توجه داشته باشید که در مرحله ای که نیاز به تابع خواندن است، تابع نوشتن قرار ندهید. قرار دادن توابع اشتباه باعث بروز خطا و توقف اجرای برنامه می گردد. نکته ای هم وجود دارد که احتمال دارد شما را بعدا دچار دردسر کند، متاسفانه منبعی برای آن وجود نداشت و بعد از تست و خطاهای بسیار موفق به رفع آن شدم. بسیاری از ماژول ها همانند ماژول sim900 هنگام ارسال دستورات، یک پیغام با چند سطر جواب برای شما ارسال می کنند!
به عنوان مثال پاسخ ماژول sim900 به ارسال دستور ATI بصورت زیر می باشد:

ATI
SIM900 REV11
OK

همانطور که مشاهده می کنید پاسخ دارای 4 سطر می باشد، ولی شما در لبویو ، فقط عبارت ATI را دریافت می کنید! هر تابع خواندن لبویو فقط قادر به خواندن یک سطر می باشد. گره اطلاعاتی تا پایان سطر (جایی که متن ENTER) خورده است را شمارش کرده و به عنوان تعداد بافر به تابع معرفی می کند. در مواردی که عبارت برگشتی شما دارای چند خط می باشد، می بایست برای هر خط یک تابع خواندن قرار دهید. همانند برنامه زیر.

پروتکل سریال در LabView

همانطور که مشاهده می کنید، 2 تابع خواندن، هر 2 سطر برنامه را خوانده و در انتها به هم چسبانده و در یک پالت نمایش می دهد. در قسمت VISAتوابع بسیار زیادی موجود می باشد که شما می توانید با کمک آنها برنامه های متنوع و بسیار کاربردی را طراحی کنید. به عنوان مثال تابعی به نام clear وجود دارد که تمامی اطلاعات موجود در بافر را پاک می کند!

پروتکل سریال در LabView

در این برنامه بعد از تابع خواندن، تمامی اطلاعات ارسالی و یا دریافتی پاک می شوند. با مراجعه به HELP توابع می توانید اطلاعات مفیدی در مورد توابع به دست آورید. سعی من در این مقاله، آموزش مستقیم و بدون مقدمه چینی برای راه اندازی پروتکل سریال بوده و امیدوارم که برای شما مفید واقع شده باشد. برنامه لبویو بسیار قوی بوده و دارای هیچ محدودیتی نبوده و معمولا کارکرد اشتباه و خطاهای مربوط به برنامه مربوط به ترتیب نادرست برنامه ما می باشد.

نویسنده: فرشاد اکرمی
منبع: eca.ir

Share
145
مدیر
مدیر

مطالب مرتبط

ارسال پیامک با LabView
4 دی, 1395

ارسال پیامک با LabView


اطلاعات بیشتر
پروژه ارتباط سریال اینترفیس با LabVIEW و Flowcode
11 شهریور, 1390

پروژه ارتباط سریال اینترفیس با LabVIEW و Flowcode


اطلاعات بیشتر
15 بهمن, 1389

آموزش نرم افزار قدرتمند LabView به زبان ساده (مقدمه)


اطلاعات بیشتر

1 Comment

  1. reyhane گفت:
    26 آذر, 1400 در 15:46

    سلام ممنون از توضیحات عالیه شما
    ببخشید من برای ارتباط سریال بایستی برنامه ای بنویسم تا بتونم درصد خطا رو در دستگاهی پزشکی هنگام شیر اطلاعات و تبادلات و انالیز ها کنترل کنم…..
    میشه راهنمایی بفرمایید باید چکاری انجام بدم ف من خیلی ابتداییه هستم و تقریبا نمیدونم از این نرم افزار قدر و قدرتمد بایستی چطوری لستفاده کنم؟

    پاسخ

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق مادی و معنوی برای PicPars.com محفوظ است. شماره همراه 09335751032 جهت ارتباط با خرید پروژها در تلگرام و واتساپ