تعليمات TIA Portal

التحكم في البرنامج
التدفق والتنفيذ

أتقن التدفق المنطقي لبرنامجك. من القفزات المشروطة إلى أدوات التشخيص في الوقت الفعلي، قم بتحسين بنية تنفيذ المتحكم الخاص بك.

ما هي عمليات التحكم في البرنامج في TIA Portal؟

تسمح عمليات التحكم في البرنامج بتعديل الترتيب التسلسلي لتنفيذ الشبكات. يتم استخدامها لتجاوز أجزاء من الكود (القفزات)، أو إنشاء تفرعات معقدة (الموزعات)، أو إدارة السلوك الداخلي لوحدة المعالجة المركزية (التوقف، Watchdog، قياس الوقت).

هذه التعليمات قوية ولكن يجب استخدامها بحذر، وخاصة تعليمة WAIT التي توقف الدورة تماماً، أو القفزات التي قد تجعل استكشاف أخطاء البرنامج صعباً إذا كانت عديدة جداً. يوفر TIA Portal أيضاً أدوات حديثة لاعتراض الأخطاء محلياً في كل قالب.

القفزات والتدفق

تعليمات إعادة توجيه البرنامج

JMP / JMPN — القفز المشروط

JMP

ماذا يفعل

يقطع JMP التنفيذ التسلسلي ويقفز إلى تسمية (LABEL) إذا كان RLO يساوي 1. يقوم JMPN بنفس الشيء إذا كان RLO يساوي 0.

متى تستخدمه

تجاوز قسم من الكود لا ينبغي تنفيذه في وضع معين، أو إنشاء حلقات بسيطة في LAD/FBD.

نصائح الخبراء

يجب أن تكون وجهة القفز (LABEL) داخل نفس القالب (FC أو FB).

لا تستخدم القفزات للخلف لإنشاء حلقات بدون شرط خروج، لأنك تخاطر بتجاوز وقت الدورة.

في SCL، استخدم هياكل IF...THEN أو CASE...OF بدلاً من ذلك.

SWITCH — موزع متعدد الحالات

SWITCH

ماذا يفعل

يقارن قيمة الإدخال بعدة قيم مستهدفة ويقفز إلى الشبكة المقابلة للحالة الأولى المتحققة. المعادل الرسومي لـ Switch/Case.

متى تستخدمه

إدارة حالات الآلة (Grafcet بسيط)، اختيار أوضاع التشغيل، أو توجيه القطع وفقاً لكود النوع.

نصائح الخبراء

أكثر ترتيباً ووضوحاً من سلسلة من مقارنات == المتصلة على التوالي.

استخدم إدخال 'ELSE' للتعامل مع الحالات التي لا تتطابق فيها أي قيمة.

مثالي لهياكل القوائم على واجهة المستخدم (HMI).

RET — عودة

RET

ماذا يفعل

يفرض إنهاء تنفيذ القالب الحالي (FC/FB) والعودة إلى القالب المستدعي.

متى تستخدمه

الإنهاء المبكر لوظيفة إذا تم اكتشاف خطأ في بداية القالب، أو إذا لم يتم استيفاء شرط السلامة.

نصائح الخبراء

مفيد لتحسين وقت الدورة عن طريق عدم معالجة بقية الكود دون داعٍ.

كن يقظاً: ستحتفظ مخرجات القالب التي لم تتم معالجتها بعد بحالتها الأخيرة.

في SCL، استخدم تعليمة RETURN;

التحكم في وقت التشغيل

إدارة دورة وحدة المعالجة المركزية وقياسات الأداء

RUNTIME — قياس الوقت

RUNTIME

ماذا يفعل

يقيس وقت تنفيذ جزء من البرنامج أو القالب بالكامل بالميكروثانية (µs).

متى تستخدمه

تحسين الكود، تشخيص الشبكات الثقيلة، أو حسابات أداء الآلة.

نصائح الخبراء

استدعِ RUNTIME مرة واحدة لتهيئة القياس، ثم مرة ثانية للحصول على النتيجة.

استخدم نوع البيانات LReal لتخزين نتيجة القياس.

مفيد للتحقق مما إذا كانت حلقة FOR المعقدة تقترب من حدود Watchdog.

WAIT — تأخير ثابت

WAIT

ماذا يفعل

يوقف تنفيذ البرنامج لفترة زمنية محددة بالميكروثانية. تحذير: على عكس المؤقت، يقوم WAIT بإيقاف دورة وحدة المعالجة المركزية تماماً.

متى تستخدمه

الانتظار لبضع ميكروثوانٍ لتثبيت إشارة إلكترونية على بطاقة إدخال/إخراج فائقة السرعة.

نصائح الخبراء

يُستخدم بحذر شديد. سيؤدي انتظار طويل جداً إلى حدوث خطأ Watchdog وإيقاف PLC.

لا تستخدمه أبداً لتأخيرات العمليات (ثوانٍ/دقائق)؛ استخدم مؤقتات TON لذلك.

متوفر فقط في S7-1500.

STP — إيقاف وحدة المعالجة المركزية

STP

ماذا يفعل

يفرض انتقال وحدة المعالجة المركزية إلى وضع STOP.

متى تستخدمه

حالة خطأ فادحة حيث لا ينبغي التحكم في الآلة بعد الآن، أو اختبار تشخيصي.

نصائح الخبراء

التوقف فوري. سيتطلب الأمر تدخلاً يدوياً (HMI أو مفتاح) لإعادة التشغيل.

يفضل إدارة الإنذارات مع وضع آمن بدلاً من الإيقاف المفاجئ لوحدة المعالجة المركزية كلما أمكن ذلك.

مفيد في مشاريع التشغيل لعمل 'توقف' عند نقطة محددة.

معالجة الأخطاء

الاعتراض المحلي لأخطاء التنفيذ

GET_ERROR / GET_ERR_ID

ماذا تفعل

تسترجع معلومات حول الخطأ الأول الذي حدث داخل القالب (مثل الوصول إلى فهرس مصفوفة غير موجود).

متى تستخدمه

جعل قوالبك قوية من خلال اعتراض أخطاء البرمجة دون إيقاف PLC.

نصائح الخبراء

يوفر GET_ERROR هيكلاً مفصلاً، بينما يرجع GET_ERR_ID رقم الخطأ فقط.

ضع هذه التعليمات في نهاية قوالبك الحرجة.

يسمح بإنشاء سجل أخطاء مخصص.

القفزات مقابل هياكل التحكم

أي طريقة تستخدم لإعادة توجيه البرنامج؟

أنت بحاجة إلى...التعليمة الموصى بهالماذا؟
قفزة بسيطة في LadderJMPتجاوز شبكة
اختيار متعدد معقدSWITCH / CASEأكثر قابلية للقراءة من 10 قفزات
قياس مدة داخليةRUNTIMEتحسين الأداء
توقف فوريSTPخطأ فادح في الأجهزة
انتظار قصير جداًWAITتثبيت إلكتروني
تشخيص محليGET_ERRORتجنب توقف وحدة المعالجة المركزية

الأسئلة الشائعة

ما الفرق بين JMP و JMP_LIST؟

JMP هو قفزة واحدة إلى هدف. يسمح JMP_LIST بتعريف قائمة من الوجهات. بناءً على فهرس رقمي، يقفز البرنامج إلى التسمية الأولى أو الثانية أو النونية في القائمة.

هل تعليمة WAIT خطيرة؟

نعم، إذا أُسيء استخدامها. فهي توقف تنفيذ البرنامج بالكامل. إذا تجاوز مجموع فترات الانتظار والكود وقت Watchdog (غالباً 150ms)، ستنتقل وحدة المعالجة المركزية إلى وضع STOP.

كيف يتم قياس إجمالي وقت دورة PLC؟

لا تحتاج لتعليمة RUNTIME لذلك. يمكنك قراءة المعلومة مباشرة في خصائص وحدة المعالجة المركزية عبر الإنترنت، أو استخدام متغيرات النظام في OB1.

أين توضع تسميات القفز LABEL؟

يمكن وضع LABEL في بداية أي شبكة. في LAD، تظهر فوق الخط الأيسر. يجب أن يكون اسم التسمية فريداً داخل القالب.

أتمتة هياكل التحكم الخاصة بك

صف منطق القفز الخاص بك أو احتياجاتك التشخيصية، وسيقوم T-IA Connect بتوليد شبكات JMP و SWITCH المحسنة لتطبيقك.