Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Юрий от 01 Июня 2017, 18:13:59

Название: Последовательность выполнения скриптов
Отправлено: Юрий от 01 Июня 2017, 18:13:59
Добрый день!

 У меня в проекте имеется 15 скриптов "прошла секунда", и каждый выполняет определенную задачу.  Подскажите, как у вас выполняются скрипты, последовательно или параллельно. Т.е. как поступить в данной ситуации лучше, объединить все скрипты "прошла секунда" в один или оставить каждый под свою задачу? И есть ли вообще разница, сколько скриптов "прошла секунда" одновременно может выполняется в проекте?
За ранее спасибо!!!
Название: Re: Последовательность выполнения скриптов
Отправлено: Simple-Scada от 01 Июня 2017, 22:21:11
Здравствуйте.

Скрипты выполняются последовательно, поэтому ход выполнения и внесения изменений из скриптов всегда будет проходить в одинаковой последовательности.

Цитировать
И есть ли вообще разница, сколько скриптов "прошла секунда" одновременно может выполняется в проекте?
Да, конечно, это имеет значение. Если постоянно добавлять подобные скрипты в проект, то, рано или поздно, настанет момент когда Ваш ПК не будет успевать за 1 секунду прогнать все секундные скрипты. Здесь есть прямая зависимость между сложностью секундных скриптов и производительностью компьютера на котором запускается сервер скады. Мы бы рекомендовали максимально избегать секундных скриптов, если есть такая возможность (например, часто их можно заменить OnDataChange скриптами). Также лучше избегать выполнения сложных вычислений и длинных циклов в секундных скриптах. Ещё на основе секундного скрипта можно сделать скрипт с любым другим периодом больше секунды, например 5 секунд и тем самым снизить частоту выполнения скрипта (если это приемлемо).

Но и слишком бояться секундных скрипов не стоит. У любого современного ПК, даже слабого, обычно довольно большой запас производительности. Поэтому можно смело использовать секундные скрипты в простых вычислениях и сравнениях, причем в больших количествах. Если у Вас есть конкретная задача (или скрипт), или сложности с реализацией - опишите её, возможно мы сможем порекомендовать какие-то улучшения.
Название: Re: Последовательность выполнения скриптов
Отправлено: Teodor от 08 Июня 2017, 15:27:59
Я так понимаю, вопрос был в другом.

Скрипт_такой: а:=5;
Скрипт_сякой: а:=3;
Вопрос: чему равно "а", если я не понимаю какой порядок отработки скриптов. Такой-сякой, или сякой-такой и как это изменить...
Название: Re: Последовательность выполнения скриптов
Отправлено: Simple-Scada от 08 Июня 2017, 21:18:21
Все скрипты выполняются по наступлению какого-либо события. Например OnClick, или OnDataChange. Т.е. если сначала пользователь кликнул объект, затем снова кликнул объект, затем изменилась переменная, то скрипты в такой же последовательности и выполнятся: OnClick, OnClick, OnDataChange. Если говорить о секундных скриптах, то они также выполняются последовательно, в том порядке, в котором были созданы.
Название: Re: Последовательность выполнения скриптов
Отправлено: Teodor от 09 Июня 2017, 09:45:16
Все скрипты выполняются по наступлению какого-либо события. Например OnClick, или OnDataChange. Т.е. если сначала пользователь кликнул объект, затем снова кликнул объект, затем изменилась переменная, то скрипты в такой же последовательности и выполнятся: OnClick, OnClick, OnDataChange. Если говорить о секундных скриптах, то они также выполняются последовательно, в том порядке, в котором были созданы.
Спасибо, это и имелось в виду...