Sterownik LOGO! ma wejścia, których możemy używać do zliczania impulsów i to nawet z częstotliwością 5 kHz, mimo że sam program wykonuje się dużo wolniej. Zliczanie odbywa się niezależnie od analizy programu. Warunkiem jest bezpośrednie podłączenie szybkiego wejścia do bloku licznika tak, jak to pokazano na rysunku 1 kolorem żółtym. Szybkie wejścia w sterowniku LOGO! to I3, I4, I5 oraz I6, czyli te, które nie obsługują sygnałów analogowych.
W naszej małej stacji meteorologicznej zastosujemy znany nam już blok (M), czyli flagę pozwalającą na powrót sygnałem do wejść bramek, lecz będzie ona tutaj użyta w nietypowy sposób, jako opóźnienie. Nowymi elementami będą również: blok obliczeń matematycznych, który zastosujemy nie tylko do obliczeń, lecz również jako komórkę pamięci i blok uśredniania wyników pomiarów, którego użyjemy do zmniejszenia szybkości zmian wyświetlanych wyników. Jak widać, schemat pokazany na rysunku 2 nie jest zbyt skomplikowany, jednak zawiera w sobie nie tylko nowe bloki funkcyjne, ale dodatkowo używa ich specyficznych własności.
Na początek wyjaśnimy działanie sekcji pomiaru temperatury, na którą składają się bloki B003 i B004 oraz sygnał z wejścia AI1, czyli fizycznego wejścia I7. Aby tak było, w ustawieniach projektu, przedstawionych na rysunku 3, należy wybrać wymaganą w projekcie liczbę wejść analogowych, które ma obsługiwać jednostka centralna LOGO! 8. Nie dotyczy to wejść analogowych, które ewentualnie dołączymy w postaci modułów zewnętrznych. Sygnał napięciowy w standardzie 0…10 V podajemy z dowolnego czujnika temperatury pracującego w tym przedziale napięcia wyjściowego i znanej nam charakterystyce lub możemy się posiłkować własnymi układami pracującymi np. w oparciu o czujnik LM35 wzbogacony o wzmacniacz operacyjny lub możemy w ostateczności zastosować termistor w gałęzi dzielnika napięcia. Niestety ostatnie rozwiązanie ma podstawową wadę, dużą nieliniowość charakterystyki. Dlatego lepszym rozwiązaniem będzie zastosowanie gotowego przetwornika temperatura/napięcie o znanej nam liniowej charakterystyce.
Sygnał napięciowy trafiający do LOGO! jest w pierwszej kolejności podawany do bloku uśredniania wartości. Blok został skonfigurowany w taki sposób, że przez 5 sekund zbiera próbki co 0,5 sekundy i po tym czasie aktualizuje wartość na swoim wyjściu Aq. Parametr ST (Sampling Time) jest ustawiony na 5 sekund, natomiast parametr SN (Number of Samples) ustawiony na 10, co oznacza, że sterownik ma zebrać 10 próbek w czasie podanym w ST. Blok ten pełni dla nas dwie funkcje. Pierwsza to oczywiście uśrednianie wyników, a druga to aktualizowanie danych co 5 sekund, co spowoduje wolniejsze ewentualne zmiany wartości na ekranie. Wynik uśredniania będzie wartością całkowitą z zakresu 0…1000, dlatego należy go odpowiednio przeskalować. Gdyby wartości te reprezentowały temperatury od 0 do 100 stopni Celsjusza, wówczas wystarczyłoby przesunąć kropkę dziesiętną w wyniku. Ale nasz czujnik może podawać napięcie 0 dla temperatury –50°C oraz 10 V dla +50°C. Wówczas 0,0°C powinniśmy zobaczyć dla napięcia 5 V.
Aby wykonać takie obliczenia, wartość uśrednioną podajemy na blok B004, którego zadaniem jest wykonanie wskazanych obliczeń matematycznych. Wartość uśredniona jest wprowadzona jako parametr V1. Kolejne pola wraz z poprzedzającymi je operatorami działań matematycznych tworzą wyrażenie, które będzie nieustannie przeliczane. Wynik tych obliczeń będzie aktualizowany na wyświetlaczu. Warto zauważyć, że nie trzeba, a wręcz nie należy, wykonywać dzielenia przez 10, aby uzyskać wynik z przecinkiem. LOGO! wykonuje operacje na liczbach całkowitych i wynik dzielenia 4/10 wyniesie 0 zamiast spodziewanego 0,4. Dlatego w bloku matematycznym znajduje się sekcja [Decimal Places], która informuje sterownik o tym, gdzie należy pokazywać przecinek. Dzięki temu na ekranie zobaczymy wynik „19.4”, gdy z obliczeń wyjdzie nam liczba całkowita 194. Sekcja pomiaru wilgotności pracuje identycznie jak pomiar temperatury z tą różnicą, że dane pomiarowe pobiera z wejścia AI2, czyli fizycznego I8.
Nieco szerszego omówienia wymaga układ pomiaru prędkości wiatru, na który składają się bloki B001, B002, B006, B007 oraz M. Jest to typowy układ miernika częstotliwości, podobnie jak prędkościomierza rowerowego. Jako układ impulsatora możemy użyć dowolnego gotowego anemometru lub zbudować własny, w oparciu o dowolny enkoder z jak najmniejszą liczbą impulsów na obrót. Możemy również zbudować własny impulsator na bazie diody emitującej podczerwień oraz odbiornika podczerwieni, przesłanianych dowolną tarczką z otworami. Zadaniem naszego układu pomiarowego jest zliczanie impulsów z anemometru (wejście I3) w określonym cyklu (B002), a następnie przeliczenie wyniku pomiaru na prędkość wyrażoną w m/s.
Dla potrzeb obliczeń matematycznych istotna dla nas i bardzo ciekawa w bloku matematycznym B006 jest sekcja [Output]. Ustawimy ją tak jak na rysunku 4, zaznaczając opcję (Last Value), czyli „ostatnia wartość”. Proszę zauważyć, że sekcje pomiaru temperatury i wilgotności pracują nieustannie i wyniki obliczeń są wizualizowane na bieżąco. W przypadku pomiaru prędkości nie możemy tak zrobić. Dane na wyjściu licznika B001 zmieniają się nieustannie w trakcie trwania pomiaru. Zmieniają się od zera do określonej wartości, zależnie od prędkości wiatru.
Gdybyśmy zastosowali identyczny mechanizm jak przy pomiarze temperatury, to na ekranie LOGO! prędkość wiatru byłaby nie do odczytania, gdyż ulegałaby nieustannej zmianie w trakcie pomiaru. Dlatego wynik musi być aktualizowany tylko raz, na końcu cyklu pomiarowego. Temu właśnie służy TIK, czyli blok B002. Generuje on impulsy prostokątne o okresie 10 s. Dzięki bramce B007 otrzymujemy na jej wyjściu jedynie krótkie impulsy o czasie trwania jednego skanu – jednej analizy programu. Innymi słowy, jakaś czynność wykona nam się tylko jeden raz. Tutaj docieramy do nietypowego zastosowania flagi (M). Jej działanie polega na tym, że informacja, która pojawia się na jej wejściu, jest przenoszona na jej wyjście w następnym cyklu analizy programu.
A zatem impuls z bloku TIK (B002) najpierw dotrze do bloku matematycznego, który przeliczy aktualny wynik z licznika. W kolejnym cyklu wejście EN bloku B006 nie będzie już aktywne a na wyjściu flagi(M) pojawi się impuls z poprzedniej analizy programu, który zresetuje licznik B001. Blok matematyczny B006 dokonuje obliczenia tylko w momencie, gdy wejście EN jest w stanie aktywnym (wysokim). Dzięki skonfigurowaniu bloku tak, aby pokazywał ostatnią wyliczoną wartość, otrzymujemy pamięć ostatniego wyniku, która zostanie zaktualizowana dopiero na koniec następnego cyklu pomiarowego.
Do symulacji pracy stacji meteorologicznej można używać zestawu symulacyjnego KA-LOGO-IO-SIMULATOR (fotografia 5), który zawiera między innymi czujnik temperatury i pozwala na dołączenie dowolnego innego czujnika zewnętrznego. Do symulowania prędkości wiatru możemy używać przełączników lub dla większych prędkości podać sygnał z zewnętrznego generatora fali prostokątnej. Alternatywą jest symulator programowy, wbudowany w oprogramowanie LOGO! Soft Comfort (rysunek 6).
Dotychczas poznaliśmy różne zastosowania sterownika Siemens LOGO! 8. Stworzyliśmy kilka ciekawych i pożytecznych rozwiązań w obszarze naszego domu. Zadbaliśmy o bramy, rolety, zbadaliśmy pogodę, zoptymalizowaliśmy zużycie energii. Przyszedł czas zadbać o nasz ogród i trawnik. Mamy jeszcze chwilę, aby zdążyć z przygotowaniem sterownika przed wiosną.
Arkadiusz Wernicki