انتقل إلى المحتوى

11التعابير والعمليات

الدوال القياسية: ABS و SQRT و MIN و MAX و LIMIT و SEL و MUX

الدوال الجاهزة في IEC 61131-3 التي تغنيك عن كتابة شروط طويلة: القيمة المطلقة، الجذر، الحصر، الاختيار، والتقريب.

الدرس 11 من 3411 دقائقIEC 61131-3

دوال جاهزة في كل متحكم

المعيار يوفّر مكتبة دوال لا تحتاج لتعريفها ولا لاستيرادها. استخدامها أقصر وأوضح من كتابة IF طويلة، وأسرع في التنفيذ.

العددية

الدالة

العمل

مثال

ABS(x)

القيمة المطلقة

ABS(-7.5) تساوي 7.5

SQRT(x)

الجذر التربيعي

SQRT(16.0) تساوي 4.0

MIN(a, b)

الأصغر

MIN(80.0, Level)

MAX(a, b)

الأكبر

MAX(0.0, Level)

LIMIT(mn, x, mx)

حصر بين حدين

LIMIT(0.0, Level, 100.0)

لاحظ ترتيب وسائط LIMIT: الحد الأدنى أولاً، ثم القيمة، ثم الحد الأعلى. وهي تغني عن أربعة أسطر:

(* بدل هذا *)
IF Out > 100.0 THEN Out := 100.0;
ELSIF Out < 0.0 THEN Out := 0.0;
END_IF

(* اكتب هذا *)
Out := LIMIT(0.0, Out, 100.0);

SQRT مكانها الطبيعي في قياس التدفق: مُرسل التدفق بفرق الضغط يعطي إشارة متناسبة مع مربع التدفق، فالتدفق الحقيقي هو جذر القراءة.

Flow := FlowMax * SQRT(LIMIT(0.0, DP, 100.0) / 100.0);

انتبه: SQRT لعدد سالب خطأ تنفيذي. MAX(0.0, x) قبلها تحميك من ضجيج يجعل القراءة سالبة قليلاً.

دوال الاختيار

الدالة

العمل

SEL(G, IN0, IN1)

تعيد IN0 إذا كان G صفراً، و IN1 إذا كان واحداً

MUX(K, IN0, IN1, ... )

تعيد الوسيط رقم K

(* كود من شركة مصنّعة، لا يعمل في مختبر هذا الموقع *)
SetPoint := SEL(NightMode, 70.0, 40.0);
Recipe   := MUX(RecipeNo, 0.0, 25.0, 50.0, 75.0);

التحويل والتقريب

TRUNC تقطع الكسر، و ROUND (أو REAL_TO_INT في عدة شركات) تقرّب لأقرب عدد صحيح:

التعبير

النتيجة

TRUNC(7.8)

7

ROUND(7.8)

8

TRUNC(-7.8)

-7

عند إرسال قيمة إلى شاشة HMI بخانة عشرية واحدة، الحيلة المعتادة: Disp := ROUND(Level * 10.0); ثم تضع الشاشة الفاصلة.

كلمة عن دوال النصوص

عندما تبني رسالة أو رقم دفعة تحتاج دوال النصوص:

الدالة

العمل

LEN(s)

طول النص

CONCAT(a, b)

وصل نصين

FIND(a, b)

موضع b داخل a، وصفر إذا لم يوجد

LEFT RIGHT MID

أخذ جزء من النص

عمليات النصوص ثقيلة على المتحكم. اجعلها في مهمة بطيئة أو انقلها إلى الـ HMI أو الـ SCADA.

ما يعمل في المختبر

يعمل

لا يعمل

ABS MIN MAX LIMIT SQRT

SEL MUX TRUNC ROUND ودوال النصوص

برنامج هذا الدرس يستخدم الخمس المدعومة فقط. ما عداها معروض لتعرفه عندما تفتح بيئة المصنّع.

جرّبه في المختبر

المختبر يعمل في متصفحك: محرر ST، وعملية افتراضية تناسب الدرس، ونفس البرنامج كمخطط Ladder حي، وجدول مراقبة، وتصدير إلى Siemens SCL.

ماذا تجرّب

  1. شغّل البرنامج واضغط START وراقب Error و AbsError: الأول يتغير إشارته والثاني يبقى موجباً.
  2. المصباح يضيء عندما يقترب المستوى من 50% بأقل من 5.
  3. راقب Command: لا يتجاوز 100 ولا ينزل تحت 0 مهما كان الخطأ.
  4. غيّر SetPoint إلى 30.0 وأعد التحميل.

يبحث الناس عن هذا الدرس بـ

الدوال القياسية في STLIMIT في structured textMIN MAX في PLCABS SQRT PLCSEL و MUXTRUNC و ROUND في PLCدوال النصوص CONCAT LEN

محتوى الدورة

  1. 01ما هي لغة ST؟ ومتى تستخدمها بدل Ladder
  2. 02كيف يشتغل الـ PLC: دورة المسح وصورة المداخل والمخارج
  3. 03هيكل البرنامج: POU و PROGRAM و FUNCTION و FUNCTION_BLOCK
  4. 04أول برنامج: تشغيل مضخة بالإمساك الذاتي (Seal-in)
  5. 05أنواع البيانات: BOOL و INT و REAL و TIME وغيرها
  6. 06التصريح عن المتغيرات: VAR و VAR_INPUT و RETAIN
  7. 07القيم الحرفية والثوابت: 16#FF و 2#1010 و T#5s
  8. 08التحويل بين الأنواع وتحجيم إشارة 4-20 مللي أمبير
  9. 09الإسناد والحساب في ST: ‎:=‎ وأولوية العمليات
  10. 10المنطق البولياني والمقارنات وعمليات البتات
  11. 11الدوال القياسية: ABS و SQRT و MIN و MAX و LIMIT و SEL و MUX
  12. 12الشرط IF و ELSIF و ELSE: القواعد ومتى تتجنبه
  13. 13التعليمة CASE وأول آلة حالات
  14. 14حلقة FOR والحارس Watchdog
  15. 15WHILE و REPEAT و EXIT و CONTINUE و RETURN
  16. 16كشف الحافة: R_TRIG و F_TRIG ومشكلة «نفّذ في كل مسح»
  17. 17المؤقتات: TON و TOF و TP
  18. 18العدّادات: CTU و CTD و CTUD
  19. 19القلّابات: SR و RS ومن يغلب عند التعارض
  20. 20اكتب دالتك: FUNCTION وقيمة الإرجاع
  21. 21اكتب كتلتك الوظيفية: FUNCTION_BLOCK لمحرك
  22. 22المصفوفات: ARRAY وفلتر المتوسط المتحرك
  23. 23الأنواع المركّبة: STRUCT والتعدادات
  24. 24المراجع والمؤشرات: REF_TO و POINTER TO ولماذا تتجنبها
  25. 25آلة الحالات: تسلسل دفعة كامل بـ CASE لا يعلق أبداً
  26. 26إدارة الإنذارات على أصول ISA-18.2: تأخير، نطاق ميت، إقرار، وأول خروج
  27. 27معالجة الإشارة التناظرية: من العدّات إلى وحدة هندسية، و NE43، وفلتر EMA
  28. 28التحكم المغلق في ST: من التشغيل والإيقاف بفجوة إلى PID عملي
  29. 29تشغيل المحركات والصمامات: سماحيات، تشابيك، رجع تشغيل، وزمن حركة
  30. 30نفس الكود عند كل شركة: SCL و Studio 5000 و CODESYS و TwinCAT
  31. 31الاختبار وتصحيح الأخطاء: جدول المراقبة والفرض والمحاكاة
  32. 32دليل أسلوب ST: التسمية والتعليقات والثوابت وإدارة النسخ
  33. 33المشروع الختامي: محطة خزان كاملة بآلة حالات وإنذار وعدّ دفعات
  34. 3420 سؤال مقابلة في ST وبرمجة PLC بإجابات قصيرة