Ранее мы рассмотрели, как включить расширенный режим редактирования в "Конфигураторе СП300". Теперь попробуем разобраться, какие возможности он предоставляет.
В расширенном режиме редактирования появляется возможность рассматривать конфигуратор как среду визуального программирования, а каждый графический экран как своеобразную программу, содержащую:
- управляющие конструкции - элементы, которые позволяют управлять порядком выполнения других элементов;
- функциональные элементы - результат выполнения которых можно присваивать свойствам других элементов - управляющих, функциональных, визуальных;
- визуальные элементы - результатом выполнения которых является их отображение на экране панели.
В результате, в расширенном режиме мы получаем возможность выполнения задач, которые либо были бы недоступны в обычном режиме, либо требовали бы использования макросов C, либо решение которых с помощью стандартных элементов было бы более громоздко.
Однако существуют также опасности при использовании данного режима:
- есть ситуации, в которых конфигуратор аварийно завершает свою работу (вылетает). Например, это может произойти после редактирования стандартных комбинированных элементов. Конфигуратор ожидает наличия определённых элементов в определённых местах и наличия связей между определёнными элементами. Если удалить эти элементы или связи, то при вызове диалогового окна редактирования стандартного элемента конфигуратор скорее всего вылетит. Поэтому нужно не забывать почаще сохранять проект, чтобы не потерять результаты своей работы;
- можно создать комбинированный элемент, который приведёт к зависанию программы панели. Это происходит, если не задать все необходимые ветви выпонения управляющих элементов. Поэтому нужно не забывать из задавать, а также тестировать все варианты выполнения создаваемых элементов.
Начнём знакомиться с расширенным режимом с изучения возможностей, которые он предоставляет для одиночного элемента.
Для этого добавим на экран прямоугольник. Щёлкнув по выделенному прямоугольнику правой кнопкой мыши выберем в контекстном меню пункт Расширенные. В результате увидим следующее окно:
Диалоговое окно расширенного режима |
- кнопка Имя блока вызывает окно, позволяющее изменить имя прямоугольника. Это бывает полезно, например, при комбинировании однотипных элементов. Можно перед комбинированием задать им разные имена и затем не путаться, связывая их;
- кнопка Unit Property вызывает окно свойств элемента. Оно точно такое же, как и вызываемое по двойному клику по элементу или с помощью пункта Свойства его контекстного меню. Единственное обнаруженное относительно полезное отличие заключается в том, что если окно свойств вызвать в расширенном режиме, то появляется возможность задать для элемента координаты, выводящие его частично или полностью за пределы экрана. Сделать такое в обычном режиме конфигуратор не позволяет. К сожалению, после того как мы установим координаты в расширенном режиме, любое редактирование свойств элемента в обычном режиме опять вернёт его в пределы экрана. Тем не менее иногда такая возможность может пригодиться.
Раскрыв и эту группу добираемся наконец до свойств прямоугольника:
Свойства прямоугольника |
Можно заметить, что имена свойств пострадали при локализации конфигуратора. Какими они были в английской версии программы (которая называется TouchWin) и их назначение можно посмотреть по ссылке.
Единственное действие доступное для несвязанных свойств одиночного элемента - это связывание их между собой с помощью кнопки Property Link.
Чтобы привязать одно свойство к другому, например, Ширину к Высоте:
- выделяем привязываемое свойство (Ширина);
- нажимаем кнопку Property Link. При этом вместо кнопки Property Link появляются кнопки Affirm Link и Cancel Link. На этом этапе мы можем отказаться от создания связи нажав кнопку Cancel Link;
- выделяем свойство, к которому мы хотим привязаться (Высота);
- нажимаем кнопку Affirm Link.
Изменения применятся после нажатия кнопки OK диалогового окна расширенного режима. Соответственно, при нажатии Отмена элемент останется в первоначальном виде.
После создания такой связи наш прямоугольник превращается в квадрат. Его ширину теперь произвольно изменять не получится до тех пор, пока созданная связь не будет разорвана. Ширина будет автоматически меняться при изменении высоты прямоугольника.
Открыв снова окно расширенных свойств и выделив свойство Ширина, мы увидим:
- имя свойства Высота будет отображаться зелёным цветом. Таким образом можно узнать какое свойство к какому привязано. Щёлкаем последовательно по всем свойствам и смотрим, когда какое из имён свойств изменит цвет на зелёный;
- для этого свойства доступно действие Delete Link с помощью соответствующей кнопки, нажатие которой приведёт к разрыву связи между свойствами:
Связанные свойства
Мы можем выполнить привязку только к одному свойству (для привязанного свойства доступно только действие по разрыву связи). Однако мы можем привязать несколько разных свойств к одному и тому же свойству, например, к Высоте мы можем привязать ещё и Solid Color (после чего цвет заливки прямоугольника станет зависеть от его высоты). Также привязка к какому-либо свойству не запрещает этому свойству быть привязанным куда-то ещё, например, сейчас мы можем привязать Высоту к Координате по горизонтали. Однако не стоит создавать циклические связи (в нашем случае привязывать Высоту к Ширине) - это может привести к аварийному завершению конфигуратора.
Как уже упоминалось, некоторые связи между свойствами также редактируются диалоговыми окнами свойств элементов. В этом можно убедиться попытавшись создать одноцветный прямоугольник привязав Solid Color к Цвету рамки. Всё работает хорошо (при изменении цвета рамки изменяется и цвет заливки) до тех пор, пока мы не поменяем цвет заливки с помощью диалога свойств прямоугольника (или просто закроем этот диалог при активной вкладке Заполнение). При этом связь между Solid Color и Цветом рамки разрывается, в чём можно убедиться, открыв окно расширенных свойств и выделив свойство Solid Color - имя свойства Цвет рамки теперь зелёным не становится.
Итак, мы видим, что для одиночного элемента с помощью редактирования его свойств в расширенном режиме, можно добиться интересных эффектов. Но намного более полезные результаты можно получить, комбинируя в расширенном режиме элементы различных типов.
..Также нужно помнить, что данный режим разработчиками не документирован, практически все сведения о его работе получены опытным путём...
ОтветитьУдалитьТут Вы не правы.
Еще как документированы http://www.controlsysteam.hu/cst_doc/xinje/XINJE_CD2020/user%20manual/HMI/Touchwin/Advanced%20functions/
В этой папке есть "Touchwin advanced user mode functions.pdf"
Это и есть документация по расширенному режиму редактирования от разработчиков панели