Image Write
تقوم هذه الدالة (function block) بحفظ الصور الواردة إلى القرص عندما يكون شرط الحفظ مفعلًا. تدعم ضغطًا اختياريًا (JPEG) وتسمية تلقائية للملفات، ومصممة لتسهيل تصدير الصور الملتقطة أو المعالجة.
📥 المدخلات
Folder Path
المسار الكامل للمجلد الذي سيتم حفظ الصورة فيه. إذا تُرك فارغًا، يُستخدم مجلد العمل الحالي.
File Name
اسم ملف اختياري بدون الامتداد. إذا تُرك فارغًا، يتم استخدام اسم تلقائي مبني على الطابع الزمني (timestamp).
Save
مشغل منطقي (Boolean) يتحكم بما إذا كانت الصورة ستُكتب على القرص أم لا. أعطِ TRUE للحفظ، FALSE لإيقاف الحفظ.
Input Image
الصورة المراد حفظها. يقبل أي صيغة صورة شائعة قادمة من الكتل السابقة.
📤 المخرجات
لا يولد هذا البلوك مقابس إخراجية. يعرض الحالة عبر رسائل السجل (log messages) المرئية في واجهة المستخدم.
🕹️ عناصر التحكم
Compress Image
مربع اختيار للتحويل بين حفظ الصورة كملف JPEG مضغوط أو كـ PNG بدون فقدان. استخدم الضغط لتقليل حجم الملف عند الحاجة لتوفير مساحة أو عرض نطاق.
🎨 الميزات
الحفظ عند الطلب عبر مدخل
Saveالمنطقي.استخدام اسم ملف تلقائي يعتمد على الطابع الزمني في حال عدم تزويد اسم.
خيار الحفظ كـ JPEG مضغوط أو PNG بدون فقدان.
رسائل سجل معلوماتية تؤكد النجاح أو تُبلغ عن أخطاء (مجلد مفقود، صلاحيات، أو عدم وجود صورة).
واجهة بسيطة للتحكم في تفعيل/تعطيل الضغط.
⚙️ آلية التشغيل
عندما يكون مدخل Save مفعلًا (TRUE)، يحاول البلوك كتابة صورة Input Image الحالية إلى المسار المحدد بواسطة Folder Path و File Name. إذا كان Compress Image مفعلًا، تُحفظ الصورة بصيغة JPEG لتقليل الحجم؛ وإلا تُحفظ كـ PNG. إذا لم يكن المجلد موجودًا أو كانت الصورة مفقودة، يسجل البلوك خطأ بدلاً من الحفظ.
📝 إرشادات الاستخدام
حدد مجلد الوجهة باستخدام مدخل
Folder Pathأو اتركه فارغًا لاستخدام المجلد الافتراضي.اختياريًا ضع
File Nameأو اتركه فارغًا لاستخدام اسم تلقائي بطابع زمني.زوّد الصورة المراد حفظها بمقبس
Input Image.فعّل مدخل
Save(مثلاً عبر مشغل يدوي أو منطق برمجي) لكتابة الملف.استخدم مربع
Compress Imageللاختيار بين JPEG (أصغر) أو PNG (بدون فقدان).
💡 نصائح وحيل
استخدم
Choose Folderلتمكين المستخدمين من اختيار المجلد المستهدف تفاعليًا قبل الحفظ.اجمع مع
String InputأوDate-Timeلبناء أسماء ملفات وصفية ومُوسومة بالزمن.معاينة الصورة باستخدام
Show Imageقبل الحفظ للتحقق من المحتوى.إذا كانت الصور كبيرة، أضف
Image Resizerقبل هذا البلوك لتقليل دقة الصورة وتحسين سرعة الحفظ والتمرير.استخدم
Image ROI SelectأوDraw Result On Imageلاقتطاع أو تعليق الصور قبل الحفظ (مثال: حفظ مناطق مكتشفة أو نتائج مُعلّمة).عند الحاجة لتسجيل معدل عالٍ من الصور، فكّر باستخدام
Image LoggerأوRecord Videoبدل حفظ إطارات فردية عند كل تريجر.
🛠️ استكشاف الأخطاء وإصلاحها
عدم وجود المجلد أو خطأ صلاحيات الكتابة: تحقق من المسار المقدم في
Folder PathواستخدمChoose Folderلتجنب الأخطاء الإملائية.خطأ "No image data available": تأكد أن مقبس
Input Imageيستقبل بيانات صورة صالحة قبل تفعيل تريجرSave. عاين باستخدامShow Image.ملفات كبيرة أو بطء في الحفظ: فعّل
Compress Imageأو أضفImage Resizerلتقليل الدقة قبل الحفظ.أسماء ملفات غير متوقعة: أضف
Date-TimeأوString Inputلتوليد أسماء فريدة ووصفية وتجنّب الكتابة فوق ملفات سابقة.
إذا كنت تحفظ بشكل متكرر في فترات قصيرة، تأكد من أن مساحة التخزين وجهة الكتابة لديها أداء كتابة كافٍ ومساحة حرة كافية لسيناريو عملك.
آخر تحديث