<< Click to Display Table of Contents >> Пример: Как создать новый графический объект. |
|
В данном примере мы создадим групповой графический объект (Эллипс + Полигон), настроим его так, чтобы при изменении значения тега менялся цвет заливки у эллипса, а также при нажатии мышью на эллипс появлялось всплывающее окно с информацией о состоянии и описании объекта. А затем настроенный объект мы добавим в пользовательскую библиотеку. Экспортируем объект вместе с настройками, чтобы использовать его в других проектах.
Давайте создадим объект насоса, состоящий из двух простых объектов: Эллипс и Полигон:
Сгруппируем данные объекты:
Добавим 3 тега в наш проект:
Мы хотим, чтобы цвет эллипса был привязан к тегу с таким именем: Pump{number}State, где {number} - номер экземпляра графического объекта.
Мы хотим, чтобы при нажатии пользователем мышью на объект появлялось всплывающее окно с информацией о состоянии и описанием.
Создадим всплывающее окно (экран):
Добавим графические объекты на экран:
Где объекты с именами PumpState и PumpDescription отобразят информацию о состоянии насоса и его описание.
Для объекта эллипса создадим определяемые пользователем свойства (пользовательскте свойства) - number и description. Для этого нужно дважды щелкнуть мышью по объекту Ellipse. (или выберите пункт меню Свойства объекта из контекстного меню) в Окне экрана. Появится окно Свойств объекта:
Нажмите кнопку "Коллекция" свойства "Пользовательские" и добавьте наши свойства:
Затем закройте это окно и окно Свойства объекта нажав "OK", для того чтобы подтвердить эти изменения. Затем откройте окно со свойствами Эллипса и откройте закладку Цвет заливки:
Для того чтобы привязать тег к данному свойству нажмите "..." и запишите Pump{number}State, где {number} - наше пользовательское свойство:
Нажмите "OK" и закройте окно выбора тега. Т.к. пользовательское свойство "number" равно 1, свойство Цвет заливки будет привязано к тегу Pump1State. Остальные параметры оставим по умолчанию (Значение тега = 0 (false) : цвет заливки красный; Значение тега != 0 (true) : цвет заливки зеленый)
Нажмите "OK", для того чтобы закрыть окно свойств объекта. Давайте проверим функциональность. Запустите имитацию и измените значение тега Pump1State с false на true:
Для того чтобы вызвать всплывающее окно давайте создадим скрипт:
Данный скрипт добавим к скриптам объекта Эллипс:
Текст скрипта выглядит следующим образом:
После того как записали скрипт обязательно запустите его путем нажатия кнопки на панели инструментов:
Теперь, когда Вы нажмете на эллипс насоса, вы увидите всплывающее окно (в зависимости от значения тега).
Вы можете создать другой экземпляр насоса и изменить определяемое пользователем свойство number на 2 или 3, для того чтобы привязать насосы к тегам Pump2State и Pump3State. Вы также можете изменить свойство description для каждого эллипса насоса:
Внимание! Возможно, лучше использовать Полигон для хранения определяемых пользователем свойств и действия щелчка мыши, потому что он находится над Эллипсом. Или, как вариант, Вы можете использовать прозрачный Кнопку по всему объекту группы и использовать его действие OnClick.
Теперь мы можем добавить этот графический объект в нашу библиотеку. Сначала надо создать библиотеку: откройте окно "Добавить графический объект", выберите "Пользовательские" и по щелчку правой кнопки мыши выберите "Новая библиотека":
Задайте имя для библиотеки, например, "Насосы". Добавим объект в библиотеку:
Теперь экспортируем библиотеку: откроем окно Добавить графический объект и найдем нашу библиотеку, щелкнем по нему правой кнопкой мыши и выберем пункт меню «Экспорт библиотеки плюс». Появится диалоговое окно файла, введим имя библиотеки и нажмем "Сохранить". Эта библиотека будет сохранена с объектом, а также с сохраненным скриптом, который мы создали в этом проекте, и со всплывающим окном. Теперь, если Вы хотите использовать этот объект с этим всплывающим окном и скриптом, просто импортируйте его в другой проект.
Важно! В новом проекте Вам нужно создать такие же имена тегов.
Вы можете скачать проект из примера здесь.