مدباس (Modbus) یک پروتکل ارتباطی است که در سیستمهای اتوماسیون صنعتی برای تبادل اطلاعات بین دستگاهها مورد استفاده قرار میگیرد. این پروتکل در سال 1979 توسط شرکت Modicon (اکنون تحت مالکیت Schneider Electric) توسعه یافت. مدباس یک پروتکل باز و ساده است که برای ارتباط بین پی ال سی (PLC) و سایر دستگاهها مانند سنسورها و اکچویتورها طراحی شده است. مدباس به صورت رایگان منتشر شده است، که آن را برای شرکتها و توسعهدهندگان مقرونبهصرفه میکند همچنین آموزش مدباس و یادگیری آن نیز آسان است.
مدباس یک ساختار پیام رسانی ارائه میکند که برای برقراری ارتباط سرور/کلاینت (Server/Client) بین دستگاه ها طراحی شده است. که در آن یک پیام از سرور به کلاینت ارسال میشود و کلاینت به آن پاسخ میدهد. وظیفه پروتکل Modbus این است که محتوای ارتباط، نحوه بسته بندی اطلاعات و ترتیب ارسال و دریافت پیام ها را مشخص کند.
پروتکل Modbus ساده و قوی است و آن را به گزینه ای محبوب برای سیستم های کنترل صنعتی تبدیل می کند. این یک استاندارد باز است، به این معنی که استفاده و اصلاح آن برای هر کسی رایگان است که منجر به پذیرش گسترده آن در سراسر صنعت می شود.
نکته: از سال 2020 سازمان مدباس طی بیانیه ای اعلام کرد در حال جایگزینی اصطلاحات ارباب و برده (Master/Slave) با سرور/کلاینت (Server/Client) در زبان ساختاری این پروتکل است و تمام اصطلاحات قبلی حذف خواهند شد. از این رو ما نیز در این مقاله از این اصطلاحات استفاده خواهیم کرد.
پروتکل Modbus در سال 1979 توسط Modicon، شرکتی که اکنون متعلق به اشنایدر الکتریک است، توسعه یافت. Modicon این پروتکل را برای استفاده در PLC های خود ایجاد کرد.
در سال 2002 سازمان مدباس، متشکل از گروهی از کاربران و تامین کنندگان مستقل که از استفاده از پروتکل مدباس دفاع می کنند تاسیس شد تا دسترسی عمومی به پروتکل، مشخصات و اطلاعات مربوط به آن را فراهم کند. این سازمان همچنین از در دسترس بودن، بهبود و کاربرد مداوم پروتکل Modbus در بازارهای اتوماسیون صنعتی اطمینان می دهد.
پروتکل Modbus از زمان آغاز به کار آن در طیف گسترده ای از دستگاه ها در بسیاری از صنایع مختلف پیاده سازی شده است. به دلیل سادگی، باز بودن و سهولت اجرا همچنان محبوب باقی مانده است.
دستگاهها یا ماشینهای Modbus دستگاههای فیزیکی واقعی هستند که با استفاده از پروتکل Modbus ارتباط برقرار میکنند. این دستگاهها میتوانند هر چیزی از سنسورهای دما گرفته تا کنترلکنندههای موتور باشند و میتوانند در هر جایی از یک کارخانه تا یک میدان نفتی دورافتاده قرار گیرند.
Modbus Server دستگاهی است که تراکنش Modbus را آغاز می کند. درخواستی را به یک دستگاه Modbus Client ارسال می کند و منتظر پاسخ می ماند. Server می تواند با چندین Client ارتباط برقرار کند و می تواند انواع مختلفی از داده ها را از هر یک درخواست کند.
Modbus Client دستگاهی است که منتظر درخواست یک Modbus Server است. هنگامی که درخواستی را دریافت کرد، آن را پردازش می کند و پاسخی را برای Server ارسال می کند. Client هرگز ارتباط را آغاز نمی کند و فقط به درخواست های Server پاسخ می دهد.
داده و اطلاعات در مدباس بر اساس یک سری از رجیسترها است. این رجیسترها صرفاً مکانهای حافظه در دستگاه هستند که میتوانند دادهها را نگهداری کنند. در مدباس دو نوع رجیستر وجود دارد:
رجیسترهای نگهدارنده Holding Registers: توسط Modbus Server قابل خواندن و نوشتن است.
رجیسترهای ورودی Input registers: فقط توسط Server قابل خواندن است.
دو نوع ورودی اصلی در یک سیستم مدباس وجود دارد:
. Coil ها نوعی از داده ها در پروتکل Modbus هستند که حالت های باینری را نشان می دهند، مانند ON/OFF یا TRUE/FALSE. آنها را می توان توسط Modbus Serverخواند و نوشت.
. ورودی های گسسته شبیه Coil ها هستند زیرا حالت های باینری را نشان می دهند. با این حال، بر خلاف Coil ها، آنها را فقط می توان خواند و امکان نوشتن در آنها وجود ندارد.
یک فریم Modbus ساختار یک پیام Modbus است. این شامل یک فریم شروع، کد تابع، داده و یک فریم پایانی است. جدول زیر ساختار فریم را با جزئیات بیشتری در نوع ASCII پروتکل نشان می دهد:
End | LRC | Data | Function | Address | Start |
CRLF | 2 Chars | N Chars | 2 Chars | 2 Chars | : |