پروتکل مدباس (modbus) چیست ؟Modbus یک پروتکل صنعتی متداول و جا افتاده ارتباطی است و ابتدا در سال 1979 توسط
Modicon که امروزه
Electric Schneider آنرا در بر گرفته عرضه شد. کاربرد اولیه آن برای استفاده در
PLC ها بود ولی بتدریج بعنوان یک استاندارد ارتباطی پذیرفته شد و بسیاری از سازندگان تجهیزات اتوماسیون آن را پشتیبانی کردند بدین ترتیب
Modbus بصورت یک استاندارد باز در آمد بگونه ای که محصولات سازندگان مختلف بسهولت توسط این پروتکل با یکدیگر ارتباط برقرار کردند. سازندگان وسایل کوچک نیز ترجیح دادند این پروتکل را با ارتباط
RS232 یا
RS485 روی وسایل خود بکار ببرند تا استفاده از آنها در پروژه های بزرگ میسر گردد
.برخی از ویژگیهای پروتکل
Modbus نظیر فرمت فریم ها و توالی آنها و فانکشن های کاربردی فیکس هستند برخی دیگر مانند وسیله و مد انتقال توسط کاربر قابل انتخاب هستند.این ویژگیها وقتی سیستم در حال کار است قابل تغییر نمی باشند
.Modbus دارای سه نسخه اصلی زیراست که ویژگی های آنها با هم متفاوتند
:· ASCII/RTU Modbus که بصورت سریال روی
RS485 یا
RS232 کار میکند
.· IP/TCP Modbus که روی اترنت کار میکند
.· Plus Modbus که بصورت
Pass Token و با سرعت بالا طراحی شده است
.شکل زیر نمونه ای از شبکه
Modbus که در آن هر سه نوع پروتکل فوق الذکر بکار رفته اند را نشان میدهد
:Modbus RTU/ASCIIهمانطور که اشاره شد یکی از پروتکل های
Modbus برای کاربرد در ارتباط سریال طراحی شده که نسخه پایه است از دو مد انتقال
RTU و
ASCII استفاده می کند
.ASCII format قابل خواندن که بعنوان مثال برای تست بکار میرود
.)فرمت اسکی
(RTU format فشرده و سریع که برای کار نرمال بکار میرود. (فرمت هگزادسیمال)
مد
RTU که بعضا به عنوان
Modbus-B مخفف
Modbus Binary گفته می شود مد اصلی است
.مد
ASCII که بعضا به آن مد
Modbus-A مخفف
Modbus ASCII گفته می شود برای برخی پیغام ها بکار میرود این پیغام ها طول شان دوبرابر پیغام های
RTU می باشد
. لایه فیزیکیدر لایه فیزیکی مدباس از بستر
RS485 یا
RS232 استفاده می کند که
RS232 به عنوان نقطه به نقطه عمل می کند و
RS485 به صورت
Multipoint عمل می کند که به دلیل قرار گرفتن چندین دستگاه
Slave روی یک باس دوسیمه استفاده های به مراتب بیشتری دارد و به همین منظور سنسورهای آلتراسونیک این شرکت نیز بر بستر
RS485 طراحی شده است که می توان مقدار اندازه گیری شده تا 20 سنسور را روی یک باس دوسیمه قرائت نمود
.در
modbus RTU دستگاه ها به روش
Master/Slave بایاس می شوند به طوریکه فقط یک
Master می تواند به سنسورهای روی باس به عنوان
Slave درخواست بفرستد و آنها پاسخ متناسب را بدهند که این روش می تواند توسط سیم و یا به طور بیسیم انجام شود و به وسیله آن بتوان مقدار اندازه گیری شده توسط سنسور را خواند
.
روش کار به این صورت است که هر سنسور به عنوان یک
Slave یک آدرس کد انحصاری دارد که
Master برای خواندن هر سنسور باید آدرس کد آن را پیج کند. البته در فریم ارسالی توسط
Master اطلاعات دیگری نیز وجود دارد که در فانکشن کد 3 و 4 که مورد استفاده ما هم هست به ترتیب عبارتست از یک بایت فانکشن کد و دو بایت آدرس دیتا ودو بایت تعداد آدرس رجیستر خوانده شونده و دو بایت هم کد حفاظتی
CRC که کلیه اطلاعات فریم توسط آن چک می شود و از گم شدن اطلاعات و یا جابجایی آنها جلوگیری می کند
.