08البيانات والمتغيرات
التحويل بين الأنواع وتحجيم إشارة 4-20 مللي أمبير
الدوال INT_TO_REAL و TRUNC و ROUND، والمعادلة التي تحوّل العدد الخام من بطاقة المداخل إلى وحدة هندسية.
لماذا نحتاج التحويل
بطاقة المداخل التناظرية لا تعطيك «73.4 بالمئة»، بل تعطيك عدداً خاماً: مثلاً 0…27648 في Siemens، أو 0…32767 في بطاقات أخرى. وظيفتك أن تحوّله إلى وحدة يفهمها المشغّل.
التحويل الصريح
المعيار يطلب تحويلاً صريحاً بين الأنواع المختلفة:
Scaled := INT_TO_REAL(Raw);
Steps := REAL_TO_INT(Position); (* يقرّب إلى الأقرب *)
Whole := TRUNC(Position); (* يقطع الكسر *)انتبه: TRUNC(3.9) تساوي 3، بينما REAL_TO_INT(3.9) تساوي 4. الفرق سبب شائع لخطأ خطوة واحدة في المواضع.
الفخ الكلاسيكي: القسمة الصحيحة
Percent := Raw / 27648 * 100; (* خطأ: النتيجة صفر *)لأن Raw و 27648 عددان صحيحان، فالقسمة صحيحة والنتيجة 0 قبل الضرب. الحل: حوّل أولاً، أو اكتب الثوابت بصيغة حقيقية:
Percent := INT_TO_REAL(Raw) / 27648.0 * 100.0; (* صحيح *)معادلة التحجيم
لأي مدى خام [RawLo…RawHi] ومدى هندسي [EngLo…EngHi]:
Eng := (INT_TO_REAL(Raw) - RawLo) / (RawHi - RawLo) * (EngHi - EngLo) + EngLo;مثال: مرسل مستوى 4-20 مللي أمبير يقابل 0-5 أمتار، والبطاقة تعطي 0…27648 لـ 0…20 مللي أمبير. عند 4 مللي أمبير يكون الخام 5530 تقريباً، فتصبح:
Meters := (INT_TO_REAL(Raw) - 5530.0) / (27648.0 - 5530.0) * 5.0;لا تنسَ التقييد
الحساسات تخرج عن مداها. قيّد النتيجة حتى لا تُظهر للمشغّل «-3 أمتار»:
Meters := LIMIT(0.0, Meters, 5.0);ومن الأفضل أن تعرف لماذا خرجت القيمة: أقل من 3.6 مللي أمبير أو أكثر من 21 مللي أمبير تعني عطل حساس حسب NAMUR NE43، وهذا موضوع الدرس 27.
أداة جاهزة
في ورشة هذا الموقع حاسبة 4-20 مللي أمبير والحلقة: تدخل المدى والتيار فتعطيك الوحدة الهندسية وميزانية جهد الحلقة.
جرّبه في المختبر
المختبر يعمل في متصفحك: محرر ST، وعملية افتراضية تناسب الدرس، ونفس البرنامج كمخطط Ladder حي، وجدول مراقبة، وتصدير إلى Siemens SCL.
ماذا تجرّب
- شغّل البرنامج واضغط START، وراقب mA و Raw و Meters في جدول المراقبة وهي تتبع المستوى.
- عند مستوى 50% يجب أن ترى 12 mA و 13824 و 2.5 m.
- غيّر EngHi إلى 10.0 وأعد التحميل: القراءة بالمتر تتضاعف، والمضخة تتوقف أبكر بنفس الحد 4.5.
مصطلحات هذا الدرس
يبحث الناس عن هذا الدرس بـ
تحجيم 4-20 مللي امبيرscaling 4-20ma plcINT_TO_REALTRUNC ROUND في STتحويل الانواع PLCraw counts to engineering unitsمعادلة التحجيم
محتوى الدورة
- 01ما هي لغة ST؟ ومتى تستخدمها بدل Ladder
- 02كيف يشتغل الـ PLC: دورة المسح وصورة المداخل والمخارج
- 03هيكل البرنامج: POU و PROGRAM و FUNCTION و FUNCTION_BLOCK
- 04أول برنامج: تشغيل مضخة بالإمساك الذاتي (Seal-in)
- 05أنواع البيانات: BOOL و INT و REAL و TIME وغيرها
- 06التصريح عن المتغيرات: VAR و VAR_INPUT و RETAIN
- 07القيم الحرفية والثوابت: 16#FF و 2#1010 و T#5s
- 08التحويل بين الأنواع وتحجيم إشارة 4-20 مللي أمبير
- 09الإسناد والحساب في ST: := وأولوية العمليات
- 10المنطق البولياني والمقارنات وعمليات البتات
- 11الدوال القياسية: ABS و SQRT و MIN و MAX و LIMIT و SEL و MUX
- 12الشرط IF و ELSIF و ELSE: القواعد ومتى تتجنبه
- 13التعليمة CASE وأول آلة حالات
- 14حلقة FOR والحارس Watchdog
- 15WHILE و REPEAT و EXIT و CONTINUE و RETURN
- 16كشف الحافة: R_TRIG و F_TRIG ومشكلة «نفّذ في كل مسح»
- 17المؤقتات: TON و TOF و TP
- 18العدّادات: CTU و CTD و CTUD
- 19القلّابات: SR و RS ومن يغلب عند التعارض
- 20اكتب دالتك: FUNCTION وقيمة الإرجاع
- 21اكتب كتلتك الوظيفية: FUNCTION_BLOCK لمحرك
- 22المصفوفات: ARRAY وفلتر المتوسط المتحرك
- 23الأنواع المركّبة: STRUCT والتعدادات
- 24المراجع والمؤشرات: REF_TO و POINTER TO ولماذا تتجنبها
- 25آلة الحالات: تسلسل دفعة كامل بـ CASE لا يعلق أبداً
- 26إدارة الإنذارات على أصول ISA-18.2: تأخير، نطاق ميت، إقرار، وأول خروج
- 27معالجة الإشارة التناظرية: من العدّات إلى وحدة هندسية، و NE43، وفلتر EMA
- 28التحكم المغلق في ST: من التشغيل والإيقاف بفجوة إلى PID عملي
- 29تشغيل المحركات والصمامات: سماحيات، تشابيك، رجع تشغيل، وزمن حركة
- 30نفس الكود عند كل شركة: SCL و Studio 5000 و CODESYS و TwinCAT
- 31الاختبار وتصحيح الأخطاء: جدول المراقبة والفرض والمحاكاة
- 32دليل أسلوب ST: التسمية والتعليقات والثوابت وإدارة النسخ
- 33المشروع الختامي: محطة خزان كاملة بآلة حالات وإنذار وعدّ دفعات
- 3420 سؤال مقابلة في ST وبرمجة PLC بإجابات قصيرة