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

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

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

معرفی

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

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

فرمت داده

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

DNP3 frame

تشریح هدر DNP3:

[SYNC [0X0564: طول فیلد شروع 2 بایت است، بایت اول 05 هگزا دسیمال (0X05) و بایت دوم نیز 64 هگزا دسیمال (0X64) می‌باشد.

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

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

DNP3 Control

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

  • 1 = ایستگاه A به ایستگاه B
  • 0 = ایستگاه B به ایستگاه A

PRM: پیام اولیه

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

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

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

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

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

REC: رزرو شده = 0

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

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

PRM = 1

 
Secondary   PRM = 0
 

مثال

ایستگاه اولیه:
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
ایستگاه ثانویه:
05 64 – 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

منبع

حمایت از Sisoog Os

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

Sisoog Os
Sisoog Os

کارآفرین, تولید کننده, طراح الکترونیک و ....

دیدگاه ها

2 دیدگاه

  • احسان
    ۱۶ اردیبهشت ۱۳۹۸

    در تکمیل مطلب تون باید بگم ک در RECLOSERهای شرکت توزیع برق فراوان استفاده میشه و شما فقط بخشی از این پروتکل را گفتین و لایه های کاربرد و شبه انتقال و لایه فیزیکی رو جا گذاشتین

    • Phoenix
      ۱۷ اردیبهشت ۱۳۹۸

      سپاس از توجه شما دوست عزیز. هدف فقط آشنایی با این پروتکل، توضیحات اولیه و اشاره به کاربردها به صورت کلی بود. اگر توجه کرده باشید اوایل مقاله اشاره کردیم که لایه سخت‌افزاری این پروتکل RS232 یا RS485 می‌باشد. ولی اگر منظورتان این است که این پروتکل منحصرا یک لایه فیزیکی مخصوص خودش را دارد، باید خدمتتان عرض کنیم که اینگونه نیست.

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 10 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک