الوظائف الرياضية
الحسابات والخوارزميات
من الجمع البسيط إلى المعادلات المعقدة، تقوم الوظائف الرياضية بتحويل بياناتك الخام إلى معلومات قابلة للاستخدام للتحكم في عملياتك.
ما هي الوظائف الرياضية في TIA Portal؟
تسمح الوظائف الرياضية في TIA Portal بإجراء حسابات حسابية ومثلثية ولوغاريتمية على أنواع مختلفة من البيانات (أعداد صحيحة، حقيقية). وهي ضرورية لمعايرة الحساسات، حساب المسارات أو تنظيم حلقات PID.
يتميز TIA Portal بتعليمة CALCULATE، التي تسمح بكتابة تعبير معقد (مثلاً: (in1 + in2) * in3 / in4) في قالب واحد، مما يحسن القراءة مقارنة بسلسلة من قوالب ADD/MUL المنفردة.
الحساب الأساسي
العمليات الجوهرية لمعالجة البيانات
CALCULATE — حساب
CALCماذا يفعل
يسمح بتعريف تعبير رياضي حر يجمع بين عدة مداخل (IN1...INn). تقوم بإدخال الصيغة ويقوم TIA Portal بتوليد الأطراف المقابلة.
متى تستخدمه
بمجرد أن يتطلب الحساب أكثر من خطوتين. مثالي لحسابات التدفق، الحجم أو أي صيغة فيزيائية معقدة.
نصائح الخبراء
يمكنك استخدام دوال مثل ABS، SQRT أو SIN مباشرة داخل تعبير CALCULATE.
تحقق دائماً من نوع بيانات المخرج (OUT) لتجنب تجاوز السعة (Overflow).
في SCL، هو المعادل الطبيعي للإسناد المباشر: out := (in1 + in2) * in3;
ADD / SUB / MUL / DIV
+ماذا تفعل
التعليمات الحسابية القياسية: الجمع، الطرح، الضرب والقسمة.
متى تستخدمها
للعمليات البسيطة والسريعة بين قيمتين.
نصائح الخبراء
في القسمة (DIV)، استخدم دائماً اختبار |OK| أو تحقق من أن القاسم ليس صفراً لتجنب توقف CPU.
يمكن لتعليمة ADD قبول أكثر من مدخلين بالنقر على الأيقونة الصفراء في القالب.
بالنسبة للأعداد الصحيحة، ترجع DIV ناتج القسمة الصحيح. استخدم MOD للباقي.
MOD — باقي القسمة
MODماذا يفعل
يرجع باقي القسمة الصحيحة بين IN1 و IN2.
متى تستخدمه
إدارة المخازن المؤقتة الدائرية، تناوب الدورات (مثل المضخات 1 و 2)، أو تحويل الوحدات (مثل الثواني إلى دقائق/ثواني).
نصائح الخبراء
مفيد جداً لتشغيل إجراء كل 'N' دورة.
متاح فقط لأنواع البيانات الصحيحة (Int، DInt، إلخ).
SCL: remainder := value1 MOD value2;
الإشارة والزيادة
إدارة الإشارة والعمليات الأحادية السريعة
INC / DEC — زيادة / نقصان
++ماذا يفعل
يضيف أو يطرح 1 من المتغير المحدد (في InOut).
متى تستخدمه
عدادات القطع البسيطة، فهارس الحلقات، إدارة الطوابير.
نصائح الخبراء
أسرع في الكتابة من قالب ADD أو SUB كامل.
انتبه لنوع البيانات: الزيادة على نوع Int عند 32767 ستنتقل إلى -32768.
في SCL: i := i + 1; أو INC(i);
ABS — القيمة المطلقة
ABSماذا يفعل
يرجع القيمة الموجبة للعدد، سواء كان موجباً أو سالباً في الأصل.
متى تستخدمه
حساب الفرق بين القياس والقيمة المستهدفة، قياس المسافة، حساب خطأ PID.
نصائح الخبراء
ضروري لحساب الخطأ المطلق (|القيمة المستهدفة - القياس|).
يدعم الأعداد الصحيحة والحقيقية.
SCL: positiveVal := ABS(originalVal);
الأدنى / الأعلى / الحد
اختيار وحصر القيم
MIN / MAX — الأدنى / الأعلى
MINماذا يفعل
يقارن N من القيم ويرجع الأصغر (MIN) أو الأكبر (MAX).
متى تستخدمه
اختيار أعلى درجة حرارة من بين عدة حساسات، تحديد السرعة الدنيا المسموح بها.
نصائح الخبراء
يمكنك إضافة أكبر عدد تحتاجه من المداخل للقالب.
مفيد جداً لتشخيص الحساسات المتعددة.
SCL: peakValue := MAX(val1, val2, val3);
LIMIT — تحديد الحد
LIMITماذا يفعل
يحصر قيمة المدخل (IN) بين حد أدنى (MN) وحد أقصى (MX).
متى تستخدمه
السلامة في المخارج التناظرية (مثلاً: منع صمام من الانفتاح أكثر من 80%)، تقييد القيم المدخلة من قبل المستخدم.
نصائح الخبراء
يحل محل مزيج من MIN و MAX بشكل أفضل.
إذا كان MN > MX، يعتمد المخرج على نوع CPU، ولكن عادة يتم أخذ MX.
SCL: safeVal := LIMIT(MN:=0.0, IN:=rawVal, MX:=100.0);
القوى والجذور
الحسابات الأسية والجذرية
SQRT / SQR / EXPT
SQRTماذا تفعل
SQRT (الجذر التربيعي)، SQR (التربيع)، EXPT (القوة المخصصة).
متى تستخدمها
حسابات الهندسة، تحويل الإشارات غير الخطية، فيزياء السوائل.
نصائح الخبراء
الجذر التربيعي لعدد سالب يعطي NaN. اختبر المدخل دائماً أو استخدم ABS.
تستهلك EXPT الكثير من دورات CPU، استخدم SQR للتربيع البسيط.
SCL: area := 3.14 * SQR(radius);
المثلثات
حسابات الزوايا والدوران
SIN / COS / TAN / ASIN...
SINماذا تفعل
الحسابات المثلثية القياسية ومعكوساتها (arcsin، arccos، arctan). الزوايا دائماً بالراديان (RADIANS).
متى تستخدمها
حركية الروبوتات، حسابات التموضع الزاوي، معالجة الإشارات المتذبذبة.
نصائح الخبراء
لتحويل الدرجات إلى راديان: الراديان = الدرجات * (PI / 180).
TAN(PI/2) تؤول إلى ما لا نهاية، راقب مدخلاتك.
استخدم الثوابت النظامية لـ PI لضمان الدقة.
وظائف متقدمة
اللوغاريتمات والأجزاء الكسرية
LN / EXP / FRAC
LNماذا تفعل
LN (اللوغاريتم الطبيعي)، EXP (الأس e^x)، FRAC (يستخرج الجزء العشري).
متى تستخدمها
نمذجة العمليات الكيميائية، النمو الأسي، أو فصل الوحدات (FRAC).
نصائح الخبراء
FRAC(12.34) ترجع 0.34. عملية جداً لحسابات الدقة الزمنية.
EXP هي المعكوس الدقيق لـ LN.
SCL: fraction := FRAC(totalValue);
مقارنة طرق الحساب
LAD مقابل SCL — أي طريقة تختار؟
| نوع الحساب | الطريقة الموصى بها | لماذا؟ |
|---|---|---|
| جمع بسيط | قالب ADD (LAD) | مرئي وسهل المتابعة |
| صيغة معقدة | قالب CALCULATE | موجز ويقلل عدد الشبكات |
| خوارزمية رياضية | لغة SCL | بنية قريبة من C/Pascal، مثالية للصيغ |
| حساب مثلثي | SCL أو CALCULATE | القوالب المنفردة تأخذ مساحة كبيرة |
| حصر الإشارة | قالب LIMIT | معيار سيمنز، قوي جداً |
| إعادة ضبط الفهرس | تعليم INC/DEC | سريع جداً في التنفيذ |
الأسئلة الشائعة
ما هي ميزة CALCULATE مقارنة بعدة قوالب ADD/MUL؟
تقلل CALCULATE بشكل كبير من المساحة المشغولة في البرنامج. بدلاً من 5 شبكات مع متغيرات مؤقتة وسيطة، لديك قالب واحد بصيغة مقروءة. كما أنها أسهل في الصيانة إذا تغيرت الصيغة.
كيف يتعامل TIA Portal مع أخطاء الحساب (مثل القسمة على صفر)؟
في S7-1200/1500، لا يؤدي الخطأ الرياضي بالضرورة لتوقف CPU، ولكن النتيجة تصبح NaN. من الضروري استخدام تعليمة |OK| بعد حساب حساس للتحقق من النتيجة قبل استخدامها.
هل الدوال المثلثية تستخدم الدرجات أم الراديان؟
جميع الدوال (SIN، COS، TAN، إلخ) تستخدم الراديان (RADIANS) حصرياً. إذا كانت واجهة المستخدم الخاصة بك توفر درجات، فيجب ضرب القيمة في 0.01745329 (PI/180) قبل إدخالها في القالب.
هل يمكنني إجراء حسابات على 64 بت (LReal)؟
نعم، تدعم أجهزة S7-1500 نوع LReal (Long Real) بشكل طبيعي لزيادة الدقة. معظم الوظائف الرياضية تقبل هذا النوع.