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

                      goto

                      • Home
                      • goto

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

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

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

                      24
                      • ورودی / خروجی پی ال سی
                        • رله های داخلی M
                        • خروجی دیجیتال Q
                        • ورودی دیجیتال I
                      • کنترل روند برنامه
                        • return
                        • goto
                        • switch
                        • continue
                        • break
                        • for
                        • do-while
                        • while
                        • if
                      • دستورات کنترل بیت
                        • ToggleRelay
                        • ToggleQ
                        • Reset
                        • Set
                        • ResetQ
                        • SetQ
                        • OutQ
                      • تایمر و شمارنده
                        • Delay
                        • espGetCurrentTime
                        • espElapsedTime
                        • Timer
                      • بیت های کنترلی
                        • پالسهای آماده

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

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

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

                      1. پرش به برچسب خطا

                      // پرش به برچسب در صورت بروز خطا
                      if (COM1_Error) {
                          goto error_handler;
                      }
                      
                      if (COM2_Error) {
                          goto error_handler;
                      }
                      
                      // کد اصلی
                      espRun();
                      goto end;
                      
                      error_handler:
                          // مدیریت خطا
                          ///Do something
                          for (int i = 0; i < 6; i++) {
                              ResetQ(0, i);
                          }
                      
                      end:
                          // پایان برنامه
                          return;
                      
                      

                      2. پرش به برچسب timeout

                      // پرش به برچسب timeout
                      uint32_t startTime = HAL_GetTick();
                      int i = 0;
                      
                      wait_loop:
                          espRun();
                          if (I0[i].Value) {
                              goto success;
                          }
                          if (HAL_GetTick() - startTime > 5000) {
                              goto timeout;
                          }
                          i++;
                          if (i < 8) {
                              goto wait_loop;
                          }
                      
                      timeout:
                          // مدیریت timeout
                          // Do for error handling
                          goto end;
                      
                      success:
                          // عملیات موفق
                          SetQ(0, i);
                          goto end;
                      
                      end:
                          return;
                      

                      3. پرش به برچسب Reset

                      // پرش به برچسب Reset
                      if (I0[7].Value) {  // دکمه Reset
                          goto reset_system;
                      }
                      
                      // کد اصلی
                      espRun();
                      goto end;
                      
                      reset_system:
                          // ریست کردن سیستم
                          for (int i = 0; i < 6; i++) {
                              ResetQ(0, i);
                          }
                          for (int i = 0; i < 512; i++) {
                              M[i].Value = 0;
                          }
                          for (int i = 0; i < 256; i++) {
                              T[i].IN = 0;
                              T[i].Q = 0;
                          }
                      
                      end:
                          return;
                      
                      C programming, ESP-0806-B, ESP-0806-C, ESP-0806-D, ESP-0806-E

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

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

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

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

                      لینک های مفید

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

                      ساعت کار

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

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

                      Ehsansanatpasargad @2024
                      0

                      0﷼

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

                                ورود

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

                                ✕

                                سبد خرید

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

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