محرر مخطط الوظيفة المتسلسلة (SFC)

نظرة عامة

Sequential Function Chart (SFC) ثالث اللغات الرسومية لـ IEC 61131-3 ويصف التتابعات الموجهة بالحالة عبر نموذج خطوة-انتقال — متعلق رسمياً بشبكات Petri. مخطط SFC يتألف من تتابع خطوات متصلة بـ انتقالات لها شروط. في أي لحظة تكون مجموعة فرعية من الخطوات نشطة؛ تُغادَر الخطوة عندما يصبح انتقالها الصادر TRUE.

SFC هي اللغة الطبيعية لـ التحكم المتسلسل، آلات الأوضاع، وعمليات الدفعات — أي شيء توصفه بـ “أولاً هذا، ثم ذاك، إلا عندما …”.

تخطيط المحرر

محرر SFC يتبع نفس مخطط الأجزاء الثلاثة لـ FBD و LD: شريط أدوات في الأعلى، QGraphicsView بشبكة + تكبير + تحريك، جدول متغيرات على اليمين. يقدم شريط الأدوات أدوات لكل نوع عنصر SFC.

أنواع العناصر

الخطوة

الخطوة هي صندوق مستطيل باسم. أثناء نشاطها، تعمل الأفعال المرتبطة بها.

  • الخطوة الأولية: نقطة دخول POU. تصبح نشطة عند بدء البرنامج. تُرسم بـ حد مزدوج في المحرر.
  • الخطوات اللاحقة: تُرسم بحد واحد. تصبح نشطة عندما يطلق الانتقال السابق.

المنافذ: أعلى (IN، من الانتقال السابق)، أسفل (OUT، إلى الانتقال التالي)، يمين (الاتصال بكتل الأفعال).

الانتقال

الانتقال هو شريط أفقي قصير على خط الاتصال العمودي بين خطوتين. على يمين الشريط يوجد الشرط — إما تعبير ST (مثل tmr.Q AND xReady) أو إخراج كتلة وظيفة.

عندما يصبح الشرط TRUE، تُلغى نشاط الخطوة السابقة وتصبح الخطوة التالية نشطة.

كتلة الفعل

كتلة الفعل تصف ما يحدث أثناء نشاط الخطوة. تتألف من خليتين: المؤهل على اليسار واسم الفعل على اليمين (مرجع إلى فعل ST أو متغير إخراج).

المؤهلالمعنى
Nغير مخزن — يعمل أثناء نشاط الخطوة (الافتراضي).
Pنبضة — يطلق مرة واحدة لدورة واحدة عند تنشيط الخطوة.
Sتعيين — يضبط ويبقى نشطاً عبر انتقالات الخطوات.
Rإعادة — يمسح فعلاً مضبوطاً سابقاً بـ S.
Lمحدود — يعمل لمدة المدة المعطاة كحد أقصى.
Dمؤجل — يبدأ فقط بعد التأخير المعطى.

يمكن إرساء عدة كتل أفعال بخطوة واحدة.

التفرع والتقارب

التفرع يقسم التتابع إلى مسارات متعددة، التقارب يجمعها ثانية. لـ SFC نوعان:

  • الاختيار (تفرع OR): مسار واحد بالضبط من المسارات يُدخل، حسب أي شرط انتقال يصبح TRUE أولاً. يُرسم كـ شريط أفقي مفرد.
  • متوازي (تفرع AND): كل المسارات تصبح نشطة في وقت واحد وتعمل بشكل مستقل. فقط عندما يصل كل واحد إلى نقطة التقارب يتقدم التتابع. يُرسم كـ شريط أفقي مزدوج.

القفز

عنصر القفز هو سهم نازل يحمل اسم الخطوة الهدف. ينقل التحكم من المسار الحالي إلى خطوة مسماة — يُستخدم عادة لـ “العودة إلى البداية” في نهاية تتابع، أو لمعالجة الأخطاء (“القفز إلى Step_Error”).

التطبيق

SFC يناسب كلما كان لبرنامج تتابع زمني واضح:

  • أوضاع الآلة — Init → Idle → Running → Cleanup → Idle.
  • عمليات الدفعات — Fill → Heat → Mix → Drain.
  • تتابعات السلامة — تنفيذ تتابعات الإيقاف بترتيب محدد (“أولاً السخان، ثم المضخة، ثم القاطع الرئيسي”).
  • الهندسة الإجرائية — خطوات تفاعل مع تأخيرات وشروط.

مقارنة بتنفيذ ST لنفس الوظيفة، نسخة SFC أكثر قابلية للقراءة بشكل ملحوظ — ترتيب الخطوات وشروط التفرع واضحة رسومياً، بينما في ST بنية CASE state OF تنقل نفس المعلومات بشكل غير مباشر فقط.

مواضيع ذات صلة

  • Function Block Diagram — للمنطق داخل فعل أو شرط انتقال.
  • Ladder Diagram — لغة رسومية بديلة لدوائر التشابك الأبسط.
  • المكتبة — المؤقتات (TON، TP) أجزاء شائعة من شروط الانتقال.