پروتکل‌های ارتباطی پشتیبانی‌شده

مروری بر پروتکل‌های ارتباطی صنعتی و IoT که پلتفرم پشتیبانی می‌کند — Modbus، OPC UA، MQTT و DLMS/COSEM.

Modbus (RTU / TCP)

هدف و توضیح

پروتکلی صنعتی، ساده و پرکاربرد برای تبادل داده‌های فرایندی میان کنترلرها، حسگرها و عملگرها. این پروتکل در سال ۱۹۷۹ توسط شرکت Modicon (اکنون Schneider Electric) توسعه یافت و به استاندارد عملی اتوماسیون صنعتی تبدیل شد. در سامانه‌های SCADA، PLCها، درایوهای فرکانس متغیر، ابزارهای اندازه‌گیری و حسگرها به کار می‌رود. به دلیل سادگی پیاده‌سازی و نیاز ناچیز به منابع محاسباتی، این پروتکل به‌طور ایده‌آل برای سامانه‌های توکار و دستگاه‌های با حافظه محدود مناسب است.

معماری و مدل داده

مدل دادهٔ مبتنی بر رجیستر بر چهار نوع فضای آدرس استوار است:

  • Coils (0x) — خروجی‌های گسسته (مقادیر بیتی خواندنی/نوشتنی)
  • Discrete Inputs (1x) — ورودی‌های گسسته (فقط‌خواندنی)
  • Input Registers (3x) — رجیسترهای ورودی ۱۶ بیتی (فقط‌خواندنی)
  • Holding Registers (4x) — رجیسترهای نگه‌دارندهٔ ۱۶ بیتی (خواندنی/نوشتنی)

معماری کلاینت-سرور (master-slave): دستگاه master درخواست‌ها را آغاز می‌کند و slaveها پاسخ می‌دهند. هر دستگاه slave یک آدرس یکتا دارد (۱ تا ۲۴۷). این پروتکل هیچ معنای دادهٔ درون‌ساختی ندارد — تفسیر مقادیر رجیستر در سطح کاربرد و در مستندات دستگاه تعریف می‌شود. عملیات خواندن و نوشتن را برای یک یا چند رجیستر پشتیبانی می‌کند.

انتقال

Modbus RTU:

  • خطوط سریال RS-485 (تا ۳۲ دستگاه روی هر گذرگاه، فاصلهٔ تا ۱۲۰۰ متر) یا RS-232 (نقطه‌به‌نقطه)
  • نمایش داده به‌صورت دودویی
  • بررسی صحت از طریق CRC-16
  • نرخ ارسال: از ۱۲۰۰ تا ۱۱۵۲۰۰ باود
  • ارسال نیمه‌دوطرفه (half-duplex)

Modbus TCP:

  • کپسوله‌سازی فریم‌های Modbus در TCP/IP (پورت 502)
  • سرآیند MBAP (Modbus Application Protocol) برای شناسایی تراکنش
  • ارسال تمام‌دوطرفه (full-duplex)
  • امکان کار هم‌زمان با چندین دستگاه
  • بدون نیاز به جمع کنترلی (پایایی توسط TCP تأمین می‌شود)

قابلیت‌های کلیدی

  • خواندن و نوشتن سیگنال‌های گسسته (Coils) و رجیسترها
  • پشتیبانی از کدهای تابع استاندارد (FC 01–06، 15–16، 23)
  • توابع عیب‌یابی (FC 08)
  • خواندن داده‌های شناسایی دستگاه (FC 17، 43)
  • نیاز ناچیز به منابع محاسباتی برای دستگاه‌ها
  • پیاده‌سازی و اشکال‌زدایی ساده
  • هزینهٔ پیاده‌سازی پایین
  • مدیریت استثناها و کدهای خطا
  • پشتیبانی از پیام‌های همگانی (broadcast) (آدرس 0) در RTU
  • مقیاس‌پذیری تا ۲۴۷ دستگاه روی یک خط (RTU) یا نامحدود از طریق TCP

OPC UA

هدف و توضیح

استانداردی جهانی و بین‌سکویی (OPC Unified Architecture، IEC 62541) برای تبادل امن و ساختاریافتهٔ داده‌های صنعتی، فراداده و اطلاعات معنایی. این استاندارد توسط OPC Foundation به‌عنوان جانشین مشخصات کلاسیک OPC DA/AE/HDA توسعه یافت و وابستگی به فناوری‌های Microsoft DCOM را از میان برد. یکپارچه‌سازی عمودی و افقی را در سامانه‌های صنعتی ممکن می‌سازد — از سطح میدانی تا سامانه‌های اطلاعاتی سازمانی (ERP، MES). به لطف قابلیت‌های غنی مدل‌سازی اطلاعات، از مفاهیم Industrie 4.0 و دوقلوی دیجیتال پشتیبانی می‌کند.

معماری و مدل داده

مدل دادهٔ شیءگرا که اطلاعات را به‌صورت یک فضای گرهی آدرس‌پذیر (Address Space) نمایش می‌دهد:

  • گره‌ها (Nodes) از انواع گوناگون: Variable، Object، Method، View، DataType، ReferenceType
  • خصیصه‌های گره (Node attributes): Value، DataType، AccessLevel، Timestamp، Quality، DisplayName و غیره
  • ارجاع‌ها (References) میان گره‌ها: سلسله‌مراتبی، تداعی‌گرانه، مبتنی بر مؤلفه
  • انواع داده: مقادیر ابتدایی، ساختارها، آرایه‌ها، شمارش‌ها

سرویس‌های پشتیبانی‌شده:

  • Subscription — پایش تغییرات داده با بازه‌های نمونه‌برداری و فیلترهای پیکربندی‌پذیر
  • Events & Alarms — اعلان‌های ناهمگام برای رویدادها، آلارم‌ها و وضعیت‌ها
  • Historical Access — دسترسی به داده‌ها و رویدادهای بایگانی‌شده
  • Methods — فراخوانی رویهٔ از راه دور روی دستگاه‌ها

مدل‌های اطلاعاتی ویژهٔ هر صنعت (Companion Specifications): مهندسی مکانیک، انرژی، نفت و گاز، داروسازی.

انتقال

UA Binary Protocol over TCP/IP:

  • پروتکل دودویی با سریال‌سازی بهینه (پورت 4840)
  • کارایی بالا و سربار ناچیز

HTTPS / SOAP:

  • نمایهٔ Web Services برای یکپارچه‌سازی با سامانه‌های سازمانی
  • رمزگذاری JSON برای کاربردهای ابری

OPC UA PubSub:

  • مدل منتشرکننده-مشترک (publisher-subscriber) برای سامانه‌های توزیع‌شده
  • انتقال: UDP Multicast، MQTT، AMQP، Ethernet TSN
  • ارسال جبری (deterministic) برای کاربردهای حساس به زمان

امنیت:

  • حالت‌های امنیتی چندسطحی (None، Sign، SignAndEncrypt)
  • گواهی‌های X.509 برای احراز هویت
  • رمزگذاری AES، RSA

قابلیت‌های کلیدی

  • مدل‌سازی اطلاعات: انتقال نه‌فقط مقادیر «خام» بلکه داده‌های پیچیدهٔ ساختاریافته همراه با معنا، نوع‌بندی و فراداده
  • اشتراک‌ها (Subscriptions) با بازه‌های نظرسنجی پیکربندی‌پذیر، فیلترهای deadband و بافرگذاری
  • رویدادها (Events) و سامانهٔ آلارم با فیلترگذاری شرطی
  • فراخوانی متد (Method invocation) برای کنترل دستگاه و اجرای عملیات
  • دسترسی به داده‌های تاریخی همراه با تجمیع
  • کشف سرویس (Service discovery) در شبکه‌های محلی
  • امنیت درون‌ساخت: رمزگذاری کانال، احراز هویت مبتنی بر گواهی یا نام کاربری/گذرواژه، کنترل دسترسی در سطح گره
  • افزونگی و تحمل خطای سرور
  • بین‌سکویی: Windows، Linux، VxWorks، QNX و دیگر سیستم‌عامل‌ها
  • مقیاس‌پذیری: از میکروکنترلرها تا سامانه‌های توزیع‌شده

MQTT

هدف و توضیح

پروتکلی سبک برای تبادل پیام (Message Queuing Telemetry Transport) برای تله‌متری، پایش از راه دور و مدیریت دستگاه‌های IoT، بهینه‌شده برای شبکه‌های ناپایدار، پهنای باند محدود و تأخیر بالا. این پروتکل در سال ۱۹۹۹ توسط IBM برای پایش خطوط لولهٔ نفت توسعه یافت و توسط OASIS و ISO/IEC (20922:2016) استانداردسازی شد. به‌طور گسترده در IoT صنعتی، خانه‌های هوشمند، تله‌ماتیک خودرو و کاربردهای موبایل به کار می‌رود. تمرکز این پروتکل بر کمینه‌سازی ترافیک شبکه و مصرف توان دستگاه است.

معماری و مدل داده

مدل ناهمگام انتشار/اشتراک (Publish/Subscribe) با یک کارگزار (broker) متمرکز:

  • Publisher — دستگاه یا برنامه‌ای که پیام‌ها را در موضوع‌ها (topics) منتشر می‌کند
  • Subscriber — دستگاه یا برنامه‌ای که برای دریافت پیام از موضوع‌ها مشترک شده است
  • Broker — سرور مرکزی مسیریابی پیام (Mosquitto، HiveMQ، EMQ X و غیره)

موضوع‌ها (Topics) — ساختار مسیر سلسله‌مراتبی برای دسته‌بندی پیام‌ها:

  • جداکننده‌های سطح: / (برای نمونه factory/building1/temperature)
  • نویسه‌های جایگزین (wildcards): + (یک سطح)، # (چند سطح)
  • نمونهٔ اشتراک: sensors/+/temperature یا factory/#

قالب داده که توسط برنامه تعریف می‌شود: JSON، Protocol Buffers، XML، دادهٔ دودویی، متن.
پیام‌های نگه‌داشته‌شده (Retained messages): کارگزار آخرین پیام یک موضوع را ذخیره می‌کند و آن را به مشترکان جدید تحویل می‌دهد.
جلسه‌های پایدار (Persistent sessions): کارگزار اشتراک‌های کلاینت را پس از قطع اتصال حفظ می‌کند.

انتقال

  • لایهٔ انتقال: TCP/IP (پورت 1883 برای اتصال‌های ناامن)
  • TLS/SSL (پورت 8883) برای رمزگذاری و احراز هویت
  • WebSockets برای یکپارچه‌سازی با مرورگر و کاربردهای وب
  • نسخه‌های پروتکل: MQTT 3.1.1 (رایج‌ترین)، MQTT 5.0 (قابلیت‌های گسترده)
  • اندازهٔ سرآیند: حداقل ۲ بایت (سرآیند ثابت)
  • سازوکار keep-alive: ارسال دوره‌ای PINGREQ/PINGRESP برای پایش اتصال
  • کار مبتنی بر کارگزار، جداسازی منتشرکننده-مشترک، مقیاس‌پذیری افقی و مدیریت متمرکز را تضمین می‌کند

قابلیت‌های کلیدی

  • QoS (Quality of Service) سه سطح تضمین تحویل:
    • QoS 0: حداکثر یک‌بار (بدون تأیید دریافت)
    • QoS 1: حداقل یک‌بار (همراه با تأیید دریافت)
    • QoS 2: دقیقاً یک‌بار (دست‌دادن چهارمرحله‌ای)
  • سربار شبکهٔ ناچیز: سرآیند ثابت ۲ بایتی، رمزگذاری دودویی کارآمد
  • LWT (Last Will and Testament): سازوکار اعلان خودکار برای قطع اتصال غیرمنتظرهٔ دستگاه — اگر کلاینت جلسه را به‌طور غیرعادی پایان دهد، کارگزار یک پیام از پیش‌تعریف‌شده منتشر می‌کند
  • Clean Session / Persistent Session: امکان بازیابی اشتراک‌ها و پیام‌ها پس از اتصال مجدد
  • Retained Messages: در دسترس بودن آخرین مقدار برای مشترکان جدید
  • مصرف توان پایین: ایده‌آل برای دستگاه‌های باتری‌خور
  • مقیاس‌پذیری: پشتیبانی از میلیون‌ها اتصال هم‌زمان روی خوشه‌های کارگزار
  • اشتراک با نویسهٔ جایگزین (Wildcard subscriptions) برای فیلترگذاری انعطاف‌پذیر موضوع‌ها

DLMS / COSEM (IEC 62056)

هدف و توضیح

استانداردی بین‌المللی برای تبادل داده با کنتورهای خدمات عمومی: برق، گاز، آب و حرارت (Device Language Message Specification / Companion Specification for Energy Metering). این استاندارد توسط DLMS User Association به همراه IEC توسعه یافت تا قابلیت همکاری کنتورهای هوشمند را در سامانه‌های اندازه‌گیری و صورت‌حساب خودکار (AMBS) تضمین کند. خوانش از راه دور کنتور، پایش کیفیت توان، مدیریت تعرفه و تشخیص دسترسی غیرمجاز را ممکن می‌سازد. به‌طور گسترده توسط اپراتورهای شبکهٔ برق، تأمین‌کنندگان خدمات عمومی و یکپارچه‌سازان سامانهٔ Smart Grid به کار می‌رود.

معماری و مدل داده

مدل شیء COSEM (Companion Specification for Energy Metering):

  • داده‌های کنتور به‌صورت اشیای منطقی (COSEM objects) با کلاس‌های رابط نمایش داده می‌شوند
  • کدهای OBIS (Object Identification System) — شناسهٔ شش‌بایتی برای آدرس‌دهی جهانی پارامترها: A-B:C.D.E*F
    • A — نوع انرژی (1=برق، 6=حرارت، 7=گاز، 8=آب)
    • B — کانال اندازه‌گیری
    • C — کمیت فیزیکی (برای نمونه 1=انرژی اکتیو)
    • D — نوع اندازه‌گیری (8=زمان انتگرال‌گیری)
    • E — منطقهٔ تعرفه
    • F — عمق تاریخی

پروتکل DLMS:

  • لایهٔ کاربرد مطابق مدل OSI
  • انجمن‌ها (Associations) با حقوق دسترسی متفاوت: Public، Reader، Manager
  • احراز هویت: Low Level Security (LLS)، High Level Security (HLS) با چالش-پاسخ
  • رمزگذاری: پشتیبانی از DLMS Security Suite با الگوریتم‌های AES-GCM-128
  • پروفایل‌های بار (Load Profiles): اشیای بافری برای ذخیرهٔ داده‌های سری‌زمانی
  • سامانهٔ اسکریپت‌نویسی: اجرای دنباله‌ای از کنش‌ها روی کنتور

انتقال

لایهٔ فیزیکی و لایهٔ پیوند داده:

  • پورت نوری (IEC 62056-21، flag) — اتصال مستقیم از طریق هد مادون قرمز برای خوانش محلی
  • RS-485 / RS-232 با پروتکل HDLC (High-Level Data Link Control) برای شبکه‌های multi-drop
  • TCP/IP (پورت 4059) — DLMS over TCP یا کپسوله‌سازی IP برای دسترسی از راه دور
  • GSM/GPRS/LTE — ارسال داده از طریق شبکه‌های موبایل (پروتکل‌های wrapper)
  • PLC (Power Line Communication) — ارسال روی خطوط برق (PRIME، G3-PLC)
  • M-Bus — برای یکپارچه‌سازی با سامانه‌های اندازه‌گیری آب و حرارت

نمایه‌های انتقال بسته به پیاده‌سازی کنتور:

  • IEC 62056-46: COSEM over HDLC
  • IEC 62056-47: COSEM transport over TCP-UDP/IP

قابلیت‌های کلیدی

  • خوانش کنتور — مقادیر جاری مصرف انرژی، توان، ولتاژ، جریان، ضریب توان
  • پروفایل‌های بار (Load Profiles) — داده‌های مفصل دارای برچسب زمانی (بازه‌های ۱۵ دقیقه‌ای، ساعتی، روزانه)
  • گزارش‌های رویداد (Event logs) — ثبت دستکاری درپوش، قطع برق، اضافه‌ولتاژها، تغییر پارامترها
  • احراز هویت و مجوزدهی چندسطحی: کنترل دسترسی مبتنی بر نقش (دسترسی عمومی، خواندن، پیکربندی)
  • مدیریت تعرفه — تغییر از راه دور برنامه‌ها و نرخ‌های تعرفه
  • همگام‌سازی زمان برای دقت برچسب زمانی
  • کنترل رله (وصل/قطع بار)
  • پایش کیفیت توان (افت ولتاژ، اضافه‌ولتاژ، هارمونیک‌ها)
  • پشتیبانی از عملیات گروهی روی چندین کنتور
  • حفاظت رمزنگارانهٔ داده و یکپارچگی پیام

موضوعات مرتبط

آخرین به‌روزرسانی در

آیا این صفحه مفید بود؟