لغات البرمجة

لغة البرمجة التسلسلية للرسم الوظيفي

لغة البرمجة التسلسلية للرسم الوظيفي، المعروفة أيضًا بـ SFC، هي لغة برمجة رسومية تستخدم لتحكم المنطق القابل للبرمجة (PLCs). وهي واحدة من اللغات الخمس المحددة في معيار IEC 61131-3. يتم تعريف معيار SFC على أنه “إعداد لوحات وظيفية لأنظمة التحكم”، واستناداً إلى GRAFCET (الذي يعتمد بدوره على الشبكات البترية الثنائية). يمكن استخدامها لبرمجة العمليات التي يمكن تقسيمها إلى خطوات. المكونات الرئيسية لـ SFC هي: الخطوات مع الإجراءات المرتبطة بها؛ والانتقالات مع الشروط المنطقية المرتبطة بها؛ والروابط الموجهة بين الخطوات والانتقالات. يمكن أن تكون الخطوات في مخطط SFC نشطة أو غير نشطة. يتم تنفيذ الإجراءات فقط للخطوات النشطة. يمكن أن تكون الخطوة نشطة لأحد اثنين من الأسباب: إما أن تكون خطوة أولية كما يحددها المبرمج، أو أن تكون قد تم تنشيطها خلال دورة مسح ولم يتم تعطيلها منذ ذلك الحين. تتم تنشيط الخطوات عندما تكون جميع الخطوات أعلاها نشطة والانتقال المتصل قابلاً للتجاوز (أي أن شرطه المرتبط صحيح). عند مرور الانتقال، يتم تعطيل جميع الخطوات أعلاه مرة واحدة وبعد ذلك يتم تنشيط جميع الخطوات أدناه مرة واحدة. يمكن أن تكون الإجراءات المرتبطة بالخطوات من عدة أنواع، ومن بين أهمها الإجراءات المستمرة (N) والضبط (S) وإعادة الضبط (R). بالإضافة إلى المعنى الواضح للضبط وإعادة الضبط، يضمن الإجراء N أن المتغير المستهدف يتم تعيينه إلى 1 طالما كانت الخطوة نشطة. تنص قاعدة SFC على أنه إذا كانت لدى خطوتين إجراء N على نفس الهدف، يجب ألا يتم إعادة تعيين المتغير إلى 0. كما يمكن إدراج إجراءات LD (مخطط السلم) داخل برنامج SFC (وهذه هي الطريقة القياسية، على سبيل المثال، للعمل على المتغيرات الصحيحة). SFC هي لغة متوازية بشكل أساسي بحيث يمكن أن تكون تدفقات التحكم المتعددة – وحدات تنظيم البرنامج (POUs) في لغة المعيار – نشطة في نفس الوقت. تشمل التوسعات غير القياسية للغة ماكروأكشنز: أي إجراءات داخل وحدة برنامج تؤثر على حالة وحدة برنامج أخرى. أهم هذه الماكروأكشنز هو “الإجبار”، حيث يمكن لـ POU أن تقرر الخطوات النشطة لوحدة POU أخرى. تتضمن ميزات SFC إمكانية وجود تعليقات وتباعد دلالي وتعليقات خطية. يعتبر SFC لغة مفتوحة المصدر ويمكن الوصول إلى معلومات أكثر حولها من خلال صفحتها على ويكيبيديا.