اطلاعیه

Collapse
No announcement yet.

ارسال HEX با labview

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

    ارسال HEX با labview

    سلام
    چه جوری میشه مد ارسال سریال labview را تغییر داد و به جای HEX,string بفرستیم مثل codevision که ارسال HEX داره؟ : :question: :question: :question:

    #2
    پاسخ : ارسال HEX با labview

    ارسال به اون صورت فکر نکنم با توابع آماده میسر بشه
    باید از یه چیزی مثلا تو مایه های جدول Lookup استفاده کرد و از طریق Case مقدار هگز متناسب با هر رشته یا عددی رو فرستاد

    دیدگاه


      #3
      پاسخ : ارسال HEX با labview

      یعنی شما توی لبویو کد hex وارد کنی ؟ و اون طرف کد hex رو بگیری و تبدیل کنی به string ؟

      دیدگاه


        #4
        پاسخ : ارسال HEX با labview

        شما چه هگز بفرستی چه استرینگ در نهایت داده های شما بصورت بایت به بایت ارسال و دریافت میشه.
        یه کار اینه که شما داده هگز رو با استفاده از تابع Byte array to string تبدیلش کنی به استرینگ و بعد ارسال کنی. البته اگه داده شما فقط یه بایته اول باید اونو هم تبدلش کنی به آرایه!

        دیدگاه


          #5
          پاسخ : ارسال HEX با labview

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

          دیدگاه


            #6
            پاسخ : ارسال HEX با labview

            ببینید دوستان من می خوام کد HEX را به یه servo motor بفرستم و باید HEX بفرستم برای این کار هم یه راهی پیدا کردم ولی از طریق یک string ثابت :sad:
            به این صورت که حالت نمایش string را به hex display تغییر میدم ولی مشکلم اینجاست که اگر بخوام کاریر عددی را به صورت decimal وارد کنه و نرم افزار HEX بفرسته نمیشه چون وقتی عدد را به HEX تبدیل می کنم باید وارد یه string بشه که HEX display آن فعال است و کد کلا تغییر می کنه امیدوارم تونسته باشم منظورم را برسونم

            دیدگاه


              #7
              پاسخ : ارسال HEX با labview

              تقریبا نزدیک شدی به جواب. ولی خودم میگم . ببینم عزیزم فرض میکنیم شما یه المان کنترل کننده رشته ای رو تو صفحه پانل قرار دادی که کاربر از طریق اون بتونه کد هگز رو وارد کنه. این روشی که میگم رو دنبال کن. اولا واسه خودت یه قرار داد بزار که کاربر به چه فرمی اطلاعات رو وارد کنه. کاربر رشته وارد میکنه ولی برنامه قراره هگز بفرسته. مثلا قراره کاربر کد هگز 61 که مربوط به حرف a هست رو بفرسته. پس شما یه تعریف مشخصی از کدهای مجاز برای کاربر بکن. یعنی دیگه کاربر مستقیم کد هگز وارد نکنه. حالا شما خروجی این المان رشته ای رو بده به یه نشان دهنده رشته ای. فرمت نمایش اون نشان دهنده رشته ای بصورت hex display قرار بده. بعد از اون المان نشان دهنده یه متغیر محلی بگیر و خروجی متغیر محلی رو بده به وردی رشته ای پورت سریال. حالا کاربر کد وارد میکنه و ازون طرف مقدار هگز دریافت میشه. موفق باشی...

              دیدگاه


                #8
                پاسخ : ارسال HEX با labview

                با عرض سلام
                میدونم که اینجا محل صحیحی برای سوالم نیست اما دیدم اینجا بهتر پدیت شده, با عرض پوزش سوالمو اینجا مطرح میکنم به امید اینکه جوابی بگیرم
                من مهندس مکانیک هستم و در حال حاضر در مقطع دکترا تحصیل میکنم. پروژم مربوط به سیستم های مونتاژ هست و از قضا تو آزمایشگاه یک SMAC actuator controller (http://www.smac-mca.com/linear.php) داریم که یک حرکت رفت و برگشت دقیق میخوام ازش بگیرم. خود کتاب راهنما گفته که برنامه نویسی شبیه assembler code هست و از hyperterminal ویندوز میشه استفاده کرد.
                تو کتاب راهنما یه دو تا مثال گفته و یه تعداد زیادی دستور که به صورت تکی توضیح داده شده. حالا من که تا حالا با اینجور سیستما کار نکردم چطوری باید کنترل این دستگاه را انجام بدم.
                البته تو سایتش دیدم که نوشته It is easily programmed via an NI LabVIEW program module ,حالا سوالم اینه که اساتید کمک کنند بگن چیکار کنم, متمرکز بشم روی برنامه نویسی توی هایپرترمینال ویندوز و یا برم لب ویو را یاد بگیرم. یه چیز دیگه اینکه از لحاظ زمانی خیلی وقتم کمه , و اینکه آیا با یادگرفتن لب ویو میتونم به راحتی بطور گرافیکی با دستگاه ارتباط برقرار کنم و نمودارهای جابجایی, سرعت و شتاب را بر اساس زمان رسم کنم یا نه
                لطفا راهنمایی بفرمایید
                با تشکر

                دیدگاه


                  #9
                  پاسخ : ارسال HEX با labview

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

                  دیدگاه


                    #10
                    پاسخ : ارسال HEX با labview

                    با سلام.

                    دوستان فرمودند که اطلاعات به صورت بایت به labview ارسال میشه.سوال بنده این است که به طور مثال عدد 243 به
                    پورت سریال فرستاده بشه آیا سه بایت هر کدام به ارزش 2 و 4 و 3 ارسال میشه یا یک بایت به ارزش 243 به پورت ارسال میشه؟

                    آیا labview هم اطلاعات را به صورت بایت به میکرو ارسال میکنه؟

                    آیا ارسال بایت به بایت فقط برای پروتکل rs232 است یا بقیه پروتکل ها (مثل profibus و ...) هم همینطور هستند؟

                    ممنون.

                    دیدگاه


                      #11
                      پاسخ : ارسال HEX با labview

                      1- در مورد ارتباط سریال آسنکرون یا همون uartآ‌ داده ها بصورت بایت به بایت ارسال میشن. (در هر بایت هم اعداد از 0 تا 255 جا میشن). این دست شماست که عدد 243 رو بصورت یه عدد بفرستی (تنها در یک بایت) یا اینکه اونو تبدیل به رشته ای از کاراکترها (سه بایت شمامل کاراکترهای '3' , '4' , '2&#039 ارسال کنی . توجه داشته باشید که در اینحالت کد اسکی هر کاراکتر ارسال میشه (که برای سه کاراکتر فوق این کدها در مبنای هگز عبارتند از 0x32, 0x34, 0x33)
                      2- موضوع بعدی در نحوه ارسال بصورت متغیر الکتریکی هست. rs232 میاد و 1 منطقی رو با -10 ولت و 0 منطقی رو با +10 ولت ارسال میکنه. (TTLآ‌ همین کار رو با +5 ولت و صفر ولت انجام میده). توجه داشته باشید که rs232 تنها لایه فیزیکی ارتباط رو مشخص میکنه و یه پروتکل نیست
                      3- کلا پورت سریال کامپیوتر دادها رو بصورت بایتی ارسال میکنه (این موضوع ربطی به نرم افزار نداره و لب ویو هم از اون استفاده میکنه) این شمایید که محتویات این بایتها رو تعیین میکنید در هر نرم افزاری
                      4- با توجه به توضیح انتهایی بخش 2 : پروفیباس یه پروتکله که نحوه ارسال و دریافت داده ها رو از لایه منطقی تا لایه فزیزکی رو تعریف میکنه.

                      دیدگاه


                        #12
                        پاسخ : ارسال HEX با labview

                        با سلام.

                        بنده یه برنامه با بسکام نوشتم که یک رشته یه طول سه کاراکتر رو با دستور printbin از پورت سریال دریافت میکنه. این برنامه با محیط terminal emulator بسکام کاملا درست کار میکنه ولی با labview مشکل داره! چه توابعی رو باید در labview استفاده کنم تا داده رو دقیقا مثل terminal emulator بفرسته. لطف کنید به برنامه لب ویو رو یه نگاه بندازید.
                        با تشکر فراوان.

                        http://www.uploadmb.com/dw.php?id=1372353724

                        دیدگاه


                          #13
                          پاسخ : ارسال HEX با labview

                          1- عملا از تابع build array هیچ استفاده ای نکردین و فقط یه داده ارسال میشه و بعد پورت بسته میشه
                          2- در ارتباط سریال آسنکرون تنظیمات دو طرف در مورد باود و تعداد بیتهای داده و تعداد بیتهای پایان و پریتی باید یکی باشه
                          3- شما فعلا یه آرایه ثابت تعریف کن با سه عدد یا کاراکتر اونها رو بفرست ببین تو میکرو درست میگیری بعد برنامتو شاخ و برگ بده

                          دیدگاه


                            #14
                            پاسخ : ارسال HEX با labview

                            با سلام.
                            خیلی ممنون از کمکتون.

                            لطف کنید عکس زیر رو ببینید. مشکل اینه که یک رشته به طول شش کاراکتر فقط یکبار ارسال میشه و دائما فرستاده نمیشه!
                            بنده عدد 6 رقمی را از طریق terminal emulator بسکام ارسال میکنم و برنامه میکرو بخوبی اجرا میشه ولی با labview مشکل دارد.

                            http://www.uploadmb.com/dw.php?id=1372962030

                            منتظر کمک شما دوست عزیز.

                            با تشکر.

                            دیدگاه


                              #15
                              پاسخ : ارسال HEX با labview

                              بذارش تو یه lopp مثل while

                              دیدگاه

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