Gif анимация

Avatar
  • обновлен

Добрый день. Не можем понять как осуществить. Имеется вал с лопастями, в gif формате, который должен крутиться вперед, назад и стоять.

Получается при повороте тумблера в право вал крутится вперед, влево назад ну и если тумблер в середине то он должен остановится. В Привязках канала-работа с битами, мы можем сказать только старт и стоп(допустим) а реверс валу мы уже не можем дать команду.

Можем конечно 2 gif поставить и картинкой закрыть, но получается не очень красиво.

Как осуществить именно 3 команды на одну gif?

Avatar
Цитата от alexy1986

А можно ли что бы разработчики добавили такую реализацию данной проблемы.

Повторюсь у Вас всего ДВА состояния управляющего сигнала - как из двух состояний сделать ТРИ? Вы упомянули тумблер на ТРИ состояния - он каким каналом управляет?

Avatar
Anatoly

Нормально вы можете все сделать. Но проблема есть в гифке. Если у вас есть заготовка гиф с правым и левым вращением то для реализации потребуется 3 гиф. Одна будет статичная, вторая- нормальное вращение и следующая - реверс. Вяжете динамические гиф так же через биты. Но в дополнение, соответствующий канал вяжете на видимость соответствующей гиф. Т.е. при значении канала 1 включается видимость работающей гиф. При значении 0, гиф не отображается. Статическая гиф вяжется к виртуальному каналу работающему через скрипт 2OR-NOT. Входы OR это канал нормального пуска и канал реверса, выход блока инвертируется и значение подается на канал управления видимостью статического изображения. Логика проста: при единице на любом из динамических каналов, статический получает значение 0 и исчезает. И наоборот. (при использовании виртуальных каналов - вызов скрипта по времени 100мс)

Не смог прикрепить видео. Это ссылка к файлу на гугл-диске. Записал как работает анимация. Только не было гиф с обратным вращением. Сами найдете на просторах инета.

https://drive.google.com/file/d/1D3XPIjwye0-dlMora4BN0f-yhCBbcLQC/view?usp=sharing

Image 2107

Avatar
Anatoly

Техподдержка, научитесь отвечать людям не встречным вопросом. Вам же не нужен ответ потому, что вы видите, человек в ступоре и принимает неправильные решения. И суть знаете. Разъясните прямым обращением (но не вопросами), что постановка задачи ошибочная или дайте решение проблемы. Берите пример с Юрия Скобелкина. На любые вопросы у него нормальные поясняющие ответы, которые не ставят человека в ступор.

Успехов.

Avatar
Цитата от Anatoly

Нормально вы можете все сделать. Но проблема есть в гифке. Если у вас есть заготовка гиф с правым и левым вращением то для реализации потребуется 3 гиф. Одна будет статичная, вторая- нормальное вращение и следующая - реверс. Вяжете динамические гиф так же через биты. Но в дополнение, соответствующий канал вяжете на видимость соответствующей гиф. Т.е. при значении канала 1 включается видимость работающей гиф. При значении 0, гиф не отображается. Статическая гиф вяжется к виртуальному каналу работающему через скрипт 2OR-NOT. Входы OR это канал нормального пуска и канал реверса, выход блока инвертируется и значение подается на канал управления видимостью статического изображения. Логика проста: при единице на любом из динамических каналов, статический получает значение 0 и исчезает. И наоборот. (при использовании виртуальных каналов - вызов скрипта по времени 100мс)

Не смог прикрепить видео. Это ссылка к файлу на гугл-диске. Записал как работает анимация. Только не было гиф с обратным вращением. Сами найдете на просторах инета.

https://drive.google.com/file/d/1D3XPIjwye0-dlMora4BN0f-yhCBbcLQC/view?usp=sharing

Image 2107

Добрый вечер, Анатолий.

Очень интересно будет увидеть работающий пример - три состояния той же мешалки (вращение вправо, влево и стоп) при двух состояниях управляющего сигнала 0 и 1. Будем рады изучить данный пример, т.к. наши инженеры с ходу не могут найти решения данной задачи.

Avatar
Цитата от Anatoly

Техподдержка, научитесь отвечать людям не встречным вопросом. Вам же не нужен ответ потому, что вы видите, человек в ступоре и принимает неправильные решения. И суть знаете. Разъясните прямым обращением (но не вопросами), что постановка задачи ошибочная или дайте решение проблемы. Берите пример с Юрия Скобелкина. На любые вопросы у него нормальные поясняющие ответы, которые не ставят человека в ступор.

Успехов.

Добрый вечер, Анатолий.

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

Avatar
Anatoly
Цитата от СИМП Лайт (тех поддержка)

Добрый вечер, Анатолий.

Очень интересно будет увидеть работающий пример - три состояния той же мешалки (вращение вправо, влево и стоп) при двух состояниях управляющего сигнала 0 и 1. Будем рады изучить данный пример, т.к. наши инженеры с ходу не могут найти решения данной задачи.

ПРОЛОГ.

Наваял. Думал что отвечаю Алексу. А это техподдержка поддевает. Шутники.

Конечно, через 0-1 вы не сможете управлять тремя состояниями, (я трезв больше 40 лет:).

О том то и говорил, что вы видели, чел св тупике. Но он достаточно ясно описал задачу. А еже ль выражается, как выражается, то не суть вытягивать из него правильные слова об очевидном.

Но пусть он почитает, думаю понятно.

Дал доступ к файлу диска с демонстрацией работающего примера. Что здесь изучать?

У вас три состояния одного механизма (пуск-стоп-реверс) управление ведется по двум каналам (т.к. поставлено условие о типе данных - bool). Но применять для практической реализации в СКАДА будете три канала. Почему... Особенность работы гиф. Их будет 2 + 1 статичное изображение (или 1 статичный гиф, только для изображения механизма). Первые два объекта могут принимать значения 0-1 (стоп-пуск)(стоп-реверс), но значения у вас будет три т.к. вы не можете присвоить одно и тоже значение "1" одному объекту заставив его принимать 2 разных состояния (в одном гиф это невозможно). Поэтому у вас будут 2 динамических изображения (нормальный пуск и реверс). Появляется одно НО. Изображения не должны мешать друг другу наложением. Если у вас наложится гиф ПУСК на РЕВЕРС, то будет каша (и наоборот). Надо показывать динамичное изображение когда объект в состоянии ПУСК= 1. И скрывать его в состоянии 0. Ведь в это время может быть включен в работу РЕВЕРС, и его изображение наложится на остановленный ПУСК=0, но не заместит его, а смешается. И вы ничего не увидите хорошего. Что делать? Скрывать их в состоянии =0. Но при состоянии двух объектов =0, экран будет пуст... Для этого вводится третье, статичное, изображение объекта состояние -СТОП. Свойства СТОП заключены в условии - если ПУСК or РЕВЕРС =1, то СТОП = скрыт. Если ПУСК and РЕВЕРС = 0, то СТОП = видимый. Вот эти два состояния объекта СТОП решаются в структуре мнемосхем в свойстве "видимость", связывая его с третьим вводимым для этого, виртуальным каналом, отвечающим за контроль состояния объекта СТОП исходя из состояния ПУСК и РЕВЕРС.

Как вы заводите на СКАДА сигнал ПУСК? в Тег.

Как вы заводите в СКАДА сигнал РЕВЕРС? тоже в Тег, но с другим именем.

Значит, то к чему вас подводила техподдержка вопросами, решается тремя состояниями, условно назовем их 1а-0-1б. Значения то 0-1, но каналы разные. И 1а не есть 1б, т.к. управляют разным рабочим состоянием, хотя одного и того же оборудования. Так же и состояние 0, отличается друг от друга, т.к. принадлежит разным объектам управления одной единицы оборудования. Скорее, в практике, вам надо будет их объединить в один канал. т.к. 0, он и есть 0 - общий стоп для любого управляющего состояния и любому объекту ПУСК или РЕВЕРС должен присваиваться 0 при остановке. Все реверсивные переключения оборудования проходят через СТОП.

Что же это за инженеры у вас завелись, которые не могут решить задачу :))

Avatar
Anatoly

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

Avatar
Цитата от Anatoly

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

Добрый вечер, Анатолий.


Предоставленное решение заслуживает внимания, мы его обязательно у себя поверим. И если все верно, будем предлагать его как проверенное решение за Вашим авторством. Спасибо за идею реализации задачи и потраченное время!

Avatar
Цитата от Anatoly

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

Как говорится в споре (диалоге) рождается истина! Коллегиальное обсуждение задачи, полезно всем сторонам которые участвуют в процессе..

Avatar

День добрый, коллеги.

Накидали небольшой пример. Наше виденье обсуждаемой задачи (отдельное спасибо Anatoly за идею).

Image 2108

Пример управления насосом.slz