Mechanizm ten mimo, iż bardzo wygodny, ma jeden mankament. Nazwy obiektów mogą się składać wyłącznie z 8 znaków i są to nazwy elementów umieszczonych w programie. Co zrobić jeśli chcemy mieć w menu opcje opisane „Temperatura wody” czy „Ciśnienie pary”? Musimy wykonać takie menu samodzielnie. Na sterowniku LOGO! 8 są zamontowane 4 przyciski kursorów oraz [Esc] i [Enter]. W aplikacji Logo Soft Comfort znajdują się gotowe bloczki do obsługi kursorów. Wszystko byłoby wyśmienicie, gdyby nie fakt, że aby ich użyć w programie, to musimy nieustannie trzymać przycisk [Esc], co jest niewygodne. Z pomocą przyjdzie nam panel Siemens LOGO! TDE.
Panel TDE to urządzenie pracujące w sieci TCP/IP, mające dwa porty ethernetowe, przyciski kursorów, podobnie jak w sterowniku, przyciski [Enter] i [Esc]. W TDE również trzeba trzymać [Esc], aby użyć kursorów. Ale TDE ma również cztery klawisze funkcyjne F1, F2, F3, F4, które są dostępne bezpośrednio. I to właśnie tych klawiszy użyjemy do budowy naszego menu.
Jaki jest główny problem do rozwiązania? Otóż musimy zbudować cały mechanizm do zarządzania menu oraz zmiany wartości parametrów. Pierwszym krokiem będzie zbudowanie mechanizmu pokazywania opcji do wyboru. Zbudujemy go, bazując na licznikach, które umożliwiają zliczanie w górę i dół oraz mają wyjście binarne, którego moment załączenia można ustawić.
Na rysunku 1 przedstawiono schemat programu. Sekcja nr 1 zawiera mechanizm wybierania aktywnego menu. Liczniki B001, B004 i B005 zliczają równolegle impulsy nadchodzące z markera M2 uwzględniając sygnał kierunku zliczania pochodzący z bloku B021. Dzięki tej konstrukcji liczniki reagują na klawisze F1 i F2, wspólnie zliczając do góry lub w dół. Ponieważ liczniki te nie mogą zliczać poniżej zera, to pozostało nam tylko zablokować zliczanie, gdy osiągną zadaną wartość maksymalną.
Każdy z liczników reaguje na inną wartość. Licznik B004 ma ustawiony parametr (ON) na wartość 0, natomiast parametr (OFF) na wartość 1. Podobnie B005, ustawione ma (ON)=1, (OFF)=2 a B001 ma ustawione (ON)=2 i (OFF)=3. Sygnał z wyjścia B001 jest użyty do blokowania działania klawisza F2 poprzez funkcję logiczną AND w bloku B002.
Zatem tylko na wyjściu jednego z trzech bloków (B004, B005, B001) będzie aktywny sygnał. Aby nasze menu działało wyłącznie wtedy, gdy tego sobie życzymy, wprowadzony został sygnał aktywacji menu, który pochodzi z bloku B012 sterowanego z przycisków kursorów. Aktywacja menu polega na jednoczesnym naciśnięciu klawisza [Esc] oraz kursora w górę. Wyłączenie menu podobnie, klawiszem [Esc] oraz kursorem do dołu. Można to zastąpić aktywacją, na przykład, z wejścia binarnego I1 sterowanego kluczykiem. W ten sposób utrudnimy przypadkowe modyfikowanie wartości. Sygnał aktywacji menu jest wprowadzony do bloków B009, B010, B011, dzięki czemu otrzymujemy sygnały aktywujące wybrane menu.
Sterowaniu podlegają zawsze dwa elementy: blok komunikatu, czyli Message oraz bramka AND dołączająca właściwy blok parametru do klawiszy [F3] i [F4], służących do modyfikowania wartości danego parametru. Na rysunku 2 zamieszczono przykładową konfigurację bloku komunikatu. W opisanym przykładzie w sekcji nr 4, bramka B015 steruje sygnałem zliczania impulsów sterujących licznikiem B013, odpowiedzialnym za przechowywanie wartości ustawionej temperatury. Wartość z licznika nie jest jednak pokazywana na ekranie TDE, lecz przekazywana do bloku arytmetycznego, w którym następuje skalowanie do właściwej wartości, która zostanie pokazana na ekranie.
W tym wypadku jest to wyłącznie offset, dzięki któremu możemy ustawić wartości ujemne. Dodatkowo, blok arytmetyczny umożliwia ustawienie wymaganej liczby miejsc po przecinku w wyświetlanym wyniku.
Przyjazny interfejs
Ustawianie zadanych wartości np. temperatury, czasami wymaga od operatora dokonania zmiany nastawy o większą wartość. W naszym przykładzie zmiany można dokonać z krokiem co 0,1°C. A zatem dokonanie zmiany o 10 stopni wymagałoby 100 kliknięć w przycisk. Aby ułatwić pracę operatora, nasz program został doposażony w sekcję nr 2, której zadaniem jest inteligentne sterowanie pracą przycisków (F3) i (F4). Gdy operator trzyma przycisk dłużej, układ rozpoczyna samoczynne szybkie symulowanie naciskania i puszczania przycisku. W naszym przykładzie blok (B017 Delay), odpowiadający za opóźnienie symulowania naciskania, został ustawiony na czas 0,5 s. Blok (B019 Repeat) ustawiony został tak, aby generować 10 naciśnięć w czasie jednej sekundy. W ten sposób odciążyliśmy operatora od konieczności żmudnego naciskania przycisku, pozostawiając jednocześnie możliwość zmiany nastawy z krokiem 0,1.
Warto również poznać sekcję nr 3, w której znajduje się obwód wydłużający działanie przycisku [F1]. Identyczny obwód zastosowany został dla przycisku [F3]. Jego celem jest zapewnienie trwania sygnału DIR na wejściu licznika, gdy kopia tego sygnału dociera przez bramkę B006 do wejścia TRG. Dzięki temu jest zapewniona stabilna sytuacja, w której najpierw dociera sygnał DIR, powodujący zmianę kierunku zliczania, a następnie kopia tego sygnału na wejście TRG. Aby cały ten obwód zadziałał, potrzebny jest marker M2, który opóźnia sygnał o jeden cykl (skan).
Na koniec, celem podniesienia czytelności, całość została doposażona w zmienny kolor podświetlenia ekranu. Podczas normalnej pracy ekran jest w kolorze białym. Odpowiada za to marker M26 dołączony przez negator do wyjścia B012 (MenuON). Gdy menu jest aktywne, wówczas ekran zostanie podświetlony na kolor bursztynowy dzięki uaktywnieniu markera M30.
Podsumowanie
Zbudowanie własnego menu jak się okazuje trudne nie jest. Dzięki takiemu rozwiązaniu możemy uzyskać ładnie opisane opcje oraz przyjaźnie prezentowane wartości parametrów bądź to w postaci liczbowej, bądź słownej. Możliwe jest również używanie innych komponentów np. wskaźnika paskowego. Zawsze warto rozważyć zbudowanie własnego menu, które podniesie komfort obsługi naszej aplikacji.
Arkadiusz Wernicki