فيديو: وحدة تحكم مشرف هبر. يسمح لك بتنظيم الكارما والتصنيف وحظر المستخدمين.
TL؛ DR: سأحاول في هذه المقالة إنشاء لوحة تحكم هزلية لـ Habr باستخدام بيئة تطوير الواجهة الصناعية Webaccess/HMI Designer ومحطة WebOP.
واجهة الإنسان والآلة (HMI) هي مجموعة من الأنظمة للتفاعل البشري مع الآلات التي يتم التحكم فيها. عادةً ما يتم تطبيق هذا المصطلح على الأنظمة الصناعية التي تحتوي على مشغل ولوحة تحكم.
WebOP - محطة صناعية مستقلة لإنشاء واجهات بين الإنسان والآلة. تستخدم لإنشاء لوحات التحكم في الإنتاج، وأنظمة المراقبة، وغرف التحكم، وأجهزة التحكم المنزلية الذكية، وما إلى ذلك. يدعم الاتصال المباشر بالمعدات الصناعية ويمكن أن يعمل كجزء من نظام SCADA.
محطة WebOP - الأجهزة
محطة WebOP عبارة عن كمبيوتر منخفض الطاقة يعتمد على معالج ARM، في حالة واحدة مع شاشة وشاشة تعمل باللمس، مصمم لتشغيل برنامج بواجهة رسومية تم إنشاؤها في HMI Designer. اعتمادًا على الطراز، تحتوي الأجهزة الطرفية على واجهات صناعية مختلفة على متنها: RS-232/422/485، ناقل CAN للاتصال بأنظمة السيارات، منفذ USB Host لتوصيل الأجهزة الطرفية الإضافية، منفذ USB Client لتوصيل الجهاز بالكمبيوتر، الصوت الإدخال وإخراج الصوت، وقارئ بطاقة MicroSD للذاكرة غير المتطايرة ونقل الإعدادات.
يتم وضع الأجهزة كبديل للميزانية لأجهزة الكمبيوتر الشخصية المتكاملة، للمهام التي لا تتطلب معالجات قوية وموارد كمبيوتر مكتبي متكامل. يمكن أن يعمل WebOP كمحطة مستقلة للتحكم وإدخال/إخراج البيانات، مقترنًا بـ WebOPs أخرى، أو كجزء من نظام SCADA.
يمكن لمحطة WebOP الاتصال مباشرة بالأجهزة الصناعية
التبريد السلبي وحماية IP66
نظرًا لانخفاض تبديد الحرارة، تم تصميم بعض موديلات WebOP بالكامل بدون تبريد الهواء النشط. يسمح ذلك بتركيب الأجهزة في المناطق الحساسة لمستويات الضوضاء ويقلل من كمية الغبار التي تدخل داخل الهيكل.
اللوحة الأمامية مصنوعة بدون فجوات أو مفاصل، وتتمتع بمستوى حماية IP66، وتسمح بدخول الماء مباشرة تحت الضغط.
اللوحة الخلفية للمحطة WOP-3100T
ذاكرة غير متطايرة
لمنع فقدان البيانات، يحتوي WebOP على ذاكرة غير متطايرة تبلغ سعتها 128 كيلو بايت، والتي يمكن التعامل معها بنفس طريقة استخدام ذاكرة الوصول العشوائي (RAM). يمكنه تخزين قراءات العدادات والبيانات الهامة الأخرى. في حالة انقطاع التيار الكهربائي، سيتم حفظ البيانات واستعادتها بعد إعادة التشغيل.
التحديث عن بعد
يمكن تحديث البرنامج الذي يتم تشغيله على الجهاز عن بعد عبر شبكة Ethernet أو عبر الواجهات التسلسلية RS-232/485. يؤدي هذا إلى تبسيط عملية الصيانة، حيث يلغي الحاجة إلى الانتقال إلى كافة الأجهزة الطرفية لتحديث البرنامج.
نماذج WebOP
بيئة تطوير مصمم WebAccess/HMI
خارج الصندوق، تعد محطة WebOP مجرد كمبيوتر ARM منخفض الطاقة يمكنك تشغيل أي برنامج عليه، ولكن الهدف الأساسي من هذا الحل هو بيئة تطوير الواجهة الصناعية WebAcess/HMI الخاصة. ويتكون النظام من عنصرين:
- مصمم اتش ام اي — بيئة لتطوير الواجهات ومنطق البرمجة. يعمل تحت نظام Windows على كمبيوتر المبرمج. يتم تجميع البرنامج النهائي في ملف واحد ونقله إلى المحطة للتنفيذ في وقت التشغيل. البرنامج متاح باللغة الروسية.
- وقت تشغيل HMI - وقت التشغيل لتشغيل البرنامج المترجم على المحطة النهائية. يمكن أن يعمل ليس فقط على محطات WebOP، ولكن أيضًا على Advantech UNO وMIC وأجهزة الكمبيوتر المكتبية العادية. هناك إصدارات وقت التشغيل لنظام التشغيل Linux وWindows وWindows CE.
أهلاً بالعالم - إنشاء مشروع
لنبدأ في إنشاء واجهة اختبارية للوحة التحكم الخاصة بنا. سأقوم بتشغيل البرنامج على المحطة
إنشاء مشروع جديد واختيار الهندسة المعمارية
تحديد بروتوكول الاتصال الذي سيتم من خلاله تحميل البرنامج المترجم إلى WebOP. في هذه الخطوة، يمكنك تحديد واجهة تسلسلية، أو تحديد عنوان IP الخاص بالجهاز.
واجهة إنشاء المشروع. يوجد على الجانب الأيسر مخطط شجرة لمكونات البرنامج المستقبلي. في الوقت الحالي، نحن مهتمون فقط بعنصر الشاشات، وهي الشاشات التي تحتوي على عناصر الواجهة الرسومية التي سيتم عرضها على الجهاز.
أولاً، لنقم بإنشاء شاشتين بالنص "Hello World" وإمكانية التبديل بينهما باستخدام الأزرار. للقيام بذلك، سوف نقوم بإضافة شاشة جديدة، الشاشة رقم 2، وفي كل شاشة سنضيف عنصر نص وزرين للتبديل بين الشاشات (أزرار الشاشة). فلنقم بتهيئة كل زر للانتقال إلى الشاشة التالية.
واجهة لضبط الزر للتبديل بين الشاشات
برنامج Hello World جاهز، الآن يمكنك تجميعه وتشغيله. في مرحلة التجميع، قد تكون هناك أخطاء في حالة تحديد المتغيرات أو العناوين بشكل غير صحيح. يعتبر أي خطأ فادحًا، ولن يتم تجميع البرنامج إلا في حالة عدم وجود أخطاء.
توفر البيئة القدرة على محاكاة الوحدة الطرفية بحيث يمكنك تصحيح أخطاء البرنامج على جهاز الكمبيوتر الخاص بك محليًا. هناك نوعان من المحاكاة:
- محاكاة على الانترنت - سيتم استخدام جميع مصادر البيانات الخارجية المحددة في البرنامج. يمكن أن تكون هذه أجهزة USO أو أجهزة متصلة عبر واجهات تسلسلية أو Modbus TCP.
- محاكاة دون اتصال - المحاكاة بدون استخدام أجهزة خارجية.
على الرغم من عدم وجود بيانات خارجية لدينا، فإننا نستخدم المحاكاة دون اتصال بالإنترنت، بعد أن قمنا بتجميع البرنامج مسبقًا. سيتم وضع البرنامج النهائي في مجلد المشروع، بالاسم ProjectName_ProgramName.px3
يمكن التحكم في البرنامج الذي يتم تشغيله في المحاكاة بواسطة مؤشر الماوس بنفس الطريقة التي يتم بها التحكم بها على شاشة اللمس لمحطة WebOP. نرى أن كل شيء يعمل على النحو المنشود. عظيم.
لتنزيل البرنامج على محطة فعلية، ما عليك سوى النقر فوق الزر "تنزيل". ولكن نظرا لأنني لم أقم بتكوين اتصال الجهاز ببيئة التطوير، فيمكنك ببساطة نقل الملف باستخدام محرك أقراص فلاش USB أو بطاقة ذاكرة MicroSD.
واجهة البرنامج بديهية، ولن أتصفح كل كتلة رسومية. سيكون إنشاء الخلفيات والأشكال والنصوص واضحًا لأي شخص استخدم برامج مشابهة لبرنامج Word. لإنشاء واجهة رسومية، لا يلزم وجود مهارات برمجة، حيث تتم إضافة جميع العناصر عن طريق سحب الماوس إلى النموذج.
العمل مع الذاكرة
الآن وبعد أن عرفنا كيفية إنشاء العناصر الرسومية، فلنتعلم كيفية العمل مع المحتوى الديناميكي ولغة البرمجة النصية. لنقم بإنشاء مخطط شريطي يعرض البيانات من متغير U $ شنومكس. في إعدادات المخطط، حدد نوع البيانات: عدد صحيح 16 بت، ونطاق قيم المخطط: من 0 إلى 10.
يدعم البرنامج كتابة النصوص البرمجية بثلاث لغات: VBScript، JavaScript واللغة الخاصة به. سأستخدم الخيار الثالث لأن هناك أمثلة عليه في الوثائق ومساعدة بناء الجملة التلقائية مباشرة في المحرر.
دعونا نضيف ماكرو جديد:
لنكتب بعض التعليمات البرمجية البسيطة لتغيير البيانات بشكل تدريجي في متغير يمكن تتبعه على الرسم البياني. سنضيف 10 إلى المتغير، ونعيد تعيينه إلى الصفر عندما يكون أكبر من 100.
$U100=$U100+10
IF $U100>100
$U100=0
ENDIF
لتنفيذ البرنامج النصي في حلقة، قم بتعيينه في إعدادات الإعداد العام باعتباره ماكرو رئيسي، مع فاصل تنفيذ يبلغ 250 مللي ثانية.
لنقم بتجميع البرنامج وتشغيله في جهاز المحاكاة:
في هذه المرحلة، تعلمنا كيفية التعامل مع البيانات الموجودة في الذاكرة وعرضها بشكل مرئي. وهذا يكفي بالفعل لإنشاء نظام مراقبة بسيط، وتلقي البيانات من الأجهزة الخارجية (أجهزة الاستشعار ووحدات التحكم) وتسجيلها في الذاكرة. تتوفر كتل عرض بيانات مختلفة في HMI Designer: في شكل أقراص دائرية بها أسهم ومخططات متنوعة ورسوم بيانية. باستخدام برامج JavaScript النصية، يمكنك تنزيل البيانات من مصادر خارجية عبر HTTP.
لوحة تحكم هبر
باستخدام المهارات المكتسبة، سنقوم بإنشاء واجهة كوميدية لوحدة تحكم إدارة حبر.
يجب أن يكون جهاز التحكم عن بعد الخاص بنا قادرًا على:
- تبديل ملفات تعريف المستخدمين
- تخزين بيانات الكارما والتصنيف
- قم بتغيير قيم الكارما والتصنيف باستخدام أشرطة التمرير
- عند النقر فوق الزر "حظر"، يجب وضع علامة على الملف الشخصي على أنه محظور، ويجب أن تتغير الصورة الرمزية إلى شطب
سوف نقوم بعرض كل ملف شخصي في صفحة منفصلة، لذلك سنقوم بإنشاء صفحة لكل ملف شخصي. سنقوم بتخزين الكارما والتصنيف في المتغيرات المحلية في الذاكرة، والتي سيتم تهيئتها باستخدام Setup Macro عند بدء تشغيل البرنامج.
ضبط الكرمة والتصنيف
لضبط الكارما سوف نستخدم شريط التمرير (Slide Switch). نحدد المتغير الذي تمت تهيئته في Setup Macro كعنوان التسجيل. دعونا نحدد نطاق قيم شريط التمرير من 0 إلى 1500. الآن، عندما يتحرك شريط التمرير، سيتم كتابة البيانات الجديدة في الذاكرة. في هذه الحالة، ستتوافق الحالة الأولية لشريط التمرير مع قيم المتغير في الذاكرة.
لعرض القيم العددية للكارما والتصنيف، سنستخدم عنصر العرض الرقمي. مبدأ تشغيله مشابه للرسم البياني من مثال برنامج "Hello World"، فنحن ببساطة نشير إلى عنوان المتغير في Monitor Address.
زر الحظر
يتم تنفيذ زر "الحظر" باستخدام عنصر Toggle Switch. مبدأ تخزين البيانات مشابه للأمثلة المذكورة أعلاه. في الإعدادات، يمكنك تحديد نص أو لون أو صورة مختلفة، اعتمادًا على حالة الزر.
عند الضغط على الزر، يجب شطب الصورة الرمزية باللون الأحمر. من السهل تنفيذ ذلك باستخدام كتلة عرض الصورة. يسمح لك بتحديد صور متعددة مرتبطة بحالة زر Toggle Switch. للقيام بذلك، يتم إعطاء الكتلة نفس عنوان الكتلة مع الزر وعدد الحالات. تم إعداد الصورة التي تحتوي على لوحات تحمل أسماء أسفل الصورة الرمزية بطريقة مماثلة.
اختتام
بشكل عام، أعجبني المنتج. في السابق، كانت لدي خبرة في استخدام جهاز لوحي يعمل بنظام Android لمهام مماثلة، ولكن تطوير واجهة له أصعب بكثير، ولا تسمح واجهات برمجة التطبيقات للمتصفح بالوصول الكامل إلى الأجهزة الطرفية. يمكن لمحطة WebOP واحدة أن تحل محل مجموعة من الأجهزة اللوحية والكمبيوتر ووحدة التحكم التي تعمل بنظام Android.
مصمم HMI، على الرغم من تصميمه القديم، متقدم جدًا. بدون مهارات برمجة خاصة، يمكنك رسم واجهة عمل بسرعة. لا تتناول المقالة جميع الكتل الرسومية، والتي يوجد منها الكثير: الأنابيب المتحركة، والأسطوانات، والرسوم البيانية، ومفاتيح التبديل. وهو يدعم العديد من وحدات التحكم الصناعية الشائعة ويحتوي على موصلات قاعدة البيانات.
مراجع
يمكن تنزيل مصمم WebAccess/HMI وبيئة تطوير Runtime
→
المصدر: www.habr.com