Nasz poprzedni artykuł dotyczył sposobu montażu i konfiguracji modułu rozszerzającego funkcje sterowników PLC LG serii XGB o możliwość obsługi sygnałów analogowych. Na przykładzie modułu opcjonalnego XBO-AH02A pokazany został krok po kroku sposób postępowania podczas konfigurowania obsługi wejść/wyjść analogowych w oprogramowaniu XG5000. Dysponując już skonfigurowanym modułem analogowym możemy przejść do jego praktycznego wykorzystania w programie sterownika PLC i na tym właśnie się dzisiaj skupimy.
Za cel niniejszego artykułu postawimy sobie napisanie programu, który będzie odczytywał aktualną wartość sygnału na wejścia analogowym i taki sam sygnał wystawiał na wyjściu analogowym. Podobnie jak poprzednio nadal będziemy operować na module XBO-AH02A. Po wykonaniu wszystkich czynności opisanych w poprzednim artykule i sprawdzeniu poprawności działania skonfigurowanego modułu przechodzimy do zakładki "Variable/Comment" w oknie projektu, a następnie z menu "Edit" wybieramy "Register U Device" (nazwa tej opcji może się nieco różnić w zależności od zainstalowanej wersji oprogramowania np. dla wersji 4.04 nosi ona nazwę "Register Module Variable Comments"). W pojawiającym się oknie klikamy "Yes", po czym do listy naszych zmiennych zostaną dodane zmienne powiązane z skonfigurowanym wcześniej modułem analogowym. W przypadku modułu XBO-AH02A lista ta wygląda następująco:
Dla używanego przez nas modułu zostało dodane łącznie 11 zmiennych - sposób ich adresacji dla sterowników serii XGB wygląda następująco:
Poniżej omówię listę zmiennych modułu XBO-AH02A, należy jednak pamiętać że dla innych modułów analogowych lista ta będzie się nieco różnić, dlatego podczas ich programowania należy posiłkować się instrukcją.
Mając już informacje na temat poszczególnych zmiennych przechodzimy do pisania programu, najpierw zamieszczam fragment odpowiedzialny za odczyt wartości z wejścia analogowego i zapis jej do rejestru danych wewnętrznych "D":
W pierwszej linii znajdują się warunku określające możliwość odczytu wartości wejścia analogowego - nie mogą występować błędy modułu analogowego oraz błędy kanału wejściowego CH0, a ponadto moduł analogowy musi być gotowy do pracy i kanał wejściowy CH0 musi być aktywny. Spełnienie tych warunków skutkuje przejściem pomocniczej komórki pamięci "M00000" w stan wysoki i wykonaniem instrukcji MOV przenoszącej dane z "U09.04" do rejestru "D00100".
Poniżej znajduje się kod programu odpowiedzialny za przeniesienie zapisanej wcześniej wartości w rejestrze "D00100" do słowa "U09.07" i tym samym ustawienie jej na wyjściu analogowych CH0.
Podobnie jak w części odpowiedzialnej za odczyt wartości z kanału wejściowego, również tutaj w pierwszej linii znajdują się warunki, po których spełnieniu może się odbyć dopiero ustawienie wartości wyjścia analogowego CH0. Jeżeli warunki te są spełnione komórka pomocnicza "M00002" przechodzi w stan wysoki, ustawiając tym samym zmienną "_09_DA0_OUTEN" w stan wysoki, tym samym aktywuje analogowy kanał wyjściowy CH0 oraz umożliwia wykonanie instrukcji MOV przenoszącej dane z rejestru "D00100" do słowa "U09.07", co skutkuje przepisaniem wartości pojawiającej się na wejściu analogowym CH0 sterownika, na jego wyjście analogowe CH0.