کابل پروفی باس
آگوست 29, 2020
کابل پروفی نت
آگوست 29, 2020

کابل مد باس

 کابل مدباس modbus

کابل مد باس RS485

Modbus يك پروتكل صنعتی متداول و جا افتاده ارتباطي است و ابتدا در سال ۱۹۷۹ توسط 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 طراحی

شده است که می توان مقدار اندازه گیری شده تا ۲۰ سنسور را روی یک باس دوسیمه قرائت نمود.

در modbus RTU دستگاه ها به روش  Master/Slave بایاس می شوند به طوریکه فقط یک Master می تواند به سنسورهای روی باس به عنوان Slave درخواست بفرستد و

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

روش کار به این صورت است که هر سنسور به عنوان یک Slave یک آدرس کد انحصاری دارد که Master برای خواندن هر سنسور باید آدرس کد آن را پیج کند. البته در فریم

ارسالی توسط Master اطلاعات دیگری نیز وجود دارد که در فانکشن کد ۳ و ۴ که مورد استفاده ما هم هست به ترتیب عبارتست از یک بایت فانکشن کد و دو بایت آدرس دیتا و

دو بایت تعداد آدرس رجیستر خوانده شونده و دو بایت هم کد حفاظتی CRC که کلیه اطلاعات فریم توسط آن چک می شود و از گم شدن اطلاعات و یا جابجایی آنها جلوگیری می کند

جهت فهم بهتر در پایین صفحه با یک مثال به طور واضح تر ترتیب بایتها و سوال و جواب بیان شده است. در شکل زیر طریقه کار به طور خلاصه نمایش داده

شده است.

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

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

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

Slave ساپورت می کند فریم اطلاعات را توسط Master پیکربندی و ارسال نماید. در سنسور های این شرکت از فانکشن کد ۳ و ۴ استفاده شده که تمام دستگاههای Master

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

آدرس دیتا رجیستر در فانکشن کد ۳ یا ۴ عبارتست از مکانی که سنسور رنج اندازه گیری شده را در آن ثبت می نماید یا به عبارت دیگر مقدار سنسور از آن آدرس خوانده

میشود که مقدار هر آدرس به اندازه یک فایل Word میباشد و Master می تواند با رجوع به آن مقدار را قرائت کند بنابراین در ارسال فریم درخواستی به سنسورهای این

شرکت باید از آدرس ۶۵ , ۶۴ استفاده نمود. بر همین اساس در آدرس ۶۴ مقدار فاصله اندازه گیری شده توسط سنسور به صورت یک فایل Word و در آدرس ۶۵ مقدار

دمای سنسور به صورت یک فایل Word خوانده می شود.

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

در این حالت ابتدا اگر سنسور در حال اندازه گیری دستی پیوسته است آنرا را متوقف کنید (پایه RUN را رها گذارید) سپس فانکشن کد FC03 (Read Multiple Registers)

یا FC04 (Read Input Register) را به آدرس slave سنسور با در خواست آدرس رجیستر ۶۴ , ۶۵ به سنسور مربوطه فرستاده و سنسور پاسخ را ارسال می نماید ، که

پاسخ ارسالی همان مقدار فاصله سنسور تا جسم است که در آدرس ۲ بایتی ۶۴ و دما نیز در آدرس ۲ بایتی ۶۵ می باشد.

 

مثال: در این مثال سنسور در فاصله ۵۶ سانتیمتری جسم هدف نصب شده و مقدار دمای آن ۳۲C میباشد که مقدار آن توسط پرتکل مدباس به شرح زیر خوانده شده:

در جدول ۱ با ارسال بسته اطلاعاتی از Master که در آن Slave address = 1 مطابق مقدار تعریف شده آن برای سنسور و Function code = 3 می باشد ، پاسخ

سنسور به آن در جدول ۲ آمده است که جهت محاسبه فاصله جسم تا سنسور باید مطابق فرمول زیر عمل گردد:

Data Distance = [(MSB * 100) + LSB]  که عدد بدست آمده باید به دسیمال تبدیل شود.

نکته: مقدار Data address در جدول زیر  ۶۳hex است که همان آدرس ۶۴ است و علت آن این است که آدرس ۰hex نیز خود به عنوان یک واحد آدرس می باشد.

در زیر می توانید چارت ارتباطی فانکشن کد ۳ را ملاحظه نمایید که فانکشن کد ۴ نیز تقریبا به همین صورت می باشد.

M.P
M.P

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

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