اتصال تجهیز با Modbus TCP/RTU
تنظیمات Modbus TCP و RTU را در فرم دستگاه بشناسید و منطق رجیسترها، کدهای تابع و ترتیب بایت را برای راهاندازی درست کنتورها، درایوها و تابلوها درک کنید.
«طراحی سیستم» ← «مدیریت ساختار» ← «دستگاهها» ← فرم دستگاه ← زبانهٔ «پروتکلها» (بخش «Modbus TCP/RTU») و زبانهٔ «تنظیمات اتصال»
Modbus زبان مشترک کنتورهای انرژی، درایوهای دور متغیر، چیلرها و بسیاری از کنترلرهای صنعتی است. در همزاد دیجیتال، تجهیز Modbus مانند هر تجهیز دیگری از فرم دستگاه تعریف میشود و نقشهٔ رجیسترها از پروفایل مدل در کاتالوگ میآید. این درس فیلدهای فرم و مفاهیمی را که برای خواندن درست داده لازم است آموزش میدهد.
مسیر پشتیبانیشده
مطمئنترین راه، انتخاب مدل از کاتالوگ است (درس B2): پروفایل مدل، رجیسترها و نقاط داده را هنگام ذخیره میسازد و پروتکل را روشن میکند. در ستون پروتکلهای کاتالوگ، مدلهایی که برچسب MODBUS_TCP دارند این قابلیت را دارند. تعریف دستی رجیستر از رابط کاربری در نسخهٔ فعلی پیشبینی نشده است؛ برای تجهیزی که در کاتالوگ نیست، نقشهٔ رجیستر در قالب بستهٔ یکپارچهسازی و به درخواست تعریف میشود.
صفحه را بشناسید
بخش «Modbus TCP/RTU» در زبانهٔ «پروتکلها»:
| فیلد | گزینهها | پیشفرض |
|---|---|---|
| حمل و نقل | Modbus TCP / Modbus RTU / Modbus ASCII | Modbus TCP |
| شناسه واحد | عدد؛ راهنما «1–247» | 1 |
| ترتیب بایت | Big Endian (AB CD) / Little Endian (CD AB) / Mid-Big (BA DC) / Mid-Little (DC BA) | Big Endian |
| فاصله نظرسنجی | ثانیه؛ خالی یعنی پیشفرض دستگاه | ۶۰ |
زبانهٔ «تنظیمات اتصال» برای RTU (رسانهٔ «RS-485» یا «Modbus (سیمی)»):
| فیلد | گزینهها | پیشفرض |
|---|---|---|
| پورت سریال | مثلاً COM1 یا /dev/ttyS0 | — |
| نرخ باود | 2400 تا 115200 | 9600 |
| بیت های داده | 7 / 8 | 8 |
| بیت های توقف | 1 / 1.5 / 2 | 1 |
| برابری | هیچ / زوج / فرد | هیچ |
گامبهگام
- مدل را از کاتالوگ انتخاب کنید. در «تعریف دستگاه جدید» با باز کردن کاتالوگ مدل کنتور یا درایو را انتخاب کنید و نام، فضا و گروه را مانند درس B2 کامل کنید.
- رسانه و نشانی را تعیین کنید. در زبانهٔ تنظیمات اتصال برای Modbus TCP رسانهٔ «اترنت (RJ45)» را نگه دارید، آدرس IP را وارد کنید و پورت را ۵۰۲ بگذارید. برای RTU رسانه را «RS-485» کنید و پورت سریال، نرخ باود، بیتهای داده و توقف و برابری را دقیقاً مطابق تنظیم تجهیز وارد کنید؛ همهٔ تجهیزات یک باس RS-485 باید تنظیم سریال یکسان داشته باشند.

تنظیمات سریال RTU · پورت سریال، نرخ باود، بیتها و برابری - بخش Modbus را تنظیم کنید. در زبانهٔ پروتکلها بخش Modbus TCP/RTU را روشن کنید. حمل و نقل را مطابق رسانه، شناسه واحد را مطابق آدرس Slave تجهیز و ترتیب بایت را طبق دفترچهٔ سازنده انتخاب کنید. سپس ذخیره را بزنید.

بخش Modbus · حمل و نقل، شناسه واحد و ترتیب بایت - خواندن را بیازمایید. پس از ذخیره، دستگاه را در تستر پروتکل (درس B7) انتخاب کنید و مقدار یک رجیستر شناختهشده، مثلاً ولتاژ فاز، را با نمایشگر خود تجهیز مقایسه کنید.
پیش از رفتن به محل چه چیزی لازم دارید
بیشتر مشکلات راهاندازی Modbus از نبود اطلاعات دقیق تجهیز است، نه از نرمافزار. پیش از شروع، این فهرست را از دفترچهٔ سازنده یا تیم برق و ابزار دقیق کامل کنید: نوع حمل (TCP یا RTU)، نشانی شبکه یا پورت سریال، تنظیم کامل سریال (نرخ باود، بیت داده، بیت توقف، برابری)، شناسهٔ واحد هر تجهیز روی باس، جدول رجیسترها با نوع رجیستر و نوع داده، ضریب و واحد هر مقدار، و ترتیب بایت مقادیر ۳۲ بیتی. اگر تجهیز در کاتالوگ موجود است، بیشتر این موارد از پروفایل مدل میآید و فقط نشانی و شناسهٔ واحد را وارد میکنید.
منطق رجیسترها
هر مقدار Modbus در یکی از چهار جدول نگهداری میشود. نوع رجیستر تعیین میکند با کدام کد تابع خوانده یا نوشته شود:
| نوع رجیستر | برچسب | خواندن | نوشتن |
|---|---|---|---|
| Coil | Coil | FC01 | FC05 یا FC15 |
| Discrete Input | DI | FC02 | فقطخواندنی |
| Holding Register | HR | FC03 | FC06 یا FC16 |
| Input Register | IR | FC04 | فقطخواندنی |
انواع دادهٔ پشتیبانیشده: Bool، Int16، Int32، UInt16، UInt32، Float32، Float64 و String. مقادیر ۳۲ و ۶۴ بیتی در دو یا چهار رجیستر پشتسرهم قرار میگیرند و ترتیب بایت تعیین میکند این رجیسترها چگونه کنار هم خوانده شوند.
9005 ساخته میشود. پروفایلهای آمادهٔ سرور برای تجهیزات رایج، از جمله Schneider PM2200/PM5300، Eastron SDM630، ABB ACS580، Danfoss FC302، Carrier 30XA و APC Smart-UPS، از پیش تعریف شدهاند.نکتهها و اشتباههای رایج
- «شناسه واحد» باید بین ۱ و ۲۴۷ باشد. فرم مقدار خارج از این بازه را رد نمیکند، پس خودتان دقت کنید.
- در نسخهٔ فعلی فقط دو ترتیب Big Endian و Little Endian اعمال میشود. اگر دفترچهٔ تجهیز ترتیب میانی (Mid) میخواهد، پیش از بهرهبرداری با تیم پیادهسازی هماهنگ کنید.
- دفترچههای سازنده نشانی رجیستر را گاهی از ۱ و گاهی از ۰ میشمارند (مثلاً 40001 در برابر 0). همیشه یک مقدار شناختهشده را با تستر پروتکل کنترل کنید تا جابهجایی یکرجیستری پیش نیاید.
- مقدار Float32 که عددی بیمعنی یا بسیار بزرگ نشان میدهد معمولاً نشانهٔ ترتیب بایت اشتباه است.
- روی یک باس RS-485 شناسهٔ واحد تکراری باعث تداخل پاسخها میشود.
خلاصه
- Modbus TCP: رسانهٔ اترنت، پورت 502؛ RTU: رسانهٔ RS-485 و تنظیمات سریال یکسان با تجهیز.
- رجیسترها از پروفایل کاتالوگ ساخته میشوند؛ تعریف رجیستر برای تجهیز خارج از کاتالوگ به درخواست انجام میشود.
- Holding با FC03 و Input با FC04 خوانده میشود؛ Input و Discrete Input فقطخواندنیاند.
- پایهٔ ENID نقاط Modbus برابر 9005 است.
تمرین عملی روی دموی زنده
روی دموی عمومی چیزی را ذخیره نکنید.
- در «تنظیمات» ← «کاتالوگ تجهیزات» ← «مدلها» یک کنتور انرژی یا UPS بیابید که در ستون پروتکلها برچسب MODBUS_TCP دارد.
- در دستگاهها فرم افزودن دستگاه جدید را باز کنید، دستگاه سفارشی را بزنید و به زبانهٔ پروتکلها بروید. بخش Modbus را روشن کنید و پیشفرضهای سه فیلد را یادداشت کنید.
- در زبانهٔ تنظیمات اتصال رسانه را RS-485 کنید و پیشفرض نرخ باود و برابری را بنویسید.
- برای یک رجیستر ولتاژ (Input Register) و یک نقطهٔ تنظیم (Holding Register) کد تابع خواندن را بنویسید؛ سپس انصراف بزنید.
آزمون درس
برای گذراندن درس دستکم به ۳ پرسش از ۴ پرسش پاسخ درست بدهید.
- ۱. پورت پیشفرض Modbus TCP کدام است؟
- ۲. Holding Register با کدام کد تابع خوانده میشود؟
- ۳. کدام نوع رجیستر قابل نوشتن نیست؟
- ۴. محدودهٔ مجاز «شناسه واحد» چیست؟