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


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

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

با توجه به اینکه در حال حاضر سیستم های دیتالاگر GSM/GPRS تولیدی شرکت ایستا ارتباط کاوشگر از پروتکل ModBus پشتیبانی می کنند، بر آن شدم که مطلبی جهت آشنایی بیشتر با پروتکل مدباس در سایت قرار دهم.
ModBus یک پروتکل ارتباطی است که اولین بار توسط شرکت MODICON در سال 1979 ایجاد و به بازار عرضه شد، پروتکل Modbus ( TM  ترد مارک) شرکت اشنایدر الکتریک است، اما شرکت اشنایدر خصوصیات پروتکل را به نحوی ایجاد نموده که هر شخصی بصورت آزاد بتواند شبکه Modbus را اجرا نماید.
کاربرد اولیه آن در PLC بود اما به تدریج به عنوان یک استاندارد ارتباطی شناخته شد در حال حاضر Modbus بیشترین میزان اشتراک را با پروتکل Ethernet دارا می باشد، در همین راستا در سال 1990 پروتکل جدیدی شکل گرفت که ترکیبی از Modbus و Ethernet بود این پروتکل صنعتی جدید با نام Modbus TCP/IP به صنعت معرفی گردید

ModBus دارای سه نسخه اصلی است که ویژگیهای آنها با هم متفاوت هستند:
1- ModBus RTU/ASCII که بصورت سریال روی RS485 و یا RS232 کار می کند
2- ModBus TCP/IP که روی اترنت کار می کند
3- ModBus Plus که بصورت Token Pass و با سرعت بالا طراحی شده است و یک باس انحصاری است

دیتالاگرهای تولیدی شرکت از نسخه اول استفاده می کنند و به صورت Master هستند به همین دلیل ModBus RTU/ASCII را توضیح میدهم:
ModBus RTU/ASCII:
این پروتکل بصورت Master/Slave  کار می کند. یعنی همواره یک وسیله بعنوانMaster  (فرمانده) و بقیه وسیله ها به عنوان Slave (فرمانبر) لحاظ می شوند. بدین صورت که هرگاه Master به یک دستگاه Slave با آدرس مخصوص خودش فرمانی ارسال می کند آنن دستگاه جواب را به Master برمیگرداند.
این پروتکل دارايRTU  است که داده ها را از سطح فیلد دریافت و ضمن پردازش، آنها را به سطح نظارت ارسال می کند تا دستورالعمل کنترلی مناسب بر اساس داده هاي دریافتی، آلارم ها و رویدادها اتخاذ گردد MODBUS سریال از سرعت بالایی برخوردار بوده و بدون هر گونه Internal  به تبادل اطلاعات می پردازد.
نکته: مد RTU که بعضا به آن ModBus-B بعنوان ModBus Binary گفته می شود مد اصلی است، مد ASCII که بعضا ModBus-A نیز گفته می شود برای برخی پیغام ها به کار می رود که این پیغامها طول شان دو برابر پیغام های RTU می باشد
این پروتکل از لایه های 2،1 و 7 مدل OSI استفاده می کند و در لایه فیزیکی RS232/RS485 را به کار می برد