Мигающая лампочка

Автор shev65, 26 марта 2015, 08:56:53

Simple_Scada

#15
Групповое редактирование свойств будет доступно в версии Simple-Scada 2.0, но проблема не в этом. Вы пытаетесь настроить синхронную анимацию у разных лампочек в редакторе, но при запуске скады у Вас все равно все будет мигать по разному т.к. каждая лампочка привязана к своему тэгу и анимация будет включаться в разное время. Это можно будет сделать с помощью скриптов в новой версии. А пока такое можно реализовать либо на уровне контроллера, например сделать переменную "Flash", которая мигает с частотой 2 сек. и сделать условие: если переменная активирующая лампочку и наша переменная "Flash" равны 1, то в тэг лампочки записать 1. Таким образом все теги всех лампочек будут меняться синхронно. Затем в событиях у лампочек прописать включение анимации по изменению тэга.

Также можно сделать следующим образом: Объявить на контроллере переменную типа Bool, которая всегда будет иметь значение 1 и прописать ее во всех лампочках(см. вложение), там же прописать условие по изменению тега лампочки - при 0 - установить прозрачность = 0, при 1 - прозрачность 255. В этом случае лампочки будут видны только, когда их тэг = 1.

shev65

#16
Вчера пробовал управлять лампочками непосредственно с контроллера - синхронно, но неравномерно мигают лампочки,
повидимому связано со скоростью обмена от цикла к циклу.
Сегодня решил поэксперементировать с анимацией...
Попробовал как Вы предлагаете, по двум тегам управлять
1. прозрачность
2. анимация
в тег анимации, поставил дополнительную кнопку, которой тег можно в ручную в ноль переводить.
Толку мало, при появлении 0 анимация прекращается, но лампочка остается в своем кадре, при появлении анимации
разнобой продолжается

Теги анимации синхронизировал с блинкером внутри контроллера, так что тег передается не в момент включения механизма
а при совпадении механизм + блинкер. Все равно разнобой, опять же повидимому связано с тем, как состояние тегов передается в скаду

Вот что еще интересно, при копировании объекта все данные и настройки сохраняются, кроме анимации.
Во время написания понял почему :) анимация начинается в момент применения, обсуждали выше

Simple_Scada

#17
Доброе утро!

Вы немного не допоняли - проблема в том, что Вы меняете скорость анимации и кадры в редакторе, а этого делать не нужно. В редакторе скорость должна быть 0, кадр 1 у всех лампочек. А в событиях указывать их поведение.

Цитата: shev65 от 26 марта 2015, 18:35:46Вчера пробовал управлять лампочками непосредственно с контроллера - синхронно, но неравномерно мигают лампочки,
повидимому связано со скоростью обмена от цикла к циклу.

Может быть и так - тогда используйте способ "анимация+прозрачность".

Цитата: shev65 от 26 марта 2015, 18:35:46в тег анимации, поставил дополнительную кнопку, которой тег можно в ручную в ноль переводить.
Толку мало, при появлении 0 анимация прекращается, но лампочка остается в своем кадре, при появлении анимации
разнобой продолжается

Вот тег анимации как раз и не нужно менять - (в предыдущем сообщении мы неправильно написали - исправили )нужно объявить на контроллере переменную типа Bool, которая всегда будет иметь значение 1. Вы должны менять тег, который отвечает за прозрачность. ;)

Цитата: shev65 от 26 марта 2015, 18:35:46Теги анимации синхронизировал с блинкером внутри контроллера, так что тег передается не в момент включения механизма
а при совпадении механизм + блинкер. Все равно разнобой, опять же повидимому связано с тем, как состояние тегов передается в скаду

И здесь у Вас разнобой скорее всего происходит потому, что Вы в редакторе включаете анимацию и меняете кадры. Попробуйте это делать только в событиях.
Вчера у себя проверяли способ "анимация+прозрачность" - все работает синхронно. Способ "механизм + блинкер" тоже должен работать нормально, но надо проверять. Прикрепляем видео со способом "анимация+прозрачность".

shev65

Здравствуйте!
Анимацию указывал в событиях, в редакторе анимация отключена.
Возможно где то допустил ошибку, к вечеру голова дымилась :) .
Сейчас контроллера под рукой нет, продолжу послезавтра.
Спасибо за помощь!

Simple_Scada

#19
Чтобы способ "анимация+прозрачность" работал главное во всех лампочках прописать на включение анимации один и тот же тег, который всегда равен 1. Тогда при запуске скады у всех лампочек одновременно включится анимация и они будут синхронно мигать. А тегами активирующими лампочки менять прозрачность.

Мы обязательно учтем эти неудобства и в Simple-Scada 2.0 все будет гораздо проще.

shev65

Спасибо! Буду пробовать.

shev65

Здравствуйте!
Продолжил... :)
Удалил старые лампочки, создал новые, настроил как рекомендавали
Все заработало!
Спасибо!

Simple_Scada

Отличные новости! Рады что все получилось.