پروتکل Modbus RTU مانند یک "زبان مشترک" بین دستگاه های صنعتی است که "ارتباط" روان بین دستگاه هایی مانند کنتور برق و سنسورهای برندهای مختلف را امکان پذیر می کند.
نمایش برنامه پروتکل ارتباطی Modbus
این مقاله شما را با استفاده از Modbus RTU در کنتورهای انرژی به ساده ترین و قابل فهم ترین روش راهنمایی می کند. حتی اگر یک مبتدی کاملاً بدون پیشینه فنی هستید، می توانید به راحتی نکات اصلی این پروتکل ارتباطی صنعتی مهم را درک کنید.

پروتکل Modbus RTU چیست؟
Modbus RTU یک پروتکل ارتباطی سریال است که در ابتدا توسط Modicon (اکنون بخشی از اشنایدر الکتریک) در سال 1979 برای PLCهای خود (کنترل کننده های منطقی قابل برنامه ریزی) توسعه یافت.
امروزه این پروتکل به یکی از پرکاربردترین پروتکل ها در اتوماسیون صنعتی تبدیل شده است که توسط بیش از 400 سازنده در سراسر جهان پشتیبانی می شود.
چرا به آن "RTU" می گویند؟ RTU مخفف عبارت Remote Terminal Unit است که نشان می دهد این پروتکل عمدتاً برای ارتباط بین دستگاه های راه دور استفاده می شود. این مانند یک "سیستم ارسال پیامک" بین تجهیزات الکتریکی است که داده ها را از طریق یک مکانیسم درخواست و پاسخ ساده مبادله می کند.
Modbus RTU چگونه کار می کند؟
Modbus RTU از معماری ارتباطی استاد- استفاده میکند، مانند معلم و دانشآموز در کلاس درس.
- استاد: «معلم»، معمولاً یک رایانه، PLC یا متمرکز کننده، مسئول شروع سؤالات و دستورات است.
- برده: «دانش آموز»، مانند کنتور یا سنسور برق، فقط می تواند به سؤالات معلم پاسخ دهد و نمی تواند مستقل صحبت کند. (در کاربردهای کنتور برق...)

قالب پیام Modbus RTU
"قالب پیامک" بین دستگاه ها
پیامهای ارتباطی Modbus RTU مانند پیامهای متنی با دقت ساخته شدهاند، با فرمتهای ثابت الزامی.
یک پیام کامل Modbus RTU شامل بخش های زیر است:
| کد آدرس | کد عملکرد | فیلد داده | کد را بررسی کنید |
|---|---|---|---|
| 8 بیت | 8 بیت | N × 8 بیت | 16 بیتی |
- کد آدرس (1 بایت): معادل یک "شماره تلفن گیرنده"، که آدرس انرژی سنج مورد نظر (1-247) را مشخص می کند، با 0 برای آدرس پخش.
- کد تابع (1 بایت): معادل یک "نوع پیام متنی" است که به انرژی سنج برای انجام عملیات دستور می دهد (مثلاً خواندن داده ها، نوشتن داده ها و غیره).
- فیلد داده (N بایت): اطلاعات خاصی که باید منتقل شود، مانند آدرس ثبت، مقدار داده و غیره.
- CRC Checksum (2 بایت): معادل یک "ضد-کد جعل" است که برای بررسی خطاها در حین ارسال استفاده می شود.
یک پیام معمولی برای خواندن کل داده های انرژی فعال مثبت از یک کنتور انرژی UBS به شرح زیر است:
[آدرس 00][کد تابع 03][آدرس شروع 00 0C][طول خواندن 00 02][CRC Checksum 05 D9]
این معادل این است که بگوییم: "همه مترها، لطفاً داده ها را از ثبات 000C، با ثبات 1 شروع کنید."
پس از دریافت پیام، متر شماره 1 با:
[آدرس 01][کد تابع 03][طول داده 04][داده 00 00 00 00][CRC Checksum FA 33]
این به این معنی است: "متر شماره 1 پاسخ داد: کل مقدار داده انرژی فعال مثبت خوانده شده 00 00 00 00 (هگزادسیمال) است" (توجه: این متر شماره 1 یک متر جدید و استفاده نشده است). تصویر زیر یک نمایش آزمایشی است:

"کتاب داده" در کنتور برق: توضیح داده شده ثبت
در پروتکل Modbus RTU، تمام داده های یک کنتور برق در یک "صفحه گسترده"-ثبت ذخیره می شود. رجیسترها عمدتاً به چهار نوع تقسیم می شوند:
| نوع ثبت نام | مجوز خواندن/نوشتن | کدهای تابع | محتوای ذخیره شده معمولی |
|---|---|---|---|
| ثبت کویل | بخوان / بنویس | 01, 05 | وضعیت رله، کنترل سوئیچ |
| ثبت ورودی گسسته | فقط خواندن- | 02 | ورودی دیجیتال (به عنوان مثال، سیگنال های هشدار) |
| ثبت ورودی | فقط خواندن- | 04 | دادههای اندازهگیری زمان واقعی-(ولتاژ، جریان و غیره) |
| برگزاری ثبت نام | بخوان / بنویس | 03, 06 | پارامترهای دستگاه، انرژی انباشته شده و غیره |
در کاربردهای کنتور برق، رایج ترین رجیسترها عبارتند از:
ثبت ورودی
(کد تابع 04H): دادههای اندازهگیری شده در زمان واقعی مانند ولتاژ، جریان و توان را ذخیره میکند.
برگزاری ثبت نام
(کد عملکرد 03H): مصرف برق انباشته شده، پارامترهای دستگاه و غیره را ذخیره می کند.
UBS Energy Meter Modbus Register Address جدول اطلاعات
آدرس پخش پروتکل Modbus 0x00 است. برای اطلاعات دقیق آدرس ثبت پروتکل Modbus برای کنتورهای انرژی UBS، لطفاً جدول زیر را ببینید:
| ثبت نام (Hex) | نام متغیر | مشخصه (واحد / R/W) | نوع داده | بشمار | اظهارات |
|---|---|---|---|---|---|
| 0x0000 | ولتاژ DC | واحد: V، R/W: RO | S16 | 1 | محدوده: -9999~9999; خواندن=مقدار مؤثر × 10^(امتیاز اعشاری) |
| 0x0001 | نقطه اعشاری ولتاژ | واحد: هیچ، R/W: RO | U16 | 1 | مقدار ثابت: 0 |
| 0x0002 | ارزش فعلی DC | واحد: A، R/W: RO | S16 | 1 | محدوده: -9999-9999 |
| 0x0003 | نقطه اعشاری فعلی | واحد: هیچ، R/W: RO | U16 | 1 | مقدار ثابت: 1 |
| 0x0008 | ارزش قدرت | واحد: کیلووات، R/W: RO | S16 | 1 | محدوده: -9999-9999 |
| 0x0009 | نقطه اعشاری قدرت | واحد: هیچ، R/W: RO | U16 | 1 | مقدار ثابت: 1 |
| 0x000C | کل انرژی فعال رو به جلو | واحد: 0.001 کیلووات ساعت، R/W: RO | U32 | 2 | اول بایت بالا، آخر بایت کم. مثال: اگر دادهها=5000 خوانده شوند، نقطه اعشار=2 → مقدار واقعی=5000 × 10^(2-3)=500.0 |
| 0x203C | ولتاژ کانال 1 | واحد: 0.0001 ولت، R/W: RO | I32 | 2 | اول بایت بالا، آخر بایت پایین |
| 0x203E | ولتاژ کانال 2 | واحد: 0.0001 ولت، R/W: RO | I32 | 2 | همیشه 0 |
| 0x2040 | جریان کانال 1 | واحد: 0.0001A، R/W: RO | I32 | 2 | اول بایت بالا، آخر بایت پایین |
| 0x2042 | کانال 2 فعلی | واحد: 0.0001A، R/W: RO | I32 | 2 | همیشه 0 |
| 0x2044 | پاور کانال 1 | واحد: 0.0001 کیلووات، R/W: RO | I32 | 2 | اول بایت بالا، آخر بایت پایین |
| 0x2046 | پاور کانال 2 | واحد: 0.0001 کیلووات، R/W: RO | I32 | 2 | همیشه 0 |
| 0x9A00 | انرژی کل فعال رو به جلو | واحد: کیلووات ساعت، R/W: RO | شناور | 2 | |
| 0xA001/0x8900 | آدرس دستگاه | واحد: هیچ، R/W: RW | U16 | 1 | محدوده: 0 تا 247 |
نمایش خواندن پیام های کنتور انرژی UBS
با استفاده از نرم افزار کامپیوتر میزبان انرژی سنج UBS، داده های زیر را از انرژی سنج هوشمند DJ1226 DC بخوانید: کل انرژی فعال مثبت، ولتاژ، جریان، توان و آدرس کنتور.

همانطور که در نمودار بالا نشان داده شده است، محتوای دقیق پیام ارسال و دریافت شده توسط کامپیوتر میزبان به شرح زیر است:
13:25:30.229 کل انرژی فعال مثبت (000C0002) ...
13:25:30.256 ▼Send:00 03 00 0C 00 02 05 D9
13:25:30.344 ▲دریافت:01 03 04 00 00 00 00 FA 33
13:25:30.359 ولتاژ DC(00000002) ...
13:25:30.424 ▼Send:00 03 00 00 00 02 C5 DA
13:25:30.428 ▲دریافت:01 03 04 00 17 00 03 0A 36
13:25:30.494 جریان DC(00020002) ...
13:25:30.522 ▼Send:00 03 00 02 00 02 64 1A
13:25:30.610 ▲دریافت:01 03 04 00 30 00 02 7B FD
13:25:30.621 قدرت(00080002) ...
13:25:30.682 ▼ ارسال:00 03 00 08 00 02 44 18
13:25:30.690 ▲دریافت:01 03 04 00 01 00 02 2A 32
13:25:30.702 آدرس ارتباطی 2(A0010001) ...
13:25:30.779 ▼ ارسال:00 03 A0 01 00 01 F6 1B
13:25:30.783 ▲دریافت:01 03 02 00 01 79 84
13:25:30.795 پایان خواندن داده ها.
مشکلات رایج و تکنیک های عیب یابی
اگرچه پروتکل Modbus RTU نسبتاً ساده است، اما ممکن است مشکلات مختلفی در کاربردهای عملی ایجاد شود. اشکالات و راه حل های رایج در ارتباط کنتور برق به شرح زیر است:
بدون پاسخ ارتباطی
● اتصالات فیزیکی را بررسی کنید:
▪ آیا سیم کشی RS-485 درست است (خطوط A/B معکوس شده است)؟
▪ آیا مقاومت های پایانه با هم مطابقت دارند (به طور کلی، مقاومت های 120Ω را در هر انتهای شین وصل کنید)؟
▪ آیا فاصله ارتباطی از حد مجاز فراتر رفته است (RS-485 از نظر تئوری می تواند به 1200 متر برسد، اما فواصل واقعی تحت تأثیر عوامل محیطی قرار دارند).
● تنظیمات پارامتر را تأیید کنید:
▪ آیا نرخ باود، بیت های داده، بیت های توقف و تنظیمات برابری با کنتور برق سازگار است؟
▪ آیا آدرس دستگاه به درستی تنظیم شده است (بدون آدرس تکراری)؟
ارتباط متناوب
● تداخل خط را بررسی کنید:
▪ از کابل{0}جفت تابدار محافظ استفاده کنید و اطمینان حاصل کنید که محافظ در یک انتها به زمین متصل است.
▪ از اجرای کابل موازی با کابلهای{0} ولتاژ بالا اجتناب کنید.
● تست دستگاه های فردی:
▪ برای عیب یابی دستگاه های معیوب هر کنتور برق را جداگانه وصل کنید.
▪ از نرم افزار کامپیوتر میزبان اختصاصی UBS Electronics (مانند AMS) برای برقراری ارتباط مستقیم با کنتور برق و مشخص کردن مشکل استفاده کنید.
خطاهای داده
● بررسی CRC:
▪ بررسی کنید که آیا کدهای CRC ارسالی و دریافتی مطابقت دارند یا خیر.
▪ ترتیب بایت داده را تأیید کنید (Modbus RTU معمولاً اندک-است).
● بررسی نقشه ثبت:
▪ اطمینان حاصل کنید که آدرس های ثبت استفاده شده با دفترچه راهنمای کنتور برق مطابقت دارند.
▪ به آفست آدرس ثبت توجه کنید.
در صورت نیاز به استفاده از نرم افزار کامپیوتر میزبان UBS (پروتکل Modbus RTU) که در این مقاله ذکر شده است، لطفاً با مسئول سفارش کنتور برق UBS خود تماس بگیرید و پشتیبانی فنی بیشتر-پس از فروش را دریافت کنید.




