اطلاعیه

Collapse
No announcement yet.

آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

    سلام

    در این تاپیک به نحوه ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS پرداخته می شه. این موضوع می تونه در زیر انجمن مربوط به هر کدوم از این نرم افزار ها ایجاد بشه ولی به دلیل داغ بودن بحث ارتباط سریال در زیر انجمن LABVIEW تو همین قسمت ایجاد شده. هدف از این تاپیک بیان جزئیات ارتباط سریال تو این نرم افزار ها نیست بلکه نشون دادن کلیات نحوه ایجاد ارتباط بین نرم افزار هاست.
    کاربرد ایجاد ارتباط سریال بین این نرم افزار ها چیه؟
    بیشتر جنبه اشکال یابی ، تست و آموزش داره. مثلا فرض کنید می خواهید اطلاعات داخل یه جدول رو از طریق پورت سریال به میکروکنترلر منتقل کنید. هرچند میشه این کار رو از طریق virtual terminal در PROTEUS انجام داد ولی اگر قرار باشه حجم اطلاعات زیاد باشه یا زمان بندی خاصی مد نظر باشه یا اطلاعات ارسالی از میکرو نیاز به رسم داشته باشه انجام این کار از طریق virtual terminal کمی وقت گیر خواهد شد.
    یا وقتی برنامه ای رو در MATLAB یا LABVIEW نوشتید که با پورت سریال ارتباط برقرار کنه ولی هنوز سخت افزار خارجی آماده نشده. باز در این حالت میشه از این روش استفاده کرد.

    پورت سریال مجازی:
    برای شروع شما یک جفت پورت سریال مجازی لازم دارید. منظور از مجازی اینه که این پورت ها به صورت سخت افزاری وجود ندارن و فقط جنبه حضور نرم افزاری دارن. نرم افزار هایی که استفاده می کنید متوجه این قضیه نمی شن و با اون ها مثل پورت های سریال معمولی برخورد می کنن. جفت بودن اینها هم به این خاطره که دیتایی که برای یکی از اینها می فرستید توسط اون یکی قابل دریافت هست و برعکس.
    نرم افزارای مختلفی برای ساخت پورت سریال مجازی وجود داره. من شخصا نرم افزار com0com رو ترجیح می دم. علت هم امکان تغییر نام پورت های ایجاد شده است. حالا چرا این امکان مهمه؟ چون در PROTEUS المان COMPIM که برای باز کردن پورت استفاده میشه فقط پورت 1 تا 4 رو می شناسه و اگر نرم افزار شما پورت هایی با شماره های مثلا 36 و 37 بسازه چون تو لیست نیستن دیگه امکان باز کردنشون توسط PROTEUS نیست (تا جایی که من می دونم و تا ورژنی که من دارم).
    شکل 1 نرم افزار com0com و شکل 2 پورت های ساخته شده رو در Device manager نشون می ده.





    افتادگی آموز اگر طالب فیضی هرگز نخورد آب زمینی که بلند است

    #2
    پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

    ایجاد ارتباط سریال بین PROTEUS و MATLAB :
    نحوه اتصال COMPIM و virtual terminal در شکل 3 و تنظیمات این دو در PROTEUS در شکل های 4 و 5 نشون داده شده.این تنظیمات، تنظیمات پیش فرض تو MATLAB و LABVIEW هستن و نیازی به تنظیمات پورت سریال در این دو نرم افزار نیست.
    *دو پورت مجازی با اسامی COM1 و COM2 توسط com0com ساخته بودیم که از COM1 در PROTEUS و از COM2 در MATLAB استفاده کردیم.







    شکل 6 نحوه تعریف و باز کردن پورت رو در نرم افزار MATLAB رو نشون میده. توضیح اینکه بعد از باز کردن پورت رشته 0123456789 ارسال شده که نتیجه اون در PROTEUS در سطر اول شکل 7 مشاهده میشه.
    در ادامه در virtual terminal اینتر رو زده و عبارت abolfazl تایپ شده(شکل 7) و متعاقبا در MATLAB با دستور fread(s,5) پنج بایت از بافر ورودی خونده شده. همون طور که مشاهده میشه (شکل 6) بایت های 13 (مربوط به اینتر) و بایت های 97 ، 98، 111 و 108 (مربوط به abol ) خونده شده.
    * نرم افزار MATLAB امکاناتی برای فهمیدن تعداد بایت های دریافتی و ارسالی داره و میشه با چند دستور ساده کل دیتای دریافتی رو یکجا خوند.
    در نهایت با دستور fclose(s) پورت بسته شده.





    افتادگی آموز اگر طالب فیضی هرگز نخورد آب زمینی که بلند است

    دیدگاه


      #3
      پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزا&

      ایجاد ارتباط سریال بین PROTEUS و LABVIEW:
      تنظیمات قسمت PROTEUS به همون صورتیه که قسمت قبل مطرح شد. یک نمونه برنامه LABVIEW برای ارتباط سریال در شکل 8 نشون داده شده. در این برنامه از طریق حلقه for پنج بار عبارت abcd ارسال شده که نتیجه اون تو PROTEUS در شکل 9 قابل مشاهده است.





      *با استفاده از مطالب قسمت های قبل میشه ارتباط سریال بین MATLAB و LABVIEW رو هم برقرار کرد.

      پی نوشت:
      از این روش برای ایجاد ارتباط سریال بین دو برنامه در LABVIEW هم میشه استفاده کرد. شکل 10 برنامه ای رو نشون میده که اطلاعات ارسالی توسط برنامه LABVIEW شکل 8 رو دریافت میکنه. برنامه شکل 8 در هر بار run شدن 5 بار 4 کاراکتر (مجموعا 20 کاراکتر ) رو ارسال میکنه. برنامه شکل 10 دیتای ورودی به ازای 2 بار run شدن برنامه شکل 8 رو نشون میده. همون طور که مشاهده میشه در مجموع 40 کاراکتر دریافت شده.

      *سعی کنید قبل از ارسال هر دو پورت رو باز کنید مخصوصا برای ارسال با LABVIEW



      افتادگی آموز اگر طالب فیضی هرگز نخورد آب زمینی که بلند است

      دیدگاه


        #4
        پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

        با سلام :biggrin:
        چون پروگرامرم خرابه پس مجبورم از این روش برای اشکال زدای برنامم استفاده کنم اما ایا ممکنه در حین انتقال اطلاعات به این روش، اشکالی به وجود بیاد؟؟
        آخه برنامه ای رو که قبلا بین میکرو و لب ویو تست کرده بودم رو الان بین پروتئوس و لب ویو تست کردم،اما لب ویو هر چند ثانیه یک بار در دریافت اطلاعات دچار مشکل میشد (ارور نمی داد فقط اعداد رو اشتباهی دریافت میکردمثلا اگه پروتئوس عدد 1.6 رو میفرستاد، لبویو عدد 1 رو میگرفت )
        در واقع میخوام بدونم چقدر میشه روی جوابهایی که از این نوع ارتباط به دست میارم تکیه کنم؟؟( تا در حین برنامه نویسی گمراه نشم oo و آیا خودتون با همچین مشکلی رو به رو شدید؟؟

        دیدگاه


          #5
          پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

          نوشته اصلی توسط hamid heidari
          با سلام :biggrin:
          چون پروگرامرم خرابه پس مجبورم از این روش برای اشکال زدای برنامم استفاده کنم اما ایا ممکنه در حین انتقال اطلاعات به این روش، اشکالی به وجود بیاد؟؟
          آخه برنامه ای رو که قبلا بین میکرو و لب ویو تست کرده بودم رو الان بین پروتئوس و لب ویو تست کردم،اما لب ویو هر چند ثانیه یک بار در دریافت اطلاعات دچار مشکل میشد (ارور نمی داد فقط اعداد رو اشتباهی دریافت میکردمثلا اگه پروتئوس عدد 1.6 رو میفرستاد، لبویو عدد 1 رو میگرفت )
          در واقع میخوام بدونم چقدر میشه روی جوابهایی که از این نوع ارتباط به دست میارم تکیه کنم؟؟( تا در حین برنامه نویسی گمراه نشم oo و آیا خودتون با همچین مشکلی رو به رو شدید؟؟
          نه من تا حالا با این روش مشکلی نداشتم. اگر تنظیمات درست باشه دلیلی نمی بینم که عدم تطابقی در ارسال و دریافت اطلاعات بوجود بیاد.
          هرچند وقتی برنامه رو نوشتید خیلی ساده می تونید با ارسال چند رشته مشخص صحت عملکرد رو بررسی کنید.
          افتادگی آموز اگر طالب فیضی هرگز نخورد آب زمینی که بلند است

          دیدگاه


            #6
            آموزش com0com

            سلام لطفا مطلبی برای آموزش com0com در حد استفاده دراین تاپیک، قرار دهید.

            دیدگاه


              #7
              پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

              سلام چطور با متلب با ماژول بلوتوث hc-05 ارتباط برقرار کنیم؟ ماژول بلوتوث را راه اندازی کرده و به میکرو pic18f452 متصل کرده و مطابق با برنامه نوشته شده در pic، ماژول، دیتا ارسالی از نرم افزار hyperterminal را دریافت کرده و مدار به درستی کار می کند.
              اما چگونه با نرم افزار متلب به ماژول، دیتا ارسال کنم؟
              s=serial('COM25&#039
              fopen(s)
              بعد از دستور fopen ، چند ثانیه معطل کرده و error می دهد و در جواب دستور INSTRFIND ، نیز می گوید که COM25 بسته است.



              دیدگاه


                #8
                پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

                سلام.
                میخوام نرم افزار پورت سریال مجازی رو نصب کنم.
                از نرم افزار virtual serial port driver استفاده کردم.
                ارور زیر رو میده.

                نرم افزار com0com رو هم نسخه مناسب پیدا نمیکنم برای ویندوز 7 64 بیت.

                ممنون میشم راهنمایی کنید.
                Someone who can change the world
                ELECTRONIC ENGINEER

                دیدگاه


                  #9
                  پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

                  نوشته اصلی توسط abritco
                  سلام.
                  میخوام نرم افزار پورت سریال مجازی رو نصب کنم.
                  از نرم افزار virtual serial port driver استفاده کردم.
                  ارور زیر رو میده.

                  نرم افزار com0com رو هم نسخه مناسب پیدا نمیکنم برای ویندوز 7 64 بیت.

                  ممنون میشم راهنمایی کنید.
                  این نرم افزار همون VSPE هست دیگه !

                  اگه نیست از این نرم اافزار استفاده کنید

                  دیدگاه


                    #10
                    پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

                    اره همونه؟!
                    ولی میگه استفاده شده این پورت،اما من هیچ پورت com تو device manager ندارم؟!
                    Someone who can change the world
                    ELECTRONIC ENGINEER

                    دیدگاه


                      #11
                      پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

                      در دیوایس منیجر تو ویو بزنید شو هیدن فایلز! بعد ببینید چه نرمافزاری پورت رو اشغال کرده- بلوتوث زیاد پورت کام میگیره-

                      دیدگاه


                        #12
                        پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

                        سلام
                        بنده بروژه کنترل موتور dc با labview که مربوط به مجله نویز شماره هفتِ را بستم ولی error می ده به نظر شما مشکل چیه؟
                        اینم متن ارور

                        دیدگاه


                          #13
                          پاسخ : آموزش ایجاد ارتباط سریال بین نرم افزار های MATLAB ، LABVIEW و PROTEUS

                          بگمونم تولکیت مربط به پورت سریال نصب نیسن DSC modual

                          دیدگاه

                          لطفا صبر کنید...
                          X