<< Click to Display Table of Contents >> Сложное изменение текста со скриптами |
|
Если вам нужно изменить текст в зависимости от нескольких тегов, необходимо использовать скрипты. Предположим, у нас есть несколько однотипных объектов (Насос), у каждого из которых есть два параметра (тега) - State и Speed, и мы хотим в зависимости от их значений выводить текст о работе насоса.
1. Создадим теги для каждого объекта - State и Speed:
2. Создадим графический объект Текст/ПолеВвода для нашего примера:
3. Создадим пользовательское свойство - Number и установим ему значение "1", т.к. мы будем привязывать к тегам State1 и Speed1:
4. Пусть объект Текст/ПолеВвода в зависимости от значений тегов отображает тексты:
State |
Speed |
Текст |
---|---|---|
0 |
Любая |
Насос выключен |
1 |
0...500 |
Скорость насоса в пределах нормы |
1 |
500...1000 |
Скорость насоса высокая! |
1 |
>1000 |
Внимание! Скорость насоса слишком высокая! |
Далее создадим скрипт объекта на языке ST с типом выполнения - OnDataChange:
И напишем скрипт:
После того как записали скрипт обязательно запустим его путем нажатия кнопки на панели инструментов:
5. Теперь привяжем скрипт в объекту - откроем Свойства объекта, вкладку "Основное", поле "Скрипты" и заполним "Коллекции":
6. Итак, у нас есть объект Текст с настройкой свойства Вывод текста по скрипту. Чтобы скопировать этот объект и привязать свойство Вывод текста к тегам - State2, Speed2, State3, Speed3, State4, Speed4 нам не нужно настраивать скрипт для каждого объекта Текста, нам нужно только дублировать объект изменить пользовательское свойство Number нового объекта на Листе свойств:
:
7. Запустим имитацию, чтобы проверить настройки:
Вы можете скачать проект из примера здесь.