تجميد صفحة رسومات SCADA: تحليل السبب الجذري وتحسين نظام Foxboro I/A Series وWoodward EasyGen

المشكلة: تجمّد محطة العمل فقط عند فتح شاشات عرض محددة
يبلغ المشغلون أن بعض شاشات SCADA تستغرق من 15 إلى 30 ثانية للفتح. يتأخر مؤشر الفأرة أثناء التحميل. تفتح شاشات أخرى خلال 2-3 ثوانٍ. حالة اتصال PLC تظل سليمة. لا تظهر أخطاء في الشبكة في التشخيص.
هذا النمط يعزل المشكلة في طبقة الرسومات، وليس في طبقة الاتصال. شاشة العرض التي تتجمد تحتوي على كائنات أكثر تعقيدًا من تلك التي تفتح بسرعة. في سلسلة Foxboro I/A، يدير مدير العرض تهيئة الكائنات. في Woodward EasyGen، يقوم وقت تشغيل GraphWorX بعرض الرسومات المعتمدة على SVG. كلا النظامين يواجهان صعوبة عندما تتجاوز شاشة عرض واحدة سعة التصميم الخاصة بهما.
السبب 1: كثرة كائنات الرسوم المتحركة في الوقت الحقيقي
رموز دوران المضخة، حركة سير الناقل، رسوم تحريك دوران الخلاط، ومؤشرات حالة اللون كلها تتطلب دورات تحديث مستمرة. كل كائن متحرك يستهلك خيط CPU واحد لحساب إعادة الرسم. عندما تحتوي الشاشة على أكثر من 40 كائنًا متحركًا نشطًا، يتشبع محرك العرض.
في سلسلة Foxboro I/A الإصدار 7.0، يخصص مدير العرض خيط عرض واحد لكل 10 كائنات متحركة. مع 50 رسوم متحركة، يعمل النظام بخمسة خيوط عرض متزامنة بالإضافة إلى خيط العرض الرئيسي. يرتفع استخدام وحدة المعالجة المركزية إلى 85-100% على نواة واحدة.
في Woodward EasyGen باستخدام GraphWorX64، كل رسوم متحركة للدوران تحفز إعادة حساب تحويل المصفوفة كل 100 مللي ثانية. صفحة نظرة عامة على المولد تحتوي على 30 رمز دوران تولد 300 عملية تحويل في الثانية. حد تسريع GPU هو 25 تحويلًا متزامنًا بدون أجهزة رسومات مخصصة.
التخفيف: استبدل رسوم الدوران بمؤشرات حالة اللون الثابتة. استخدم معدل وميض 1 (0.5 ثانية تشغيل/إيقاف) بدلاً من الدوران السلس لحالة التشغيل. هذا يقلل من حمل وحدة المعالجة المركزية بنسبة 60-70% لكل كائن.
السبب 2: تدفق اشتراكات العلامات أثناء تهيئة الصفحة
يرتبط كل عنصر رسومي بعلامة أو أكثر من علامات PLC. عند فتح المشغل لشاشة عرض، يرسل عميل SCADA طلبات اشتراك لجميع العلامات المرتبطة في وقت واحد. شاشة تحتوي على 800 مرجع علامة تطلق 800 رسالة اشتراك فردية خلال 200 مللي ثانية.
في سلسلة Foxboro I/A، يقوم محطة العمل (AW) بتمرير الاشتراكات إلى معالج التحكم (CP) عبر Nodebus. كل اشتراك يتطلب معاملة Nodebus. يدعم Nodebus حد أقصى 500 معاملة في الثانية لكل عقدة. شاشة 800 علامة تتجاوز هذا الحد أثناء التحميل الأولي.
النتيجة: يتم تحديث أول 500 علامة فورًا. تبقى 300 علامة في قائمة انتظار وتصل بعد 1-3 ثوانٍ. يرى المشغلون تحديثات جزئية للشاشة حيث تظهر بعض القيم قديمة.
في Woodward EasyGen، يشترك عميل OPC UA في العلامات على دفعات من 100. شاشة 800 علامة تحتاج إلى 8 دورات دفعات. عند 250 مللي ثانية لكل دورة دفعة، تستغرق التهيئة الكاملة 2 ثانية كحد أدنى قبل بدء العرض.
- الخطوة 1: عد إجمالي مراجع العلامات على شاشة العرض المشكلة. في محرر Foxboro Display، استخدم أدوات > تقرير عد العلامات. في GraphWorX64، استخدم تحرير > بحث > جميع المتغيرات المرتبطة.
- الخطوة 2: إذا تجاوز العدد 600، قسم الشاشة إلى شاشتين فرعيتين مرتبطتين بأزرار تنقل. استهدف 400 علامة كحد أقصى لكل شاشة.
- الخطوة 3: لسلسلة Foxboro I/A، زد حجم مخزن معاملات Nodebus من القيمة الافتراضية 256 إلى 512 في خصائص نظام CP > تبويب الشبكة.
- الخطوة 4: لـ Woodward EasyGen، اضبط وضع اشتراك OPC UA إلى إضافة عنصر مراقب بدلاً من إنشاء اشتراك في ملف تكوين GraphWorX. هذا يعيد استخدام الجلسات القائمة.
السبب 3: مخططات الاتجاه المدمجة تستعلم بيانات تاريخية
تدمج العديد من الشاشات نوافذ اتجاهات في الوقت الحقيقي تعرض آخر 60 دقيقة من بيانات العملية. عند فتح الشاشة، يستعلم كل مخطط اتجاه قاعدة بيانات المؤرخ لملء البيانات الأولية. ثلاثة مخططات اتجاه في شاشة واحدة تولد ثلاث استعلامات تاريخية متزامنة.
في سلسلة Foxboro I/A، يخدم المؤرخ (المبني على Informix أو SQL) طلبات الاتجاه عبر واجهة AIM Historian API. اتجاه 60 دقيقة بفاصل عينة 5 ثوانٍ يعيد 720 نقطة بيانات لكل قلم. مخطط اتجاه بأربعة أقلام يسترجع 2880 نقطة. ثلاثة مخططات تسترجع 8640 نقطة إجمالاً. تتراوح مدة تنفيذ الاستعلام بين 3-8 ثوانٍ حسب حالة فهرس قاعدة البيانات.
أثناء تنفيذ الاستعلام، يتوقف خيط العرض في انتظار البيانات. يرى المشغل شاشة متجمدة حتى وصول جميع بيانات الاتجاه.
- الخطوة 1: حدد كائنات الاتجاه المدمجة في شاشة التحميل البطيء. لاحظ نطاق الوقت وفاصل العينة لكل منها.
- الخطوة 2: قلل نطاق الوقت الأولي من 60 دقيقة إلى 15 دقيقة. هذا يقلل نقاط البيانات لكل قلم من 720 إلى 180، مما يقلل وقت الاستعلام بنسبة 75%.
- الخطوة 3: فعّل التحميل الكسول لبيانات الاتجاه. اضبط الاتجاهات لملء البيانات بعد ثانيتين من فتح الشاشة، وليس أثناء التهيئة. في Foxboro، اضبط خاصية كائن الاتجاه InitialLoadDelay = 2000ms.
- الخطوة 4: حد أقلام الاتجاه لكل مخطط إلى 4 كحد أقصى. استخدم مخططات منفصلة إذا كانت هناك حاجة لمزيد من المتغيرات.
السبب 4: صور خلفية عالية الدقة تستهلك الذاكرة
غالبًا ما تستخدم الرسومات العملية مخططات P&ID الممسوحة ضوئيًا كخلفيات. مسح P&ID نموذجي بدقة 300 نقطة في البوصة لمنطقة عملية كبيرة ينتج ملفات صور بحجم 8-15 ميجابايت بصيغة PNG. عند تحميلها في شاشة SCADA، يشغل البت ماب غير المضغوط 50-80 ميجابايت من ذاكرة الوصول العشوائي.
يقوم مدير العرض في سلسلة Foxboro I/A بتخزين صور الخلفية مؤقتًا في الذاكرة المشتركة. حجم التخزين المؤقت الافتراضي 128 ميجابايت. شاشتان بخلفيات 12 ميجابايت لكل منهما تستهلك 24 ميجابايت مخزنة بالإضافة إلى 48 ميجابايت نسخة العمل = 72 ميجابايت إجمالاً. فتح شاشة ثالثة يجبر على إخلاء التخزين المؤقت وإعادة التحميل، مما يسبب توقفًا مرئيًا.
يخزن Woodward EasyGen GraphWorX64 الخلفيات كسلاسل مشفرة بترميز base64 في ملف العرض GDFX. خلفية بحجم 10 ميجابايت تزيد حجم ملف GDFX بمقدار 13 ميجابايت (زيادة ترميز base64). تحليل هذه السلسلة يضيف 1.5-2 ثانية إلى وقت تحميل الشاشة.
- الخطوة 1: تحقق من أحجام ملفات صور الخلفية في دليل مشروع SCADA. علم أي صورة تتجاوز 2 ميجابايت.
- الخطوة 2: أعد تصدير الخلفيات بدقة 96 نقطة في البوصة مع ضغط JPEG (إعداد جودة 85%). هذا يقلل صورة PNG بحجم 10 ميجابايت إلى JPEG بحجم 400-600 كيلوبايت مع فقدان بصري ضئيل.
- الخطوة 3: في سلسلة Foxboro I/A، زد حجم التخزين المؤقت لمدير العرض إلى 256 ميجابايت عبر متغير بيئة AW DISPLAY_CACHE_SIZE=262144.
- الخطوة 4: لـ Woodward EasyGen، حوّل صور الخلفية إلى وضع المرجع الخارجي بدلاً من التضمين. استخدم ImageSource=File path بدلاً من ImageSource=Embedded.
الخلاصة ونصائح العمل
تجمّد صفحات رسومات SCADA ناتج عن أربعة مطالب متداخلة للموارد. أولاً، كثرة كائنات الرسوم المتحركة تثقل خيط عرض وحدة المعالجة المركزية. ثانيًا، تدفقات اشتراك العلامات تتجاوز قدرة معاملات ناقل الاتصال. ثالثًا، مخططات الاتجاه المدمجة تحجب خيط العرض أثناء استعلام البيانات التاريخية. رابعًا، الخلفيات عالية الدقة تستنزف ذاكرة التخزين المؤقت.
لنظم سلسلة Foxboro I/A، أولوية زيادة مخزن معاملات Nodebus إلى 512، ضبط تأخير التحميل الكسول للاتجاهات إلى ثانيتين، توسيع ذاكرة التخزين المؤقت للعرض إلى 256 ميجابايت، وتحديد الشاشات إلى 600 علامة كحد أقصى. لنظم Woodward EasyGen، استبدل رسوم الدوران بمؤشرات حالة اللون، استخدم وضع إعادة استخدام عنصر المراقبة في OPC UA، وحول الخلفيات المدمجة إلى مراجع ملفات خارجية.
قم بتدقيق جميع الشاشات التي تتجاوز مدة تحميلها 8 ثوانٍ. وثّق المقاييس قبل وبعد في نظام إدارة الصيانة المحوسب (CMMS). استهدف مدة تحميل قصوى تبلغ 5 ثوانٍ لأي شاشة على أجهزة محطة عمل قياسية (Intel i5، 8 جيجابايت رام، رسومات مدمجة).
