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

נסה את הכלי שלנו לביטול בעיות





ה-DNP3 או Distributed Network Protocol3 הושק בשנת 1992 על ידי תאגיד יפני כדי ליצור פרוטוקול לתקשורת בין מערכות מבוזרות. DNP3 הוא פרוטוקול בקרת התקן מבוסס רשת המשמש לתקשורת בין מכשיר להתקן קלט/פלט מרוחק. פרוטוקול זה תלוי בעיקר במודל מונחה עצמים שמקטין את מיפוי סיביות הנתונים הנדרש בדרך כלל על ידי פרוטוקולים אחרים פחות מונחה עצמים. הוא משמש בעיקר בין תחנות מאסטר מרכזיות כמו גם יחידות מרוחקות מבוזרות כאשר תחנת האב המרכזית פשוט פועלת כממשק בין מנהל הרשת האנושית כמו גם מערכת הניטור. היחידה המרוחקת המבוזרת היא הממשק בין תחנת האב למנגנון הפיזי הנצפה ונשלט באזורים הרחוקים. חילופי הנתונים בין שני אלה יכולים להתבצע על ידי ספריית האובייקטים הנפוצים. מאמר זה דן בסקירה כללית של פרוטוקול DNP3 - עבודה עם אפליקציות.


מהו פרוטוקול DNP3?

מערך פרוטוקולי התקשורת המשמשים בין רכיבים שונים בתוך מערכות אוטומציה של תהליכים ידוע בשם פרוטוקול DNP3. פרוטוקול זה תוכנן בעיקר למטרות תקשורת בין סוגים שונים של ציוד רכישת נתונים ובקרה. אז פנימה מערכות SCADA , פרוטוקול זה ממלא תפקיד חיוני כאשר הוא מנוצל על ידי RTUs, SCADAs ו-IEDs.



ארכיטקטורת פרוטוקול DNP3 ועבודתה

ה-DNP3 הוא פרוטוקול רשת מבוזר בגרסה שלישית. יש לו סקר יושרה אחד ושלוש רמות סקרים, כאשר סקר היושרה משמש כדי לתפוס את הנתונים בסקר אחד.

  ארכיטקטורת פרוטוקול DNP3
ארכיטקטורת פרוטוקול DNP3

ארכיטקטורת רשת DNP3 יכולה להיות ארכיטקטורות unicast, multidrop וארכיטקטורות מחברי נתונים/היררכיות.



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

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

העיצוב של פרוטוקול DNP3 יכול להיעשות בהתבסס על השכבות של מודל OSI כמו קישור נתונים, תחבורה, יישום ושכבת משתמש. לפרוטוקול זה יש את הגמישות לחיבור מאסטר יחיד דרך מינימום של תחנות חוץ אחת או יותר מעל מדיות פיזיות טוריות כמו גם Ethernet.
ארכיטקטורות אפשריות אחרות כוללות בעיקר חיבורי מאסטר שונים עם תחנה חיצונית אחת ופעולות עמית לעמית. בדרך כלל, המאסטר מתחיל פקודות בקרה כדי לבקש נתונים או להפעיל מכשירים המנוהלים דרך התחנה החיצונית. תחנה חיצונית זו פשוט מגיבה למאסטר על ידי העברת מידע מתאים.

  שכבות פרוטוקול DNP3
שכבות פרוטוקול DNP3

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

כיצד פועל פרוטוקול DNP3?

פרוטוקול DNP3 פשוט עובד על ידי שימוש ב-27 קודי פונקציות בסיסיות לאפשר תקשורת בין תחנות מאסטר ויחידות מרוחקות. כך שקודי פונקציות מסוימים יאפשרו למאסטר לבקש ולקבל את מצב המידע מהתקן מרוחק וקודי פונקציות אחרים יאפשרו למאסטר להחליט או לתקן את תצורת היחידה המרוחקת.

מספר קודי פונקציות משמשים בעיקר בתחנת המאסטר DNP3 לשליטה בציוד או ביחידה המרוחקת באתרים מרוחקים. תחנת מאסטר DNP3 מנפיקה את רוב התקשורת למכשיר המרוחק של DNP3. אבל, ההודעה הבלתי רצויה (הודעת o/p) מופעלת דרך יחידה מרוחקת, והיא מייצרת אזעקה. כך שהודעה זו נותנת התראה למאסטר ברגע שמתרחשת אזעקה.

קודי פונקציה

קודי הפונקציות של DNP3 כוללים את הדברים הבאים.

קוד פונקציה

תיאור

0x00

אשר את קוד הפונקציה.

0x01

קרא את קוד הפונקציה.
0x02

כתוב קוד פונקציה.

0x03

בחר קוד פונקציה.

0x04

הפעל את קוד הפונקציה.

0x05

קוד פונקציה להפעלה ישירה

0x0d

קוד פונקציה של הפעלה מחדש קרה

0x0e

קוד פונקציית הפעלה מחדש חמה

0x12

עצור קוד פונקציית היישום

0x1b

מחק את קוד פונקציית הקובץ

0x81

קוד פונקציית תגובה

0x82

קוד פונקציית תגובה בלתי רצויה

פורמט הודעה DNP3

מבנה פורמט ההודעות של DNP3 מוצג להלן. אם נבחן את המבנה הזה, נוכל לראות שההודעות מוחלפות בין מאסטרים ושלטים. פרוטוקול הטלמטריה הטורי (TBOS) מונחה בתים על ידי החלפת בתים בודדים לתקשורת.

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

  פורמט הודעה של DNP3
פורמט הודעה של DNP3

בתרשים פורמט ההודעה לעיל, DNP3 ASDU (יחידת נתוני שירות יישומים) חשובה להתאמה של תוכן חכם שנשלט באמצעות שני המוקדים וגם שדות indexSize. אז עיצוב זה יהפוך את נתוני האפליקציה לנגישים בתצורות גמישות.

עכשיו בואו נדון כיצד הנתונים מוחלפים במיוחד במודל התקשורת השכבתי.
שכבת היישום בתרשים שלמעלה משלבת ASDU (יחידת נתונים של שירות יישומים) ואובייקט ארוז על ידי בלוק APCI (בקרת פרוטוקול יישומים) כדי ליצור APDU (יחידת נתונים של פרוטוקול יישומים).

שכבת התעבורה תפרק את יחידת שירות האפליקציה או APDU למקטעים שונים עם גודל מקסימלי של 16 בתים ותארז אותם באמצעות כותרת בקרת תעבורה של 8 סיביות ומפרידי CRC של 16 סיביות מקטעים למסגרת תעבורה.

שכבת הקישור ממופה למודל 4 השכבות אשר פותח באמצעות ה-DoD (Department of Defense) באמצעות ה-DoD Internet Layer הושמט. אם נעשה שימוש בהובלה הסדרתית, הרכבת החבילות מתבצעת וממוקמת על מדיית ההובלה לצורך משלוח.

אם החבילה מועברת דרך LAN או WAN, אז 3 שכבות DNP3 מגולגלות לתוך השכבה הראשונה. ניתן לעטוף את החבילה המורכבת בתוך ה-TCP (פרוטוקול בקרת תחבורה) דרך שכבת התחבורה שעוטפת בתוך ה-IP (פרוטוקול אינטרנט) דרך שכבת האינטרנט. ניתן להשתמש גם ב-UDP (User Datagram Protocol) אך מציג כמה בעיות נוספות הקשורות למשלוח אמין בתוך רשתות עמוסות.

פורמט נתונים DNP3

DNP נמצא בשימוש נרחב בשליטה במסר העובר בין התחנה המרכזית ליחידות הבקרה. פורמט הנתונים של DNP3 כולל בעיקר שני חלקים, הכותרת וקטעי הנתונים. יתר על כן, הכותרת מופרדת לשישה תת-סעיפים.

  פורמט נתונים DNP3
פורמט נתונים DNP3

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

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

שדה הבקרה יכלול ערך hex 41 אחרת 42 מבוסס על סוג הפעולה. לאחר מכן, שדה היעד וכתובת המקור יספקו את כתובות המקלט המיועדות ואת צומת השליחה.
בדיקת ה-CRC או Cyclic Redundancy Check הוא השדה האחרון שיעזור לאמת את שגיאת המסגרת. ערך בדיקה מחובר להודעה בזמן השידור אשר יאומת בקצה המקבל. ברגע שהערך הזה תואם, הוא מציין את אי-קיומה של שגיאה בתוך המסגרת. קטע הנתונים הוא 2 עד 4 בתים אולם אין לו תפקיד בשליטה בהעברת הודעות.

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

דוגמה למערכת ניטור DNP3

תרשים DNP3 הראשי ומערכת הניטור מרחוק מוצג להלן. דגם זה משמש להעברת נתונים בין שני מכשירים כמו מאסטר ושלט באמצעות DNP3.

  דוגמה DNP3
בחינת DNP3 ה

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

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

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

בדרך כלל, נהגי ה-DNP3 יכולים לבצע סקרים שונים באופן שגרתי כמו סקר תקינות, מחלקה 1, מחלקה 2 ו- מחלקה 3. בסקר תקינות, ה-DNP3 פשוט מבקש מהתחנה להעביר את מחלקה 1, מחלקה 2 ומחלקה 3 שלו. נתוני אירועים ונתונים סטטיים מסוג Class 0 בסדר כרונולוגי. סקר שלמות משמש בדרך כלל לסנכרון מסדי הנתונים של DNP3 master & slave ולכן נוטה לקבל קצב סקר איטי. בדרך כלל, סקרים של Class 1, Class2 ו- Class 3 משמשים לשחזור אירועים כיתתיים בודדים בשיעורים הניתנים לשינוי בהתבסס על חשיבותם של אותם אירועים אירועים קריטיים יותר מוקצים לכיתות בעלות קצב הסקרים המהיר יותר.

ההבדל בין DNP3 ל-IEC 61850

ההבדל בין DNP3 ל-IEC 61850 כולל את הדברים הבאים.

DNP3

IEC 61850

פרוטוקול DNP3 הוא מפרט תעשייתי פתוח. IEC 61850 הוא תקן IEC.
קבוצת משתמשי DNP היא הארגון הסטנדרטי של פרוטוקול DNP3. הוועדה האלקטרונית הבינלאומית היא הארגון הסטנדרטי של IEC 61850.
פרוטוקול DNP3 הוא ארכיטקטורה של ארבע שכבות ותומך גם בשבע שכבות TCP/IP או UDP/IP. התקשורת בפרוטוקול IEC 61850 מבוססת על דגם OSI .
ה-DNP3, GOOSE, HMI, IEC, RTU ו-SCADA הם המונחים הנפוצים של פרוטוקול התקשורת IEC 61850. ההתקן החכם (IED), התקן לוגי וצמת לוגי, אובייקט נתונים ותכונת נתונים הם הרמות שמגדירות את מודל המידע ההיררכי של IEC 61850
היתרונות של פרוטוקול רשת מבוזר בגרסה השלישית הם שאין צורך במתרגמי פרוטוקולים, תחזוקה, בדיקות והדרכה יידרשו פחות זמן, הרחבת מערכת קלה וחיי מוצר ארוכים. היתרונות של פרוטוקול IEC 61850 הם עלות ההרחבה, עלות האינטגרציה, עלות העברת הציוד ועלויות ההתקנה נמוכות.

ההבדל בין DNP3 ל- Modbus

ההבדל בין DNP3 ל- Modbus כולל את הדברים הבאים.

DNP3

מודבוס

פרוטוקול הרשת המבוזר פותח ב-1993 על ידי האריס. פרוטוקול Modbus פותח בשנת 1979 על ידי Modicon
פרוטוקול הרשת המבוזר משתמש בביטים. פרוטוקול התקשורת של Modbus משתמש בתיאורי טקסט כדי לשלוח את הנתונים.
DNP3 מורכב משלוש שכבות שהן שכבות פיזיות, קישורי נתונים ושכבות יישום. פרוטוקול התקשורת של Modbus מורכב רק משכבת ​​יישומים
פרוטוקול DNP3 תומך במספר עבדים, מספר מאסטרים ותקשורת עמית לעמית. פרוטוקול Modbus תומך רק בתקשורת עמית לעמית.
פרמטרי התצורה הנדרשים בפרוטוקול DNP3 הם קצב רע, גודל הפרגמנט וכתובות ההתקן. התצורות הנדרשות בפרוטוקול Modbus הן מצב זוגיות, מצב ASCII, מצב RTU וקצב העברת העברת נתונים.

DNP3 יתרונות וחסרונות

ה היתרונות של פרוטוקו DNP3 אני כולל את הדברים הבאים.

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

החסרונות של פרוטוקול DNP3 כוללים את הדברים הבאים.

ה-DNP3 משתמש ב-RTU טורי ומשדרג אותו באמצעות Ethernet RTU (ERTU). אם רוחב הפס של ערוץ התקשורת לאותה תחנה אינו משופר גם הוא, אז למשתמש יהיה קישור איטי יותר בגלל התקורה המיושמת בעטיפת ה-DNP3 דרך TCP/IP.

יישומי DNP3

ה יישומי DNP3 כלול את הבאים.

  • DNP3 מאפשר להתקנים שונים בתוך מערכות אוטומציה של תהליכים לתקשר.
  • חברות שירות שונות משתמשות בפרוטוקול זה עבור מערכות טלמטריה של גז, חשמל ומים.
  • הוא משמש ב-SCADA Communications.
  • פרוטוקול התקשורת DNP3 משמש במערכות ניטור מרוחקות ו-SCADA.
  • זה ישים בכל סביבת SCADA הכוללת ממאסטר לרחוק ותקשורת RTU ועד IED וגם ביישומי רשת.

לפיכך, מדובר בסך הכל סקירה כללית של פרוטוקול DNP3 - עבודה עם אפליקציות. ה מפרט פרוטוקול DNP3 תלוי בעיקר במודל האובייקט. אז המודל הזה פשוט מקטין את מיפוי סיביות הנתונים שבדרך כלל נחוץ עם פרוטוקולים אחרים פחות מונחה עצמים. עבור טכנאים ומהנדסים של SCADA, קיום מספר אובייקטים מוגדרים מראש יהפוך את ה-DNP3 לעיצוב ופריסה נוחה יותר. הנה שאלה בשבילך, מה הפרוטוקול?