Serial Write
هذه الدالة ترسل بيانات خام عبر اتصال تسلسلي محدد. صُممت لإرسال بسيط وغير حابس (non-blocking) وتوفر خيارات واجهة مستخدم سهلة لتحويل أنواع البيانات الشائعة، إضافة نهايات السطر، والتحكم في سلوك إعادة الإرسال.
📥 المدخلات
Enable— استخدم لتمكين أو تعطيل الإرسال. عندما تكون قيمة الإدخال false، لا يرسل البلوك بيانات.Data— الحمولة التي تُرسل. يقبل أرقامًا، نصوصًا، قوائم، قيم منطقية أو قيم شبيهة بالبايت حسب الضبط المختار.ConnId— معرف الاتصال التسلسلي المراد استخدامه. زود القيمة التي تُنتجها كتلة إدارة الاتصالات (connection manager).
📤 المخرجات
هذا البلوك لا يُنتج مخرجات.
🕹️ عناصر التحكم
Data Type— اختر كيفية تحويلDataقبل الإرسال. الخيارات الشائعة تشمل string، integer، float، boolean، وصيغ byte/hex.Line ending— اختر تسلسل نهاية سطر يضاف إلى الحمولة (مثل LF، CRLF، CR أو none).Send policy— اختر متى يتم الإرسال:On changeيرسل فقط عندما تختلف الحمولة النهائية عن آخر حمولة مرسلة.Alwaysيرسل في كل مرة يتم فيها تقييم البلوك وتمكينه.
🎨 الميزات
تحويل نوع البيانات للصيغ الشائعة حتى تتمكن من إدخال قيم مقروءة للبشر والبلاك يتحول لها إلى تسلسل البايت المناسب.
إمكانية ضبط نهاية السطر لتطابق توقعات الجهاز المستلم.
سياسة إرسال لتجنب تكرار رسائل متطابقة عندما لا يكون ذلك ضروريًا.
سلوك كتابة غير حابس بحيث يستمر تدفق النظام أثناء إرسال البيانات.
يعمل مع كتل مدير الاتصال الخارجية التي تزود قيم
ConnId.
📊 آلية التشغيل
عند تقييم البلوك:
إذا كان إدخال
Enableغير نشط أو فارغ، لا يُرسل شيء.إذا وُجدت قيم صالحة في
DataوConnId، يقوم البلوك بتحويلDataوفقًا لـData Typeالمختار ويضيفLine endingالمحدد.إذا كانت سياسة الإرسال
On change، يقارن البلوك الحمولة المُحضرة بالحمولة السابقة ويتخطى الإرسال إذا كانت متطابقة.تُرسل الحمولة البايتية المحضرة إلى الاتصال التسلسلي المشار إليه بـ
ConnIdدون حجب بقية النظام.
📝 تعليمات الاستخدام
أنشئ أو اختر اتصالًا تسلسليًا وسجل معرف الاتصال (connection id).
زود ذلك المعرف إلى مدخل
ConnId.أدخل القيمة التي تريد إرسالها إلى مدخل
Data.اضبط تحكم
Data Typeليتوافق مع بياناتك (مثلاً استخدمHexBytesلسلاسل hex أوBytesلقوائم البايت الخام).اختر
Line endingالمطلوب إذا كان الجهاز المستقبل يتوقع نهاية سطر.استخدم
Send policyلتجنب التكرارات غير الضرورية عند بث قيم ثابتة.قم بتبديل
Enableلبدء أو إيقاف الإرسال.
💡 نصائح وحيل
اجمعه مع كتل
Serial Connect/ مديري الاتصال للحصول على قيمConnIdوإدارتها.استخدم كتل
String InputأوNumber Inputلتحضير والتحقق منDataقبل الإرسال.قم بتهيئة الحمولات المعقدة مسبقًا باستخدام
String MergeأوData to JSONعند الحاجة إلى سلاسل منظمة (مثل رسائل JSON).لإضافة سجل أو تصدير للبيانات المرسلة، أضف
CSV ExportأوImage Logger(لسجلات مرئية) بعد البلوك في التدفق.للإرسال المشروط بناءً على منطق، ادمجه مع
Logic Input،And،Or، أوGreaterلبوابة الإرسال.لجسور البروتوكول، أقرنه مع
MQTT PublishأوREST API - Postلإعادة توجيه بيانات السيريال إلى خدمات الشبكة.استخدم
Debug Inputلفحص الحمولات الصادرة أثناء التطوير.
🛠️ استكشاف الأخطاء وإصلاحها
لا يُرسل شيء: تحقق أن
Enableمفعل، وأنDataغير فارغ، وConnIdيشير إلى اتصال نشط.الجهاز المستقبل يتجاهل الرسائل: تحقق
Line endingجرب خيارات مختلفة (LF، CRLF، CR أو none).الرسائل المتطابقة لا تُرسل عندما تتوقع ذلك: تأكد أن
Send policyمضبوطة علىAlwaysإذا كنت بحاجة لإرسال متكرر.بايتات غير متوقعة على السلك: تأكد أن
Data Typeيطابق شكل القيمة التي تزودها (مثلاً استخدمHexBytesلسلاسل hex أوBytesلقوائم رقمية).
آخر تحديث