CoDeSys w wersji 2.3 umożliwia tworzenie wizualizacji do zarządzania sterownikiem. Pisząc program sterujący mamy możliwość bezpośredniego powiązania zmiennych ze zdarzeniami i komendami wizualizacji. Ułatwia to znacznie pracę; tworzenie sterowania jest proste i intuicyjne.
Wizualizacje stworzone w programie CoDeSys mogą być udostępnione przez webserver sterownika. Dostęp do nich uzyskamy wpisując w adresie przeglądarki adres sterownika w lokalnej sieci. Możliwe jest również wykorzystanie programu CoDeSys HMI, dostępnego w wersji testowej w pakiecie oprogramowania dołaczonego do sterownika. Wesja ta wymusza zamknięcie sesji po kilku minutach działania; w praktyce jednak ograniczenie to dla amatorskich użytkowników domowych nie stanowi żadnej przeszkody. W 99% przypadków po zmianie/włączeniu okreśłonej funkcji program i tak można zamknąć.
(Zanim zaczniecie programować polecam podręcznik użytkownika dostępny w sieci, opisujący wszystkie funkcje wizualizacji. Na początek w zupełności wystarcza)
Aby utworzyć prostą wizualizację należy w zakładce Visualization, po kliknięciu prawym klawiszem wybrać opcję 'Add Object'. Po wpisaniu nazwy (np. 'PLC_VISU') i naciśnięciu OK nowy obiekt zostaje utworzony.
Tworzenie nowych elementów wizualizacji przypomina pracę z programem graficznym. Dostępne są prostokąty, elipsy, trójkąty, linie proste, łuki, grafiki, przyciski, zagnieżdzone wizualizacje, tabele, wykresy, paski, mierniki itd. itp. O szczegółach najlepiej poczytać w helpie lub instrukcji użytkownika.
Dla przykładu - tworzenie przycisku sterującego obwodem oświetlenia wyglądać będzie następująco:
W porgramie PLC_PRG, w definicji zmiennych:
LIGHT1 : Fb_LatchingRelay; (*z biblioteki Building_common.lib*) VIS_LIGHT1 : BOOL;
W części kodu:
LIGHT1(xSwitch:=IN1 OR VIS_LIGHT1); OUT1:=LIGHT_1.xActuator;
Gdzie:
IN1 - wejście podłączone do łącznika ściennego
OUT1 - wyjście podłączone do sterowanego obwodu oświetlenia.
Kliknięcie na przycisk "1" spowoduje krótką zmianę wartości zmiennej VIS_LIGHT1 z FALSE na TRUE, co z kolei będzie impulsem zmiany stanu bloku LIGHT1 i spowoduje włączenie lub wyłączenie obwodu OUT1. Gdy OUT1 jest włączony, wartość LIGHT1.xActuator jest równa TRUE, co powoduje zmianę koloru przycisku "1".