پروتکلهای ارتباطی پشتیبانیشده
مروری بر پروتکلهای ارتباطی صنعتی و 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) — ثبت دستکاری درپوش، قطع برق، اضافهولتاژها، تغییر پارامترها
- احراز هویت و مجوزدهی چندسطحی: کنترل دسترسی مبتنی بر نقش (دسترسی عمومی، خواندن، پیکربندی)
- مدیریت تعرفه — تغییر از راه دور برنامهها و نرخهای تعرفه
- همگامسازی زمان برای دقت برچسب زمانی
- کنترل رله (وصل/قطع بار)
- پایش کیفیت توان (افت ولتاژ، اضافهولتاژ، هارمونیکها)
- پشتیبانی از عملیات گروهی روی چندین کنتور
- حفاظت رمزنگارانهٔ داده و یکپارچگی پیام
موضوعات مرتبط
آیا این صفحه مفید بود؟
از بازخورد شما سپاسگزاریم!