مسح عدادات القياس على قناة GSM

المهمة: الاستجواب حسب الجدول الزمني لجهاز قياس الكهرباء باستخدام مودم GSM.

لم أختر المكواة ، لقد تم اختياري قبل ذلك ، وحصلت على إنشاء نظام اقتراع عن بعد. لذا ، كان مصدر المعلومات حول الكهرباء المهدرة هو Diris A40 المصنعة من قبل Socomec (المشار إليها فيما يلي باسم العداد).

الصورة

يمكن للجهاز قياس الكثير من الأشياء ، لقد توقفت عن قراءة المئات من التسجيلات ، بدءًا من العنوان العشري 1792 إلى 1891. كواجهة ، كان هناك أيضًا قطعة من الحديد لم أختارها: بوابة وحدة الاتصال RS485 باستخدام بروتوكول JBUS / MODBUS®. بروتوكول يشبه مودبوس مع مرتبة الشرف في ترقيم التسجيل.

أجهزة مودم GSM من Siemens هي MC35i (يشار إليها فيما بعد باسم أجهزة المودم). إليك هذه: هناك

الصورة

الكثير من المقالات حولها ، من السهل العثور على وثائق. يتم التحكم فيه من قبل فرق AT. لم تعد متاحة. تم استبداله بمحطة Cinterion MC52iT. لا يزال بإمكانك شرائه. وشملت امدادات الطاقة والهوائي. لتحويل RS232toRS485 ، تم اختيار هذا الجهاز الرخيص بشكل عام. إنها تقوم بعملها.

الصورة

سيبدو المخطط الهيكلي للنظام المتصور كما يلي:

الصورة

قمت بتسمية كبل كبل مباشر ، حيث تتطابق جميع المسامير مع بعضها البعض في البداية وفي النهاية. على سبيل المثال ، تم توصيل الطرف الثاني بالطرف 2. دعوت الكبل كبل متقاطع ، حيث يتم توصيل الطرف الثاني بالطرف 3 ويتصل الطرف الثالث بالطرف الثاني.

للاستقصاء ، كان من المفترض استخدام MasterOPC Universal Modbus Server ، الذي يعيشهنا مجاني إذا كنت لا ترغب في استطلاع أكثر من 32 علامة (يقول البعض "علامات" ، أحب "علامات" أكثر). سحرها هو أنه يحتوي على إعدادات تسمح لك باستخدام مودم للاستقصاء. مثل اثنين في واحد. هذا هو البرنامج الوحيد الذي وجدته مع هذه الميزات. على سبيل المثال ، لم أجد مثل هذه الفرص في ibaPDA.

فشل خادم MasterOPC العالمي Modbus. بدلاً من ذلك ، اتضح أنه نصف: عند توصيله بالمتر عن طريق الأسلاك - كل شيء على ما يرام ، عند الاتصال عبر المودم ، الحزم المستلمة لسبب ما (بالنسبة لي لا يزال هناك لغز ، من يدري - الكتابة) تبدو كالتالي:

طلب: 13/5/2016 14 : 12: 56.408 مفكرة :: DirisA40 (adr5) :( COM5) Tx: [0008] 05 03 07 0A 00 01 A4 F8
الجواب: 13 2016-05 14: 12: 56.401 Notebook :: DirisA40 (adr5) :( COM5) Rx: [0013] F1 EB FF FD B7 00 05 03 02 13 86 C5 16

كما ترى من الإجابة ، فإن المعلومات الضرورية موجودة : 05 03 02 13 86 C5 16. من الواضح أيضًا أن هناك أيضًا شخص خارجي: F1 EB FF FD B7 00.

من يهتم ، يمكنك استخدام المحلل اللغوي لفك تشفير الحزم. على سبيل المثال ، أستخدم CAS_Modbus_RTU_Parser. إنه مجاني ورائع. هناك أيضا محللون على الإنترنت. على سبيل المثال: http://modbus.rapidscada.net/ .

لم أكن أعرف كيف أتخلص من هذه "القمامة" ، لذلك كتبت برنامجًا على LabView (ربما يكون من الأصح أن أقول "رسم"). يقطع القطع غير الضرورية من الحزمة المستقبلة ثم يفك تشفير حزمة Modbus. ما هو LabView الذي يمكنك قراءته هنا. بشكل عام ، على Habrahabr ، لدهشتي ، تم العثور على الكثير من المقالات حول LabView. والنتيجة هي واجهة:

الصورة

الصورة

نص التعليمات على النحو التالي. ويهدف البرنامج إلى استجواب عدادات DirisA40. قبل تشغيل الملف القابل للتنفيذ ، يجب عليك تثبيت LabVIEW Run-Time Engine (مرة واحدة). يمكن أن يعمل البرنامج في وضعين:

1) الاستقصاء المباشر
2) الاستقصاء من خلال

وضع استقصاء المودم افتراضيًا: استقصاء 100 تسجيل بدءًا من التسجيل 1792.
تنسيق بيانات تسجيلات الكلمات.
عنوان Modbus الافتراضي هو 5.
يبدأ الاستقصاء المباشر بالضغط على زر START.

يتم الاستقصاء من خلال المودم وفقًا للجدول الزمني (افتراضيًا 5 دقائق). ويبدأ بعد الضغط على الزرين "START" و "حفظ". يجب ألا يقل الجدول الزمني للمسح عن دقيقة واحدة وأكثر من 60 دقيقة. في حالة الضغط ، يتم توقيع زر "START" باسم "الاستطلاع قيد التقدم". في حالة الضغط ، يتم توقيع زر "تسجيل" على أنه "تسجيل قيد التقدم".

تم تصميم مربع الاختيار "مراعاة عوامل التحويل" لقياس قيمة قراءة السجل وفقًا للصيغة X * Factor + Offset. يتم تسجيل قيم Factor و Offset في أعمدة نفس جدول جدول الإعداد واختيار السجلات للكتابة. تتم الكتابة في ملف نصي في نفس الدليل حيث يوجد الملف القابل للتنفيذ بالتنسيق التالي - تاريخ وقت data.txt (على سبيل المثال: 05/21/2016 22_12 data.txt). إذا تم التسجيل باستخدام مودم ، فسيبدو اسم ملف البيانات كما يلي: 06/08/2016 9_47 data__modem.txt. في المرة الأولى التي تحاول فيها كتابة ملف ، يمكنك تغيير اسم الملف. يتم التسجيل في نفس الملف حتى يتم الضغط على زر "التسجيل قيد التقدم". تتم كتابة السجلات ذات مربعات الاختيار المحددة في جدول الإعدادات إلى الملف. يمكنك تغيير حالة مربع الاختيار في جدول الإعدادات بنقرة مزدوجة.يتم عرض قيم التسجيل المستلمة في جدول الإعدادات مع عمود "القيمة". في علامة التبويب "الرسوم البيانية" ، يمكنك تكوين عرض أي قيمة تسجيل من جدول الإعدادات. يتوافق لون منحنى الرسم البياني مع لون الإطار حول العلامة المحددة. يجب تعيين العلامات التي يجب تعطيلها من الإصدار للحفظ أو أي تسجيل آخر بقيمة 0. يتم نشر واجهة الويب للجهاز _http: // computername: 8000 / DirisA40.html ولا يمكن الوصول إليها إلا من خلال المستكشف إذا تم تثبيت LabVIEW Run-Time المحركتحتاج إلى وضعه في وضع "الحفظ" أو أي سجل آخر بقيمة 0. يتم نشر واجهة الويب للجهاز _http: // computername: 8000 / DirisA40.html ولا يمكن الوصول إليها إلا من خلال المستكشف إذا تم تثبيت LabVIEW Run-Time Engine.تحتاج إلى وضعه في وضع "الحفظ" أو أي سجل آخر بقيمة 0. يتم نشر واجهة الويب للجهاز _http: // computername: 8000 / DirisA40.html ولا يمكن الوصول إليها إلا من خلال المستكشف إذا تم تثبيت LabVIEW Run-Time Engine.

في عملية الكتابة / الرسم ، تم استخدام البرامج المساعدة التالية.

لمحاكاة تشغيل العداد ، تم استخدام البرنامج المجاني DevEmu. تعرفت عليها من مدونة أليكسي ، التي وصفت عملها وتطبيقها جيدًا. الذي شكره له.

لمحاكاة الاتصال بالعداد ، تم استخدام إصدارات تجريبية من برامج مختلفة تسمى Serial Port Splitter. إنهم مختلفون تمامًا ، وكانت الفترة التجريبية لاثنين من مثل هذا التقسيم كافية بالنسبة لي لكتابة البرنامج أعلاه.

ملاحظة: بينما كنت أكتب هذا التأليف ، على ما يبدو زميل ، كتبت مقالًا حول نفس الموضوع: geektimes.ru/post/277358 .

Source: https://habr.com/ru/post/ar395421/


All Articles