اطلاعیه

Collapse
No announcement yet.

پیاده سازی مدباس توسط AVR برای ارتباط با درایو اشنایدر

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

    پیاده سازی مدباس توسط AVR برای ارتباط با درایو اشنایدر

    دوستان سلام سوالاتی در مورد نحوه پیاده سازی مدباس توسط AVR داشتم اگه راهنماییم کنید خیلی ممنونتون میشم
    اول بگم که قبل از زدن تاپیک توی انجمن و جاهای دیگه جستجو انجام دادم اما متاسفانه موفق نشدم جواب سوالاتمو بصورت روشن پیدا کنم
    قصد دارم توسط یک میکرو AVR توسط پروتوکل مد باس RTU و لایه فیزیکی RS485 سرعت مورد نظر (دیتای ارسالی)رو به یک درایو اشنایدر بدم تا موتور متصل به درایو با همون سرعت بچرخه حالا چند تا مشکل دارم و درو اقع سوالات من ایناست
    برای پیاده سازی مد باس از همون USART میکرو در مد آسنکرون میخوام استفاده کنم ،چطوری میتونم قالب بندی مد باس رو پیاده سازی کنم چون اگه اشتباه نکنم usart میکرو داده هارو بصورت یک بیت شروع 8 تا دیتا یک پریتی و یک بیت پایان میفرسته اما قالب مد باس متفاوته و میتونه تا 256 بایت داشته باشه ، قسمت فانکشن داره و ... در واقع برای فرستادن بایت ها باید فاصله زمانی بینشون کمتر از 42 بیت باشه که میخوام بدونم چطوری باید پیام رو با این فاصله زمانی بفرستم که قالب مد باس بدون مشکل ارسال بشه (تو این خیلی گیرم )
    مشکل بعدیم اینه که نمیدونم برای کنترل سرعت چه دیتاهایی باید بصورت سریال به درایو ارسال بشه یک فایل ضمیمه کردم که مربوط به همین نوع درایو هست و آدرس های منطقی رو نوشته اما چیزی ازش سر در نمیارم اگه تو این دوتا مورد کمکم کنید واقعا ممنونتون میشم، اگر کد نمونه ای هم برای AVR با زبان C دارید ممنون میشم قرار بدین .
    پیشاپیش از وقتی که میزارید سپاس گذارم

    فایل مربوط به درایو

    #2
    پاسخ : پیاده سازی مدباس توسط AVR برای ارتباط با درایو اشنایدر

    با سلام

    سال 93 من با بسکام مدباس RTU رو برای AVR پورت کردم و خیلی عالی کار می کرد و البته می کنه.
    هدف من ارتباط با HMI های شرکت دلتا بود که میسر شد.
    در کل مدباس استانداره و زیاد تفاوتی نداره.

    دقت کنید ارتباط شما همون سریال و بیاین در وقفه اون دیتا رو دریافت و تفکیک کنید. مثلا بایت اول ادرس، باید دوم تعداد بایت دیتا و ... و نسبت به اطلاعات دریافتی به مستر پاسخ بدین.
    کار سختی نیس فقط وقت می خواد و حوصله.
    چرا ناراحتی پاتریک!
    + امروز ی بچه دیدم سرچهارراه گل میفروخت
    - از دیدنش ناراحت شدی؟
    + نه
    پس چی ناراحتت کرده
    + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
    ------------------------------------------------------------------------------------------------------
    تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
    ------------------------------------------------------------------------------------------------------
    محصولات

    دیدگاه


      #3
      پاسخ : پیاده سازی مدباس توسط AVR برای ارتباط با درایو اشنایدر

      سلام
      بنده پارسال راه اندازیش کردم و هنوزم درگیرشم متاسفانه
      خب بریم سراغ سوالات
      اونجا که گفتید 8 تا دیتا اون در واقع 8 تا دیتا نیست و 8 بیته که مربوط به هر بایت میشه و اصولا هر بایت 8 بیته و ربطی به این قضیه نداره و شما تا 256 دیتا رو میتونی بفرستی
      پریتی و استپ بیت رو هم در کانفیگ کردن پورت سریال مشخص میکنید که در مدباس اصلا نیازی به پریتی ندارید چون خودش کد خطا داره
      فاصله زمانی رو شما نمیخواد تعبیه کنی شما فقط اطلاعاتت رو میزاری داخل یک بافر و تک به تک به صورت باینری ارسال میکنی(با hmi و لب ویو جواب گرفتم)
      ادرس ها هم در rtu از 40001 شروع میشه و حالا اون مقادیری که میخوای توی رجیستر ها بنویسی برای کنترل سرغت با توجه به دیتا شیتت اون مقادیر رو توی رجیستر هات قرار میدی
      و در اخر هم به نظر من اصلا سمت avr برای این کار نرو چون محیط یک محیط صنعتی هست درایو هم تولید کننده نویز و avr هم استعداد بسیار بالایی در گرفتن نویز داره
      سوالی بود در خدمتم

      دیدگاه


        #4
        پاسخ : پیاده سازی مدباس توسط AVR برای ارتباط با درایو اشنایدر

        نوشته اصلی توسط hamidrezam2 نمایش پست ها
        سلام
        بنده پارسال راه اندازیش کردم و هنوزم درگیرشم متاسفانه
        خب بریم سراغ سوالات
        اونجا که گفتید 8 تا دیتا اون در واقع 8 تا دیتا نیست و 8 بیته که مربوط به هر بایت میشه و اصولا هر بایت 8 بیته و ربطی به این قضیه نداره و شما تا 256 دیتا رو میتونی بفرستی
        پریتی و استپ بیت رو هم در کانفیگ کردن پورت سریال مشخص میکنید که در مدباس اصلا نیازی به پریتی ندارید چون خودش کد خطا داره
        فاصله زمانی رو شما نمیخواد تعبیه کنی شما فقط اطلاعاتت رو میزاری داخل یک بافر و تک به تک به صورت باینری ارسال میکنی(با hmi و لب ویو جواب گرفتم)
        ادرس ها هم در rtu از 40001 شروع میشه و حالا اون مقادیری که میخوای توی رجیستر ها بنویسی برای کنترل سرغت با توجه به دیتا شیتت اون مقادیر رو توی رجیستر هات قرار میدی
        و در اخر هم به نظر من اصلا سمت avr برای این کار نرو چون محیط یک محیط صنعتی هست درایو هم تولید کننده نویز و avr هم استعداد بسیار بالایی در گرفتن نویز داره
        سوالی بود در خدمتم
        تشکر از پاسختون ،بله منظور من هم از هشت دیتا ، هشت بیت قسمت دیتا بود .اینی که فرمودین اطلاعات رو توی یک بافر میزارم و سپس بصورت باینری ارسال کنم رو میشه توضیح بدین چطوریه ؟(منظورتون اینه که مثلا هر چند بایت که بود رو توی یک بافر بزارمو بعد همرو بفرستم ؟اگه اینی که فکر میکنم درسته لطف کنید توضیح بدین چطوری خیلی ممنون میشم ). بله در مورد نویز درست میفرمایید اما متاسفانه مجبورم این کار رو انجام بدم (تو شرایط اجبار قرار گرفتم )
        نوشته اصلی توسط سوران آراسته نمایش پست ها
        با سلام

        سال 93 من با بسکام مدباس RTU رو برای AVR پورت کردم و خیلی عالی کار می کرد و البته می کنه.
        هدف من ارتباط با HMI های شرکت دلتا بود که میسر شد.
        در کل مدباس استانداره و زیاد تفاوتی نداره.

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

        دیدگاه


          #5
          پاسخ : پیاده سازی مدباس توسط AVR برای ارتباط با درایو اشنایدر

          افرین
          دقیقا همینطوره شما یک ارایه مثلا 20 تایی تعریف میکنید و مقادیر و پارامتر ها رو با توجه به استاندارد مدباس قرار میدید سپس از طریق پورت سریال تک به تک میفرستید روی خروجی

          دیدگاه


            #6
            پاسخ : پیاده سازی مدباس توسط AVR برای ارتباط با درایو اشنایدر

            نوشته اصلی توسط سوران آراسته نمایش پست ها
            با سلام

            سال 93 من با بسکام مدباس RTU رو برای AVR پورت کردم و خیلی عالی کار می کرد و البته می کنه.
            هدف من ارتباط با HMI های شرکت دلتا بود که میسر شد.
            در کل مدباس استانداره و زیاد تفاوتی نداره.

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

            با سلام.
            من Modbus رو به صورت Slave روی RS485 توسط AVR پیاده و تست کردم.
            الان برای ارتباط با HMI یک مشکل دارم:
            میخوام HMI به صورت Master باشه، اطلاعات توسط اون ارسال میشه، دستگاه Slave دریافت میکنه و پاسخ رو هم ارسال میکنه، اما پاسخ ارسال شده روی باس RS485 دیده نمیشه.
            تصورم اینه که احتمالا HMI هنوز در مد ارسال قرار داره و چون دو وسیله به صورت همزمان نمیتونن Master باشند چنین مشکلی بوجود اومده.
            من از RS485 به صورت Haulf Duplex استفاده کردم. (یعنی یک RS485 Transciever دارم که با سیگنال کنترلی جهت ارسال رو براش مشخص می کنم، در حالت عادی در مد دریافت است و پس از دریافت دستور از HMI به مد ارسال رفته و بر می گردد)
            ممنون میشم اگر از تجربیاتتون در این زمینه در اختیارم بزارید.
            با تشکر

            دیدگاه


              #7
              پاسخ : پیاده سازی مدباس توسط AVR برای ارتباط با درایو اشنایدر

              با سلام

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

              احتمالا در دریافت دیتا مشکل دارین و میکرو نمی تونه جواب رو بفرسته . متاسفانه الکترونیک طوریه که در بیشتر موارد تا وسایل دم دست نباشه نمی تونه نظر خاصی بدی و این موارد صنعتی هم دقیقا همینطوره.

              بازم تا جایی که بتونم در خدمتم...
              چرا ناراحتی پاتریک!
              + امروز ی بچه دیدم سرچهارراه گل میفروخت
              - از دیدنش ناراحت شدی؟
              + نه
              پس چی ناراحتت کرده
              + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
              ------------------------------------------------------------------------------------------------------
              تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
              ------------------------------------------------------------------------------------------------------
              محصولات

              دیدگاه

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