محرر مخطط كتل الوظائف (FBD)

نظرة عامة

Function Block Diagram (FBD) واحدة من اللغات الرسومية الثلاث لـ IEC 61131-3 المدعومة من ForgeIEC Studio. برنامج FBD يتألف من استدعاءات وظائف وكتل وظائف مربوطة معاً — وبمتغيرات الإدخال والإخراج — عبر اتصالات أسلاك صريحة. على عكس Ladder Diagram، ليس لـ FBD قضبان طاقة: كل اتصال هو سلك واحد يحمل دبوس إخراج واحد إلى دبوس إدخال أو أكثر.

تخطيط المحرر

محرر FBD واجهة من ثلاثة أجزاء:

+---------------------------------------------+
| Toolbar (Select | Wire | Block | Var | ...) |
+--------------------------------+------------+
|                                |            |
|       QGraphicsView            |  Variable  |
|       Grid + Zoom + Pan        |  table     |
|                                |  (right)   |
|                                |            |
+--------------------------------+------------+
  • شريط الأدوات في الأعلى: تبديل الأدوات (تحديد، سلك، وضع كتلة، وضع متغير إدخال/إخراج، تعليق، تكبير).
  • QGraphicsView: سطح الرسم بشبكة خلفية (10 px ثانوي، 50 px رئيسي) وتمرير بزر الفأرة الأوسط. عجلة الفأرة تكبّر حول المؤشر.
  • جدول المتغيرات على اليمين: قابل للإرساء، يُظهر المتغيرات المحلية لـ POU. السحب والإفلات من الجدول ينشئ عنصر متغير إدخال/إخراج في المحرر.

الأدوات

الأداةالتأثير
تحديداختيار، تحريك، حذف العناصر.
سلكانقر على منفذ إخراج، ثم انقر على منفذ إدخال — يُنشأ الاتصال.
وضع كتلةإفلات وظيفة أو كتلة وظيفة من المكتبة. تُؤخذ قائمة الدبابيس (المدخلات يساراً، المخرجات يميناً) من تعريف المكتبة.
InVar / OutVarوضع عنصر متغير إدخال أو إخراج. يُدخل الاسم عبر حوار وقد يكون متغيراً مؤهلاً لـ GVL أو Anvil أو Bellows.
تعليقملاحظة نص حر بدون تأثير دلالي.

الكتل والدبابيس

عنصر الكتلة يمثل استدعاء وظيفة (ADD، SEL، …) أو كتلة وظيفة (TON، CTU، …). يُظهر العنصر اسم النوع في الترويسة، وأسفله اسم النسخة (FB فقط)، وعلى الجانبين المنافذ:

        +---- TON -----+
        | tonA         |
   IN --| IN          Q|-- timeUp
   PT --| PT         ET|-- elapsed
        +--------------+

المدخلات دائماً على اليسار، والمخرجات دائماً على اليمين. الدبابيس المنفية مُعلَّمة بدائرة صغيرة عند المنفذ.

سحب المكتبة

من لوحة المكتبة، يمكن سحب وإفلات أي كتلة قياسية أو مستخدم مباشرة في المحرر. عند الإفلات، تُؤخذ قائمة الدبابيس من تعريف المكتبة؛ بالنسبة لكتل الوظائف ينشئ المحرر تلقائياً مدخل نسخة VAR في قسم المتغير المحلي.

الذهاب والإياب إلى ST

في وقت الترجمة يترجم مترجم ForgeIEC جسم FBD إلى Structured Text. يُحدِّد الفرز التطوبولوجي للكتل بحسب تدفق البيانات ترتيب التنفيذ. لذلك: أي جسم FBD مكافئ دلالياً لجسم ST، واختيار اللغة هو مسألة قابلية للقراءة بحتة.

مثال — مؤقت تأخير تشغيل بـ TON

TON (مؤقت تأخير تشغيل) يؤخر إشارة الإدخال بزمن قابل للضبط. في FBD ستقوم بـ

  • ربط متغير إدخال start بدبوس IN لنسخة TON،
  • ربط متغير إدخال بقيمة T#5s بدبوس PT،
  • ربط إخراج Q بـ متغير إخراج lampe.

في ST يبدو ذلك كما يلي:

PROGRAM PLC_PRG
VAR
    start  AT %IX0.0 : BOOL;
    lampe  AT %QX0.0 : BOOL;
    tmr    : TON;
END_VAR

tmr(IN := start, PT := T#5s);
lampe := tmr.Q;
END_PROGRAM

هذه بالضبط الصيغة التي يولّدها المترجم من مخطط FBD — نسخة المتغير tmr هي صندوق Block، والسلكان هما تعيينا :=.

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