پروتکل ModBus چیست؟

مقدمه

برقراری ارتباط بین دو یا چند دستگاه مسأله ی مهمی در صنایع مختلف به شمار می رود. روش های متفاوتی ارائه شده است  که یکی از پرکاربرد ترین روش ها پروتکل مدباس است. در این مقاله به بررسی پروتکل مدباس یکی از مهمترین پروتکل های ارتباطی می پردازیم.

 

تاریخچه

ModBus یک پروتکل صنعتی متداول ارتباطی است و ابتدا در سال 1979 توسط Modicon که امروزه متعلق به اشنایدر الکتریک ( Electric Schneider)می باشد، عرضه شد.

کاربرد اولیه مدباس برای استفاده در PLC ها بود ولی به تدریج به عنوان یک استاندارد ارتباطی پذیرفته شد و بسیاری از سازندگان تجهیزات اتوماسیون آن را پشتیبانی کردند. بدین ترتیب ModBus به صورت یک پروتکل باز در آمد به گونه ای که محصولات سازندگان مختلف به سهولت توسط این پروتکل با یکدیگر ارتباط برقرار کردند.

سازندگان وسایل کوچک نیز ترجیح دادند این پروتکل را با ارتباط RS232 و RS485 روی وسایل خود به کار ببرند تا استفاده از آنها در پروژه های بزرگ میسر گردد.

 

پروتکل باز چیست؟

پروتکل باز مشخصات منتشر شده ای می باشد که می توان از آن ها آزادانه یا با مجوز استفاده کرد و معمولاً توسط جمعی از شرکت های سازنده، گروه های کاربر، جوامع و دولت ها استفاده می شود.

از مزایای پروتکل های باز می توان به موارد زیر اشاره کرد :

  • پروتکل های باز توسط بسیاری از تولید کننده ها، فروشندگان نرم افزار و مراکز نصب و سرویس پشتیبانی می شود.
  • پروتکل های باز محدود نیستند و این امکان وجود دارد که در آینده ارتقا داده شوند.

به همین دلیل پروتکل مدباس که از دسته پروتکل های باز محسوب می شود، در صنعت اتوماسیون صنعتی بسیار رایج است.

مدباس از طریق کامپیوتر یا HMI دستگاه ها را مانیتور می کند و بین دستگاه هایی که شبکه ی مدباس را پشتیبانی می کند ارتباط برقرار می کند. در حقیقت مدباس یک زبان مشترک بین دستگاه ها است.

انواع  پروتکل های مدباس

ModBus  دارای سه پروتکل اصلی زیر است که ویژگی های آنها با هم متفاوت اند:

  1. پروتکل RTU/ASCII پرکاربردترین پروتکل مدباس است که از آن در ارتباط بین تجهیزات اتوماسیون صنعتی در صنعت استفاده می شود. همچنین مدباس RTU/ASCII را می توان با بسترهای فیزیکی RS232، RS422، RS485، 20mA TTY پیاده سازی کرد. از مزایای مدباس RTU انعطاف پذیری پروتکل، پشتیبانی توسط سازندگان مختلف، سادگی اتصالات را می توان نام برد.
  2. مدباس TCP/IP تحت اترنت کار می کند.
  3. مدباسPlus  که به صورت Pass Token و با سرعت بالا طراحی شده است.

 

 

 

 

 

شکل زیر نمونه ای از شبکه ModBus که در آن هر سه نوع پروتکل فوق الذکر به کار رفته اند را نشان می دهد:

 

ModBusProtocol

 

ModBus RTU/ASCII

همانطور که اشاره شد از مهمترین پروتکل های مدباس RTU/ASCII می باشد.

RTU format  فشرده و سریع است که برای کار نرمال به کار می رود. (فرمت هگزا دسیمال)

ASCII format  قابل خواندن است که برای تست به کار می رود. (فرمت اسکی)

مد RTU که بعضاً به عنوان ModBus-B یا ModBus Binary  شناخته می شود، مد اصلی است.

مد ASCII که بعضاً به آن مد ModBus-A یا ModBus ASCII گفته می شود، برای برخی پیغام ها به کار می رود. طول این پیغام ها دو برابر پیغام های RTU می باشد.

 

لایه فیزیکی

 

در پروتکل مدباس معمولاً  از لایه ی فیزیکی RS485 یا RS232 استفاده می شود. RS232 به شکل  Point To Point عمل می کند در حالی که RS485 به صورت Multi Point عمل می کند و به دلیل قرار گرفتن چندین دستگاه Slave  روی یک باس دوسیمه استفاده های به مراتب بیشتری دارد. برای مثال سنسورهای آلتراسونیک نیز بر بستر RS485 طراحی شده است که می توان مقدار اندازه گیری شده تا 20 سنسور را روی یک باس دو سیمه قرائت نماید.

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

پیام های مدباس از 4 فاکتور اصلی تشکیل شده است که ساختار مشابهی دارند. ترتیب این فاکتورها در همه پیام ها یکسان است. به همین دلیل محتوای پیام های مدباس  به آسانی تجزیه می شوند. روش کار به این صورت است که هر سنسور به عنوان یک  Slave یک آدرس کد انحصاری دارد که Master برای خواندن هر سنسور باید آدرس کد آن را پیج کند. البته در فریم ارسالی توسط Master اطلاعات دیگری نیز وجود دارد که در فانکشن کد 3 و 4 که مورد استفاده ی ما هم هست به ترتیب عبارتست از یک بایت فانکشن کد و دو بایت آدرس دیتا و دو بایت تعداد آدرس رجیستر خوانده شونده و دو بایت هم کد حفاظتی CRC که کلیه اطلاعات فریم توسط آن چک می شود و از گم شدن اطلاعات و یا جابجایی آنها جلوگیری می کند.

در شبکه مدباس، یک Master مانند HMI پیام را ارسال می کند و یکSlave  مانند درایو پیام را تفسیر می کند و به آن پاسخ می دهد. از طریق برنامه و آدرس دهی فیزیکی در سر تیتر هر پیام، مشخص می شود که کدام دستگاه Slave باید به پیام پاسخ دهد. نودهای دیگر موجود در شبکه مدباس در صورتی که فیلد آدرس با آدرس خودشان مطابقت نداشته باشد، این پیام را نادیده می گیرند. با استفاده از توابع پروتکل مدباس دستورات خواندن و نوشتن برای Slave  اجرا می شود تا نظارت و کنترل روی ورودی و خروجی های  Slave انجام شود.

برای مثال در  ModBus RTU دستگاه ها به روش Master/Slave بایاس می شوند به طوری که فقط یک Master می تواند به سنسورهای روی باس به عنوان Slave درخواست بفرستد و آنها پاسخ متناسب را بدهند که این روش می تواند توسط سیم و یا به طور بی سیم انجام شود و به وسیله آن بتوان مقدار اندازه گیری شده توسط سنسور را خواند.

 

ModBusProtocol

ModBusProtocol

 

ارسال نظر

آدرس ایمیل شما منتشر نخواهد شد.