• info@ehsansanatpasargad.com
ESPESPESPESP
            No results See all results
            فارسی
            • English
            • Arabic
            • Russian
            • Turkish
            • صفحه اصلی
            • فروشگاه
            • تماس با ما
            • درباره ما
            • راهکارهای ESP
              • مانیتورینگ کارخانجات
              • روشنایی هوشمند مجتمع های بزرگ
            • راهنما
              • زبان STL برای ESP
              • دایره المعارف STL
            • رسانه تصویری
              • آموزش زبان برنامه نویسی ST
              • دوره آموزش STL
            • دانلود
              • ESP Builder
              • STM32cubeIDE
            • محصولات ESP در عمل
            ✕
                      No results See all results

                      SetQ

                      • Home
                      • SetQ

                      محیط برنامه نویسی

                      1
                      • ایجاد پروژه جدید برای پی ال سی ایرانی ESP-0806

                      برنامه نویسی ST

                      16
                      • ورودی / خروجی پی ال سی
                        • رله های داخلی M
                        • خروجی دیجیتال Q
                        • ورودی دیجیتال I
                      • کنترل روند برنامه
                        • if
                      • دستورات کنترل بیت
                        • ToggleRelay
                        • ToggleQ
                        • Reset
                        • Set
                        • ResetQ
                        • SetQ
                        • OutQ
                      • تایمر و شمارنده
                        • Delay
                        • espGetCurrentTime
                        • espElapsedTime
                        • Timer
                      • بیت های کنترلی
                        • پالسهای آماده

                      برنامه نویسی C

                      5
                      • فایلهای Header
                      • Declarations اعلان ها
                        • اعداد حقیقی
                        • اعداد صحیح
                        • include
                        • extern
                      مشاهده دسته‌ها
                      • صفحه اصلی
                      • مستندات ESP
                      • STL
                      • برنامه نویسی ST
                      • دستورات کنترل بیت
                      • SetQ

                      مدت زمان تقریبی مطالعه این متن: 1 حداقل زمان مورد نیاز

                      پی ال سی ایرانی ESP-0806-B

                      ESP-0806

                      قابل استفاده برای تمامی مدلها

                      Setدر این آموزش با نحوه استفاده از دستور SetQ برای کنترل خروجی های دیجیتال پی ال سی ایرانی ESP-0806 آشنا می شوید.

                      با استفاده از دستور SetQ براحتی می توانید خروجی مورد نظر را روشن کنید. توجه داشته باشید که دستور SetQ کاری با خاموش کردن خروجی مذکور ندارد.

                      ساختار کلی دستور

                      تعریف دستور SetQ

                      void SetQ(uint8_t module, uint8_t Output);
                      

                      پارامترها

                      module: شماره ماژول (0 برای CPU و 1-16 برای کارتهای توسعه)

                      Output: شماره خروجی (0 تا 5 برای CPU و 0-32 برای کارتهای توسعه)

                      روشهای استفاده

                      1- فعال کردن خروجی های منفرد

                      // فعال کردن خروجی Q0.0
                      SetQ(0, 0);
                      
                      // فعال کردن خروجی Q0.1
                      SetQ(0, 1);
                      
                      // فعال کردن خروجی Q0.2
                      SetQ(0, 2);
                      
                      // فعال کردن خروجی Q0.3
                      SetQ(0, 3);
                      
                      // فعال کردن خروجی Q0.4
                      SetQ(0, 4);
                      
                      // فعال کردن خروجی Q0.5
                      SetQ(0, 5);
                      

                      2- فعال کردن چندین خروجی

                      // فعال کردن چندین خروجی همزمان
                      SetQ(0, 0);   // Q0.0
                      SetQ(0, 1);   // Q0.1
                      SetQ(0, 2);   // Q0.2
                      
                      

                      مثالهای کاربردی

                      کنترل موتور

                      // کنترل موتور بالا
                      void motorUp() {
                          SetQ(0, 0);   // فعال کردن موتور بالا (Q0.0)
                      }
                      
                      // کنترل موتور پایین
                      void motorDown() {
                          SetQ(0, 1);   // فعال کردن موتور پایین (Q0.1)
                      }
                      
                      // کنترل هر دو موتور
                      void motorBoth() {
                          SetQ(0, 0);   // موتور بالا
                          SetQ(0, 1);   // موتور پایین
                      }
                      
                      

                      کنترل رله

                      // فعال کردن رله اصلی
                      void relayMain() {
                          SetQ(0, 2);   // فعال کردن رله اصلی (Q0.2)
                      }
                      
                      // فعال کردن رله کمکی
                      void relayAux() {
                          SetQ(0, 3);   // فعال کردن رله کمکی (Q0.3)
                      }
                      
                      // فعال کردن رله هشدار
                      void relayAlarm() {
                          SetQ(0, 4);   // فعال کردن رله هشدار (Q0.4)
                      }
                      
                      

                      کنترل چراغها

                      // فعال کردن چراغ اصلی
                      void lightMain() {
                          SetQ(0, 2);   // فعال کردن چراغ اصلی (Q0.2)
                      }
                      
                      // فعال کردن چراغ نشانگر
                      void lightIndicator() {
                          SetQ(0, 3);   // فعال کردن چراغ نشانگر (Q0.3)
                      }
                      
                      // فعال کردن چراغ هشدار
                      void lightWarning() {
                          SetQ(0, 4);   // فعال کردن چراغ هشدار (Q0.4)
                      }
                      
                      // فعال کردن چراغ اضطراری
                      void lightEmergency() {
                          SetQ(0, 5);   // فعال کردن چراغ اضطراری (Q0.5)
                      }
                      
                      

                      کنترل شرطی

                      // کنترل بر اساس شرایط
                      void conditionalControl() {
                          if (I0[0].Value && I0[1].Value) {
                              SetQ(0, 0);   // فعال کردن اگر هر دو ورودی فعال باشند
                          }
                          
                          if (I0[2].Value || I0[3].Value) {
                              SetQ(0, 1);   // فعال کردن اگر یکی از ورودی‌ها فعال باشد
                          }
                      }
                      
                      

                      کنترل با تایمر

                      // کنترل با تایمر
                      void timedControl() {
                          static uint32_t startTime = 0;
                          
                          if (startCondition) {
                              startTime = espGetTimerTicks();
                              SetQ(0, 0);   // شروع
                          }
                          
                          if (espGetTimerTicks() - startTime > 5000) {  // 5 ثانیه
                              // تایمر تمام شده - خروجی در جای دیگری ریست می‌شود
                          }
                      }
                      
                      

                      کنترل پالس

                      // تولید پالس کوتاه
                      void generatePulse() {
                          SetQ(0, 1);   // شروع پالس
                          Delay(100);   // تاخیر 100 میلی‌ثانیه
                          // ریست کردن در جای دیگری انجام می‌شود
                      }
                      
                      

                      کنترل توالی

                      // اجرای توالی عملیات
                      void sequenceControl() {
                          // مرحله 1
                          SetQ(0, 0);
                          Delay(1000);
                          
                          // مرحله 2
                          SetQ(0, 1);
                          Delay(2000);
                          
                          // مرحله 3
                          SetQ(0, 2);
                          Delay(1000);
                          
                          // پایان - ریست کردن در جای دیگری انجام می‌شود
                      }
                      
                      

                      نکات مهم:

                      سرعت اجرا: دستور SetQ بسیار سریع اجرا می‌شود
                      همزمانی: چندین دستور SetQ می‌توانند پشت سر هم اجرا شوند
                      محدوده: شماره خروجی برای کارت CPU باید بین 0 تا 5 باشد
                      حافظه: دستور SetQ مستقیماً روی سخت‌افزار عمل می‌کند
                      ایمنی: همیشه شرایط ایمنی را قبل از فعال کردن خروجی‌ها بررسی کنید

                      ESP-0806-B, ESP-0806-C, ESP-0806-D, ESP-0806-E

                      احساس شما چیست

                      • خوشحال
                      • معمولی
                      • غمگین
                      این مقاله را به اشتراک بگذارید:
                      • Facebook
                      • X
                      • LinkedIn
                      • Pinterest
                      ResetQOutQ

                      دیدگاهتان را بنویسید لغو پاسخ

                      نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

                      لینک های مفید

                      • تماس با ما
                      • درباره ما
                      • وبلاگ ما

                      ساعت کار

                      تهران, حکیمیه, پردیس فنی شهید عباسپور, پارک علم و فناوری, طبقه اول, واحد 16

                      شنبه تا چهارشنبه
                      9 صبح الی 5 بعد ازظهر

                      Ehsansanatpasargad @2024
                      0

                      0﷼

                      فارسی
                                No results See all results
                                • English
                                • فارسی
                                • Arabic
                                • Russian
                                • Turkish
                                ✕

                                ورود

                                گذرواژه خود را فراموش کرده اید؟

                                ✕

                                سبد خرید

                                سبد خرید شما در حال حاضر خالی است.

                                جمع جزء: 0﷼
                                مجموع: 0﷼
                                ادامه جهت تسویه حساب مشاهده سبد خرید
                                • فروشگاه
                                • حساب کاربری من
                                • 0 سبد خرید
                                • فارسی