Сложное изменение текста со скриптами

<< Click to Display Table of Contents >>

Навигация  Примеры > Изменение текста объекта (Вывод текста, Ввод значения) >

Сложное изменение текста со скриптами

Previous pageReturn to chapter overviewNext page

Если вам нужно изменить текст в зависимости от нескольких тегов, необходимо использовать скрипты. Предположим, у нас есть несколько однотипных объектов (Насос), у каждого из которых есть два параметра (тега) - State и Speed, и мы хотим в зависимости от их значений выводить текст о работе насоса.

1. Создадим теги для каждого объекта - State и Speed:

 

complexwithscriptstags

 

2. Создадим графический объект Текст/ПолеВвода для нашего примера:

 

textexcomplex

 

3. Создадим пользовательское свойство - Number и установим ему значение "1", т.к. мы будем привязывать к тегам State1 и Speed1:

 

textopjectproperties

complexudp

 

4. Пусть объект Текст/ПолеВвода в зависимости от значений тегов  отображает тексты:

 

State

Speed

Текст

0

Любая

Насос выключен

1

0...500

Скорость насоса в пределах нормы

1

500...1000

Скорость насоса высокая!

1

>1000

Внимание! Скорость насоса слишком высокая!

 

Далее создадим скрипт объекта на языке ST с типом выполнения - OnDataChange:

 

stscriptforcomplexscript

 

И напишем скрипт:

 

clip0002

После того как записали скрипт обязательно запустим его путем нажатия кнопки на панели инструментов: clip0048

 

5. Теперь привяжем скрипт в объекту - откроем Свойства объекта, вкладку "Основное", поле "Скрипты" и заполним "Коллекции":

 

clip0036

clip0037

6. Итак, у нас есть объект Текст с настройкой свойства Вывод текста по скрипту. Чтобы скопировать этот объект и привязать свойство Вывод текста к тегам - State2, Speed2, State3, Speed3, State4, Speed4 нам не нужно настраивать скрипт для каждого объекта Текста, нам нужно только дублировать объект изменить пользовательское свойство Number нового объекта на Листе свойств:

 

textduplicate1

 

:

 

complexpropertysheet

 

7. Запустим имитацию, чтобы проверить настройки:

 

textcomplex1

 

Вы можете скачать проект из примера здесь.