بهینهسازی برنامه
هر محاسبهای زمان محاسباتی خاص خود را دارد. این موضوع میتواند به مشکل تبدیل شود، اگر پروژههای بسیار بزرگ یا عملیات بزرگتر انجام شوند. کل زمان چرخه از طریق تغییر وضعیت سیستم مانیتور در سمت راست بالا نمایش داده میشود.
لطفاً صف نوار دادهها را بررسی کنید. صف فقط زمانی استفاده میشود که دادهها دیگر همزمان خوانده و نوشته نشوند. این موضوع به ویژه در پروژههای بزرگ یا سختافزار اشتباه قابل مشاهده است. صف باید ۱٪ در حالت عادی هرگز فراتر نروید.
عملکرد برنامه
برای درک تست عملکرد، ابتدا باید عملکرد برنامه توضیح داده شود. علاوه بر مبانی زمان چرخه، روشهای پیشرفتهای نیز وجود دارد که فقط در کنترلگر منطقی برنامهنویسی شده (PLC) Antcas به این صورت پیادهسازی شدهاند:
- اگر تغییری در یک عنصر تشخیص داده نشود، کل عنصر پارک میشود و محاسبه نمیشود.
- در هنگام تغییر مقادیر جهانی، چرخه دوگانه اجرا میشود. سپس کنترلگر منطقی برنامهنویسی شده (PLC) فقط یک میلیثانیه منتظر میماند.
- برای محاسبهٔ مقادیر زمان حساس، تایم اوتها تنظیم میشوند.
- ارتباط خروجی (ارسال یا ذخیرهسازی مقادیر) به صورت غیر همزمان و نه پس از انجام محاسبات انجام میشود.
- هر متغیر باقیمانده است و قبل از پارک کردن یا در حداکثر دو ثانیه ذخیره میشود.
تحلیل یک پروژه
برای کشف اینکه کدام عناصر برنامه نیاز به قدرت محاسباتی بسیار بالا دارند، میتوان از تست عملکرد استفاده کرد.
نکات برای بهینهسازی
- از خروجی ET یک تایمر TON، TOF، TP استفاده نکنید. در عوض میتوان از UPTIME استفاده کرد.
- ورودی SET از VISUSET و VISUDTSET نباید همزمان در چندین بلوک عملکرد فعال بماند.
- محاسبات بزرگتر یا پیچیدهتر، اگر ممکن است، در یک عنصر جداگانه محاسبه کنید.
- عملیات ریاضی را با استفاده از CALCULATE محاسبه کنید.
- از لاگرها با فاصله زمانی ممکناً بزرگتر استفاده کنید. ده دقیقه برای یک دما کافی است. فاصله زمانی نیز میتواند به صورت دینامیک تنظیم شود.
- از فاصلههای زمانی بالاتر PT در بلوکهای عملکرد CTRL_PID، SHUTTER، DIMMER و غیره استفاده کنید.
- در هنگام تغییر ورودیهای زمان دینامیک، توجه کنید که این ورودیها همیشه تغییر نکنند. این موضوع به عنوان مثال در دنبالههای RGB با بلوک عملکرد FADE ممکن است رخ دهد.
- کارهای پیچیدهتر را ساده کنید. به ویژه جستجو در رشتههای کاراکتر بسیار محاسباتی است. از FIND و SUBSTR استفاده نکنید، بلکه از بلوک عملکرد EXPLODE یا PREG_SPLIT استفاده کنید. مقادیر به ترتیب ذخیره میشوند.
- پردازش درخواستهای HTTP ممکن است بسیار حافظه مصرف کند.
- تعداد پیامهای دریافتی را کاهش دهید. به عنوان مثال، در هنگام تنظیم روشنایی یک مقدار، بر اساس سیستم باس، بازخورد ممکن است با تأخیر باشد.
- زمان چرخههای کنترلگر منطقی برنامهنویسی شده (PLC) را افزایش دهید.