[PRZYKŁAD] Zdalna parametryzacja programu sterownika Siemens LOGO!
Zachęcamy do przeczytania innych artykułów aplikacyjnych o LOGO! przygotowanych przez naszą redakcję.
Przedstawione w poprzednich artykułach sposoby zdalnego dostępu do zasobów LOGO! 8 nie wyczerpują oferowanych przez ten sterownik możliwości. W artykule przedstawiamy sposoby zdalnej parametryzacji programów, którą można wykorzystać także do zarządzania pracą urządzenia z poziomu serwera http wbudowanego w LOGO!
Artykuł jest odpowiedzią na pytania Czytelników, którzy szukają rozwiązań powiększających standardowe możliwości LOGO! Jednym z tematów zgłaszanych do redakcji jako istotny do opracowania, była możliwość zdalnego wpływania na stany wyjść sterownika (np. ich zdalnego blokowania) niezależnie od aktualnego stanu programu. Rozwiązanie takie – pozornie – jest dostępne we wbudowanym w sterownik LOGO! serwerze http, bowiem po wyświetleniu strony generowanej przez LOGO! w oknie przeglądarki dostępna jest możliwość zmiany stanu wybranych wyjść (rysunek 1).
Pozorność tej możliwości wynika z ochrony użytych w projekcie obwodów wyjściowych sterowników przed zewnętrzna manipulacją, bowiem może ona grozić nieprawidłowym działaniem urządzenia sterowanego przez LOGO! i wynikającymi z tego niebezpieczeństwami dla użytkownika. Tak więc, pomimo tego, że wszystkie wyjścia są dostępne na stronie LOGO! Variable (rysunek 1) ze statusem „Modify” (zielony znaczek z prawej strony ekranu), to próby zdalnej zmiany stanu wyjść użytych w programie nie będą niczym skutkowały. W ten sposób użytkownik może wpływać wyłącznie na stan wyjść nie wykorzystanych w programie.
Jeżeli z jakichś przyczyn użytkownikowi zależy na zdalnym wpływaniu na zachowanie wyjść użytych w programie (np. zdalna blokada wyjść niezależnie od stanu sterownika i wykonywanego przez niego programu), to można taki efekt uzyskać poprzez niewielką rozbudowę programu.
Jak to zrobić, pokażemy na prostym przykładzie – program, który będziemy wyposażać w możliwość zdalnego blokowania wyjść pokazano na rysunku 2. Jest to – jak widać – prosty monitor stanu wejścia, powielający stan wejścia I1 na wyjście Q1.
Zgodnie z tym co pisaliśmy wcześniej, po zapisaniu w sterowniku tego programu, próby modyfikowania stanu wyjścia Q1 z poziomu wbudowanego serwera http spełzną na niczym – będzie on zależały wyłącznie od stanu na wejściu I1. Jeżeli wprowadzimy do programu pokazanego na rysunku 2 drobną modyfikację – dodając bramkę OR i flagę M – co pokazano na rysunku 3, uzyskamy możliwość modyfikowania stanu wyjściowego. W tej konfiguracji zapisanie do wybranej flagi M (w przykładzie była to flaga M1, lista dostępnych flag jest szersza – rysunek 4) logicznej „1” powoduje zwarcie styków przekaźnika Q1 do czasu, aż wartość wybranej flagi M zmieni się na logiczne „0”, co przywróci funkcję kopiowania stanu wejścia I1 na wyjście Q1 (czyli funkcjonowanie sterownika zgodnie z programem zapisanym w jego pamięci).
W przypadku, gdy chcemy uzyskać efekt zdalnego blokowania możliwości zmiany stanu wyjścia przy rozłączonych stykach przekaźnika, program z rysunku 1 trzeb zmodyfikować w nieco inny sposób – bramkę OR zastępujemy bramką AND (rysunek 5).
W obydwu przedstawionych sytuacjach użytkownik uzyskuje zdalny, bezpośredni dostęp wyjść użytych w programie z poziomu wbudowanego serwera http, mogąc zmieniać dowolnie ich stan (stany, w przypadku większej liczby wyjść) niezależnie od wykonywanego programu. Podobnym modyfikacjom można poddać każdy program dla LOGO!, należy jedynie pamiętać, że jeżeli zależy nam na niezależnym od programu blokowaniu lub aktywowaniu wyjść sterownika, realizujące te funkcje bramki AND lub OR należy włączać jako ostatnie w łańcuchu bloków FB, tuż przed zaciskami wyjściowymi Q.