פרוטוקול תקשורת Modbus RTU

Apr 27, 2026 השאר הודעה

פרוטוקול Modbus RTU הוא כמו "שפה משותפת" בין מכשירים תעשייתיים, המאפשר "תקשורת" חלקה בין מכשירים כגון מדי חשמל וחיישנים של מותגים שונים.

הדגמת יישום פרוטוקול תקשורת Modbus

מאמר זה ידריך אותך דרך היישום של Modbus RTU במדי אנרגיה בצורה הפשוטה והמובנת ביותר. גם אם אתה טירון מוחלט ללא רקע טכני, אתה יכול בקלות להבין את נקודות הליבה של פרוטוקול תקשורת תעשייתי חשוב זה.

The Modbus RTU protocol

מהו פרוטוקול Modbus RTU?

Modbus RTU הוא פרוטוקול תקשורת טורית שפותח במקור על ידי Modicon (כיום חלק משניידר אלקטריק) בשנת 1979 עבור ה-PLC שלה (בקרי לוגיקה ניתנים לתכנות).

כיום, הוא הפך לאחד מהפרוטוקולים הנפוצים ביותר באוטומציה תעשייתית, נתמך על ידי למעלה מ-400 יצרנים ברחבי העולם.

למה זה נקרא "RTU"? RTU הוא קיצור של "Remote Terminal Unit", המציין כי פרוטוקול זה משמש בעיקר לתקשורת בין מכשירים מרוחקים. זה כמו "מערכת הודעות טקסט" בין ציוד חשמלי, החלפת נתונים באמצעות מנגנון בקשה ותגובה פשוט.

כיצד עובד Modbus RTU?

Modbus RTU משתמש בארכיטקטורת תקשורת-מאסטר, כמו מורה ותלמידים בכיתה.

  • מאסטר: ה"מורה", בדרך כלל מחשב, PLC או רכז, אחראי ליזום שאלות ופקודות.
  • עבד: ה"תלמיד", כמו מד חשמל או חיישן, יכול לענות רק על שאלות המורה ואינו יכול לדבר באופן עצמאי. (ביישומי מדי חשמל...)

Modbus RTU

פורמט הודעה Modbus RTU

"תבנית SMS" בין מכשירים

הודעות תקשורת Modbus RTU הן כמו הודעות טקסט מעוצבות בקפידה, עם דרישות פורמט קבועות.

הודעת Modbus RTU מלאה מכילה את החלקים הבאים:

קוד כתובת קוד פונקציה שדה נתונים בדוק את הקוד
8-ביטים 8-ביטים N × 8-Bits 16 סיביות
  • קוד כתובת (בייט אחד): שווה ערך ל"מספר טלפון של נמען", המזהה את הכתובת של מד האנרגיה היעד (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 Message Format

"ספר הנתונים" במד חשמל: הסבר רישום

בפרוטוקול Modbus RTU, כל הנתונים ממונה חשמל מאוחסנים ב"גיליון אלקטרוני"-באוגר. המרשם מתחלק בעיקר לארבעה סוגים:

סוג הרשמה הרשאת קריאה/כתיבה קודי פונקציה תוכן מאוחסן טיפוסי
רישום סליל קריאה/כתיבה 01, 05 מצב ממסר, בקרת מתג
רישום קלט דיסקרטי קריאה-בלבד 02 קלט דיגיטלי (למשל, אותות אזעקה)
רישום קלט קריאה-בלבד 04 נתוני מדידה-בזמן אמת (מתח, זרם וכו')
רישום אחזקות קריאה/כתיבה 03, 06 פרמטרים של מכשיר, אנרגיה מצטברת וכו'.

ביישומי מדי חשמל, הרשמים הנפוצים ביותר הם:

רישום קלט

(קוד פונקציה 04H): מאחסן נתונים שנמדדו בזמן אמת, כגון מתח, זרם והספק.

רישום אחזקות

(קוד פונקציה 03H): מאחסן את צריכת החשמל המצטברת, פרמטרי המכשיר וכו'.

UBS Energy Meter Modbus Register טבלת מידע כתובות

כתובת השידור של פרוטוקול 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 Total Forward Active Energy יחידה: 0.001kWh, R/W: RO U32 2 בית גבוה ראשון, בית נמוך אחרון; דוגמה: אם הנתונים נקראים=5000, נקודה עשרונית=2 → ערך בפועל=5000 × 10^(2-3)=500.0
0x203C מתח ערוץ 1 יחידה: 0.0001V, R/W: RO I32 2 בייט גבוה ראשון, בייט נמוך אחרון
0x203E מתח ערוץ 2 יחידה: 0.0001V, 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.0001kW, R/W: RO I32 2 בייט גבוה ראשון, בייט נמוך אחרון
0x2046 ערוץ 2 כוח יחידה: 0.0001kW, R/W: RO I32 2 תמיד 0
0x9A00 קדימה אנרגיה כוללת פעילה יחידה: קוט"ש, R/W: RO לָצוּף 2
0xA001/0x8900 כתובת המכשיר יחידה: ללא, R/W: RW U16 1 טווח: 0~247

הדגמה של קריאת הודעות מד אנרגיה של UBS

באמצעות תוכנת המחשב המארח של מד האנרגיה של UBS, קרא את הנתונים הבאים ממד האנרגיה החכם DJZ1226 DC: סך אנרגיה פעילה חיובית, מתח, זרם, הספק וכתובת מד.

Demonstration Of Reading UBS Energy Meter Messages

כפי שמוצג בתרשים למעלה, תוכן ההודעה המפורט שנשלח והתקבל על ידי המחשב המארח הוא כדלקמן:

13:25:30.229 סך אנרגיה פעילה חיובית(000C0002) ...

13:25:30.256 ▼שלח: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 ▼שלח: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 ▼שלח:00 03 00 02 00 02 64 1א

13:25:30.610 ▲קבל:01 03 04 00 30 00 02 7B FD

13:25:30.621 Power(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 מטר, אך המרחקים בפועל מושפעים מגורמים סביבתיים).

● אמת הגדרות פרמטר:

▪ האם הגדרות קצב הביאוד, סיביות הנתונים, סיביות הסטופ והזוגיות עולות בקנה אחד עם מד החשמל?

▪ האם כתובת המכשיר מוגדרת כהלכה (ללא כתובות כפולות)?

תקשורת לסירוגין

● בדוק אם יש הפרעות קו:

▪ השתמש בכבל מסוכך-מעוות וודא שהמגן מוארק בקצה אחד.

▪ הימנע מהפעלת הכבל במקביל לכבלי-מתח גבוה.

● בדיקת מכשירים בודדים:

▪ חבר כל מד חשמל בנפרד כדי לפתור תקלות במכשירים תקולים.

▪ השתמש בתוכנת המחשב המארח הייעודית של UBS Electronics (כגון AMS) כדי לתקשר ישירות עם מד החשמל ולאתר את הבעיה.

שגיאות נתונים

● אימות בדיקת CRC:

▪ בדוק אם קודי ה-CRC שנשלחו והתקבלו עקביים.

▪ אשר את סדר הביטים של הנתונים (Modbus RTU הוא בדרך כלל קטן-endian).

● בדיקת מיפוי רישום:

▪ אשר שכתובות האוגר המשמשות תואמות את המדריך של מד החשמל.

▪ שימו לב לקיזוז כתובת הרישום.

אם אתה צריך להשתמש בתוכנת המחשב המארח של UBS (פרוטוקול Modbus RTU) המוזכרת במאמר זה, צור קשר עם האחראי על הזמנת מד החשמל של UBS וקבל תמיכה טכנית נוספת לאחר-מכירה.

שלח החקירה