Сложная видимость со скриптами

<< Click to Display Table of Contents >>

Navigation:  Примеры > Видимость объекта >

Сложная видимость со скриптами

Previous pageReturn to chapter overviewNext page

Если вам нужно изменять видимость в зависимости от нескольких тегов, вам необходимо использовать скрипты. Например, у вас есть 2 тега для каждого объекта Мотор - State и Speed:

complexwithscriptstags

Видимость в зависимости от значений тегов для каждого объекта Мотор:

State

Speed

Visibility

0

Any

Not visible

1

0...500

Visible

1

500...1000

Visible

1

>1000

Not visible

Let's create Motor graphical object for our example:

motorexample

Нам нужны промежуточные теги для включения или отключения видимости объекта - Visible1, Visible2 и Visible3:

visibletags

 

Откроем окно свойств объекта, дважды щелкнув по нему:

motorpropertieswindow

И давайте создадим пользовательское свойство - Number и приравняем ее к 1:

complexudp

 

Закройте окно Коллекции и нажмите ОК в окне свойств объекта. Теперь снова откройте свойства объекта двигателя и настройте его свойство Видимость. Сначала нам нужно настроить тег и привязать его к тегу Visible в зависимости от свойства, определенного пользователем - Number. Для этого нажмите "..." и настройте Имя тега - Visible{Number}:

visibletagchoose

Свойство видимости выглядит так:

visibleproperty

Теперь нам нужно создать сценарий объекта типа ST с типом выполнения - OnDataChange:

stscriptforcomplexscript

Теперь откройте свойства объекта для нашего объекта Мотор, щелкните коллекцию сценариев и добавьте наш сценарий:

stcollection

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

visiblescript

Теперь у нас есть Мотор с настройкой свойства видимости по скрипту. Чтобы скопировать этот Мотор и привязать свойство видимости к тегам - State2, Speed2 и State3, State3 вам не нужно настраивать скрипт для каждого Мотора, вам нужно только дублировать Мотор:

 

complexduplicate

И измените свойство Number нового Мотора на Странице свойств:

complexpropertysheet

Нажмите OK, чтобы подтвердить изменения, и Запустите имитацию, чтобы проверить настройки:

visiblescript

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