اطلاعیه

Collapse
No announcement yet.

مشکل در طراحی ModBus

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

    #61
    پاسخ : مشکل در Modbus

    نوشته اصلی توسط ahmadmn
    مثال از چی دایی جان؟
    RS485 یا ModBus ؟
    متاسفانه مثالی که بدرد آموزش بخوره ندارم اما توی اینترنت اونقدر مطلب دربارشون هست که من هرچی بگم ناقصه.
    توی همین سایت هم پر از مطالبه.
    خود من از فایل زیر بعنوان مرجع ModBus استفاده کردم اما راستش یادم نیست RS485 رو کی و چجوری یاد گرفتم! :biggrin:
    www.modbustools.com/PI_MBUS_300.pdf
    سلام به همه دوستان و اساتید مخصوصا استاد کوهستانی
    من یه توی این RTU به یه مشکل بر خوردم
    دقیقا نفهمیدم منظورش از
    In RTU mode, messages start with a silent interval of at least 3.5 character times. This is most easily implemented as a multiple of character times at the baud rate that is being used on the network .
    چیه یعنی باید با توجه به باود ریت یه اندازه 3 و نیم کاراکتر فاصله خالی باشه برای شروع فریم
    ممنون میشم راهنمائی کنید
    [img width=702 height=789 alt=http://rezaeian.persiangig.com/rs-485/rs485-rtu-framing.jpg]http://rezaeian.persiangig.com/rs-485/rs485-rtu-framing.jpg[/img]
    معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

    دیدگاه


      #62
      پاسخ : مشکل در طراحی ModBus

      دقیقا درست متوجه شدی دایی جان
      سرور و کلاینت ها روی یک باودریت تنظیم شده اند.
      اگه به اندازه زمان 3.5 کاراکتر هیچ داده ای رد و بدل نشه نشونه اینه که تایم اوت شده و همه باید منتظر شروع یک مسج باشند.
      اگه دقت کرده باشی در مد RTU مقدار کاراکترهای داده می تونه بین 0 تا 255 باشه. پس نمی تونیم یه کد رو بعنوان کد شروع در نظر بگیریم.
      بنابراین از روش زمانی برای تشخیص خاتمه پیام استفاده شده تا این مشکل پیش نیاد.
      مثلا اگه باودریت 9600 و UART در مد 10 بیتی تنظیم شده باشه، زمان یک کاراکتر میشه 1 میلی ثانیه.
      بنابراین زمان 3.5 کاراکتر میشه 3.5 میلی ثانیه.
      پس یک تایمر داخل میکروی تمام اسلیوها و مستر باید روی 3.5 میلی ثانیه تنظیم شده باشد. وقتی یک بایت توسط پورت سریال دریافت میشه این تایمر باید صفر بشه.
      اگه این تایمر به 3.5 میلی ثانیه رسید باید اینتراپت بده. داخل روتین اینتراپت باید بافر مسج رو صفر کنیم تا اولین بایتی که دریافت شد نشانه شروع مسج یا بایت آدرس باشه.
      اگه اسلیو مسجی دریافت کرد که آدرسش مربوط به خودش باشه باز هم باید در روتین اینتراپت تایمر یعنی بعد از 3.5 میلی ثانیه مسج پاسخ رو بفرسته.
      راستی بایت های یک مسج باید پشت سرهم و بدون وقفه ارسال بشه. اگه بین دو بایت بیشتر از زمان 1.5 کاراکتر فاصله باشه نشانه اینه که یه مسج جدید شروع شده و این باعث میشه در آخر مسج CRCآ‌ خطا داشته باشه و این مسج صرف نظر بشه.
      برای درک بهتر RTUآ‌ می تونی فرض کنی یه معلم ناشنوایان داره با دانش آموزاش صحبت می کنه. معلم اونقدر دور وایساده که نمی تونه با چشماش به یه دانشجو بفهمونه داره با اون صحبت می کنه. تنها روش ارتباط انگشتان دسته. اگه یه راه ارتباط پیدا کنی پس RTU رو درک کردی.
      با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

      دیدگاه


        #63
        پاسخ : مشکل در طراحی ModBus

        با سلام جناب john lock میشه بگید با modbus به کجا رسیدید مشکلتون حل شد؟راه افتاد؟

        دیدگاه


          #64
          پاسخ : مشکل در طراحی ModBus

          با سلام جناب john lock من مشکلم در مورد کدبندی اسکی یا rtu است نمیدونم چه چیزهایی را باید ارسال کنم لطفا راهنمایی کنید ممنونم

          دیدگاه


            #65
            پاسخ : مشکل در طراحی ModBus

            نوشته اصلی توسط زوار
            با سلام جناب john lock من مشکلم در مورد کدبندی اسکی یا rtu است نمیدونم چه چیزهایی را باید ارسال کنم لطفا راهنمایی کنید ممنونم
            آقا اولا ما کی باشیم که بخوایم کسی رو راهنمائی کنیم
            شما بفرمائید که دقیقا چه دستگاهی رو می خواید بهش وصل بشید یا مستر اسلیو رو خودتون طراحی کردید
            اگه روشن کنید که چه دستگاهی رو میخواید بهش وصل بشید من دانسته های خودم رو در اختیارتون قرار می دم
            پیروز و سبز باشید
            معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

            دیدگاه


              #66
              پاسخ : مشکل در طراحی ModBus

              با سلام ممنون از پاسختون من دارم یک محافظ موتور میسازم که میخوام ارتباط مد باس هم براش بذارم که هر دستگاهی که مدباس داره بتونه باهاش ارتباط برقرار کنه مثلا بتونه با یک plc ارتباط برقرار کنه من نمیدونم روش ارسال کد که وسیله مدباس دار بتونه اونا متوجه بشه چه جوریه ممنون از راهنماییتون

              دیدگاه


                #67
                پاسخ : مشکل در طراحی ModBus

                من این چیز هایی که دارم میگم همه استنتاج خودم از اون pdf استاد کوهستانی هست
                شما در مرحله اول باید مشخص کنید که توی کدام مد از modbus می خواید کار کنید
                Rtu یا assci
                و مرحله بعد بیاد فانکشن ها رو تعریف کنید
                یهنی چه دستور های ممکن است به دستگاه شما برسد و چه نتیجه ای رو می خواید بر گردانید
                یک نمونه از فانکشن های دستگاهتون رو بگید تا ادامه بدیم
                معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

                دیدگاه


                  #68
                  پاسخ : مشکل در طراحی ModBus

                  با سلام و تبریک سال نو دستگاه من میتواند مقادیر ولتاژ-جریان-را توسط کیپد تنظیم کند و یکسری خطا را تشخیص دهد مثلا یک خطا که جابجایی فاز باشد را در مد باس یک خروجی داشته باشد در مورد مد هم میخواید همون ascii که جواب گرفتید را بگید ممنون

                  دیدگاه


                    #69
                    پاسخ : مشکل در طراحی ModBus

                    نوشته اصلی توسط زوار
                    با سلام و تبریک سال نو دستگاه من میتواند مقادیر ولتاژ-جریان-را توسط کیپد تنظیم کند و یکسری خطا را تشخیص دهد مثلا یک خطا که جابجایی فاز باشد را در مد باس یک خروجی داشته باشد در مورد مد هم میخواید همون ascii که جواب گرفتید را بگید ممنون
                    خوب اولین اشتباهتون همین جاست
                    دستگاه شما چوت اسلیو هست نباید به خودی خود چیزی را ارسال کند مگر به تقاضای مستر
                    پس الان بیایید برای هر کدامشان یک فانکشن تعریف کنید
                    معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

                    دیدگاه


                      #70
                      پاسخ : مشکل در طراحی ModBus

                      با سلام چه جوری یک فانکشن تعریف کنیم الان دقیقا منظورتون را متوجه نشدم

                      دیدگاه


                        #71
                        پاسخ : مشکل در طراحی ModBus

                        شما اول بگید که دستگاه شما چه اطلاعاتی را می فرستند
                        به ترتیبد بگید
                        مثلا من فکر می کنم شاید این جوری باشه
                        1- ولتاژ
                        2- چریان
                        شما ادامه و اصلاح کنید
                        معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

                        دیدگاه


                          #72
                          پاسخ : مشکل در طراحی ModBus

                          با سلام و ممنون از پاسختون
                          1-جابجایی فازها 2- عدم تقارن ولتاژ 3- عدم تقارن جریان 4-اتصال کوتاه 5-حالت کنترل دستگاه(دستی-اتوماتیک)

                          دیدگاه


                            #73
                            پاسخ : مشکل در طراحی ModBus

                            خوب اگه دقت کنید توی مدل Ascii ویا rtu شما میتونید از 8 بیت اطلاعات برای تعریف فانکشن استفاده کنید
                            مثلا بیا این جوری تعریف کن
                            1- جابجائی فاز 00000001
                            2- عدم تقارن 00000002
                            خوب حالا برای اسلیو تعریف کن هر موقع که این دستورات توی فریم بندی مدباس رسید عملیات رو انجام بده
                            و جواب هم طبق همون قالب ارسال کنه

                            معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

                            دیدگاه


                              #74
                              پاسخ : مشکل در طراحی ModBus

                              با سلام ممنون از پاسختون این میشه قسمت function اگر دقت کنید یک قسمت start بعد address بعدfunction بعد data بعد crc check و end اینها باید دنبال هم ارسال شود؟برای هر کدام باید چه چیزی فرستاده شود؟

                              دیدگاه


                                #75
                                پاسخ : مشکل در طراحی ModBus

                                با سلام آقای john lock من منتظر پاسخ شما هستم ممنون

                                دیدگاه

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