Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Последовательность выполнения скриптов  (Прочитано 4517 раз)

Юрий

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Добрый день!

 У меня в проекте имеется 15 скриптов "прошла секунда", и каждый выполняет определенную задачу.  Подскажите, как у вас выполняются скрипты, последовательно или параллельно. Т.е. как поступить в данной ситуации лучше, объединить все скрипты "прошла секунда" в один или оставить каждый под свою задачу? И есть ли вообще разница, сколько скриптов "прошла секунда" одновременно может выполняется в проекте?
За ранее спасибо!!!

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Здравствуйте.

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

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

Но и слишком бояться секундных скрипов не стоит. У любого современного ПК, даже слабого, обычно довольно большой запас производительности. Поэтому можно смело использовать секундные скрипты в простых вычислениях и сравнениях, причем в больших количествах. Если у Вас есть конкретная задача (или скрипт), или сложности с реализацией - опишите её, возможно мы сможем порекомендовать какие-то улучшения.

Teodor

  • Старожил
  • ****
  • Сообщений: 256
    • Просмотр профиля
Я так понимаю, вопрос был в другом.

Скрипт_такой: а:=5;
Скрипт_сякой: а:=3;
Вопрос: чему равно "а", если я не понимаю какой порядок отработки скриптов. Такой-сякой, или сякой-такой и как это изменить...

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Все скрипты выполняются по наступлению какого-либо события. Например OnClick, или OnDataChange. Т.е. если сначала пользователь кликнул объект, затем снова кликнул объект, затем изменилась переменная, то скрипты в такой же последовательности и выполнятся: OnClick, OnClick, OnDataChange. Если говорить о секундных скриптах, то они также выполняются последовательно, в том порядке, в котором были созданы.

Teodor

  • Старожил
  • ****
  • Сообщений: 256
    • Просмотр профиля
Все скрипты выполняются по наступлению какого-либо события. Например OnClick, или OnDataChange. Т.е. если сначала пользователь кликнул объект, затем снова кликнул объект, затем изменилась переменная, то скрипты в такой же последовательности и выполнятся: OnClick, OnClick, OnDataChange. Если говорить о секундных скриптах, то они также выполняются последовательно, в том порядке, в котором были созданы.
Спасибо, это и имелось в виду...