عمليات التحويل
القياس والأنواع
تحويل البيانات هو الجسر بين العالم المادي والكود الرقمي. أتقن قياس الإشارات التناظرية وتحويل أنواع البيانات.
ما هي عمليات التحويل في TIA Portal؟
تسمح عمليات التحويل بتحويل قيمة من نوع بيانات إلى آخر (مثلاً: من عدد صحيح إلى عدد حقيقي) أو التلاعب بدقة الأرقام العائمة. وهي تشمل أيضاً أدوات التطبيع والقياس، الضرورية لمعالجة الإشارات التناظرية من الحساسات الصناعية.
يوفر TIA Portal تعليمات حديثة وعالية الأداء مثل SCALE_X و NORM_X التي تحل محل قوالب SCALE/UNSCALE القديمة لأنظمة S7-300، مما يوفر مرونة أكبر ودقة رياضية أفضل.
تحويل النوع
تحويل وتقريب التنسيقات الرقمية
CONVERT — تحويل القيمة
CONVماذا يفعل
يحول قيمة من نوع بيانات المصدر إلى نوع بيانات الوجهة. يدير التحويلات بين الأعداد الصحيحة، الحقيقية، الحروف، الوقت والسلاسل النصية.
متى تستخدمه
تحضير عدد صحيح لحساب رياضي معقد بتحويله إلى Real، أو تحويل كود خطأ إلى String للعرض على الشاشة.
نصائح الخبراء
في LAD، انقر على أنواع بيانات القالب لاختيار المصدر والوجهة.
في SCL: myReal := INT_TO_REAL(myInt);
احذر من فقدان الدقة عند التحويل من أنواع كبيرة إلى أنواع أقصر.
ROUND / TRUNC
ROUNDماذا تفعل
يقوم ROUND بتقريب رقم عائم إلى أقرب عدد صحيح. يقوم TRUNC ببساطة بحذف الجزء العشري (البتر).
متى تستخدمها
عرض قياس فيزيائي كعدد صحيح بسيط، أو تحويل نتيجة حساب Real إلى فهرس مصفوفة (Int).
نصائح الخبراء
إذا كان الجزء العشري بالضبط .5، يقوم ROUND بالتقريب إلى أقرب عدد زوجي (معيار IEC).
يفضل TRUNC إذا كنت تريد فقط تجاهل العشريات بدون حساب تقريب.
كلاهما يقبل Real/LReal ويرجعان عادة DInt.
CEIL / FLOOR
CEILماذا تفعل
يولد CEIL (السقف) العدد الصحيح الأعلى أو المساوي. يولد FLOOR (الأرضية) العدد الصحيح الأدنى أو المساوي.
متى تستخدمها
حساب عدد الصناديق المطلوبة (التقريب دائماً للأعلى مع CEIL).
نصائح الخبراء
CEIL(10.1) = 11 ; FLOOR(10.9) = 10.
ضروري لخوارزميات التعبئة والخدمات اللوجستية.
مفيد جداً لضمان بقاء القيمة ضمن حدود صحيحة صارمة.
القياس (Scaling)
معالجة الإشارات التناظرية والكميات الفيزيائية
NORM_X — تطبيع (Normalize)
NORM_Xماذا يفعل
يحول قيمة تقع في نطاق [MIN..MAX] إلى قيمة مطبعة بين 0.0 و 1.0. هي الخطوة الأولى في المعالجة التناظرية.
متى تستخدمه
قراءة دخل تناظري خام (مثلاً: 0-27648) وتحويله إلى نسبة مئوية (0.0-1.0).
نصائح الخبراء
عادة ما يتبعه مباشرة قالب SCALE_X.
إذا تجاوز الدخل الحدود، سيخرج المخرج عن 0.0 أو 1.0 (مع الحفاظ على الخطية).
تأكد من أن MIN تختلف عن MAX لتجنب القسمة على صفر.
SCALE_X — قياس (Scale)
SCALE_Xماذا يفعل
يأخذ قيمة مطبعة [0.0..1.0] ويسقطها على نطاق فيزيائي محدد بـ MIN و MAX (مثلاً: 0-100 درجة مئوية).
متى تستخدمه
تحويل نتيجة NORM_X إلى وحدة هندسية مقروءة من قبل المشغل.
نصائح الخبراء
الجمع بين NORM_X + SCALE_X هو الطريقة القياسية الحديثة في سيمنز للقياس التناظري.
يسمح بتغيير نطاق الحساس بسهولة بدون تعديل البرنامج كاملاً.
يمكن استخدامه أيضاً للعكس: إرسال قيمة فيزيائية إلى مخرج تناظري.
تعليمات Legacy
التوافق مع S7-300 (FC105 / FC106)
SCALE / UNSCALE
ماذا يفعل
قوالب قديمة تقوم بالتحويل المباشر بين القيمة الصحيحة التناظرية والقيمة الحقيقية الفيزيائية في خطوة واحدة.
متى تستخدمه
فقط عند صيانة البرامج المهاجرة من Step 7 Classic.
نصائح الخبراء
SCALE يقابل FC105 في المكتبة القديمة.
يستخدم معامل BIPOLAR لإدارة الإشارات السالبة (مثلاً: +/- 10 فولت).
يفضل دائماً NORM_X/SCALE_X للمشاريع الجديدة على S7-1200/1500.
مقارنة طرق التحويل
اختيار التعليمة المناسبة حسب حاجتك
| تريد... | التعليمة الموصى بها | مثال |
|---|---|---|
| تغيير النوع (Int -> Real) | CONVERT | حساب دقيق مع عداد |
| حذف العشريات | TRUNC | عرض حرارة مبسط |
| التقريب الرياضي | ROUND | حساب قطع إحصائي |
| معالجة حساس 4-20mA | NORM_X + SCALE_X | حساس ضغط 0-16 بار |
| التقريب للأعلى للسلامة | CEIL | حساب عدد المنصات |
| كود S7-300 قديم | SCALE (FC105) | هجرة مشروع ماكينة |
الأسئلة الشائعة
لماذا نستخدم NORM_X و SCALE_X بدلاً من قالب واحد؟
هذا الفصل يسمح بمرونة أكبر. يمكنك مثلاً تصفية أو حصر القيمة المطبعة قبل قياسها، أو استخدام نفس القيمة لعدة مقاييس مختلفة.
ما هي قيمة الدخل القياسية لدخل تناظري من سيمنز؟
لمعظم وحدات سيمنز، النطاق الرقمي هو 0 إلى 27648 للإشارة أحادية القطب (0-10 فولت أو 4-20 مللي أمبير).
كيف أحول رقماً إلى سلسلة نصية (String)؟
تعليمة CONVERT تدعم التحويل إلى String. لمزيد من التحكم في التنسيق، استخدم تعليمة VAL_STRG.
ما الفرق بين ROUND و TRUNC؟
ROUND يقرب لأقرب عدد صحيح (10.6 تصبح 11)، بينما TRUNC يقص العشريات (10.6 تصبح 10).