مقدمة
من المؤكد أن كل من بدأ أو بدأ للتو في دراسة متحكم STM32 لديه لوحة تصحيح صينية الصنع ، الملقب بجدارة بلو بيلس السياح الأجانب (قرص أزرق).
تعتمد هذه اللوحة على شريحة STM32F103C8T6 ، وهي عبارة عن معالج 32 بت يعتمد على Cortex - M3 core. تُظهر الصورة أدناه اللوحة الكلاسيكية وتعيين الدبوس.
كيفية جعل PLC من الوسائل المرتجلة في 5 دقائق؟
كما يحدث في كثير من الأحيان ، علمتك الدروس من الإنترنت كيفية العمل مع المؤقتات و USART وتبديل حالات الإخراج وحتى العمل مع DMA! وبعد جميع الاختبارات ، يأخذ المجلس مكانًا آمنًا على رف قطع الغيار - وهو أمر جيد ، ولكن حتى الآن لم يتم العثور على تطبيق لائق.
إذا كنت تقرأ هذه المقالة ، فقد حان الوقت لإخراج اللوح من الرف ونفخ الغبار منه ، لأننا الآن سنصنع وحدة تحكم منطقية قابلة للبرمجة بناءً عليها تتوافق مع المعيار الدولي IEC61131-3.
بعد وميض المعالج الدقيق بالبرامج الثابتة المرفقة (للأسف ، حتى يتوفر نشر رموز المصدر في الخطط) ، سيكون قادرًا على العمل بالفعل كـ PLC. والشيء الأكثر إثارة للاهتمام هو أنه يمكن برمجة اللوحة باستخدام برنامج GX Developer FX القياسي المصمم لبرمجة وحدات تحكم Mitsubishi FX2N. هذا البرنامج (ومُزجج) تم تنزيله بحرية من موقع ميتسوبيشي الرسمي بعد التسجيل.
لذا ، ما هي الميزات الجديدة التي اكتسبتها اللوحة الزرقاء الصغيرة لدينا بعد البرامج الثابتة؟
أولاً ، يمكنك الآن توصيله بجهاز كمبيوتر باستخدام موصل micro-USB. لتوفير تبادل البيانات بين بيئة البرمجة وجهاز التحكم ، يجب تثبيت برامج تشغيل منفذ COM الظاهري. يمكن تنزيلها من الرابط الموجود في وثيقة bluepill_update.pdf في المرفق. بعد تثبيت برنامج التشغيل وتوصيل اللوحة بمنفذ USB ، سيظهر جهاز جديد في أجهزة الكمبيوتر الشخصي ، كما هو موضح في الصورة.
نوع تكوين جهاز التحكم بعد تثبيت برامج التشغيل الآن يمكنك تشغيل GX Developer FX الذي قمنا بتثبيته. بعد بدء البرنامج ، سيكون لديك النافذة التالية:
الإطلاق الأول لـ GX Developer FX الخطوة التالية هي إنشاء مشروع جديد. في قائمة المشروع - مشروع جديد. ستفتح لك هذه النافذة:
مشروع جديد في GX Developer FX لا يمكنك تغيير أي شيء هنا ، وانقر فوق موافق. لذلك - لدينا مشروع فارغ ، والآن نحتاج إلى تكوين اتصال عبر الإنترنت باللوحة.
للقيام بذلك ، حدد في القائمة عبر الإنترنت - إعدادات النقل. ستفتح لك هذه النافذة:
إعداد الاتصال في GX Developer FX لا يمكنك تغيير أي شيء هنا ، وانقر فوق موافق. لذلك - لدينا مشروع فارغ ، والآن نحتاج إلى تكوين اتصال عبر الإنترنت باللوحة.
للقيام بذلك ، حدد في القائمة عبر الإنترنت - إعدادات النقل. ستفتح لك هذه النافذة:
إعداد الاتصال في GX Developer FX في سلسلة واجهة الكمبيوتر الشخصي ، حدد Ordinal (هنا يتم ترجمته بشكل غير صحيح - يجب أن يكون كذلك
المسلسل) وسترى هذه النافذة:
هنا نختار رقم منفذ COM المطابق للرقم المرئي في أجهزة الكمبيوتر الشخصية. يطلق عليه STMicroelectronics Virtual COM Port (COM2) في حالتنا. الآن يمكننا التحقق مما إذا كان هناك أي اتصال. للقيام بذلك ، انقر فوق الزر اختبار الاتصال في مربع الحوار السابق. إذا كان كل شيء على ما يرام ، فستظهر لك رسالة كما في الشكل أدناه:
والآن يمكننا المتابعة بأمان إلى الشيء الأكثر إثارة للاهتمام - برمجة وحدة التحكم. يدعم هذا الإصدار ثلاث لغات: IL - لغة التعليمات ، نوع عرض السلسلة. LAD - لغة منطق الدرج ، نوع العرض المرئي. SFC - لغة الكتل المتتالية ، نوع العرض المرئي. ويمكنك دائمًا التبديل بين عرض اللغات IL و LAD والعكس بالعكس. ما يلي هو برنامج LAD نموذجي:
وهذا هو نفس البرنامج ولكن بلغة IL:
بالطبع ، كل هذا جيد ، لكني أريد أن أنظر في منطق البرنامج - لفهم ما يحدث هناك. للقيام بذلك ، اضغط على الزر F3 - وإذا كان البرنامج مكتوبًا على وحدة التحكم ، فسيتم تحويل الشاشة إلى وضع المراقبة عبر الإنترنت. لتسجيل البرنامج تحتاج إلى تحديد في القائمة عبر الإنترنت - اكتب إلى وحدة التحكم.
سيتم عرض النافذة التالية:
اختيار عناصر المشروع للكتابة إلى وحدة التحكم في النافذة ، حدد خيارات التسجيل (هنا يتم تحديد معلمات البرنامج ووحدة التحكم بأكملها) ، وانقر فوق الزر تشغيل. سيخطرك البرنامج بأنه لتسجيل وحدة التحكم سيتم تحويلها إلى وضع STOP (سترى هذا من خلال انقراض LED المتصل بـ PC13) ، وسوف يقوم بتسجيل وحدة التحكم ووضعها في وضع RUN.
وهذه هي الطريقة التي سيتم بها عرض التعليمات البرمجية المصدر لبرنامج LAD عبر الإنترنت:
نوع جزء من البرنامج بلغة LAD في وضع المراقبة عبر الإنترنت ونفس قطعة برنامج IL على الإنترنت:
نوع جزء البرنامج في المراقبة الفورية عبر الإنترنت وإليك رمز مصدر SFC:
من أجل راحة الاختبار ، أستخدم تطورات الاختبار القديمة لأجهزة جهاز التحكم ، والتي لم يتم استخدامها لسبب أو لآخر. يظهر أحد هذه اللوحات في الشكل أدناه:
توفر هذه اللوحة عزلًا كلفانيًا للحافلات UART1 و UART2 و 1-wire. يتم عزل المدخلات والمخرجات المنفصلة أيضًا. يتم قبول وسائل الاستذكار التالية للبرنامج: X1 هو الإدخال بالعنوان 1 ، و Y2 هو الإخراج بالعنوان 2 ، و M104 هو معامل البت بالعنوان 104 ، و D1000 هو السجل العام بالعنوان 1000. يحتوي إصدار البرنامج الثابت الموجود في المرفق على القيود التالية: عدد خطوات البرنامج 1000 (الحد الأقصى هو 8000).
عدد السجلات - 2000 (النطاق D0000-D1999). عدد متغيرات البت - 3072 (النطاق M0-M3071). UART1 - دعم Modbus RTU الرئيسي / الرقيق ، عدد العبيد في الوضع الرئيسي -2 (الحد الأقصى الممكن - 128) .UART2 - دعم Modbus RTU master / slave ، عدد العبيد في الوضع الرئيسي -2 (الحد الأقصى الممكن - 128).
بشكل افتراضي ، معلمات الاتصال التسلسلي هي 57600 ، 8N1. UART1 - في الوضع التابع بالعنوان 1 ، UART2 - أيضًا في الوضع التابع بالعنوان 2.
بالنسبة للحافلة ذات السلك الواحد ، في الوقت الحالي ، الدعم فقط لأجهزة الاستشعار مثل DS18B20 ، عدد العبيد -2 (الحد الأقصى الممكن هو 128).
يتم أيضًا دعم تفريغ البرنامج من وحدة التحكم وتحويله إلى شكل يمكن قراءته بواسطة الإنسان (أفضل LAD).
تم بناء البرنامج باستخدام نظام التشغيل في الوقت الحقيقي ChibiOS RT.
يتم تكوين إعدادات الاتصال على modbus RTU والحافلات ذات الأسلاك الواحدة باستخدام البرنامج الذي يمكنك العثور عليه في المرفق. على سبيل المثال ، نأخذ الآن بعين الاعتبار إعداد أجهزة استشعار ذات عناوين غير معروفة والبحث عنها. بعد بدء البرنامج ، سيكون لديك هذه النافذة:
ظهور برنامج المكوّن بعد البدء انتقل إلى علامة التبويب 1-wire وحدد الرئيسي 1-wire ، وتأكد من النقر فوق الزر الكتابة إلى PLC للكتابة إلى وحدة التحكم:
والآن ، بعد النقر فوق الزر Search slave ، تفتح نافذة حيث يمكنك تحديد عنوان في منطقة D0000-D2000 ، بدءًا من ذلك سيتم تسجيل قيم درجة الحرارة المسجلة من أجهزة الاستشعار في شكل رقم نقطة عائمة.
نافذة البحث الرقيق حافلة سلك واحد وتظهر النافذة أدناه بعد بحث ناجح عن جميع أجهزة الاستشعار المتصلة بناقل تبادل البيانات.
نافذة البحث عن الرقيق - تم العثور على 3 أجهزة استشعار درجة الحرارة المتصلة هنا يمكننا إضافة أجهزة الاستشعار الموجودة في التكوين الحالي أو استبدال الجهاز الحالي بأخرى جديدة تمامًا. في حالتنا ، سيتم إرسال بيانات درجة الحرارة إلى منطقة تسجيل وحدة التحكم في العناوين D1500 و D1502 و D1504 في شكل رقم عائم. كل ما تبقى هو الضغط على زر الكتابة إلى PLC وإعادة تشغيل اللوحة لتنشيط تكوين الأجهزة الجديد.
تنزيل تكوين جديد على وحدة التحكم ما الذي يمكن إضافته أيضًا حول برنامج التكوين؟ هناك نقطة واحدة - هذا هو تمثيل أرقام الفاصلة العائمة في وحدة تحكم FX2N. لتبسيط إدخال الثوابت في هذا التنسيق ، كان علينا استخدام سجل ثابت مع معدل H. بمجرد أن يواجه مترجم وحدة التحكم مثل هذا المعدل ، فإنه يفهم أنه سيتم إرسال رقم بتنسيق الفاصلة العائمة معه ، ولكن في شكل سجل IEE754 بدقة واحدة. تظهر نافذة البرنامج في علامة التبويب المحول أدناه.
تحويل تنسيقات أرقام الفاصلة العائمة الخلاصة - ما حصلنا عليه:
لقد حان الوقت للسؤال - ولكن في الحقيقة ، ما هي سرعة وحدة التحكم هذه؟ كل شيء بسيط هنا - عند استطلاع كل من منفذي الاتصال عبر modbus RTU (وحدة تحكم الرقيق - كلا المنفذين) بسرعة 500 كيلوبت في الثانية وطول استعلام يبلغ 122 تسجيلًا ، واستقصاء 17 مستشعرات درجة حرارة وتنفيذ برنامج "ثقيل" (يتكون من المعاملات الثنائية) من 7745 خطوة ، كانت دورة التنفيذ 21 مللي ثانية. وبالطبع هناك أيضًا عيوب في وحدة التحكم هذه. الأول هو أن الألواح الزرقاء تختلف في الجودة المنخفضة للمكونات ، وبالتالي أوصي بتطبيق طاقة خارجية على اللوحة قبل توصيل mini-USB. والثاني ، بالطبع ، أنه لا توجد ذاكرة غير متطايرة (بتعبير أدق ، توجد - ولكن فقط 9 تسجيلات في المنطقة التي تدعمها البطارية). وأنت تفهم بنفسك أنه من الأفضل عدم استخدام مثل هذا الجهاز للتطبيقات الهامة أو في الإنتاج. ولكن بالنسبة للمنزل أو للتدريب - هذا هو أرخص ، وبأسعار معقولة ومفهومة.
حاولت أن أجعل المراجعة شاملة - وإذا كان لديك أي مشاكل ، فاكتب. سأكون سعيدًا بشكل خاص إذا وجدت أخطاء في تنفيذ البرنامج. آمل أن تكون المقالة غنية بالمعلومات وأنك لم تضيع وقتك في قراءتها.
التنزيلات لهذه المقالة أدناه.