مدباس پرتکلی است که چندین داده را به صورت سریال پشت سر هم و با ترتیب خاص ارسال می کند. در مدباس 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 در اخر رشته مدباس و برای چک کردن درستی اطلاعات به کار برده می شود. این الگوریتم در سایت توضیح داده شد است.
برگرفته از سابت
ممنون از بروز رسانی وبسایت. مطالب بسیار مفید هستند.