موضوع مقاله: مودباس | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # مودباس | مقدمه: ساختاری ساده و قوی دارد و از آن زمان تا کنون به یکی از پروتکل‌های استاندارد در صنعت بدل گشته‌است. | ## بخش 1: مودباس | دلایلی که پروتکل مودباس در محیط‌های صنعتی کاربرد فراوانی دارد عبارتند از: جهت کاربردهای صنعتی توسعه و گسترش یافته‌است به صورت رایگان منتشر شده‌است گسترش پذیری و نگهداری ساده ای دارد پروتکل مودباس در لایه انتقال از خطوط ارتباطی سریال کاراکتری، اترنت یا مجموعه پروتکل اینترنت استفاده می کند. مودباس جهت ارسال/دریافت داده و همچنین ارتباط چندین دستگاه، از روش اتصال همه تجهیزات به یک کابل پشتیبانی می کند. برای مثال، می‌تواند دستگاهی وجود داشته باشد که دما را اندازه‌گیری کند و دستگاه دیگری که رطوبت را اندازه‌گیری می کند، به یک کابل متصل باشند، و هر دو اندازه‌گیری‌ها را از طریق مودباس به یک کامپیوتر منتقل می‌کنند. مودباس اغلب جهت ارتباط کامپیوتر/دستگاه ناظر با واحدهای پایانه دوردست در سیستم‌های سامانه سرپرستی و گردآوری داده استفاده می‌شود. این سازمان از کاربران مستقل و تأمین کنندگان دستگاه‌های سازگار با پروتکل مودباس تشکیل شده‌است. محدودیت‌ها از آنجایی که مودباس در اواخر دهه ۱۹۷۰ برای برقراری ارتباط با کنترل‌کننده‌های منطقی قابل برنامه‌ریزی طراحی شد، تعداد انواع داده‌ها محدود به آنهایی شد که PLCها در آن زمان درک می‌کردند. یک گره هیچ روش استانداردی برای یافتن توضیحات مربوط به یک شیء داده (مثلاً قید یا محدوده آن) ندارد، به‌طور مثال، نمی تواند متوجه بشود که مقدار ثبات دما باید مابین ۳۰ تا ۱۷۵ درجه باشد. از آنجایی که مودباس یک پروتکل مشتری/سرور (درگذشته ارباب/برده) URL PDF] است، برای یک دستگاه موجود در محل کار هیچ راهی برای برای دریافت داده‌ها توسط مکانیسم کنترل‌کننده رویداد (به جز از طریق اترنت TCP/IP، با نام open-mbus) وجود ندارد؛ زیرا گره مشتری باید به‌طور مداوم هر دستگاه میدانی را صدا بزند و به دنبال تغییرات در داده‌ها باشد که این امر پهنای باند و زمان شبکه زیادی مصرف میکند. در برخی کاردبرد ها که پهنای باند گران است، مانند پیوند رادیویی با نرخ-بیت-پایین، استفاده از این پروتکل به صرفه نیست. مودباس در لایه پیوند داده‌ای محدود به آدرس دهی تنها ۲۴۷ دستگاه است، که تعداد دستگاه‌های میدانی را که ممکن است به یک ایستگاه اصلی متصل شوند محدود می‌کند (در اینجا نیز اترنت TCP/IP یک استثنا است). انواع شیء مودباس انواع شیء زیر ممکن است توسط یک سرور مودباس به یک دستگاه مشتری مودباس ارائه شود: نوع شی دسترسی اندازه فضای آدرس هسته خواندن-نوشتن 1 bit ۰۰۰۰۱ – ۰۹۹۹۹ ورودی گسسته فقط خواندنی 1 bit ۱۰۰۰۱ – ۱۹۹۹۹ ثبّات ورودی فقط خواندنی 16 bits ۳۰۰۰۱ – ۳۹۹۹۹ ثبّات نگهدارنده خواندن-نوشتن 16 bits ۴۰۰۰۱ – ۴۹۹۹۹ نسخه‌های پروتکل نسخه‌هایی از پروتکل مودباس برای پورت‌های سریال و برای اترنت و سایر پروتکل‌هایی که مجموعه پروتکل اینترنت را پشتیبانی می‌کنند وجود دارد. انواع مختلفی از پروتکل‌های مودباس وجود دارد: Modbus RTU (واحد پایانه راه دور) — در ارتباطات سریال استفاده می‌شود و رایج‌ترین پیاده‌سازی موجود برای مودباس است. فرمت RTU از دستورات/داده‌ها با یک جمع‌بندی بررسی افزونگی چرخه‌ای به عنوان مکانیزم بررسی خطا برای اطمینان از قابلیت اطمینان داده‌ها پیروی می‌کند. نیازی به محاسبه جمع کنترلی ندارد، زیرا لایه‌های پایین‌تر از قبل محافظت از جمع کنترلی را فراهم می‌کنند. از جفت پیچ خورده با سرعت ۱ مگابیت بر ثانیه استفاده می‌کند و شامل جداسازی ترانسفورماتور در هر گره است، که باعث می‌شود به جای ولتاژ/سطح راه اندازی، انتقال/لبه راه اندازی شود. | ## بخش 2: مودباس | این برای شرکت نفت و گاز Pemex برای استفاده در کنترل فرایند طراحی شده‌است و هرگز مورد پذیرش گسترده قرار نگرفت. Enron Modbus — توسعه دیگری از مودباس استاندارد که توسط انرون با پشتیبانی از متغیرهای اعداد صحیح و ممیز شناور ۳۲ بیتی و داده‌های تاریخی و جریان توسعه یافته‌است. داده‌های تاریخی برای مطابقت با استانداردهای صنعتی مؤسسه نفت آمریکا (API) برای نحوه ذخیره داده‌ها عمل می‌کنند. ارتباطات و دستگاه‌ها به هر دستگاهی که از طریق مودباس ارتباط برقرار می‌کند (یعنی داده انتقال می کند) یک آدرس منحصر به فرد داده می‌شود. برای پروتکل‌هایی که از اترنت استفاده می‌کنند، مانند Modbus TCP، هر دستگاهی می‌تواند یک فرمان مودباس ارسال کند و بنابراین همه آنها می‌توانند به عنوان مشتری عمل کنند، اگرچه معمولاً فقط یک دستگاه این نقش را دارد. بسیاری از مودم‌ها و دروازه‌ها از مودباس پشتیبانی می‌کنند، زیرا یک پروتکل ساده است. پیاده سازی های مختلف، از ارتباطات سیمی یا بی سیم مانند باند ISM و حتی سرویس پیام کوتاه یا سرویس رادیویی بسته عمومی استفاده می کنند. مشکلات معمولی که طراحان باید بر آنها غلبه کنند عبارتند از تأخیر زیاد و مسائل مربوط به زمان است. دستورات دستورات مودباس می‌توانند به دستگاه مودباس دستور دهند: مقدار یکی از رجیسترهای آن را که به رجیسترهای هسته و نام‌نویسی نوشته شده‌است تغییر دهید خواندن یک پورت I/O: خواندن داده‌ها از یک ورودی گسسته یا از یک هسته به دستگاه دستور دهید تا یک یا چند مقدار موجود در رجیسترهای هسته و نگهدارنده خود را ارسال کند یک دستور مودباس حاوی آدرس مودباس دستگاهی است که برای آن در نظر گرفته شده‌است (۱ تا ۲۴۷). فقط دستگاه آدرس‌دهی شده به دستور پاسخ می‌دهد و به آن عمل می‌کند، حتی اگر برای دستگاه‌های دیگر ممکن باشد آن را دریافت کنند (یک استثنا، دستورات قابل پخش خاصی است که به گره ۰ ارسال می‌شود، که بر اساس آنها عمل می‌شود اما تأیید نمی‌شوند). تمام دستورات مودباس حاوی اطلاعات جمع کنترل هستند تا به گیرنده امکان تشخیص خطاهای انتقال را بدهد. در فریم‌های داده Modbus، مهم‌ترین بایت یک مقدار چند بایتی قبل از بقیه ارسال می‌شود. قالب قاب RTU مودباس این قالب عمدتاً در خطوط داده سریال ناهمزمان مانند RS-485 استفاده می‌شود. نام طول (بیت) کارایی شروع ۳٫۵*۸ حداقل ۳+۱/۲ بار کاراکتر (۲۸ بیت) سکوت (شرایط علامت گذاری) آدرس ۸ آدرس ایستگاه عملکرد ۸ کد عملکرد را نشان می‌دهد. "هسته‌ها را بخوانید" دادهn × ۸ داده + طول بسته به نوع پیام پر می‌شود CRC ۱۶بررسی افزونگی چرخه ای پایان ۳٫۵*۸ حداقل کاراکتر بار (۲۸ بیت) سکوت (شرایط علامت گذاری) بین فریم‌ها فرمت قاب Modbus ASCII عمدتاً در خطوط سریال ناهمزمان ۷ بیتی یا ۸ بیتی استفاده می‌شود. | ## بخش 3: مودباس | +نامطول (بیت)کاراییشروع۱دو نقطه: (مقدار ASCII 3A16)آدرس۲آدرس ایستگاهعملکرد۲کد عملکرد را نشان می‌دهد. این بخش جزئیات فرمت‌های داده کدهای تابعی که اغلب استفاده می‌شود را ارائه می‌دهد. کدهای تابع ۱ (خواندن سیم پیچ) و ۲ (خواندن ورودی‌های گسسته) درخواست: آدرس اولین سیم پیچ/ورودی گسسته برای خواندن (۱۶ بیت) تعداد سیم پیچ/ورودی‌های گسسته برای خواندن (۱۶ بیت) پاسخ عادی: تعداد بایت‌های سیم پیچ/مقادیر ورودی گسسته برای دنبال کردن (۸ بیت) مقادیر ورودی سیم پیچ/گسسته (۸ سیم پیچ/ورودی گسسته در هر بایت) مقدار هر سیم پیچ / ورودی گسسته باینری است (۰ برای خاموش، ۱ برای روشن). سیم پیچ/ورودی گسسته درخواستی اول به عنوان کمترین بیت مهم از بایت اول در پاسخ ذخیره می‌شود. اگر تعداد سیم پیچ ها/ورودی‌های گسسته مضرب ۸ نباشد، مهم‌ترین بیت (های) آخرین بایت با صفر پر می‌شود. فرض کنید حالت‌های آن سیم پیچ‌های متوالی روشن، خاموش، روشن، خاموش، خاموش، روشن، روشن، روشن، خاموش، روشن، روشن هستند، سپس پاسخ 02 A7 ۰۳ در هگزادسیمال خواهد بود. از آنجایی که تعداد بایت‌های بازگردانده شده در پیام پاسخ تنها ۸ بیت عرض و سربار پروتکل ۵ بایت است، حداکثر 2008 (251x 8) ورودی یا سیم پیچ مجزا را می‌توان به‌طور همزمان خواند. کد تابع ۵ (تک سیم پیچ زور/نوشتن) درخواست: آدرس سیم پیچ (۱۶ بیتی) مقدار اجباری/نوشتن: ۰ برای خاموش و 65280 (FF00 در هگزادسیمال) برای روشن پاسخ عادی: همان درخواست. کد تابع ۱۵ (کویل‌های متعدد را نوشتن/اجبار) درخواست: آدرس اولین سیم پیچ برای اجبار/نوشتن (۱۶ بیت) تعداد سیم پیچ‌هایی برای اجبار/نوشتن (۱۶ بیت) تعداد بایت‌های مقادیر سیم پیچی که باید دنبال شود (۸ بیت) مقادیر کویل (۸ مقدار سیم پیچ در هر بایت) مقدار هر سیم پیچ باینری است (۰ برای خاموش، ۱ برای روشن). اولین سیم پیچ درخواستی به عنوان کم‌اهمیت‌ترین بیت از اولین بایت در درخواست ذخیره می‌شود. اگر تعدادی از سیم پیچ‌ها مضرب ۸ نباشد، مهم‌ترین بیت (های) آخرین بایت باید با صفر پر شود. پاسخ عادی: آدرس سیم پیچ اول (۱۶ بیتی) تعداد کویل (۱۶ بیت) کدهای تابع ۴ (خواندن رجیسترهای ورودی) و ۳ (خواندن رجیسترهای نگهدارنده) درخواست: آدرس اولین ثبت نام برای خواندن (۱۶ بیتی) تعداد رجیستر برای خواندن (۱۶ بیت) پاسخ عادی: تعداد بایت‌های مقادیر ثبت شده برای دنبال کردن (۸ بیت) مقادیر ثبت (۱۶ بیت در هر ثبت) از آنجایی که حداکثر طول یک PDU Modbus 253 است (که از حداکثر طول Modbus ADU 256 در RS485 استنباط می‌شود)، هنگام استفاده از فرمت RTU تا ۱۲۵ ثبات را می‌توان به‌طور همزمان درخواست کرد، و تا ۱۲۳ را از طریق TCP. کد تابع ۶ (ثبت از پیش تعیین شده/نوشتن تک نگهدارنده) درخواست: آدرس نگهدارنده رجیستر برای از پیش تنظیم/نوشتن (۱۶ بیت) مقدار جدید ثبت نام (۱۶ بیت) پاسخ عادی: همان درخواست. | ## جمع‌بندی | کد تابع ۱۶ (از پیش تنظیم/نوشتن چندین رجیستر نگهدارنده) درخواست: آدرس اولین نگهدارنده ثبت نام برای از پیش تنظیم/نوشتن (۱۶ بیت) تعداد رجیسترهای نگهداری شده برای از پیش تنظیم/نوشتن (۱۶ بیت) تعداد بایت‌های مقادیر ثبت شده برای دنبال کردن (۸ بیت) مقادیر جدید نگهداری رجیسترها (۱۶ بیت در هر ثبات) از آنجایی که حداکثر طول یک PDU Modbus 253 است (که از حداکثر طول Modbus ADU 256 در RS485 استنباط می‌شود)، تا ۱۲۳ ثبات را می‌توان همزمان نوشت.