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

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

در این مقاله با پروتکل ارتباطی مدباس، انواع و نحوه کار آن آشنا میشویم.

در این مقاله خواهیم دید که مدباس به عنوان نوعی از پروتکل های باز در زمینه اتوماسیون صنعتی چطور کار می کند و
مزایای استفاده از این نوع پروتکل چیست که آن را به محبوب ترین پروتکل تبدیل کرده است.

بیت های 0 و 1 در پروتکل ارتباطی مدباس

1- پروتکل مدباس یکی از پروتکل های باز (Open Protocol)

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

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

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

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

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

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

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

همین مزایا مدباس را به رایج ترین پروتکلهای اتوماسیون مورد استفاده در اتصال دستگاههای الکترونیکی، تبدیل کرده است.

حال پروتکل ارتباطی مدباس و انواع مدباس مورد استفاده در صنعت را توضیح می­دهیم.

2- پروتکل مدباس چیست؟

پروتکل ارتباطی مدباس، قدیمی ترین و محبوب ترین پروتکل اتوماسیون در زمینه اتوماسیون صنعتی و SCADA (نظارت بر کنترل و تهیه داده ها) است.

مدباس یک پروتکل ارتباط سریال است که در سال 1979 توسط مادیکن (Modicon) برای استفاده در PLC منتشر و
در نهایت به طور غیر رسمی، تبدیل به پروتکل ارتباطی استانداردی برای اتصال دستگاه های الکترونیکی صنعتی شد.

در حال حاضر شرکت مادیکن  متعلق به اشنایدر الکتریک (Schneider Electric) است.

پروتکل مدباس

پروتکل ارتباطی مدباس همگام با کاربردهای صنعتی توسعه پیدا کرده و به صورت رایگان و با دسترسی آزاد عرضه شده است.

مدباس راه اندازی و نگهداری ساده ای دارد و در کاربردهای متنوع مبتنی بر master-slave استفاده میشود.

همچنین میتواند، دیتاهای خام را بدون اعمال محدودیت های زیادی بر تجهیزات، ارسال کند.

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

دانستن نحوه ایجاد شبکه های مبتنی بر مدباس برای هر تکنسین و مهندس برقی که در این زمینه کار می کند ضروری است.

توانایی یکپارچه­ سازی ابزارهای تولید شده توسط سازندگان مختلف، مهارتی است که بازار تقاضای بالایی دارد و بر ارزش و فروش کار شما  اثرگذار است.

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

به عنوان مثال،با استفاده از مدباس، دستگاه ها در یک سیستم و تحت یک شبکه  واحد می­توانند،
نتایج را به یک  SCADA یا PLC انتقال داده و تحت همین شبکه دما و رطوبت را نیز اندازه گیری کنند.

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

توسعه و به روز رسانی پروتکل های مدباس توسط سازمان مدباس مدیریت می­شود.

این سازمان از کاربران و تامین کنندگان دستگاه های سازگار با مدباس، تشکیل شده است.

3- انواع پروتکل­ مدباس

نسخه های متفاوتی از پروتکل ارتباطی مدباس برای پورت سریال (serial port) و اترنت (Ethernet) وجود دارد که رایج ترین آنها عبارتند از:

  • Modbus RTU
  • Modbus ASCII
  • Modbus TCP
  • Modbus Plus

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

شرکت Modicon یک رابط مدباس (Modbus communication interface) را بر پایه (Master-Slave) منتشر کرد.

در این مدل، ارتباط بین گره های مدباس (Modbus nodes) با ارسال درخواست و خواندن نوع پاسخ پیام ها به دست می آید.

4- پروتکل مدباس و رسانه های فیزیکی آن (Physical Media)

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

از انواع این رسانه­ های فیزیکی می­توان موارد زیر را نام برد:

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

رسانه های فیزیکی در پروتکل ارتباطی مدباس

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

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

مزایای مدباس مبتنی برسریال RS-485

مدباس Master-Slave مبتنی بر RS-485  از اتصالات فرستنده و گیرنده دو سیمه (two-wire) استفاده می­کند.

رسانه فیزیکی مدباس مبتنی برسریال RS-485

در رابطهای ساده ­ای مانند RS232 یا RS485، پیامهای مدباس با فرم ساده در شبکه ارسال میشوند و شبکه تنها به اتصال مدباس اختصاص داده میشود.

با این حال، اگر شبکه شما به چندین دستگاه ناهمگن (multiple heterogeneous devices) نیاز داشته باشد که
این دستگاهها از یک شبکه چند منظوره مانند TCP / IP  مبتنی بر اترنت استفاده می­کنند،

پیامهای مدباس در بسته های اترنت با فرمت مورد نظر برای این رابط فیزیکی تعبیه شده است.

بنابراین در این مورد، مدباس و سایر پروتکلهای ترکیبی(mixed protocols) ، می­توانند همزمان در یک رابط فیزیکی هماهنگ وجود داشته باشند.

یعنی می توان گفت، به این دلیل که مدباس از پروتکل های استاندارد TCP / IP استفاده میکند، پس با همه دستگاه های مجهز به استاندارد اترنت سازگار است.

سازگاری دستگاه مدباس با رابط فیزیکی اترنت

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

پیام های مدباس ساختار مشابهی دارند که از 4 فاکتور اصلی تشکیل شده اند.
نظم و ترتیب این فاکتورها در همه پیام ها یکسان است. همین مسئله موجب تجزیه آسان محتوای پیام های مدباس میشود.

در شبکه مدباس ، مکالمه همواره توسط یک master آغاز میشود. master پیامی را ارسال میکند.

با توجه به محتویات آن، slave پیام را تفسیر کرده و به آن پاسخ میدهد.

آدرس دهی فیزیکی slave در سرتیتر هر پیام، مشخص میکند که کدام دستگاه slave باید به پیام پاسخ دهد.

نودهای (nodes) دیگر موجود در شبکه مدباس درصورتی که فیلد آدرس با آدرس خودشان مطابقت نداشته باشد، این پیام را نادیده میگیرند.

ساختار پیام

توابع پروتکل مدباس دستورات خواندن و نوشتن را برای حافظه داخلی slave اجرا میکنند تا پیکربندی، نظارت و کنترل ورودی ها و خروجی های slave را ثبت کند.

1-5- دستگاه های مبتنی بر پروتکل مدباس

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

مدل داده ها در پروتکل مدباس دارای یک ساختار ساده شامل چهار نوع داده اساسی است:

  •  ورودی های مجزا (Discrete Inputs).
  •  خروجی های کویل (سیم پیچ)  (Coils Outputs).
  •  ورودی رجیستری یا داده های ورودی (Input Registers or Input Data).
  •  نگهدارنده رجیستری یا داده های خروجی (Holding Registers or Output Data).

ساختار داده

5-2- واحد داده در پروتکل مدباس  (PDU)

محل درخواست خدمات در پیام یا واحد داده پروتکل مدباس یا PDU متشکل است از:
– کد عملکرد یا کد تابع (Function code).
– تعداد داده های (data bytes) درخواست شده توسط master.

واحد داده

حافظه رجیستری مدباس (memory registers) در هر دستگاه حول چهار نوع مرجع داده سازماندهی میشوند.
این نوع داده ها بیشتر توسط عدد آغازین مورد استفاده در حافظه آدرس دستگاه (memory address)، شناخته میشوند. مانند:

• صفر (0) موجود در رجیستر به معنی: خواندن و یا نوشتن «خروجی های مجزا یا کویل».
• یک (1) موجود در رجیستر به معنی: خواندن «ورودی های مجزا».
• سه (3) موجود در رجیستر به معنی: خواندن «ورودی رجیستری».
• چهار(4) موجود در رجیستر به معنی: خواندن یا نوشتن بر روی « داده خروجی و نگهدارنده رجیستری».

1-5-2- فیلد « کد عملکرد پیام مدباس » (Function Code Field)

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

به عنوان مثال، یک کد عملکرد 03، که نگهدارنده رجیستری 40001-40002 را میخواند،
به عنوان داده های رجیستری 0000 آدرس دهی میشود که در فیلد آدرس داده ها در پیام ارسالی به slave قرار میگیرد.

کد عملکرد 03 بر روی موجودی رجیستری نوع (4xxxx) در نقشه داده های slave کار میکند
زیرا درخواست نوع عملیات داده ها نگهدارنده رجیستری مورد استفاده را مشخص میکند و بر آدرس دهی (4xxxx) دلالت دارد.

نقش فیلد کد عملکرد در پروتکل RTU

فیلدهای PDU به بایت ها تقسیم شده و براساس عنوان فیلد گروه بندی میشوند.

پیام درخواست شامل:

• «آدرس slave  «01.
• «کد عملکردFunction code) 03) »(خواندن از نگهدارنده رجیستری های 4xxxx ).
• «دستور شروع (starting address)» همان بایت های HI و LO یا (0000) هستند که شروع رجیستر را مشخص میکنند.
• «تعداد آدرس هایی (count number of addresses) » که از slave خوانده میشود، معادل است با داده های
رجیستری HI و LO از ارزش تعدادی (0002) و مشخص کننده «تعداد رجیسترهایی» است که از slave خوانده خواهند شد.

محتوای پیام مدباس RTU

2-5-2- فیلد «داده» در پیام مدباس (Data Field)

در فیلد درخواست «داده» master، اطلاعات اضافی مورد نیاز slave برای تکمیل هر عملیاتی که با «کد عملکرد» مشخص شده، ارائه میشود.

درخواستهای master معمولا شامل موارد زیر است:

  • آدرس نقشه رجیستری map register address) ،slave).
  •  تعداد رجیسترها برای ارائه در درخواست.
  •  هر دستور نوشتن «داده» از write data) ،master).

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

پاسخ عادی slave، به سادگی کد عملکرد اصلی درخواست را بازتاب میکند.
اما پاسخ خطای slave، کد معادل کد عملکرد اصلی را با استفاده از مهمترین بیت متعلق به (logic 1)، بازمیگرداند.

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

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

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

7- رایجترین کدهای عملکرد مربوط به پروتکل مدباس RTU

کد عملکرد 01، «کد خواندن کویل (Read Coils)»

برای خواندن رجیستری های پیوسته 1 تا 2000 مربوط به وضعیت کویل ها در یک دستگاه slave استفاده میشود.
درخواست PDU اولین آدرس کویل مربوط به حافظه رجیستری های slave و تعداد کویل هایی که باید از دستگاه slave خوانده شوند را، مشخص میکند.

کد عملکرد 02، «کد خواندن داده های گسسته (Read Discrete Input)»

برای خواندن حالتهای متناوب 1 تا 2000  از خروجی های گسسته مربوط به یک slave راه دور استفاده میشود.
درخواست PDU اولین آدرس ورودی مربوط به حافظه رجیستری های slave و تعداد ورودی هایی که باید از دستگاه slave خوانده شوند را، مشخص میکند.

کد عملکرد 03، «کد خواندن نگهدارنده رجیستری (Read Holding Registers)»

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

کد عملکرد 04، «کد خواندن رجیستری های ورودی (Read Input Registers)»

برای خواندن 1 تا 125 از رجیستری های ورودی پیوسته در یک دستگاهِ راه دور استفاده میشود.
درخواست PDU شروع آدرس رجیستری و تعداد رجیسترها را، مشخص میکند.

کد عملکرد 05، «کد خواندن تک کویل (Read Input Registers)»

برای نوشتن یک خروجی یکتا به صورت ON یا OFF در یک دستگاه slaveِ راه دور استفاده میشود.

کد عملکرد 06، «کد خواندن تک رجیستر (Write Single Register)»

برای نوشتن یک نگهدارنده رجیستریِ یکتا در یک دستگاه slave راه دور استفاده میشود.
درخواست PDU آدرس حافظه رجیستریِ مربوط به slave را که باید نوشته شود، تعیین میکند.

کد عملکرد 15، «کد خواندن کویل های چندگانه (Write Multiple Coils)»

برای اعمال بر روی هر یک از کویل های متوالی در یک دستگاه slave راه دور استفاده میشود.
درخواست PDU آدرس حافظه کویلهای ON یا OFF  شده رامشخص میکند.

کد عملکرد 15 در پروتکل مدباس

کد عملکرد 16، «کد نوشتن رجیستری های چندگانه (Write Multiple Registers)»

برای نوشتن یک بلوک از رجیستری های پیوسته از 1 تا 123 رجیستر در یک دستگاه slave راه دور استفاده میشود.

این کدهای عملکرد در مدباس، نمایانگر رایجترین کدهای دستوری خواندن و نوشتن هستند.
و میتوانید برای آشنایی بیشتر، مشخصات پروتکل مدباس (Modbus protocol specification) را دوباره بررسی کنید.

8- شبیه سازی پروتکل مدباس

ارتباط دستگاه های slave یا PLC های کنترل کننده و یا کامپیوترها را میتوان با استفاده از برنامه شبیه ساز پروتکل مدباس بر روی کامپیوتر شخصی اجرا کرد.

اتصال میتواند سریال یا اترنت و به صورت یک master یا slave باشد.

این نرم افزار امکان استفاده از تمام کد های عملکرد (کدهای دستوری) مربوط به ارتباطات پروتکل مدباس را میدهد.

با استفاده از این کدها براحتی میتوان خواندن و نوشتن را با یک slave انجام داد.

میتوان از یک کامپیوتر برای اجرای برنامه شبیه سازی slave استفاده کرد و کامپیوتر دیگری را برای اجرای برنامه شبیه سازی master به کار برد.

برنامه شبیه ساز ساختار master و slave

اتصال به یک slave ابتدا با تنظیم پارامترهای ارتباط برای سریال پورت COM انجام میشود.

تنظیمات پورت سریال COM برنامه slave

سپس با وارد کردن آدرس slave در فیلد شناسه دستگاه، (به عنوان مثال 1)،
انتخاب کد دستوری01  برای خواندن موقعیت کویل های slave در آدرس 0001 و خواندن طول 100 کویل، انجام میشود.

محیط و تنظیمات برنامه slave در مدباس

همچنین، چندین شرکت ارائه دهنده محصولات و پشتیبانی برای کمک به شما در استفاده از ارتباط پروتکل وجود دارد.
ProSoft Technologies، HMS Industrial Communication و MOXA از جمله این شرکتها هستند.

ویدیوی زیر انواع و نحوه کار مدباس را نشان میدهد.

9- انواع دستگاه های Slave

  • مبدل های 0 و 1 (I/O transducer)
  • شیر (valve)
  • درایو شبکه (network drive)
  • سایر دستگاه های اندازه گیری

* master میتواند دستوری را فقط برای یک slave منحصر بفرد صادر کند و یا یک پیام  broadcast را برای همه slave ارسال کند.
*slave ها به تمام درخواستهایی که به طور اختصاصی به آنها داده شده پاسخ میدهند، اما به پیام های بردکست پاسخ نمیدهند.
*slave ها به اختیار خود پیامی  را ارسال نمی­کنند بلکه تنها به پیامهای ارسال شده از master پاسخ میدهند.

پرسش و پاسخ master

1-9- دستورات master

  • دستورات مربوط به slave ها (دستورات بردکست)
  • کد عملکرد با فرمان خواندن یا نوشتن به هر slave
  • فرمان نوشتن “داده” درصورتی که دستور از طرف master صادر شده باشد
  • خطا در چک کردن فیلد

بررسی خطا (error checking) مقداری است که master یا slave، در ابتدای انتقال یا پاسخ ایجاد میکند و از بررسی آن برای تأیید صحت محتویات پیام دریافت شده، استفاده میکند.

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

2-9- پاسخ های slave

  • تأیید درخواست دریافت شده
  • بازگرداندن داده ها
  • بررسی خطای داده ها

اگر هیچ خطایی رخ نداده باشد، پاسخ slave حاوی داده های درخواست شده خواهد بود.
اگر خطایی در پیام دریافت شده رخ دهد و یا اگر slave قادر به انجام اقدام مورد درخواست نباشد، slave پاسخی مبنی بر رد آن پیام ارسال می­کند.

خطا در پیام

در واقع فیلد بررسی خطا (error check field) در کادر پیام های slave، به master اجازه میدهد که اعتبار محتویات پیام را تایید کند.

ساختار پاسخگویی slave

ثبت اطلاعات برای دریافت آموزش رایگان

مقاله بالا بخشی از بسته جامع اتوماسیون صنعتی
(بسته جامع +30) است.

برای مشاهده کامل این بسته کلیک کنید.

مشاهده بسته اتوماسیون صنعتی
بسته جامع اتوماسیون صنعتی

در نماتک نظر دهید