Inquiry
Form loading...
هيكل البرنامج وخصائص العديد من PLC المشتركة لشركة سيمنز

أخبار

هيكل البرنامج وخصائص العديد من PLC المشتركة لشركة سيمنز

2023-12-08
1. هيكل برنامج بعض الشركات المحدودة العامة الأجنبية الصغيرة يتكون برنامج المستخدم لهذه PLCs من البرنامج الرئيسي والبرنامج الفرعي وبرنامج المقاطعة. في كل دورة مسح، تستدعي وحدة المعالجة المركزية البرنامج الرئيسي مرة واحدة. يمكن للبرنامج الرئيسي استدعاء البرنامج الفرعي، ويمكن لنظام التحكم الصغير أن يحتوي على البرنامج الرئيسي فقط. يتم استخدام برنامج المقاطعة للاستجابة السريعة لأحداث المقاطعة. عند حدوث حدث مقاطعة، ستتوقف وحدة المعالجة المركزية عن تنفيذ البرنامج أو المهمة التي تتم معالجتها في ذلك الوقت وتنفيذ برنامج المقاطعة الذي كتبه المستخدم. بعد تنفيذ البرنامج الذي تمت مقاطعته، استمر في تنفيذ البرنامج أو المهمة المعلقة. لا تحتوي برامجها الفرعية وبرامج المقاطعة على متغيرات محلية، ولا تحتوي برامجها الفرعية على معلمات إدخال وإخراج. 2. هيكل برنامج Siemens S7-200 تعد عمليات إدخال/إخراج صورة العملية (I/Q)، والذاكرة المتغيرة V، وبت الذاكرة الداخلية M، والمؤقت T، والعداد C، وما إلى ذلك، متغيرات عامة. تتضمن الوحدة التنظيمية للبرنامج (POU) الخاصة بـ S7-200 البرنامج الرئيسي والبرنامج الفرعي وبرنامج المقاطعة. يحتوي كل POU على متغير محلي خاص به يبلغ 64 بايت، والذي يمكن استخدامه فقط في POU الخاص به. وفي المقابل، يمكن استخدام المتغيرات العالمية في كل POU. فيما يلي المتغيرات المحلية التي يمكن أن يستخدمها الروتين الفرعي: 1) TEMP (المتغير المؤقت) هو متغير مخزن مؤقتًا في منطقة البيانات المحلية. يتم استخدام المتغير المؤقت المحدد فقط عند تنفيذ POU. بعد تنفيذ POU، لن يتم حفظ قيمة المتغير المؤقت. 2) IN هي معلمة الإدخال التي يوفرها POU الذي يستدعيها. 3) OUT هي معلمة الإخراج التي يتم إرجاعها إلى POU التي تستدعيها (نتيجة تنفيذ الروتين الفرعي). 4) IN_ OUT هو input_ يتم نقل القيمة الأولية لمعلمة الإخراج إلى الروتين الفرعي عن طريق استدعاء POU له، ويتم إرجاع نتيجة تنفيذ الروتين الفرعي إلى POU الذي يستدعيه بنفس المتغير. لا يوجد سوى متغيرات مؤقتة TEMP في المتغيرات المحلية للبرنامج الرئيسي وبرنامج المقاطعة. من السهل تحقيق البرمجة المنظمة من خلال البرنامج الفرعي الذي يحتوي على معلمات الإدخال والإخراج والمتغيرات المحلية، وهو مفيد بشكل خاص للمصنعين الذين ينتجون معدات أو خطوط إنتاج مماثلة لفترة طويلة. لقد كتب المبرمجون من هذه الشركات المصنعة عددًا كبيرًا من الإجراءات الفرعية العامة لكل مكون أو وظيفة عملية للمعدات. حتى إذا كنت لا تعرف الكود الداخلي للروتين الفرعي، طالما أنك تعرف وظيفة الروتين الفرعي ومعنى معلمات الإدخال والإخراج، يمكنك بسرعة "تجميع" برنامج التحكم الذي يلبي متطلبات المستخدمين المختلفين من خلال المكالمة بين البرامج. إنه مثل استخدام شرائح الدوائر الرقمية المتكاملة لتشكيل دوائر رقمية معقدة. إذا لم يكن لدى الروتين الفرعي معلمات الإدخال والإخراج، فلا توجد واجهة واضحة بينه وبين البرنامج الذي يستدعيه، لذلك يكون من الصعب تحقيق البرمجة المنظمة. إذا لم يكن لدى الروتين الفرعي متغيرات محلية، فيمكنه فقط تبادل البيانات مع البرنامج الذي يستدعيه من خلال المتغيرات العامة، ويمكن استخدام المتغيرات العامة فقط داخل الروتين الفرعي. عند ترحيل البرامج الفرعية وبرامج المقاطعة إلى مشاريع أخرى، فإنك تحتاج إلى إعادة ترتيب المتغيرات العامة التي تستخدمها لضمان عدم حدوث تعارض في العناوين. عندما يكون البرنامج معقدًا جدًا ويوجد العديد من البرامج الفرعية وبرامج المقاطعة، يكون عبء العمل لهذا النوع من إعادة تعيين العنوان كبيرًا جدًا. إذا كان البرنامج الفرعي وبرنامج المقاطعة يحتويان على متغيرات محلية، ويستخدمان فقط المتغيرات المحلية بدلاً من المتغيرات العامة، نظرًا لعدم وجود تعارض في العنوان مع وحدات POU الأخرى، فيمكن نقل البرنامج الفرعي إلى مشاريع أخرى دون أي تغييرات. 3. هيكل برنامج Siemens S7-300/400 يقسم S7-300/400 البرامج الفرعية إلى وظيفة (أو وظيفة) وكتلة وظيفية. وظائف S7-300/400 هي في الأساس نفس وظائف S7-200. لديهم معلمات الإدخال والإخراج والمتغيرات المؤقتة. القيمة المرجعة في البيانات المحلية للدالة هي في الواقع معلمة إخراج. ليس لديهم منطقة تخزين مخصصة. بعد اكتمال الوظيفة، لن يتم حفظ البيانات الموجودة في المتغيرات المؤقتة. يمكنك استخدام المتغيرات العامة لحفظ البيانات التي يجب حفظها بعد تنفيذ الوظيفة، ولكنها ستؤثر على قابلية نقل الوظيفة. كتلة الوظائف عبارة عن كتلة برنامج يكتبها المستخدم مع منطقة تخزين مخصصة خاصة به (أي كتلة بيانات الخلفية). يتم تخزين معلمات الإدخال والإخراج والمتغيرات الثابتة لكتلة الوظيفة في كتلة بيانات الخلفية المحددة، ويتم تخزين المتغيرات المؤقتة في مكدس البيانات المحلي. في كل مرة يتم فيها استدعاء كتلة دالة، يجب تحديد كتلة بيانات الخلفية. بعد تنفيذ كتلة الوظيفة، لن يتم فقدان البيانات الموجودة في كتلة بيانات الخلفية، ولكن لن يتم حفظ البيانات الموجودة في مكدس البيانات المحلي. تتبنى كتلة الوظائف مفهوم التغليف المشابه لـ C++، والذي يقوم بتغليف البرنامج والبيانات معًا ويتمتع بإمكانية نقل جيدة. يمكن استخدام كتلة البيانات المشتركة لـ S7-300/400 بواسطة جميع الكتل المنطقية. 4. هيكل برنامج IEC61131-3 IEC61131-3 هو معيار لغة البرمجة لـ PLC. IEC61131-3 هو معيار لغة البرمجة الأول والوحيد في مجال التحكم الصناعي في العالم. اللجنة الانتخابية المستقلة يحتوي 61131-3 على ثلاثة أنواع من وحدات POU: البرنامج وكتلة الوظيفة والوظيفة. الوظيفة عبارة عن POU مع معلمات إدخال متعددة ومعلمة إخراج واحدة (قيمة الإرجاع). اسم القيمة المرجعة هو نفس اسم الوظيفة. يجب تحديد نوع بيانات القيمة المرجعة. ضبط الجهاز الدالات التي لها نفس قيمة الإدخال تُرجع دائمًا نفس النتيجة. يمكن للوظائف استدعاء وظائف أخرى، ولكن ليس كتل الوظائف أو البرامج. تتضمن المتغيرات المحلية التي يمكن تعريفها بواسطة الوظائف VAR وVAR_ INPUT. كتلة الوظيفة عبارة عن وحدة POU تحتوي على معلمات إدخال/إخراج متعددة ووحدات تخزين داخلية. ترتبط قيمة معلمة الإخراج لكتلة الوظيفة بقيمة وحدة التخزين الداخلية الخاصة بها. يمكن لكتلة الوظائف استدعاء وظائف أخرى كتلة أو وظيفة، ولكن لا يمكن استدعاء البرنامج. قبل استدعاء كتلة دالة، يجب عليك الإعلان عن مثيل كتلة الوظيفة لكل مكالمة في وحدة POU حيث سيتم استدعاء كتلة الوظيفة. سيقوم نظام التشغيل بتخصيص منطقة تخزين مخصصة لكتلة الوظيفة لكل مكالمة (على غرار كتلة بيانات الخلفية الخاصة بـ S7-300/400). لا تحتاج الوظيفة إلى إنشاء مثيل لها عند استدعائها لأنها لا تحتوي على مساحة تخزين داخلية. يشبه سلوك البرنامج والغرض منه كتلة الوظيفة. يحتوي البرنامج على معلمات الإدخال والإخراج، ويمكن أن يحتوي على مساحة تخزين داخلية. تحتوي البرامج عادةً على استدعاءات للوظائف وكتل الوظائف. يحدد IEC61131-3 العديد من الوظائف القياسية وكتل الوظائف. 5. الفرق بين هيكل البرنامج S7-300/400 وIEC61131-3 1) يمكن أن تحتوي وظيفة S7-300/400 على معلمات إخراج متعددة، وتكون قيمة الإرجاع أيضًا معلمة إخراج. تحتوي وظيفة IEC61131-3 على قيمة إرجاع واحدة فقط. 2) يتم تخصيص منطقة التخزين الخاصة لتخزين المتغيرات المحلية في كتلة الوظيفة IEC61131-3 عند الإعلان عن مثيل كتلة الوظيفة. إنه غير شفاف للمستخدمين، ولا يمكن لوحدات POU الأخرى الوصول مباشرة إلى منطقة التخزين. يتم تخزين المتغيرات المحلية (باستثناء المتغيرات المؤقتة) الخاصة بكتلة الوظيفة S7-300/400 في كتلة بيانات الخلفية الخاصة بها. يمكن لوحدات POU الأخرى الوصول إلى المتغيرات الموجودة في كتلة بيانات الخلفية. إذا كنت بحاجة إلى استدعاء نفس كتلة الوظيفة عدة مرات للتحكم في نفس نوع الكائن الذي يتم التحكم فيه، فأنت بحاجة إلى تحديد كتلة بيانات الخلفية لكل مكالمة، ولكن هناك عدد قليل من المتغيرات في كتل بيانات الخلفية هذه، لذلك يوجد عدد كبير من كتل البيانات الخلفية في المشروع. يمكن استخدام كتل بيانات خلفية متعددة لتقليل عدد كتل بيانات الخلفية. ومع ذلك، يجب إضافة كتلة وظيفية لإدارة خلفيات متعددة. 3) تتضمن المتغيرات المحلية للكتلة الوظيفية S7-300/400 متغيرات مؤقتة ومتغيرات ثابتة. المتغير الداخلي Var الخاص بكتلة الوظيفة IEC61131-3 يعادل المتغير الثابت S7-300/400. 4) يقسم S7-300/400 منطقة البيانات إلى كتل بيانات للاستخدام. يرتبط حجم كتلة البيانات بنوع البيانات وعدد المتغيرات المحددة في كتلة البيانات. IEC61131-3 ليس لديه مفهوم لكتلة البيانات.