پرتکل مدباس modbus

مدباس

مدباس پرتکلی است که چندین داده را به صورت سریال پشت سر هم و با ترتیب خاص ارسال می کند. در مدباس master و slave  ها با هم در ارتباط هستند و دستور از master به slave مورد نظر داد می شود. مدباس به صورت rtu یا ascii است. در نوع rtu ، اظلاعات به صورت عددی ارسال می شوند و ودر نوع ASCII اعداد ابتداد به کد ascii تبدیل می شوند و سپس به صورت سریال ارسال می شوند. مدباس با سریال uart ارتباط بر قرار می کند.این پرتوکل در اتوماسیون کاربرد دارد.

برای ارسال سریال ۸ بیتی باید baud rate و تقارن(parity) و بیت توقف (stop bit) مشخص باشند.

همان طور که گفته شد اظلاعات به صورت چندین بسته با ترتیب خاص ارسال می گردند. این بسته ها رجیستر ۱۶ بیتی هستند. بعضی اطلاعات مثل ادرس گیرنده، رجیستر lo و hi دارند که lo هشت بیت کم ارزش و hi هشت بیت پر ارزش هستند.به هر بیت یک کویل گفته می شود.

در زیر مودباس rtu توضیح داد می شود.

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

 

توضیح  تعداد بایت
ادرس گیرنده(slave) ۱ Slave address
نوع دستور ۱ function
ادرس شروع ۲ Start address
تعداد بایت ۸ بیتی مورد نیاز ۱ Byte count
اطلاعات ۲ data
ادرس کویل شروع ۲ Coil address
تعداد رجیستر ۱۶ بیتی ۲ Quantity of registers
تعداد کویل ها ۲ Quantity of coils
کد چک crc ۲ crc

 

Function یا دستور کد خاص خود را دارد که در زیر توضیح داده می شود:

توضیح کد هگز دستور
خواندن چندین coil ۰۱ Read coils
خواندن رجیستر ورودی ۰۴ Read  input registers
نوشتن یک coil ۰۵ Write single coil
نوشتن یک رجیستر ۰۶ Write single register
نوشتن چندین coil 0F Write multiple coils
نوشتن چندین رجیستر ۱۰ Write multiple registers

شکل های زیر نحوه ارسال اطلاعات با function  های مختلف و ترتیب انها در مودباس نشان می دهد.

ترتیب رجیستر در مدباس

ترتیب رجیستر در مدباس

الگوریتم CRC در اخر رشته مدباس و برای چک کردن درستی اطلاعات به کار برده می شود. این الگوریتم در سایت توضیح داده شد است.

برگرفته از سابت

1 دیدگاه برای “پرتکل مدباس modbus

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

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