الـ String والنصوص
عمليات البيانات
عالج بيانات النصوص كالمحترفين. من توليد الملصقات الديناميكية إلى تحليل البروتوكولات، أتقن كل تعليمة معالجة string في الـ PLC الخاص بك.
لماذا تتم معالجة الـ strings في الـ PLC؟
بينما تم تصميم أجهزة الـ PLC بشكل أساسي للمنطق الثنائي والعددي، فإن عمليات الـ string ضرورية للواجهات الصناعية الحديثة. فهي تسمح بتوليد رسائل ديناميكية لأجهزة الـ HMI، وتحليل الـ barcodes أو رموز QR من الماسحات الضوئية، والتواصل مع أنظمة البرمجيات عبر بروتوكولات نصية منسقة.
يوفر TIA Portal مجموعة قوية من التعليمات لإدارة أنواع الـ STRING (ASCII) والـ WSTRING (Unicode)، مما يضمن قدرة آلتك على التواصل بوضوح بأي لغة.
الدمج والإدراج
بناء رسائل ديناميكية
CONCAT — دمج الـ Strings
CONCATماذا تفعل
يجمع بين اثنين أو أكثر من الـ strings في string مخرجة واحدة. يتم إلحاق الـ strings المصدر بالترتيب الذي تم تحديدها به.
متى تستخدمها
إنشاء رسالة حالة كاملة من بادئة واسم متغير، أو بناء سطر CSV للتسجيل.
نصائح للمحترفين
تحقق دائمًا من الطول الأقصى لـ string الوجهة لتجنب الاقتطاع.
في SCL، يمكنك استخدام عامل '+' لدمج أبسط إذا كان مدعومًا.
اجمع CONCAT مع أحرف المسافة لضمان مخرجات HMI قابلة للقراءة.
INSERT — إدراج في String
INSERTماذا تفعل
يدرج substring في string موجودة عند موضع حرف محدد (P).
متى تستخدمها
إضافة رموز الوحدات (مثل 'kg' أو '°C') داخل قالب نصي ديناميكي.
نصائح للمحترفين
إذا كانت P هي 0، يتم إدراج الـ string في البداية.
إذا كانت P أكبر من طول الـ string، يتم إلحاق الـ substring في النهاية.
مفيد للتنسيق الديناميكي لـ strings التاريخ/الوقت.
البحث والتعديل
تحليل بيانات النصوص
FIND — البحث عن Substring
FINDماذا تفعل
يبحث عن نمط معين داخل string ويعيد موضع البداية. يعيد 0 إذا لم يتم العثور عليه.
متى تستخدمها
تحديد موقع المحددات (مثل الفواصل أو الفواصل المنقوطة) في string مدخلات الماسح الضوئي.
نصائح للمحترفين
البحث حساس لحالة الأحرف. 'Error' تختلف عن 'error'.
استخدم الموضع المرتجع مباشرة في تعليمة MID لاستخراج البيانات.
في حلقة تكرارية، يمكنك العثور على تكرارات متعددة عن طريق تحديث الـ string البادئة.
REPLACE — استبدال جزء
REPLACEماذا تفعل
يستبدل عددًا محددًا من الأحرف بدءًا من الموضع P بـ substring جديد.
متى تستخدمها
تتحديث جزء متغير من رسالة ثابتة دون إعادة بناء الـ string بالكامل.
نصائح للمحترفين
لحذف أحرف دون إضافة أحرف جديدة، استخدم string فارغة كبديل.
يستخدم عادة لتبديل العناصر النائبة مثل {val} بقيم حقيقية.
كن حذرًا مع عدد الأحرف لتجنب إزاحة بقية النص بشكل غير متوقع.
التحويل والاستخراج
الربط بين الأرقام والنصوص
VAL_STRG / STRG_VAL — التحويل
VAL_STRGماذا تفعل
يحول القيم العددية (Int، Real) إلى String (VAL_STRG) أو يحلل الأرقام من String (STRG_VAL).
متى تستخدمها
عرض درجة حرارة Real في رسالة نصية مخصصة أو تحويل مدخلات منفذ تسلسلي إلى Integer.
نصائح للمحترفين
قم بتكوين مدخل FORMAT لتحديد المنازل العشرية وسلوك الإشارة.
STRG_VAL حساس لفاصل العشري (النقطة مقابل الفاصلة).
تحقق من مخرجات الحالة للتأكد من نجاح عملية التحويل.
LEFT / RIGHT / MID — استخراج
MIDماذا تفعل
يستخرج جزءًا من string من اليسار، اليمين، أو موضع وسطي محدد (MID).
متى تستخدمها
الحصول على بادئة من barcode أو استخراج قيمة بين قوسين.
نصائح للمحترفين
MID(IN, L, P) يستخرج L من الأحرف بدءًا من الموضع P.
إذا تجاوز L الأحرف المتاحة، فإن التعليمة تعيد كل شيء حتى النهاية.
ضروري لـ 'فك' البيانات من بروتوكولات تسلسلية لجهات خارجية.
STRING مقابل WSTRING
اختيار تنسيق النص الصحيح
| الخاصية | STRING | WSTRING |
|---|---|---|
| الترميز | ASCII / Extended ASCII | Unicode (UTF-16) |
| بايت لكل حرف | 1 Byte | 2 Bytes |
| الطول الأقصى | 254 حرفًا | 16382 حرفًا |
| الاستخدام | نص غربي قياسي | أحرف دولية / خاصة |
| تأثير الذاكرة | منخفض | عالي (مزدوج) |
| بادئة SCL | '' (علامات اقتباس مفردة) | W#'' |
الأسئلة المتكررة
ما هو الطول الأقصى لـ STRING في TIA Portal؟
يمكن لـ STRING قياسي استيعاب ما يصل إلى 254 حرفًا. إذا كنت بحاجة إلى المزيد، فيجب عليك استخدام نوع WSTRING الذي يمكنه التعامل مع ما يصل إلى 16,382 حرفًا في S7-1500.
لماذا يفشل تحويل VAL_STRG الخاص بي؟
السبب الأكثر شيوعًا هو عدم كفاية طول string الوجهة أو عدم التطابق في معامل FORMAT (على سبيل المثال، محاولة وضع قيمة REAL كبيرة في STRING صغير).
هل يمكنني استخدام strings في Data Blocks المحسنة؟
نعم، الـ strings مدعومة بالكامل في الـ DBs المحسنة. ومع ذلك، تذكر أنها تشغل دائمًا حجمها الأقصى المحدد في الذاكرة، بالإضافة إلى 2 بايت لرؤوس الطول.
كيف يتم مقارنة اثنين من الـ strings في SCL؟
يمكنك استخدام معاملات المقارنة القياسية (=، <>، <، >). يقوم TIA Portal بمقارنة الـ strings حرفًا بحرف بناءً على قيم ASCII/Unicode الخاصة بها.