پروتكل مدباس اولين بار توسط شركت Modicon در سال 1979 به بازار عرضه شد. اين پروتكل در ابتدا فقط در  PLC  كاربرد داشت اما به تدريج به استاندارد ارتباطي تبديل گرديد.
Modbus  در 3 گروه نسخه اصلي با ويژگي هاي متفاوت براي پورت سريال و اترنت و ديگر شبكه ها كه مجموعه پروتكل اينترنت را پشتيباني مي كنند، ارائه شده است :
– RTU/ASCII  : به صورت ارتباط سريال  روي  RS232  و RS485  كار ميكند.
– PLUS :  به صورت  Token pass  با سرعت بالا طراحي شده است.
– TCP/IP : بر روي بستر اترنت كار مي كند.

Modbus RTU / ASCII  :
اين پروتكل به عنوان نسخه پايه از دو مد انتقال اطلاعات به صورت ASCII ( استفاده از كاراكترهاي اسكي ) و (RTU (Remote terminal unit   (كدبندي اطلاعات بصورت باینري) استفاده مي كند.
در فرمت RTU براي حصول اطمينان ار داده هاي ارسالي از چك کننده خطا (CRC (Cyclic redundancy check
 استفاده ميشود.
در فرمت ASCII از يك كنترل كد افزونگي چرخشي طولي (LRC (Longitudinal redundancy check
 استفاده ميشود تا كاراكترهاي اسكي منتقل شوند.
پيام هاي  اسكي با دو نقطه (‘ : ‘)
 مشخص خواهند شد.
براي پيام هايي كه طولشان 2 برابر طول پيام هاي RTU  است ، به كار مي رود.
در هرم هفت لايه (OSI (Open system interconnection model
 اين پروتكل ها در جايگاه لايه هاي 7/2/1 قرار ميگيرند.

لايه ديتا لينك Data link layer   :
پروتكل مدباس در هرم هفت لايه OSI  در اين لايه قرار مي گيرد .اين لايه از روش Master/Slave   پيروي مي كند. به طوري كه در هر لحظه فقط يك Master  ميتواند Bus  را در اختيار داشته باشد و با تعداد ماكزيمم 247 وسيله Slave  كه به  Bus  مذكور مرتبط مي باشند ارتباط بر قرار كند. در اين روش دسترسي Slave  ها با يكديگر ارتباط مستقيم نخواهند داشت و بدون در خواست Master  ديتايي را  نمي فرستند.
Master به دو روش درخواست خود را ميفرستد : 
– روش  Unicast mode
– روش  Broadcast mode
Unicast mode :
در اين حالت   Master  به Slave  خاص و منحصر به فرد ( داراي آدرس مشخص ) پيغام در خواست ديتا مي فرستد.
سپس Slave  مربوطه پس از دريافت درخواست  پيام  را به مستر پاسخ مي دهد.
Broadcast mode  :
در اين حالت   Master  به تمامي  Slave  ها پيام خود را ميفرستند ولي هيچ پاسخي به مستر بر نميگردد. يكي از كاربردهاي اين روش نوشتن فرامين  (Writing commands) مي باشد. مدهاي انتقال سريال RTU   و  ASCII  وضعيت بيت هاي پيام و نحوه بسته بندي و باز شدن بسته پيام ها  را مشخص ميكنند. تمامي وسايل با قابليت انتقال سريال بايد بتوانند مد RTU  را به عنوان مد پيش فرض ساپورت كنند ، اما داشتن قابليت انتقال از طريق مد ASCII  اختياري ميباشد.
– در مد انتقال RTU هر 8 بيت از بايت پيام شامل 2 كاراكتر 4 بيتي هگزا دسيمال است. اين ويژگي چگالي ديتا را افزايش داده و باعث ميشود كه نسبت به مد  ASCII نرخ تبادل ديتا ( سرعت) بهتر باشد.
علاوه بر بيتهاي 8 تايي پيام ، 3 بيت ديگر نيز فرمت 11 بيت بسته ديتا در مد RTU  را تشكيل ميدهند :
فرمت كلي پيام در مد RTU  :
با احتساب هر فريم برابر با 4 كاراكتر توازن ارسال اطلاعات به شرح زير است :
در توالي ارسال دو فريم يك فاصله خاموشي حداقلي 3.5  كاراكتري وجود  دارد كه طبيعي ميباشد ، اما چنانچه بين دو كاراكتر موجود در يك فريم تاخيري بيش از 1.5  كاراكتر پيش بيايد ، اشكال در ارسال اطلاعات خواهيم داشت.
جهت كنترل پروسه  انتقال اطلاعات اين فواصل زماني به صورت مستمر چك ميشوند كه طبيعتا اين كنترل ها نياز به وقفه هاي زياد دارند كه در سرعت هاي بالا فشار زیادی را به پردازنده وارد می کنند و بهتر است در سرعت های بالا اين تايمرها فيكس شوند. اعداد پيشنهادي شامل 1.5t زمان 750 میکروثانیه و 3.5t زمان 1750 میکروثانیه ميباشند.
عملكرد CRC  :
CRC  از 2 بايت برابر با 16 بيت استفاده ميكندكه به انتهاي پيام اضافه ميشود مقدار CRC  در موقع ارسال توسط فرستنده محاسبه و به پيام اضافه ميگردد كه گيرنده نيز پس از دريافت پيام مقدار CRC  را از نو محاسبه می نماید. چنانچه مقادیر محاسبه شده با يكديگر مغايرت داشته باشند ، پيغام خطا ظاهر ميگردد.
مد انتقال American standard code information interchange) ASCII) :
در اين مد كاراكترهاي  مشخص داراي كد هاي اسكی از  001 تا 127 ميباشند.
كدهاي 128 تا 255 براي  پاسخ هاي  Exception  كه براي شرايط خطا  طراحي شده بكار مي روند. كل اين كد ها درFunction   و در 1 بايت جاي مي گيرند بسته ديتا  در فرمت اسكی شامل 10 بيت مي باشد.
فریم کلی پیام در مد ASCII :

 

عملكرد LRC  :
كنترل خطا در اين  مد توسط  LRC  انجام مي شود.  با دريافت كاراكتر پاياني  يعنيCRLF  محاسبه و چك LRC  شروع مي شود.
– فيلد Data  در برخي درخواستهاي  خاص كه ارسال  Action به تنهايي براي  Slave كفايت ميكند و اطلاعات اضافي مورد نياز نيست، خالي ميباشد ( طول صفر). وقتي خطايي وجود نداشته  باشد Slave درخواست Master را انجام داده و در پاسخ خود به همان كد فانكشن اشاره ميكند كه اصطلاحا كد فانكشن اكو مي گردد. اما زمانيكه اشكالي وجود داشته باشد و Slave نتواند عمل مورد درخواست Master را انجام دهد، در اين حالت  پاسخي كه در آن  بجاي كد فانكشن ، كد Exception برگشت داده  مي شود تا Master از بروز خطا مطلع گردد. پيغام خطاي Timeout توسط Master دريافت  مي شود و Master را متوجه وجود اشكال ارتباطي  مي نمايد.

MP+) Modbus plus)  :
اين پروتكل جهت رفع محدوديت نسخه پايه  Modbus  از جمله محدوديت  تك  Master  بودن سيستم و مشكلات  ساختاري در شبكه هاي وسيع عرضه گرديد. در اين روش از تكنيك  Token pass  بر روي شبكه استفاده ميشود كه قابليت قرارگيري 64 وسيله را بر روي باس فراهم مينمايد . از اين تعداد وسيله 32 عدد ميتوانند به صورت مستقيم به شبكه اي  با ماكزيمم  طول 450 متر متصل شوند. جهت اتصالات طولانيتر از ريپیتر استفاده میگردد كه طول ماكزيمم  1800 متر را فراهم نمايد. هرچند كه استفاده از فيبر نوري پوشش بيشتري بر روي مسافت بيشتر را فراهم مي نمايد. جهت لينك نمودن چندين شبكه  با يكديگر از Bridge  استفاده ميگردد (  Bridge plus : BP ) .با استفاده از  Multiplexer   هاي مخصوص ( MP  ) و داراي لينك سريال RS232/RS48S    اتصال با وسايل مجهز به پورت سريال فراهم ميگردد.
ارتباط Logic  در شبكه  (+MP )  :
در شبكه Modbus plus هر Node داراي يك ادرس بين 1 تا 64 است كه صرفا مختص يك وسيله بدون در نظر گرفتن محل نصب فیزیکی و ترتيب قرارگيري آنها ميباشد. اما هر Node زماني اجازه دسترسي به  Bus را خواهد داشت كه فريم Token در اختيارش باشد. اين Token گروهي از بيت هاي منطقي است كه بين  Node ها به ترتيب آدرس ميچرخد.
Token در هر شبكه به صورت اختصاصي وجود دارد از اينرو به هنگام استفاده از Bridge و اتصال چندين شبكه به يكديگر ، Token   در هر شبكه جداگانه ميچرخد وBridge  اجازه عبور آنها را نخواهد داد. وقتي يك  Node بخواهد به تبادل ديتا  با ساير Node  ها بپردازد ابتدا Token  را حداقل بمدت 530  ميكرو ثانيه  نگه ميدارد سپس قادر به ارسال پيام ميگردد . در شبكه هايي  كه  با Bridge به هم متصل شده اند  مسير Route  نيز در پيام مشخص ميگردد. با عبور Token  هر Node ميتواند در ديتا بيس سراسري  Global كه  بصورت Broadcast  براي تمامي Node ها محسوب ميشود پيغامي را بفرستد. واضح است كه ديتاي  Global نيز بعنوان فيلدي در فريم Token  قرار ميگيرد و همراه  Token در شبكه آزاد ميگردد. ساير  Node ها با گرفتن  Token فيلد Global data  را جدا كرده  و پيغام  را مي خوانند. بدين ترتيب انتقال  سريع اطلاعاتي  نظير آلارم ها يا مقادير ثابت شده ورودي و ديتا هاي مهم منتقل و خوانده مي شوند . هر شبكه داراي  Global data مختص خود است كه نميتواند  از Bridge  عبور كرده  و به ساير شبكه ها منتقل شوند. هر Bridge داراي آدرس Node به روي شبكه  است اما از آنجا كه واسط بين دو شبكه مي باشد از ديد هر يك  ميتواند آدرس جداگانه اي داشته باشد.

به طور مثال :
Bridge واسط بين دو شبكه  A  و  B از ديد  A  آدرس فرضي 10 و از ديد  B آدرس  5 را دارد ، اما Bridge  واسط  B و C از ديد هر دو شبكه داراي آدرس 22 می باشد.

از آنجاييكه Bridge  ها هم داراي Node مختص به خود هستند پس Token  طبق روال كار خود به Token  ها هم مي رسد  و چنانچه Node خاصي از يك شبكه  به Node ديگري  از شبكه ديگر پيغامي بفرستد در Bridgeذخيره شده و به محض دريافت Token از شبكه دوم ، پيام مذكور را همراه با آن  به Node مقصد ارسال  مي نمايد .
در اين پيام  اطلاعات مسير ( Route ) يعني آدرس Bridge هايي كه لازم است پيام از آنها بگذرد تا به مقصد برسد وجود خواهد داشت كه تعداد ماكزيمم  4 آدرس  Route در فريم پيام ميتواند وجود داشته باشد.
ارتباط  Modbus plus  از   راه  Bridge  :
با استفاده ازBridge multiplexer  يا اصطلاحاBM  ميتوان  وسايل سريال را به شبكه  Modbus plus  متصل كرد. هر BM   داراي 4 پورت ارتباطي مي باشد  كه هر پورت جداگانه  مي تواند  در پيكربندي  شبكه  سهيم گردد.

Modbus  TCP/IP :
اين پروتكل بر روي شبكه  Ethernet  كار ميكند و در آن  TCP  جهت اطمينان از ارسال درست ديتا و  IP  براي اطمينان از آدرس دهي و مسيريابي درست  به كار مي رود.
پروتكل  Modbus  وظيفه تفسير اصل پيام را دارد .
از مزاياي استفاده از اين پروتكل  ميتوان تطابق و سازگار بودن وسايل متعدد با اين روش ارتباطي و تعداد زياد وسايل متصل به شبكه در حدود 10000 را  ذكر كرد.

– به طور كلي استفاده از پروتكل مدباس  داراي معايب و محدوديتهايي است كه به علت كند بودن خطوط سريال (96/000TO 115/000B/S) در مقا يسه با  سرعت شبكه هاي ارتباطي امروزي به چشم مي آيد. ضمنا  تعداد  محدود وسايل ارتباطي با توجه به  نيازهاي روبه رشد صنعت امروزي استفاده از آن را مشروط نموده است.