Dodawanie właściwości Custom Properties
Kurs Industrial Graphics w oprogramowaniu AVEVA, odc. 23
Kontakt w sprawie artykułu: Mateusz Zajchowski - 2026-07-15

W tym odcinku nauczymy się tworzyć własne właściwości Custom Properties dla symboli.
Kurs projektowania symboli Industrial Graphics w oprogramowaniu wizualizacyjnym AVEVA
1. Wprowadzenie do Industrial GraphicsAby dodawać lub edytować właściwości, klikamy prawym klawiszem myszy w dowolnym miejscu obszaru roboczego i wybieramy z menu kontekstowego opcję Custom Properties – odpowiada jej skrót klawiszowy CTRL+M.

Pojawia się okno Edit Custom Properties. Początkowo jest ono puste. Aby dodać właściwość, naciskamy przycisk z plusem.

W kolumnie Name wprowadzamy nazwę właściwości.

Naciskamy Enter – właściwość została dodana.

Aby zmienić nazwę właściwości zaznaczamy ją kursorem, a następnie klikamy w obszarze nazwy, co spowoduje przejście do trybu edycji. Wpisujemy nową nazwę i naciskamy Enter.

Aby usunąć właściwość zaznaczamy ją i używamy przycisku z symbolem minusa. Usunięcie wymaga dodatkowego potwierdzenia.

Dodajmy teraz kolejną właściwość, którą nazwiemy PV. Po lewej stronie widzimy znane nam już opcje. W polu Data Type określamy typ właściwości. Domyślnie jest to Boolean, z listy możemy wybrać inny. Do dyspozycji są tu liczby całkowite (Integer), zmiennoprzecinkowe (Float i Double), czas (Time, Elapsed Time), ciąg znaków (String), oraz inne, których nie będziemy wykorzystywać w tym kursie.

My tym razem wybieramy Float. Zauważmy, że typ właściwości odzwierciedlony jest za pomocą ikonki, wyświetlanej obok nazwy, a także w nagłówku okna Edit Custom Properties.

W polu Default Value znajduje się domyślna wartość tej właściwości, omawialiśmy ją w poprzednim odcinku. Widzimy, że po wybraniu typu danych pojawia się tu propozycja wartości domyślnej, adekwatnie do wybranego typu. Dla Float jest to 0.0.
Jak wiemy, w polu tym można wprowadzić konkretną wartość, ale może tam być również zmienna lub wyrażenie. Jeżeli zaczniemy w tym okienku pisać, uaktywni się funkcja autouzupełniania: program będzie nam podpowiadał pełne nazwy, co ułatwia ich wprowadzanie.

Jeżeli wprowadzimy w polu Default Value bardziej złożone wyrażenie, możemy skorzystać z opcji walidacji, czyli sprawdzenia poprawności tego wyrażenia. Wystarczy nacisnąć przycisk w prawym górnym rogu okna.

Wartość Default Value można wprowadzić również za pomocą przeglądarki Galaxy Browser, wystarczy dwukrotnie kliknąć myszą w polu wprowadzania tej wartości albo nacisnąć przycisk z trzema kropkami.

Pojawi się okno Galaxy Browser, w którym możemy odnaleźć zmienną i wstawić ją naciskając OK.

Element dodawany w ten sposób pojawia się zawsze na końcu tego pola (jest do niego dodawany). Zatem mając już tu wpisaną jedną zmienną możemy na przykład dopisać „+”, a następnie z wyszukiwarki znaleźć kolejną zmienną i ją dodać.

Powstanie w ten sposób wyrażenie dodawania obu zmiennych.

W polu Default Value można również używać funkcji skryptowych. Narzędzie autouzupełniania obsługuje również takie funkcje, przykładowo jeżeli zaczniemy wpisywać litery „ab”, program podpowie nam nazwę funkcji skryptowej Abs(), zwracającej wartość bezwzględną.

W ten sposób możemy łatwo dodać funkcję skryptową w polu Default Value.

Opcja Visibility określa, czy dana właściwość ma być po osadzeniu symbolu widoczna (Public) czy ukryta (Private). Opcję tę dokładnie omówiliśmy w poprzednim odcinku.

W polu Description opis właściwości, która może być podpowiedzią, do czego służy i jak działa dana właściwość.
Przycisku z gumką możemy użyć, aby przywrócić wszystkie ustawienia właściwości do wartości domyślnych.

Przejdźmy teraz do bardziej zaawansowanych możliwości. Do naszego symbolu (który był dotychczas pusty) dodamy teraz dwa elementy: prostokąt oraz znany nam już symbol ClockAnalogWall.

Przechodzimy do edycji właściwości Custom Properties i dodajemy nową właściwość CP1, a następnie przechodzimy do przeglądarki Galaxy Browser.

W przeglądarce na zakładce Element Browser po lewej stronie widzimy drzewko, prezentujące wszystkie obiekty znajdujące się w naszym symbolu. Jest więc tu prostokąt (Rectangle1) oraz zegar (ClockAnalogWall1).

Po zaznaczeniu jednego z tych elementów po prawej stronie pojawia się lista wszystkich właściwości Custom Properties zdefiniowanych dla tego elementu. Każdy z symboli znajdujących się w standardowej bibliotece ma zdefiniowany charakterystyczny dla siebie zestaw właściwości.

Zwróćmy uwagę, że w drzewku elementów pozycja nadrzędna CustomProperties_Adding reprezentuje projektowany właśnie nowy symbol, dla którego definiujemy Custom Properties. Dla niego widzimy właściwości, które już zdefiniowaliśmy (CP1 oraz PV), a także kilka innych, standardowo predefiniowanych we wszystkich symbolach.

Teraz usuńmy właściwość CP1 oraz prostokąt i zegar, pozostawiając pusty symbol. Dodajemy nową właściwość o nazwie ProductName, typu String. Widzimy, że obok pola Default Value aktywny jest przełącznik rodzaju wartości, który znamy już w poprzednich odcinków, charakterystyczny dla pól przeznaczonych do wprowadzania wartości tekstowych.

Jeżeli ikonka ta ma postać literki „T” (Static), oznacza to, że w polu powinniśmy wprowadzić ciąg znaków, który będzie przez program potraktowany jako wartość. Gdy przełączymy na tryb referencji (Reference), tekst w polu zostanie potraktowany jako referencja (zmienna, wyrażenie, odniesienie do innych właściwości), czyli tak samo, jak to miało miejsce w przypadku, gdy definiowaliśmy liczbową właściwość Custom Property.

Jeżeli wartość w polu Default Value jest nieprawidłowa, jest to sygnalizowane ikoną z wykrzyknikiem, a samo pole jest zaznaczone czerwoną ramką. W takiej sytuacji nie da się zapisać właściwości.

Tak jest również, gdy pole to jest puste. Dlatego jeżeli projektując symbol dla danej właściwości nie chcemy definiować żadnej wartości domyślnej, musimy w tym polu wprowadzić znany nam z poprzedniej części symbol potrójnego myślnika (—). Będzie to oznaczać, że właściwość nie ma żadnej wartości domyślnej i podczas osadzania symbolu w aplikacji projektant będzie musiał sam wprowadzić tu odpowiednią wartość lub referencję.
Dopiero gdy wartość Default Value jest prawidłowa, możemy zapisać właściwość naciskając OK.
W następnym odcinku poznamy style elementów.