پروتکل DNP3 چیست؟

0
44
پروتکل DNP3
پروتکل DNP3

معرفی

DNP3 مخفف عبارت Distributed Network Protocol Version 3 به‌معنای پروتکل شبکه‌های گسترده نسخه۳ است که مجموعه‌ای از پروتکل‌های ارتباطی استفاده‌شده بین اجزاء می‌باشد و در روند سیستم‌های اتوماسیون استفاده می‌شود. استفاده اصلی آن در خدمات رفاهی مانند شرکت‌های آب‌و برق می‌باشد. به‌طورخاص DNP3، برای تسهیل ارتباطات بین انواع مختلفی از جمع آوری داده‌ها و تجهیزات‌کنترلی توسعه‌یافته‌است و نقش‌مهمی را در سیستم‌های SCADA ایفا می‌کنند، که توسط ایستگاه‌های اصلی SCADA، واحد‌های ترمینال از راه‌دور و دستگاه‌های هوشمند الکترونیکی استفاده می‌شود. رابط پروتکل DNP3 پیام‌های حامل DNP3 را فقط برروی بستر‌های RS232/422 یا RS485 استاندارد، پشتیبانی می‌کند.

DNP3 براساس استاندارد‌های بین‌المللی کمیسیون الکتروتکنیک، کمیته فنی ۵۷، کار‌گروه ۰۳، که یک OSI سه‌لایه(معماری عملکرد پیشرفته) پروتکل استاندارد است، برای برنامه‌های کاربردی کنترل از راه‌دور می‌باشد.

فرمت داده

یک فریم FT3 به‌عنوان یک بلوک هدر، با طول ثابت، توسط بلوک‌های داده‌‌ی اختیاری تعریف‌شده‌است. هر بلوک یک ۱۶بیتی CRC اضافه‌شده دارد. ICE مشخص می‌کند که حوزه‌های هدر، شامل ۲بایت شروع، ۱بایت طول، ۱بایت کنترل، یک آدرس مقصد و یک فیلد داده کاربر، با طول ثابت اختیاری می‌باشد. در این پیاده‌سازی طول داده‌ی ثابت کاربر، به‌عنوان آدرس‌منبع تعریف‌شده‌است.

DNP3 frame
DNP3 frame

 

تشریح هدر DNP3:

[SYNC [0X0564: طول فیلد شروع ۲بایت است، بایت اول ۰۵ هگزا دسیمال(۰X۰۵) و بایت دوم نیز ۶۴هگزا دسیمال(۰X۶۴) می‌باشد.

LENGTH: فیلد LENGTH، یک بایت طول دارد و تعداد بایت‌های کاربر را در فریم مشخص می‌کند. اندازه فیلد‌های CONTROL, DESTINATION, SOURSE در این شماره گنجانده‌شده‌است. حداقل مقدار برای این فیلد ۵ و حداکثر مقدار ۲۵۵ می‌باشد.

CONTROL: فیلد CONTROL، شامل جهت فریم، نوع فریم و کنترل اطلاعات جریان می‌باشد و شکل زیر فیلد‌های بایت CONTROL را مشخص می‌کند. ایستگاه A به‌عنوان ایستگاه‌اصلی تعیین‌شده، تعریف‌شده‌است، در این‌صورت ایستگاه B ایستگاه اصلی نمی‌باشد. اولین ایستگاه سازنده پیام، منبع پیام می‌باشد و ایستگاه دوم، ایستگاه مقصد است.

DNP3 Control
DNP3 Control

 

DIR: جهت انتقال فیزیکی

  • ۱ = ایستگاه A به ایستگاه B
  • ۰ = ایستگاه B به ایستگاه A

PRM: پیام اولیه

  • ۱ = فریم از اولیه (ایستگاه شروع)
  • ۰ = فریم از ثانویه (ایستگاه پاسخ)

FCB: بیت شمارش فریم

FCV: شمارش فریم بیت معتبر

  • ۱ = بیت شمارش فریم معتبر است
  • ۰ = نادیده گرفتن بیت شمارش فریم

DFC: بیت کنترل جریان داده

REC: رزرو شده = ۰

FUNCTION: کد FUNCTION، نوع فریم را شناسایی می‌کند. تعریف ارزش‌های قرارداده‌شده در این فیلد، بین ایستگاه‌های اولیه و ثانویه متفاوت است.

CODE: جداول‌زیر کد‌های اجراشده و FCV مربوطه را تعریف می‌کنند.

PRM = 1

Secondary   PRM = 0

 

مثال

ایستگاه اولیه:

0564 0BC4 0400 0300 E42B E5C0 0102 0006 985C

 

05 64 – 2 bytes – DNP3 frame start
0B – 1 byte – Length field
C4 – 1 byte – Control field – primary station transmit
0400 – 2 bytes – Destination address – 0004 decimal
0300 – 2 bytes – Source address – 0003 decimal
E42B – 2 bytes – DNP3 header CRC
E5C0 0102 0006 – 8 bytes – DNP3 data payload
985C – 2 bytes – CRC of data payload

 

ایستگاه ثانویه:

18:33:26.058 tx 17 | S01
0564 0A44 0300 0400 7CAE E0C0 8100 00C1 F0

 

– 2 bytes – DNP3 frame start
0A – 1 byte – Length field
44 – 1 byte – Control field – secondary station transmit
0300 – 2 bytes – Destination address – 0003 decimal
0400 – 2 bytes – Source address – 0004 decimal
7CAE – 2 bytes – DNP3 header CRC
E0C0 8100 00 – 7 bytes – DNP3 data payload
C1F0 – 2 bytes – CRC of data payload

 

 

 

منبع:‌سیسوگ

 

برای این مقاله نظر بگذارید:

لطفا دیدگاه خود را بنویسید
لطفا نام خود را وارد کنید