جستجو
این کادر جستجو را ببندید.

آدرس Slave دستگاه های مدباس (Slave & Mother Address)

آشنایی با پروتکل ارتباطی Modbus

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

نکته خوب در باب استاندارد Modbus ، انعطاف پذیری و در عین حال اجرای آسان آن است. نه تنها دستگاه های هوشمند مانند میکروکنترلرها، PLC ها و غیره می توانند با Modbus ارتباط برقرار کنند، همچنین بسیاری از سنسورهای هوشمند به یک رابط Modbus مجهز هستند تا داده های خود را به سیستم های میزبان (Master) ارسال کنند.

ساختار پیام Modbus

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

بسته پیام های مدباس (Packet Data) ساختار یکسانی دارد. چهار عنصر اساسی مشترک در هر بسته پیام وجود دارد که توالی این عناصر برای همه پیام ها یکسان است تا تجزیه محتوای پیام مدباسی آسان شود.

البته گفتنی است که امروزه پروتکل ارتباطی مدباس بر بستر TCP/IP هم قابل استفاده می باشد که بسته داده آن (Modbus TCP) متفاوت از Modbus RTU می باشد و در مقاله دیگری به آن پرداخته خواهد شد.

عنصرتوضیح
آدرس دستگاه (Address)آدرس دستگاه گیرنده پیام
کد تابع (Function)مشخص کننده نوع پیام
داده (Data)بخش داده ارسالی (همراه با موارد مربوطه)
CRC Checkآزمایشگر خطاهای ارتباطی

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

بدین صورت دستگاه های Slave موجود در شبکه ، عنصر آدرس پیام مدباسی را بررسی می کند و درصورتی که با آدرس آن مطابقت نداشته باشد، پیام را نادیده می گیرد.

آدرس اصلی/فرعی (مختص محصولات ICMAN )

به طور کلی عنصر آدرس پیام های مدباسی به دو دسته تقسیم می شود:

1- آدرس اصلی ( Mother Address : 0x01 )

این نوع آدرس در همه ی محصولات ICMAN دارای مقدار یکسان (0x01) می باشد که مقدار آن غیر قابل تغییر می باشد. در یک شبکه مدباس، هیچ یک از دستگاه های موجود در شبکه (به استثنای Master) نباید دارای آدرس 0x01 باشد چون در این حالت همه دستگاه ها همزمان مورد خطاب قرار می گیرند و به طور همزمان پاسخ می دهند و نتیجتا شبکه دچار اختلال می شود.

تنها در شرایط زیر میتوانید به کمک آدرس اصلی (0x01) به دستگاه متصل شوید :

– در شبکه مدباس تنها یک Slave (دستگاه فرعی) به Master متصل باشد

این حالت زمانی مورد استفاده قرار می گیرد که کاربر بخواهد آدرس فرعی (Slave)  دستگاه را تغییر دهد و یا اینکه به طور کلی یک Slave در شبکه داشته باشید.

۲- آدرس فرعی ( Slave Address : 0x02-0x7F )

این نوع آدرس در همه ی محصولات مدباسی ، قابل تعریف و تغییر است اما برای هر دستگاه باید منحصر بفرد باشد. در واقع با استفاده از آدرس Mother  می توان آدرس Slave دستگاه را به مقدار دلخواه (0x02-0x7F) تغییر دهید.

سنسور مدباس

البته باید توجه کرد که در یک شبکه مدباس، هیچ دو دستگاهی نباید آدرس Slave مشترک و یکسان داشته باشد. اگر این اتفاق بیفتد شبکه دچار اختلال می شود.

به عنوان مثال ؛  پیام مدباسی خواندن مقدار آدرس یک دستگاه را بررسی می کنیم :

در جدول زیر یک نمونه پیام مدباسی (Request Frame) مربوط به تجهیزات مدباسی ICMAN را مشاهده می کنید در حالتی که تنها یک دستگاه Slave در شبکه مدباس موجود باشد.

Request Frame :  01 03 00 01 00 01 D5 CA

پیام بالا گویای این است که Master می خواهد مقدار ذخیره شده در رجیستر حافظه 0x01 را از دستگاه Slave با آدرس 0x01 را بخواند که همان مقدار آدرس ( Slave) می باشد. در جدول زیر هم پاسخ ارسالی دستگاه Slave را مشاهده می کنید‌ :

Response Frame : 01 03 02 00 1A 39 8F

همان طور که میبینید ، آدرس اصلی این دستگاه برابر با  1 (Mother Address = 0x01) در حالی که آدرس فرعی همین دستگاه برابر با 26 (Slave Address = 0x1A)  می باشد.

– اگر آدرس Slave برای دستگاه تعریف نشده باشد، مقدار 1 (0x01) را نشان می دهد.

به عنوان مثال دیگر ؛  پیام مدباسی خواندن مقدار دمای سنسور دما و رطوبت مدباس مدل TH1 را تحلیل می کنیم :

در اینجا چون با آدرس Slave دستگاه را در شبکه فراخوان می کنیم ، دیگر مهم نیست که چه تعداد دستگاه Slave (10 تا ، 20 تا و یا …) در شبکه موجود باشد چون تنها یک دستگاه با این آدرس در شبکه موجود است.

Request Frame :  1A 03 00 0B 00 01 F6 23

در جدول بالا یک نمونه پیام مدباسی (Request Frame) مربوط به سنسور دما و رطوبت مدباس مدل TH1 را مشاهده می کنید. در گام اول این پیام دستگاهی که در شبکه مدباس دارای آدرس 26 (0x1A) می باشد را خطاب قرار می دهد و از دیگر دستگاه های موجود در شبکه پاسخی دریافت نخواهیم کرد. در ادامه از آن دستگاه می خواهد که مقدار ( یک خانه مدباس 16 بیتی معادل 2 بایت ) ذخیره شده در رجیستر 0x0B حافظه اش را به صادر کننده پیام (Master) اعلام کند (که در این مثال، همان مقدار دمای اندازه گیری شده توسط دستگاه می باشد). در ادامه پاسخ دستگاه شماره  26 (0x1A)  به درخواست Master :

Response Frame : 1A 03 02 06 D6 5E 78

این پاسخ گویای این است که مقدار دما در حال حاضر

Register Value  = 0x06D6  : Decimal = 1750

100 / 1750 = 17.5 (درجه سانتی گراد)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

لطفا برای دریافت فایل ها ایمیل خود را وارد کنید.

شروع به گفتگو
1
نیاز به کمک دارید؟پیام دهید.
سلام به وب سایت ICMAN خوش آمدید. چگونه میتونیم کمکتون کنیم؟