FLProg - الدرس الثاني: العمل مع الإشارات التناظرية


في الدرس السابق ، تم وصف المبادئ الأساسية للعمل مع برنامج FLProg ، وكذلك العمل بإشارات منفصلة. سوف ينظر هذا الدرس في قدرات FLProg للعمل مع الإشارات التناظرية.
خلال الدرس ، سيتم إنشاء برنامج تحكم لمؤشر مستوى LED ويظهر تعديل سطوع LED باستخدام خرج PWM.

مخطط منضدة الاختبار.



كما في الدرس الأخير ، سنقوم بإنشاء المشروع بلغتين FBD و LAD. فقط الآن سيتم ذلك بالتوازي.

نحن نقوم بإنشاء مشروع جديد.

ل LAD

  • الطريقة الأولى - نقوم بسحب المدخلات التناظرية A0 من شجرة المعدات المركبة إلى الدائرة
  • الطريقة الثانية هي سحب كتلة "إدخال وحدة التحكم التناظرية" من مكتبة العناصر ، ثم النقر نقرًا مزدوجًا فوق الكتلة الجديدة وربطها بالإدخال التناظري الصفري للوحة


بالنسبة للغة FBD ، نقوم بإنشاء إدخال تناظري جديد بالنقر المزدوج فوق عنصر "إضافة إدخال" في شجرة العلامات أو بالنقر فوق الزر المقابل.



في نافذة خصائص الإدخال المفتوحة ، أدخل اسم الإدخال ، وحدد النوع التناظري ورقم الاتصال 0



ثم اسحب الإدخال الجديد من شجرة العلامات إلى منطقة الدائرة.

تعطي كتل الإدخال التناظرية في FLProg عند إخراجها قيمة تتناسب مع الجهد عند الإدخال الحقيقي للوحة المرفقة بها. عند 0V عند مدخل اللوحة ، سيكون خرج الكتلة 0 ، وعند 5V عند مدخل اللوحة ، سيكون خرج الكتلة 1023.


ثم نقوم بإنشاء إخراج تناظري.

بالنسبة للغة LAD ، اسحب كتلة "الإخراج التناظري لوحدة التحكم" من مكتبة الكتل ، وفي محرر الخصائص للكتلة (ننقر نقرًا مزدوجًا على الكتلة) نعلقها بإخراج لوحة D3.



في لغة FBD ، لإنشاء إخراج تناظري ، انقر نقرًا مزدوجًا على عنصر "إضافة إخراج" في شجرة العلامات أو انقر فوق الزر المناسب.



في نافذة خصائص الإخراج التي تفتح ، املأ اسم الإخراج ، وحدد نوع PWM ، ورقم الإخراج D3 ،



ثم اسحب الإخراج الجديد إلى مساحة عمل الدائرة.

في الواقع ، لا تحتوي لوحات Arduino على مخرجات تناظرية حقيقية (لا تحسب Arduino Duo ، ولكن هذه اللوحات غير مدعومة حتى الآن بواسطة برنامج FLProg). تعمل مخرجات اللوحة التناظرية في وضع PWM.

تعديل عرض النبض
- (, . pulse-width modulation (PWM)) — , , , . .

, . — . , . 50 %, ( ) . . - , , . 75%, 3 , :

, 0 100 %. , . — () . Arduino 256 .

في برنامج FLProg ، تتحكم وحدة الإخراج التناظري في دورة العمل لمخرجات PWM المرتبطة بها. عند تطبيق قيمة 0 على المدخل الجانبي ، ستكون دورة العمل 0٪ ، وعندما يتم تطبيق قيمة 255 ، ستكون دورة العمل 100٪.
استنادًا إلى حقيقة أن حدود الإشارة عند خرج كتلة الإدخال التناظري لجهاز التحكم هي 0-1023 وحدود الإشارة المسموح بها عند إدخال كتلة الإخراج التناظري لجهاز التحكم هي 0 - 255 ، فإن السؤال الذي يطرح نفسه هو ما إذا كان يجب إحضارها إلى نفس القيمة. سوف تساعد وحدة التحجيم.
في لغة LAD ، يقع في مجلد "كتل التناظرية" في مكتبة العناصر.



في FBD ، يوجد نفس الكتلة في مجلد Special Blocks في مكتبة العناصر.



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



يتم الحساب في الكتلة وفقًا للصيغة التالية
Q = (I - I_min) * (Q_max - Q_min) / (I_max - I_min) + Q_min
حيث:
  • Q - القيمة عند إخراج الكتلة
  • I - القيمة عند مدخل الكتلة
  • I_max - الحد الأعلى لقيمة الإدخال
  • I_min - الحد الأدنى لقيمة الإدخال
  • Q_max - الحد الأعلى لقيمة الإخراج
  • Q_min - الحد الأدنى لقيمة الإخراج

نتيجة لإعداد الكتلة الموضح في لقطة الشاشة ، عندما تتغير القيمة عند إدخال الكتلة من 0 إلى 1023 ، ستتغير القيمة عند الإخراج نسبيًا من 0 إلى 255 ، وهو أمر مطلوب. الآن تحتاج إلى ربط جميع الكتل وفقًا للرسم التخطيطي.

LAD


FBD


اللوحة الأولى جاهزة تقريبًا. نسميها "التحكم بالسطوع" وننشئ واحدة جديدة ، نسميها فورًا "مؤشر المستوى"
في اللوحة الثانية ، نحتاج أيضًا إلى القيمة من إدخال وحدة التحكم. من حيث المبدأ ، يمكنك مرة أخرى سحب إدخال الكتلة إلى اللوحة الثانية واستخدامه. ولكن هذا سيؤدي إلى حقيقة أنه أثناء تنفيذ البرنامج في وحدة التحكم ، سيتم إعادة قراءة القيمة من المدخلات. وإجراءات قراءة الإشارة التناظرية من المدخلات تتطلب الكثير من الموارد وتستغرق وقتًا طويلاً. لذلك ، نستخدم موصلًا تناظريًا لـ LAD ، ومتغير لـ FBD.
في FLProg ، يمكن تمثيل الموصلات المتغيرة والتناظرية كاتصالات طرفية على اللوحة. وبمساعدة منهم ، تتبادل المجالس القيم وتتواصل مع بعضها البعض.

في مشروع LAD ، اسحب كتلة "إدخال الموصل التناظري" إلى لوحة مشروع FIRST.



سيتم تسميته تلقائيًا باسم AC1. ثم نقوم بتوصيل إدخاله بإخراج كتلة الإدخال التناظرية.



وفي اللوحة الثانية ، اسحب كتلة "إخراج الموصل التناظري".



ننقر نقرًا مزدوجًا عليه ونعينه لموصل AC1 في محرر الكتل.

في مشروع بلغة FBD ، قم بإنشاء متغير جديد بالنقر فوق الزر المقابل أو النقر المزدوج على عنصر "إضافة متغير" في شجرة العلامات.



في نافذة محرر الكتلة التي تفتح ، املأ اسم المتغير ، حدد النوع (عدد صحيح) ، واضبط القيمة الافتراضية على 0



ثم نقوم بسحب المتغير الجديد أولاً إلى لوحة واحدة ثم إلى لوحة أخرى. نقوم أيضًا بتوصيل الإدخال المتغير بإخراج كتلة التحكم التناظرية لجهاز التحكم في اللوحة الأولى.



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



الآن قم بتوصيل مدخلاته في حالة LAD بكتلة الإخراج للموصل التناظري ، وفي حالة FBD بمخرج المتغير.

LAD


FBD


ضع في اعتبارك منطق مؤشر المستوى.
  • يجب أن يضيء مؤشر LED "المستوى 1" إذا كانت قيمة الإشارة أكبر من 0
  • يجب أن يضيء مؤشر LED "المستوى 2" إذا كانت قيمة الإشارة أكبر من 1
  • « 3» , 2
  • « 4» , 3
  • « 5» , 4
  • « 6» , 5
  • « 7» , 6
  • « 8» , 7
  • « 9» , 8
  • « 10» , 9

لتنفيذ هذا المنطق ، نستخدم مرحل مقارنة في حالة لغة LAD ، ومقارنة في حالة لغة FBD.

LAD


FBD


في مشروع بلغة LAD ، نسحب 10 مرحلات مقارنة على اللوحة الثانية ونعينها إلى المخرجات التي يتصل بها مقياس المستوى ( انظر الدرس الأول ) ونضبط نوع المقارنة على "المزيد".



عن طريق النقر بزر الماوس الأيمن على الإدخال "B" لكل كتلة من مرحل المقارنة ، نقوم باستدعاء قائمة السياق وتحديد العنصر "إدراج ثابت". في نافذة التحرير المستمر المفتوحة ، اترك نوع "عدد صحيح" وأدخل قيمة لكل ناتج يتوافق مع منطق المؤشر.



يتم توصيل المدخلات "A" لجميع كتل مرحلات التتابع بإخراج وحدة القياس. يجب الحصول على مثل هذا المخطط.



في مشروع بلغة FBD ، نسحب 10 كتل مقارنة في اللوحة الثانية ونضعها في طريقة عرض المقارنة "المزيد" (انقر نقرًا مزدوجًا على الكتلة لاستدعاء محرر الكتلة). كما هو الحال في LAD-e ، سنقوم بإدراج ثوابت على مدخلات كتل I2 ، وربط المدخلات I1 بإخراج كتلة القياس.



بعد ذلك ، قم بإنشاء 10 مخرجات رقمية متصلة بمخرجات اللوحة التي يتصل بها مقياس المستوى (انظر الدرس الأول) واسحبها إلى اللوحة الثانية. وسوف نربط كل منها مع المقارنة الخاصة بها.



كل شيء - البرامج جاهزة ، يمكنك تجميعها وتحميلها على وحدة التحكم ( انظر الدرس الأول )

Source: https://habr.com/ru/post/ar389781/


All Articles