جدول المحتويات:

Arduino PLC 32 I / O + State Machine + SCADA أو HMI: 8 خطوات
Arduino PLC 32 I / O + State Machine + SCADA أو HMI: 8 خطوات

فيديو: Arduino PLC 32 I / O + State Machine + SCADA أو HMI: 8 خطوات

فيديو: Arduino PLC 32 I / O + State Machine + SCADA أو HMI: 8 خطوات
فيديو: PLC Learning Series - HMI - Interfacing 2024, يوليو
Anonim
Arduino PLC 32 I / O + State Machine + SCADA أو HMI
Arduino PLC 32 I / O + State Machine + SCADA أو HMI

طرق عديدة للبرمجة والتحكم والإشراف على نظام صناعي باستخدام اردوينو.

الخطوة 1: مقدمة

مقدمة
مقدمة

في هذا الدليل سوف أتعامل مع:

طريقتان لبرمجة اردوينو مرتبط بنوع من الآلة بما في ذلك الأزرار ، والمفاتيح ، ومصابيح LED

1- الطريقة الأولى مع arduino 1.6.x IDE باستخدام مكتبة SM (State Machine)

2-الطريقة الثانية باستخدام Yakindu ، مشروع محرر digram الحالة الذي تم إنشاؤه باستخدام بيئة الكسوف: ترسم آلة الدولة الخاصة بك ، وتقوم بإنشاء الكود لنقله إلى لوحة Arduino.

بمشاركة

طريقتان للإشراف على الجهاز باستخدام SCADA أو HMI الظاهري قيد التشغيل:

1- ضمن Android 4.4: Unigo Evolution ، تطبيق مجاني لا يحتوي على رمز فقط لوضع العناصر على الشاشة و modbus TCP

2-ضمن Windows 8: مشروع مجاني AdvancedHMI يحتاج إلى Visual Studio 2013 ، ولا توجد تعليمات برمجية وعناصر لوضعها على الشاشة و modbus TCP

لذلك ترسم التسلسلات الوظيفية الخاصة بك باستخدام SFC (في الأتمتة: مخطط الوظيفة المتسلسل) ، تقوم بترجمته في مخطط حالة (أقرب جدًا) ، تقوم ببرمجته (Yakindu أو Arduino SM lib) ثم تشرف عليه باستخدام SCADA (Unigo) android أو AdvancedHMI Windows).

الخطوة الثانية: وصف اللوحة الحقيقية:

وصف المجلس الحقيقي
وصف المجلس الحقيقي
وصف المجلس الحقيقي
وصف المجلس الحقيقي

التخطيطي:

لقد استخدمت لوحة Arduino UNO ، وليس استنساخًا لأن Yakindu لا يمكنه إرسال أي برنامج إلى أي نسخة فقط UNO و Mega board.

يمكن أن يكون لدي 32 إدخال / إخراج رقمي مع موسع 2 SPI مثل MCP23S17 (2x16 I / O) و 2 مخرجات تناظرية أخرى 12 بت (تناظرية حقيقية غير مصفاة PWM) مع 2 SPI DAC مثل MCP4921.

لم أرسم درع الإيثرنت ولكنك بحاجة إليه للإشراف على نظامك: لذا يجب عدم استخدام المسامير 4 و 10 و 11 و 12 و 13 لأي شيء آخر ومن الواضح أن الدبوس 0 و 1 لـ RX TX فقط.

صور المجلس الحقيقية:

8 أزرار ضغط ضرورية:

  • 4 للوضع اليدوي: واحد للضوء على كل مصباح
  • 1 للتوقف في حالات الطوارئ: إذا تم الضغط عليك ، فأنت في الوضع العادي ، حرر: الطوارئ
  • 1 للوضع التلقائي الذي يقوم بتشغيل وإيقاف المصباح المتسلسل لكل مصباح ، في حالة التحرير: الوضع اليدوي ، للتحكم في كل مصباح بدون تسلسل
  • 1 من أجل RUN في الوضع التلقائي
  • 1 للإيقاف في الوضع التلقائي

4 أدى إلى محاكاة ما تريد (مرحل ، صمام …)

أعطي اسم كل زر ومصابيح استخدمتها في البرامج.

الخطوة 3: ما هو تسلسل البرنامج؟ SFC ومخطط الحالة

ما تسلسل البرنامج؟ SFC ومخطط الحالة
ما تسلسل البرنامج؟ SFC ومخطط الحالة
ما تسلسل البرنامج؟ SFC ومخطط الحالة
ما تسلسل البرنامج؟ SFC ومخطط الحالة

لقد صنعت SFC بسيطًا جدًا لوصف ما يفترض أن يفعله النظام.

3 مطلوب SFC:

  • SFCsecu للذهاب إلى وضع الطوارئ أو الخروج منه ، إنه SFC الرئيسي الذي يطلق الآخرين
  • تم إطلاق دليل SFC التلقائي بواسطة SFCsecu ، يمكنك الوصول إلى الوضع التلقائي أو الوضع اليدوي
  • إيقاف تشغيل SFC والمسح والحفظ إذا قام شخص ما بدفع DCY (RUN) أو FCY (STOP)

تعمل هذه SFC في تعدد الزائف.

ثم أترجمها في مخطط الحالة:

  • آلة رئيسية (طوارئ) تطلق 2 من العبيد الآخرين
  • عبد لمسح وحفظ DCY و FCY
  • عبدا للوصول إلى الوضع التلقائي أو اليدوي

شيء آخر: عندما تضغط على DCY ، يمكنك تجربة الإخراج التناظري باستخدام أداة تقليم افتراضية على scada ، عندما تضغط على FCY ، تنخفض المخرجات التناظرية إلى 0V.

يساعدك مخطط الحالة على برمجة اردوينو.

الخطوة 4: البرمجة باستخدام Arduino IDE 1.6. X

البرمجة باستخدام Arduino IDE 1.6. X
البرمجة باستخدام Arduino IDE 1.6. X
البرمجة باستخدام Arduino IDE 1.6. X
البرمجة باستخدام Arduino IDE 1.6. X

أعطيك الكود لترجمة الرسوم البيانية السابقة. كنت بحاجة إلى 3 شفرات إضافية أقدمها لك أيضًا.

ستحتاج أيضًا إلى جدول العناوين لفهم الدبابيس التي تستخدمها وماذا وسجّل modbus العناوين المقابلة.

الخطوة 5: البرمجة باستخدام YAKINDU

البرمجة مع YAKINDU
البرمجة مع YAKINDU
البرمجة مع YAKINDU
البرمجة مع YAKINDU
البرمجة مع YAKINDU
البرمجة مع YAKINDU

قم أولاً بتنزيل إصدار المشروع المجاني 2.9 (ليس احترافيًا) على:

www.itemis.com/en/yakindu/state-machine/

ثم اتبع البرنامج التعليمي المقدم: هناك بعض التعديلات مقارنة بآخر مرة قمت فيها بتنزيل البرنامج ، فقط لإكمال أسماء الأجزاء المختلفة من ملف "xxxconnector.cpp".

الصور: رسم آلة الحالة ، وعرض المجلد في المشروع والمكتبات المستوردة من arduino ، وعرض "xxxconnector.cpp" لإنشاء رابط بين الانتقالات / الحالات والمدخلات / المخرجات الحقيقية لـ مجلس أو من SCADAs.

أعطيك المشروع الذي سيتعين عليك استيراده في مساحة العمل التي تم إنشاؤها تلقائيًا.

تم توفير: libs اللازمة للاستيراد إلى Yakindu وبعض التغييرات التي يجب القيام بها موصوفة في البرنامج التعليمي.

الخطوة 6: الإشراف عليها باستخدام AdvancedHMI

الإشراف عليها مع AdvancedHMI
الإشراف عليها مع AdvancedHMI

قم أولاً بتنزيل Visual Studio Express 2013 أو أكثر على:

www.microsoft.com/fr-fr/download/details.a…

ثم قم بتنزيل مشروع AdvancedHMI على:

sourceforge.net/projects/advancedhmi/؟SetF…

أعطيك صور SCADA التي رسمتها (مع عناوين سجلات modbus المقابلة) والمبرمجة بدون رمز ، والمشروع معدّل ودليل تعليمي موجز.

الخطوة 7: الإشراف عليها مع Unigo Evolution

قم بالإشراف عليها مع Unigo Evolution
قم بالإشراف عليها مع Unigo Evolution

أنت بحاجة إلى جهاز android مع android 4.4 (kit kat) وشاشة مقاس 7 بوصات.

أقدم لك صور SCADA التي رسمتها (وعناوين سجلات modbus المقابلة) ودليلًا تعليميًا موجزًا لاستخدام Unigo ، لا حاجة إلى رمز ، وهو مجلد يحتوي على صور للأضواء الصناعية والأزرار لوضعها في مجلد UniGOPictures الذي تم إنشاؤه على جهازك الداخلي SD بواسطة التطبيق ، والمشروع.

الخطوة 8: الخاتمة

لقد كانت مهمة ضخمة لتجميع طريقتين مختلفتين للبرمجة وطريقتين مختلفتين للإشراف. من الصعب في البداية أن تستخدم مهارات كل الطرق. لكنها تعمل الآن وبمجرد فهمها ، يمكنك الآن التحكم في أنظمة أكثر تعقيدًا.

شكراً جزيلاً للكثير من البرامج التعليمية في جميع أنحاء العالم ، لـ Archie (AdvancedHMI) ، و RenéB2 (Yakindu) و Mikael Andersson (Unigo Evolution) ولمصممي مكتبات arduino الذين سمحوا لي بالقيام بمشروع "اقتحام التكنولوجيا".

Sans eux j'aurais peut être souffert d'un sentiment d'incomplétude infinie pour l'éternité. J'exagère un peu.

تعليمات سعيدة.