Когда выполняются скрипты панели PH1 и сколько их можно завести?
Скрипты бывают фоновые (работают всё время, пока запущен проект, независимо от того, какой экран открыт) и экранные (работают только на своём экране). Для тех и других доступны четыре режима запуска.
| Режим | Когда выполняется |
|---|---|
| Инициализация | один раз: фоновый — при загрузке проекта, экранный — при открытии экрана |
| Закрытие | один раз при закрытии проекта или при уходе с экрана |
| По времени | с заданным интервалом; единица измерения — 10 мс |
| Триггерный бит | по состоянию бита; бит проверяется каждые 20 мс |
Условия для триггерного бита: TRUE, FALSE, изменение бита, фронт (переход из FALSE в TRUE) и спад (из TRUE в FALSE).
Количественные ограничения:
- 32 скрипта по времени и 32 триггерных скрипта — на каждый экран и отдельно на фон;
- максимальная длина одного скрипта — 512 строк;
- у фоновой функции не более 4 параметров; тип возвращаемого значения — нет, строка, целое или число с плавающей точкой.
Два совета по производительности прямо из руководства, и оба серьёзные:
- не злоупотребляйте циклами — слишком долгий цикл тормозит всю панель;
- в циклических скриптах не обращайтесь к внешним регистрам. Последовательная связь медленная, и частое обращение к адресам ПЛК из цикла снижает и скорость выполнения скрипта, и отзывчивость экрана. Внутренние регистры (HDW, HSW) использовать можно.
Практическое следствие: если панель «подтормаживает» при нажатиях, первым делом смотрите не на экраны, а на циклические скрипты, которые лезут в контроллер.
Прикреплённая документация
Георгий Жуков
Ведущий инженер