<< Click to Display Table of Contents >> Сложное мигание со скриптами |
|
Предположим, у нас в проекте есть множество однотипных объектов Мотор, у каждого из которых есть несколько параметров State и Speed, и в зависимости от их значений мы хотим, чтобы объекты (Мотор) мигали/не мигали на экране. Так как в данном случае есть зависимость Мигания от нескольких тегов, необходимо использовать скрипты. И так как у нас в проекте предусмотрено несколько однотипных объектов, удобнее использовать косвенные имена для привязки тегов к объекту.
1. Для начала создадим для каждого объекта теги - State и Speed (для наглядности оформим в виде группы):
2. В данном случае нам нужны промежуточные теги для включения или отключения мигания объекта. - Flash1, Flash2 и Flash3, создадим их :
3. Создадим для нашего примера графический объект Мотор:
В свойствах объекта в закладке "Основное" создадим пользовательсткое свойство Number и присвоим ему значение "1", т.к. мы будем привязывать данный объект к тегу Flash1:
4. Закроем окно "Коллекции" и нажмем "ОК" в Окне свойств объекта, чтобы сохранить изменения. Теперь снова откроем Свойства объекта и настроим свойство Мигание: привяжем тег путем указания косвенного имени: Flash{Number}:
5. В зависимости от значений тегов для каждого объекта Мотор будем использовать частоту:
State |
Speed |
Частота мигание |
---|---|---|
0 |
Любая |
Не мигает |
1 |
0...500 |
1000 |
1 |
500...1000 |
500 |
1 |
>1000 |
250 |
6. Создадим скрипт для объекта на языке ST с типом выполнения - OnDataChange:
Напишем скрипт:
После того как записали скрипт обязательно запустим его путем нажатия кнопки на панели инструментов:
7. Теперь привяжем скрипт к объекту - откроем свойства объекта, выберем вкладку "Основное" и в поле "Скрипты" заполним "Коллекцию":
Итак, у нас есть Мотор с настройкой свойства мигания по скрипту.
8. Теперь нам нужно продублировать созданный объект Мотор столько раз, сколько нужно в проекте, и в каждом вновь созданном объекте исправить значение пользовательского свойства Number ((быстрее всего - на Листе свойств):
9. Запустим имитацию, чтобы проверить настройки:
Вы можете скачать проект из примера здесь.