اطلاعیه

Collapse
No announcement yet.

ارتباط سریال بین LabView & AVR

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

    #16
    پاسخ : ارتباط سریال بین LabView & AVR

    سلام
    آیا روشی هست که مثال هایی که از لبویو وجود دارد وبا ورژن های بالاتر است را با ورژنهای پایین تر باز کرد

    دیدگاه


      #17
      پاسخ : ارتباط سریال بین LabView & AVR

      چون از اول با بیسیک برنامه نوشتم به خاطر همین همه پروژه هام و هم با بیسیک انجام میدم . در کل زیاد با زبان C کار نکردم . ان شاالله اگه تونستم باشه :biggrin:
      چشم ها را باید شست ، جور دیگر باید دید . . .

      دیدگاه


        #18
        پاسخ : ارتباط سریال بین LabView & AVR

        برنامه کنترل دمای گلخانه با قابلیت تنظیم دما
        چشم ها را باید شست ، جور دیگر باید دید . . .

        دیدگاه


          #19
          پاسخ : ارتباط سریال بین LabView & AVR

          نوشته اصلی توسط hassantorabi
          برنامه کنترل دمای گلخانه با قابلیت تنظیم دما
          ؟
          إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
          کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)

          دیدگاه


            #20
            پاسخ : ارتباط سریال بین LabView & AVR

            اینم فایل برنامه کنترل دمای گلخانه به میکرو و لب ویو به این صورت عمل میکنه که شما برنامه رو اجرا میکنید و set point دما رو بهش میدین اگه دما بیشتر از دمای set point شد به کولر فرمان میده روشن بشه و اگه کمتر از set point شد به بخاری فرمان میده که روشن بشه . این برنامه ای براتون گذاشتم 150000 تومان قیمتش بود که به عنوان پروژه پایانی فروخته میشد . بازم میگم بیکار نشینید لب ویو کار کنید :wow: :applause: :wow:
            http://cld.persiangig.com/download/W...Control.rar/dl
            http://cld.persiangig.com/download/S...%20Temp.rar/dl
            چشم ها را باید شست ، جور دیگر باید دید . . .

            دیدگاه


              #21
              پاسخ : ارتباط سریال بین LabView & AVR

              میتونید یه توضیح تصویری بای من بدید که چطور میتونم یه رشته ی مثلا ده بایتی رو با لب ویو ارسال کنم یا اگه دریافت کردم چطور بایت های اون رو از هم جدا و آنالیز کنم؟ مثلا رشته ی " 01020010ّّّّFFF:" رو دریافت کنم و بعد عملیات مقایسه و تصمیم گیری روی بایت های اون رو انجام بدم؟

              دیدگاه


                #22
                پاسخ : ارتباط سریال بین LabView & AVR

                نوشته اصلی توسط mjh389
                سلام
                آیا روشی هست که مثال هایی که از لبویو وجود دارد وبا ورژن های بالاتر است را با ورژنهای پایین تر باز کرد
                سلام نه نمیشه برنامه های با ورژن بالا رو نمیشه در برنامه های ورژن پایین اجرا کرد . یعنی لب ویو این خاصیت رو نداره
                چشم ها را باید شست ، جور دیگر باید دید . . .

                دیدگاه


                  #23
                  پاسخ : ارتباط سریال بین LabView & AVR

                  نوشته اصلی توسط akamseda
                  میتونید یه توضیح تصویری بای من بدید که چطور میتونم یه رشته ی مثلا ده بایتی رو با لب ویو ارسال کنم یا اگه دریافت کردم چطور بایت های اون رو از هم جدا و آنالیز کنم؟ مثلا رشته ی " 01020010ّّّّFFF:" رو دریافت کنم و بعد عملیات مقایسه و تصمیم گیری روی بایت های اون رو انجام بدم؟
                  باشه چشم براتون ی نمونه برنامه آماده میکنم
                  چشم ها را باید شست ، جور دیگر باید دید . . .

                  دیدگاه


                    #24
                    پاسخ : ارتباط سریال بین LabView & AVR

                    نوشته اصلی توسط akamseda
                    میتونید یه توضیح تصویری بای من بدید که چطور میتونم یه رشته ی مثلا ده بایتی رو با لب ویو ارسال کنم یا اگه دریافت کردم چطور بایت های اون رو از هم جدا و آنالیز کنم؟ مثلا رشته ی " 01020010ّّّّFFF:" رو دریافت کنم و بعد عملیات مقایسه و تصمیم گیری روی بایت های اون رو انجام بدم؟
                    سلام دوست عزیز ، همونطورکه میدونید مقدار هر کاراکتر رشته ای یک بایت هست . پس هر کاراکتر که جدا کنیم به اندازه یک بایت محسوب میشه برابر جدول کد اسکی . حالا اگر شما شفاف سازی کنید که هر بایت این رشته با چی قراره مقایسه بشه ؟ مثلا در رشته بالایی که خودتون گفتید 0 اول به عنوان یک بایت محسوب میشه این صفر قراره با چی مقایسه بشه ؟ بیشتر توضیح بدید تا برنامش رو بنویسم .
                    چشم ها را باید شست ، جور دیگر باید دید . . .

                    دیدگاه


                      #25
                      پاسخ : ارتباط سریال بین LabView & AVR

                      ممنون از لطف شما
                      اجازه بدید یه مثال عملی بزنم، من میخوام به یه اینورتر دلتا از طریق مدباس اسکی فرمان بدم که فرکانس خودش رو روی عدد 50 هرتز تنظیم کنه، آدرس اینورتر در شبکه 02 هست، من باید این رشته رو برای اینورتر ارسال کنم:
                      "020620015000WXYZ:"
                      که در اون از چپ به ترتیب: ":" نشانه شروع رشته(STX)، بعد "02" آدرس اینورتر، "06" کد فرمان نوشتن، 2001 آدرس رجیستر مربوط به فرکانس، 5000 مقدار فرکانس که باید در رجیستر مذکور نوشته بشه و WXچک سام برای تشخیص خطا که یه مقدار عددی هست که حالا من حساب نکردم و به صورت نمادین از WX استفاده کردم و Y کد اسکی 13 و Z کد اسکی 10 هست،
                      اگر این دستور درست ارسال بشه اینورتر باید عین همون رشته رو به عنوان پاسخ ارسال کنه که یعنی عملیات با موفقیت انجام شد، پس من اول این رشته رو ارسال می کنم بعد رشته ای که دریافت می کنم رو باید بخش به بخش بررسی کنم(آدرس، کد فرمان، آدرس رجیستر و...) تا مطمئن بشم همون مقادیر ارسالی هست و عملیات با موفقیت انجام پذیرفته

                      ضمنا توی عملیات خواندن رشته ارسالی و دریافتی باهم تفاوت داره
                      مثلا عملیات خواندن دو word از رجیستر 2102 :
                      ارسال:(درخواست محتوای رجیستر توسط نرم افزار):
                      01032102002ِD7YZ:
                      پاسخ(ارسال محتوای رجیستر 2102 توسط اینورتر):
                      0103041770000071YZ:

                      دیدگاه


                        #26
                        پاسخ : ارتباط سریال بین LabView & AVR

                        سلام با عرض تبریک سال نو
                        اول اینکه من با اینورتر کار نکردم . قسمت اول گفتید که وقتی رشته "020620015000WXYZ:" ارسال بشه باید اینورتر هم همین رشته رو دقیقا ارسال کنه و اگه دو مقدار با هم برابر بودن ارتباط درسته پس کافیه دو رشته با هم مقایسه بشن برای این کار باید از بلوک match pattern استفاده کنی اما اگه بخوای آدرس اینورتر ، کد فرمان و ... رو با هم مقایسه کنی و ببینی در صورت بروز خطا کدام قسمت از رشته دریافتی با ارسالی فرق می کنه باید از یک پروسه پیچیده استفاده کنی که عکس برنامه رو گذاشتم اگه دیدی بدردت میخوره بگو تا برنامه رو هم بزارم . ولی توی قسمت دوم نوشته هات باز من متوجه نشدم که گفتی خواندن رشته ارسالی و دریافتی با هم فرق داره اینجوری قسمت اول نوشته رو نقض میکنه که گفتی باید عین هم باشن ؟؟؟ oo:
                        تصویر رو ببین توضیح خواستی بگو تا یکی یکی بگم چی میشه
                        http://cld.persiangig.com/download/n...ntitled.jpg/dl
                        چشم ها را باید شست ، جور دیگر باید دید . . .

                        دیدگاه


                          #27
                          پاسخ : ارتباط سریال بین LabView & AVR

                          سلام سال نو شما هم مبارک @};- @};- @};-
                          نوشته اصلی توسط hassantorabi
                          . ولی توی قسمت دوم نوشته هات باز من متوجه نشدم که گفتی خواندن رشته ارسالی و دریافتی با هم فرق داره اینجوری قسمت اول نوشته رو نقض میکنه که گفتی باید عین هم باشن ؟؟؟ oo:
                          شاید منظورم رو درست بیان نکردم، توی ارتباط سریال عملیاتی که روی یک عضو شبکه مثل یک اینورتر انجام میشه به دو دسته کلی خواندن و نوشتن تقسیم میشه، منظور از خواندن دریافت مقدار یک یا چند رجیستر و منظور از نوشتن تغییر مقدار یک یا چند رجیستر هست، که در هر حالت ابتدا یک فرمان (command)برای اینورتر یا هر عضو شبکه(SLAVE) توسط کنترل کننده شبکه (MASTER) ارسال میشه و slave یک پاسخ(response) برای master ارسال میکنه،
                          حالا تو این مورد خاص در عملیات نوشتن، فرمان درخواست و پاسخ باهم یکسان هست ولی در عملیات خواندن همیشه درخواست و پاسخ باهم تفاوت داره، بنابراین بهتره که همیشه بتونیم جزء به جزء اون رو چک کنیم

                          دیدگاه


                            #28
                            پاسخ : ارتباط سریال بین LabView & AVR

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

                            دیدگاه


                              #29
                              پاسخ : ارتباط سریال بین LabView & AVR

                              از لطف شما ممنونم دوست عزیز، البته من دنبال لقمه ی جویده شده نیستم و همونطور که گفتم قبلا با لب ویو کار کردم و برای انجام این کار در زبانی مثل C مشکلی ندارم، فقط در مورد لب ویو یه خورده ابهام دارم که اگه شما کمک کنید اونو برطرف کنم ممنون میشم، ضمنا در هدف نهایی تعداد دستورات محدود نیست و ممکنه خیلی زیاد باشه.
                              شما اصلا کاری به اینکه ما مثلا با اینورتر کار می کنیم نداشته باشید و فقط روی کدهای ارسالی و دریافتی تمرکز کنید، قراره یه همچین رشته ای رو ارسال کنیم و بعد به اندازه timeout منتطر بمونیم تا یه رشته دریافت کنیم، باید توجه داشته باشیم که همه مقادیر به صورت کاراکتر هستند نه عدد.
                              به تصویری که فرستادی دقت کردم کلیتش رو یه چیزایی متوجه شدم اما از جزئیاتش زیاد سردر نیاوردم، اول اینکه مقادیر رشته چطوری به صورت متوالی درمیاد و بعدهم ارسال میشه؟(چیزی که از تصویر متوجه شدم یه بلوک شبیه مالتی پلکسر این کار رو انجام میده)
                              بعد رشته دریافتی کجا ذخیره میشه و چطوری میشه مقادیر اون رو دوبایت دوبایت یا چهار بایت چهار بایت از هم جدا کرد؟ یه چیزی شبیه به دستورات شیفت باید بتونه این کار رو انجام بده .
                              من لب ویو 2013 رو نصب شده دارم، اگه ورژن شما بالاتر از این نیست لطف کنید فایل های خودتون رو ارسال کنید تا بهتر بتونم بررسی کنم و کمتر وقت شما رو بگیرم.
                              بازم ممنون

                              دیدگاه


                                #30
                                پاسخ : ارتباط سریال بین LabView & AVR

                                راستی درایور های پورت سریال برای لب ویو 2013 چند تا فایل هستند و از کجا میشه دانلود کرد؟ اگه لینک ازش دارید برام بذارید

                                دیدگاه

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