پروتکل مدباس
پروتکل مدباس یکی از پرکاربردترین و سادهترین پروتکلهای ارتباطی در دنیای اتوماسیون صنعتی است. برای درک بهتر آن، به جزئیات بیشتری از این پروتکل میپردازیم.
انواع مدباس:
Modbus RTU (Remote Terminal Unit)
قالب داده: دادهها به صورت باینری ارسال میشوند، که هر بایت شامل ۸ بیت اطلاعات است. این قالب باعث کارایی بالا در انتقال دادهها میشود.
ارتباطات سریال : معمولاً از RS-485 استفاده میشود که اجازه میدهد تا ۳۲ دستگاه به یک باس (bus) متصل شوند. RS-485 از ارتباط نیمه دوطرفه (half-duplex) پشتیبانی میکند.
کنترل خطا: از CRC (Cyclic Redundancy Check) برای بررسی خطاها استفاده میشود. CRC یک الگوریتم کارآمد و مطمئن برای شناسایی خطاهای احتمالی در دادههای انتقالی است.
Modbus ASCII
قالب داده: دادهها به صورت کاراکترهای ASCII ارسال میشوند. هر بایت به دو کاراکتر ASCII تبدیل میشود.
ارتباطات سریال: معمولاً از RS-232 یا RS-485 استفاده میشود.
کنترل خطا : از LRC (Longitudinal Redundancy Check) برای بررسی خطاها استفاده میشود. LRC نیز یک روش معتبر برای شناسایی خطاهای انتقالی است اما در مقایسه با CRC کمی کندتر است.
Modbus TCP/IP
قالب داده: این پروتکل از TCP/IP برای انتقال دادهها استفاده میکند و به صورت بستههای TCP ارسال میشود.
ارتباطات شبکهای : از شبکههای Ethernet استفاده میکند که امکان ارتباط در فواصل طولانیتر و با سرعت بالاتر را فراهم میکند.
کنترل خطا: استفاده از مکانیزمهای داخلی TCP/IP برای اطمینان از صحت دادهها و مدیریت بستهها.
ساختار پیامهای مدباس :
پیامهای Modbus RTU
هر پیام مدباس RTU شامل بخشهای زیر است:
آدرس دستگاه (Device Address): یک بایت که آدرس دستگاه اسلیو را مشخص میکند. این آدرس باید بین ۱ تا ۲۴۷ باشد.
کد عملکرد (Function Code): یک بایت که نوع عملیاتی که باید انجام شود را مشخص میکند. برای مثال، خواندن کویلها، خواندن رجیسترها، نوشتن در کویلها و غیره.
دادهها (Data): بسته به نوع عملکرد، دادهها میتوانند شامل آدرسهای حافظه، مقادیر و غیره باشند. طول دادهها متغیر است.
چکسوم (CRC): دو بایت که برای بررسی صحت پیام استفاده میشود. CRC به شناسایی و تصحیح خطاهای انتقالی کمک میکند.
کدهای عملکرد (Function Codes)
کدهای عملکرد به طور کلی به دو دسته تقسیم میشوند: کدهای عملکرد استاندارد و کدهای عملکرد سفارشی.
کدهای عملکرد استاندارد
۰۱ (Read Coils): خواندن وضعیت یک یا چند کویل.
۰۲ (Read Discrete Inputs): خواندن وضعیت یک یا چند ورودی دیجیتال.
۰۳ (Read Holding Registers): خواندن مقدار یک یا چند رجیستر هلدینگ.
۰۴ (Read Input Registers): خواندن مقدار یک یا چند رجیستر ورودی.
۰۵ (Write Single Coil): نوشتن یک مقدار به یک کویل.
۰۶ (Write Single Register): نوشتن یک مقدار به یک رجیستر.
۱۵ (Write Multiple Coils): نوشتن مقادیر به چندین کویل.
۱۶ (Write Multiple Registers): نوشتن مقادیر به چندین رجیستر.
کدهای عملکرد سفارشی
کاربران میتوانند کدهای عملکرد سفارشی ایجاد کنند تا عملیات خاصی را انجام دهند که در کدهای عملکرد استاندارد وجود ندارد. این کدها معمولاً بین ۶۵ تا ۷۲ تعریف میشوند.
مزایای پروتکل مدباس
سادگی: پروتکل مدباس به دلیل سادگی در پیادهسازی و استفاده، یکی از محبوبترین پروتکلهای ارتباطی در صنعت است.
انعطافپذیری : میتواند در محیطهای مختلف صنعتی با دستگاههای مختلف به کار گرفته شود.
قابلیت اطمینان : استفاده از مکانیزمهای بررسی خطا مانند CRC و LRC باعث افزایش قابلیت اطمینان انتقال دادهها میشود.
کارایی بالا: انتقال دادهها به صورت باینری در مدباس RTU باعث کارایی بالا در انتقال دادهها میشود.
کاربردهای پروتکل مدباس
پروتکل مدباس در بسیاری از صنایع و کاربردها مورد استفاده قرار میگیرد:
اتوماسیون صنعتی: ارتباط بین PLCها، سنسورها، و اکچویتورها.
سیستمهای اسکادا (SCADA): جمعآوری دادهها و کنترل از راه دور.
کنترل فرآیند: نظارت و کنترل فرآیندهای تولیدی.
مدیریت انرژی: نظارت و کنترل تجهیزات الکتریکی و شبکههای توزیع.
سیستمهای گرمایش، تهویه و تهویه مطبوع (HVAC): کنترل و نظارت بر سیستمهای گرمایش و تهویه.