پروتکل مدباس

مدباس و رسانه های فیزیکی

پروتکل ارتباطی مدباس یک استاندارد باز است که پیام موجود در  هر گفتگو را توصیف می کند. مدباس بین انواع مختلف رسانه های فیزیکی ارتباط برقرار می­کند. از انواع این رسانه­ های فیزیکی می­توان موارد زیر را نام برد:

  • Serial RS-232
  • Serial RS-485
  • Serial RS-422
  • Ethernet

رابط اصلی مدباس بر روی ارتباطات سریال RS-232 اجرا می­شود، اما بیشتر مدباس­ های اخیر از RS-485 استفاده می کنند زیرا این نوع، مزایای زیر را ایجاد می­کند:

  • فاصله های طولانی تر
  • سرعت بالاتر
  • امکان استفاده از دستگاه های چندگانه (multiple devices) در یک شبکه

در رابطهای ساده ­ای مانند RS232 یا RS485، پیامهای مدباس با فرم ساده در شبکه ارسال میشوند و شبکه تنها به اتصال مدباس اختصاص داده میشود. با این حال، اگر شبکه شما به چندین دستگاه ناهمگن (multiple heterogeneous devices) نیاز داشته باشد که این دستگاهها از یک شبکه چند منظوره مانند TCP / IP  مبتنی بر اترنت استفاده می­کنند پیامهای مدباس در بسته های اترنت با فرمت مورد نظر برای این رابط فیزیکی تعبیه شده است. بنابراین در این مورد، مدباس و سایر پروتکلهای ترکیبی(mixed protocols) ، می­توانند همزمان در یک رابط فیزیکی هماهنگ وجود داشته باشند. یعنی می توان گفت، به این دلیل که مدباس از پروتکل های استاندارد TCP / IP استفاده میکند، پس با همه دستگاه های مجهز به استاندارد اترنت سازگار است.

ساختار پیام مدباس

پیام های مدباس ساختار مشابهی دارند که از 4 فاکتور اصلی تشکیل شده اند. نظم و ترتیب این فاکتورها در همه پیام ها یکسان است. همین مسئله موجب تجزیه آسان محتوای پیام های مدباس میشود. در شبکه مدباس ، مکالمه همواره توسط یک master آغاز میشود. master پیامی را ارسال میکند. با توجه به محتویات آن، slave پیام را تفسیر کرده و به آن پاسخ میدهد. آدرس دهی فیزیکی slave در سرتیتر هر پیام، مشخص میکند که کدام دستگاه slave باید به پیام پاسخ دهد. نودهای (nodes) دیگر موجود در شبکه مدباس درصورتی که فیلد آدرس با آدرس خودشان مطابقت نداشته باشد، این پیام را نادیده میگیرند.

پردازش خطای پیام های پروتکل مدباس

پاسخ عادی slave، به سادگی کد عملکرد اصلی درخواست را بازتاب میکند. اما پاسخ خطای slave، کد معادل کد عملکرد اصلی را با استفاده از مهمترین بیت متعلق به (logic 1)، بازمیگرداند. به عنوان مثال، دستور «خواندن موجودی رجیستری» (کد عملکرد03) دارای کد عملکرد 1 بایتی حاوی 8 بیت دوتایی 0011 0000 (03 Hex) است. اگر دستگاه slave درخواست را بدون خطا قبول کند، همان کد را در پاسخ خود بازمیگرداند. با این حال، اگر خطایی رخ دهد، slave یک بایت حاوی 8 بیت دوتایی 1000 0011 (مهمترین بیت متعلق به منطق 1) در فیلد «کد عملکرد» باز میگرداند. همچنین یک کد منحصر بفرد (کد حذف) را در فیلد داده ها در پاسخ اضافه میکند که به دستگاه slave نوع خطای رخ داده و یا علت خطا را نشان میدهد.
به بالای صفحه بردن