اطلاعیه

Collapse
No announcement yet.

ارتباط سریال

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

    ارتباط سریال

    سلام دوستان . 1-برای خوندن و نوشتن از لویو به میکرو اول باید تابع write رو بزارم یا read ?
    2- من تابع write اول گذاشتم بعد تابعread . تا تابع write خطا نمیده ولی از تابع read به بعد خطا میده .متن خطا هم میگه (زمان توقف (time out )تمام میشه قبل از کامل شدن عملیات) . البته تو پروژم بعد از تابع read بازم باید تابع write استفاده کنم.

    #2
    پاسخ : ارتباط سریال

    شما وقتی میخوای از کامپیوتر ؛ داده بفرستی بیرون از تابع رایت استفاده کن
    و بالعکس وقتی میکرو به کامپیوتر داده میفرسته از تابع رید استفاده کن
    تابع رید به ورودی داره که میتونی time out رو غیر فعال کن و در حالت پیش فرض فعال و با زمان 10 ثانیه است. شما یا اونو غیر فعال کن یا زمان رو که برحسب میلی ثانیه در نظر گرفته شده رو زیادتر کن . این ورودی کارش اینه که اگه از زمان اعلام شده مدت بیشتری گذشت و داده ای نیومد اعلام خطا بکنه (و برنامت سر کار نمونه).
    در مورد ارتباط سریال تو لب ویو کلی توضیحات تو سایت هست که میتونید سرچ کنید

    دیدگاه


      #3
      پاسخ : ارتباط سریال

      خیلی ممنون از راهنمایتون. ببخشید من تازه دارم با پورت سریال کار میکنم چطوری زمان time out غیر فعال کنم. من قسمتی که به time out بود رو برداشتم ولی باز اون پیغامو نشون داد . فکر کنم غیر فعال نشد و چون من برش داشتم به صورت پیش فرض رفت تو 10 ثانیه.
      تازه زیر 10 ثانیه این پیغامو میده.

      دیدگاه


        #4
        پاسخ : ارتباط سریال

        شما تو هلپ لب ویو نگاه کن یکی از ورودیها مربوط به غیر فعال سازی تایم اوت هست بهش یه ثابت بولین وصل کن

        دیدگاه


          #5
          پاسخ : ارتباط سریال

          خیلی خیلی ممنون . با بالا بردن زمان time out و در تابع read مشکل حل شد .حالا من بعد از تابع read از 3تا تابع write میخوام استفاده کنم ولی از تابع write اول error میده ، چون زمان time out رو بردم بالا و تا زمانی که این زمان تمام نشه تابع write کارشو انجام نمیده.

          دیدگاه


            #6
            پاسخ : ارتباط سریال

            تابع READ منتظر میمونه تا داده بیاد یا اینکه تایم اوت بشه. قبل از استفاده از این تابع با تابع bytes at serial port مطمئن شو که داده در بافر سریال موجوده و بعد با تابع read اونو بخون

            دیدگاه


              #7
              پاسخ : ارتباط سریال

              سلام
              من باید دیتای یک سیگنال انالوگ رو از طریق پورت سریال برای میکرو ارسال کنم مشکل اینجاست که باید زمان بندی داخلی در نرم افزار لب ویو رعایت بشه . تو سیمولینک اینکار خیلی راحته چون زمان اجرا و تعداد سمپل قابل تنظیمه تو لب ویو نمی دونم .مثلا یه استپ که کلا 3 ثانیه طول می کشه به ازای 100 سمپل در ثانیه و شروع استپ از 1 تا 2 ثانیه با 100 تا 0 شروع میشه بعد 100 تا 1 و بعد 100 تا 0 حالا اگر قرار باشه برای تغییر سیگنال نیاز به تغییر برنامه نباشه مانند سیمولینک که فقط کافیه نوع سیگنال عوض بشه ایا روش سرراستی تو لب هست با تشکر

              دیدگاه


                #8
                پاسخ : ارتباط سریال

                در مورد کار Real time با لب ویو متاسفانه من نمیتونم کمکت کنم. اما برای رعایت فواصل زمانی یکسان برای اجرای پروسه یه تابع تو لب هست به اسم wait until next ms multiple کنار تابع wait در پالت function>> Time & dialog
                کار این تابع اینه که بین دو فراخوانی اون سعی میکنه اون زمانی کعه بعنوان ورودی بهش دادیم رو حفظ کنه. شما داخل حلقه اصلی برنامت از این تابع استفاده کن

                دیدگاه

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