محرر مخطط كتل الوظائف (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، والسلكان هما تعيينا :=.
مواضيع ذات صلة
- المكتبة — أي كتل يقدمها منتقي الكتل.
- لوحة المتغيرات — إعلان المتغيرات ومجمّع العناوين.
- Ladder Diagram — اللغة الشقيقة الموجهة بمسار التيار.