المعرفة/التكامل/Node-RED

دليلM-Center

عدادات M-Bus مع M-Center في Node-RED

Node-RED مناسب تمامًا لتحويل قيم العدادات وتصفيتها وتوزيعها على أنظمة أخرى. ويجلب القيم من EMU M-Center، إما عبر Modbus TCP أو عبر MQTT.

ما تحتاجه

  • M-Center مهيّأ مع ترخيص خادم Modbus TCP (210.300.04) أو ترخيص MQTT (210.300.03).
  • لـ Modbus حزمة node-red-contrib-modbus، القابلة للتثبيت عبر «Manage palette».
  • لـ MQTT وسيط يستطيع كل من M-Center وNode-RED الوصول إليه.

المسار 1: Modbus TCP

  1. في M-Center أدخل رمز OBIS للسجلات المطلوبة. فتكون قراءة التعرفة 1 المسحوبة (1-0:1.8.1) عندئذ عند السجل 1030.
  2. في Node-RED أضف عقدة «Modbus Read». الخادم: عنوان IP لـ M-Center، المنفذ 502، النوع TCP.
  3. Unit ID: عنوان جهاز Modbus للعداد في M-Center.
  4. FC 3 (Read Holding Registers)، العنوان 1029 للسجل 1030، الكمية 2، معدل الاستعلام مثلًا 15 دقيقة.
  5. أضف عقدة دالة (Function) تجمع السجلين في عدد عشري.
// Two 16-bit registers (big endian, high word first) -> float32
const buf = Buffer.alloc(4);
buf.writeUInt16BE(msg.payload[0], 0);
buf.writeUInt16BE(msg.payload[1], 2);
msg.payload = buf.readFloatBE(0);
msg.topic = "apartment1/import_t1";
return msg;

يعدّ الدليل السجلات ابتداءً من 1، بينما يتوقع node-red-contrib-modbus العنوان ابتداءً من 0. ولهذا 1029 للسجل 1030. قارن القيمة الأولى بقراءة العداد في M-Center.

لعدة عدادات أنشئ عقدة قراءة لكل عداد بـ Unit ID خاص. وتبقى العناوين نفسها ما دامت رموز OBIS مُدخلة.

المسار 2: MQTT

مع ترخيص MQTT ينشر M-Center كل قيمة تحت موضوع خاص. وتستقبل عقدة «mqtt in» باشتراك برمز شامل جميع قيم M-Center:

<prefix>/emu/mcenter/<MAC>/meterreading/#

أضف أولًا عقدة Debug واطّلع على المواضيع ومحتوى الرسائل. ثم افصل القيم حسب الموضوع بعقدة Switch، مثلًا حسب رمز OBIS في نهاية المسار.

أي مسار؟

Modbus TCPMQTT
العناوينثابتة، موثّقة في الدليلموضوع لكل عداد وسجل
الاستعلامNode-RED يستعلم بنشاطM-Center يرسل من تلقاء نفسه
أنظمة أخرىاستعلام منفصل لكل نظامأي عدد من المشتركين لدى الوسيط
الترخيص210.300.04210.300.03

الأسئلة الشائعة


هل يستطيع Node-RED قراءة سجلات الحالة؟

نعم. ابتداءً من السجل 11910 (float32) أو 11912 (uint64) تجد رمز حالة آخر قراءة: 1 ناجحة، 2 غير ناجحة، 3 ناجحة مع رسالة من العداد. اقرأ سجلات الحالة بصيغة uint64.

كيف أقرأ uint64؟

اقرأ أربعة سجلات ابتداءً من عنوان uint64، مثلًا من 1031 للسجل 1032، وقيّمها في عقدة الدالة بـ buf.readBigUInt64BE(0).

اقرأ المزيد


SEITEM-Bus إلى Modbus TCPخريطة السجلات SEITEM-Bus إلى MQTTبنية المواضيع SEITEبيانات العدادات في Grafanaدليل SEITEالمزيد من التكاملاتنظرة عامة

أسئلة حول الدمج؟


أرسل لنا قائمة عداداتك. وسنساعدك في العناوين ورموز OBIS والتراخيص.

الهاتف
‎+41 (0)41 545 03 00

الدعم الفني
helpdesk [at] emuag.ch
نموذج الدعم →