Nowe funkcje Logo Soft Comfort v8

Nowe możliwości sterowników LOGO! wymusiły na twórcach środowiska IDE zaimplementowanie bloków FBD służących do obsługi funkcji sieciowych, których nie miały poprzednie wersje tych bardzo interesujących i użytecznych urządzeń. Co ciekawe, przy okazji uległo zmianie całe środowisko projektowe, dzięki czemu LOGO! programuje się wygodniej i jest jeszcze bardziej elastyczne w aplikacjach. Moim zdaniem, w porównaniu z poprzednio używaną przeze mnie wersją LSC 6.1, nowe środowisko projektowe jest znacznie lepsze.

Kilka lat temu kupiłem pierwszy zestaw startowy sterownika Logo! z kablem służącym do wymiany danych pomiędzy PLC a komputerem osobistym oraz oprogramowaniem Logo Soft Comfort, chyba w wersji 5. Mimo iż środowisko projektowe dla sterowników Logo! nie jest darmowe (jego aktualna cena to – zależnie od kursu Euro – około 200 złotych brutto), to od momentu zakupu, co warte podkreślenia, każdą aktualizację wykonywałem za darmo i nikt nie żądał ode mnie zapłaty za nową wersję programu. Nie było inaczej, gdy pobierałem ze strony internetowej firmy Siemens aktualizację do wersji 8.
Zanim jednak o tej aktualizacji, to należy się kilka słów wyjaśnienia. Do pracy używam dwóch komputerów i tabletu. Komputer stacjonarny i tablet pracują pod kontrolą Windows 8 (w wersjach 32- i 64-bitowej), natomiast notebook pod Windows 7 w wersji 64-bitowej. Logo Soft Comfort używam na notebooku (przez większość czasu) i tablecie (przeważnie, gdy podróżuję), mimo iż miałem je zainstalowane również na komputerze stacjonarnym. Dlaczego o tym wspominam? Ponieważ ta sytuacja zmusiła mnie do wykonania aktualizacji oprogramowania „przekrojowo”, na każdym z tych komputerów, pracujących pod kontrolą różnych systemów operacyjnych. Będzie o tym mowa dalej.
Logo Soft Comfort w wersji 7 było dostępne dosyć krótko. Mam takie dziwne wrażenie, że ledwie się pojawiło, to zostało zastąpione przez wersję 8. W wersji 7 dodano nowe funkcje sieciowe przeznaczone dla sterownika Logo! 7, oczywiście, obsługiwane również przez najnowsze Logo! 8. W wersji 7 oprogramowania dodano nie tylko funkcje sieciowe, ale również inne bloki funkcjonalne:
 - Nowe bloki FBD: Astronomical clock, Analog filter, Max/Min, Average value, Stopwatch, które mogą pracować również na starszych wersjach Logo!.
 - Nowe funkcje interfejsowe. Sterownik Logo! począwszy od wersji 7 może pełnić funkcję układu peryferyjnego przesyłającego dane w sieci Ethernet, więc dodano funkcje służące do wysyłania (Network output, Network analog output) oraz odbioru (Network input, Network analog input) danych.
 - Zaktualizowano bloki FBD Message text i Shift register. Nowe Logo! może wyświetlać więcej linii na wbudowanym LCD i obsługuje nowe panele HMI, więc ta aktualizacja była konieczna.
Oprócz tego, umożliwiono programowanie sterowników mających interfejs Ethernet za pomocą tejże sieci, co ułatwiło tworzenie oprogramowania przy pracy rozproszonej oraz zwolniło z konieczności stosowania programatora.
O ile wersja 7 Logo Soft Comfort od 6 różniła się przede wszystkim nowymi blokami funkcjonalnymi, o tyle w wersji 8 wprowadzono znaczne zmiany wyglądu (rysunek 1). Po pierwsze, oprogramowanie tworzone dla LOGO! teraz może być opracowywane w sieci, więc okno programu można podzielić na wyświetlane w trybie diagramu FBD (lub drabinkowym) oraz w trybie sieciowym (rysunek 2). Podzielono pasek narzędziowy, który teraz jest wyświetlany jako „Programming toolbar” nad diagramem FBD oraz „Networking toolbar” nad oknem projektu. Po drugie, rozbudowano system zabezpieczeń – teraz użytkownikowi można nadawać uprawnienia dostępu do funkcji środowiska. Wprowadzono możliwość konfigurowania ekranu, na którym będą wyświetlane komunikaty. Można zdecydować jak będzie wyglądał ekran sterownika po załączeniu zasilania (wybrać komunikat domyślny), gdzie i w ilu liniach będzie wyświetlany komunikat.

Rysunek 1. Wygląd ekranu Logo Soft Comfort v8 przy tworzeniu programu w trybie pojedynczego sterownika

 

Rysunek 2. Wygląd ekranu Logo Soft Comfort v8 w trybie pracy sieciowej

Wprowadzono również zmiany „kosmetyczne” przyśpieszające i ułatwiające pracę programisty lub związane z nowym typem sterownika. Na przykład, teraz na diagramie FBD nie trzeba wywoływać narzędzia do wykonywania połączeń. Wystarczy – w trybie wskazywanie obiektów – najechać wskaźnikiem myszy nad odpowiednią końcówkę, a tam zostanie wyświetlony kwadracik, od którego można prowadzić połączenie. Równocześnie w „dymku” jest wyświetlana nazwa wejścia, bardzo pomaga zwłaszcza przy blokach wielowejściowych, takich jak liczniki dwukierunkowe, timery i inne, mające wejścia zerowania, ustawiania, zmiany kierunku, wyzwalające działanie itp. Na diagramach FBD tworzonych dla nowszych sterowników Logo! można też używać dłuższych nazw opisowych (do 12 znaków), co ułatwia orientowanie się na schemacie. Sam schemat można rysować na kilku arkuszach – przypomnijmy, że może on zawierać nawet 200 i więcej bloków FBD! Nie bez znaczenia jest przy tym fakt, że po odczytaniu programu z pamięci Logo! bloki FBD są ułożone dokładnie tak, jak to było intencją programisty (działa z Logo! 8). W poprzednich wersjach LSC, jeśli nie mieliśmy dostępu do źródła, to po odczytaniu programu z LOGO! otrzymywaliśmy bloki FBD „zrzucone” w jedno miejsce (wyobraźmy sobie plątaninę 200 bloków w jednym miejscu…) i teraz trzeba było zadać sobie sporo trudu, aby na powrót rozmieścić bloki na arkuszu i połączyć je w jakiś logiczny, czytelny sposób. Ten sposób był „nasz”, niekoniecznie zgodny z intencjami programisty, co mogło powodować, że działanie pewnych funkcji było trudne do przeanalizowania.
Koniecznie muszę wspomnieć też o jednym bardzo ważnym udoskonaleniu funkcjonowania bloków FBD. Teraz pomiędzy blokami parametry można przekazywać nie przez połączenie, ale przez referencję. Przypomina to mechanizm języka C, w którym argumenty funkcji przekazuje się przez wskazanie na miejsce w pamięci, w którym one się znajdują. Wystarczy w oknie bloku FBD kliknąć na przycisk „Reference” i wybrać z listy odpowiednie pole. Posłużmy się przykładem praktycznym.
Kilka dni temu pisałem program dla LOGO!, w którym tworzyłem generator impulsów sterujących pracą pompy. Jak łatwo domyślić się, pompa jest układem mechanicznym, który musi rozpędzić się od pewnej minimalnej prędkości do zadanej (w moim urządzeniu za pomocą napięcia z potencjometru). Potrzebowałem generatora, który stopniowo będzie zwiększał częstotliwość impulsów podawanych na wejście serwonapędu hydraulicznego napędzającego tłok pompy. Wśród bloków FBD znalazłem taki o nazwie „Analog Ramp”. Z grubsza jego praca polega na zwiększaniu lub zmniejszaniu zmiennej liczbowej od wartości Start/stop offset do Level (L1 lub L2) z prędkością Speed of change wyrażoną w liczbie kroków na sekundę. No dobrze, ale jak spowodować, aby można było ustalać wartość progu Level za pomocą potencjometru? Wymyśliłem taki sposób. Na arkuszu ułożyłem Analog Input. Następnie dołączyłem do niego wzmacniacz Analog Amplifier, za pomocą którego przeskalowałem napięcie z zakresu 0…10 V na żądaną wartość liczbową tj. zmienną z zakresu 2010…10020. Następnie ułożyłem na arkuszu blok FBD o nazwie, w którym poziom L1 jest ustalany poprzez referencję do wartości zmiennej uzyskiwanej ze wzmacniacza analogowego po przeskalowaniu (rysunek 3). Teraz wewnętrzna zmienna licznikowa mojego bloku FBD o nazwie RAMP1 zmienia się od Start/stop offset do Analog Amplifier Output w tempie 500 kroków na sekundę, dodawanym lub odejmowanym, zależnie od tego, czyLevel jest większy od Offset. Następnie, również przez referencję (rysunek 4) „przeniosłem” wewnętrzną zmienną z bloku RAMP1 do generatora Asynchronous Pulse Generator ustalając za jej pomocą odstępy pomiędzy impulsami o czasie trwania 100 ms. W ten sposób kręcąc potencjometrem uzyskuję regulację odstępu pomiędzy impulsami o stałym czasie trwania, a przy tym ten odstęp zmienia się ze stałą prędkością uwzględniającą bezwładność urządzenia. Wyjście mojego generatora jest w dalszej kolejności dołączone do wejścia licznika do dwóch Pulse Relay, co pozwala na uzyskanie przebiegu o wypełnieniu 50% i regulowanej częstotliwości.

Rysunek 3. Wskazanie zmiennej dostępnej na wyjściu wzmacniacza analogowego jako progu L1 dla bloku Analog Ramp

 

Rysunek 4. Wskazanie zmiennej bloku Analog Ramp jako ustalającej czas odstępu pomiędzy impulsami generowanymi przez Asynchronous Pulse Generator

To nie koniec udoskonaleń. Usprawniono dodawanie bloków funkcyjnych oraz ich zastępowanie przez inne – wystarczy po prostu położyć nowy blok FBD na zastępowanym. Umożliwiono obsługę aż 20 wyjść cyfrowych i 8 analogowych. Oczywiście, to z odpowiednimi modułami rozszerzeń. Przy pracy sieciowej można łatwo wskazać współpracujące sterowniki Logo! wykorzystując technikę drag & drop – przeciągnij i upuść. O ile mi wiadomo, na próżno szukać tego ułatwienia u konkurencji. A mówiąc o pracy sieciowej – łatwo wykonać interfejs umożliwiający kontrolowanie aplikacji funkcjonującej na Logo! oraz monitorowanie stanu jego wejść i wyjść za pomocą przeglądarki, a jeśli tak, to wprawny programista również jest w stanie wykonać aplikację pracującą pod kontrolą dowolnego systemu operacyjnego i używającą Logo! jako inteligentnego układu peryferyjnego. A na koniec smaczek! Ze strony internetowej Siemensa można aktualizację, dzięki której uzyskamy polską wersję menu oraz plików pomocy. Osobiście korzystam z wersji angielskiej, ale myślę, że spolszczenie będzie dużym ułatwieniem dla wielu potencjalnych użytkowników.
Jednym zdaniem, zmiany są liczne i warto o nich przekonać się samemu. Jest ich tak wiele, że nie sposób opisać je wszystkie. Niektóre są tak naturalne, że nawet się ich nie zauważa podczas pracy. Ja podsumuję całą pracę wykonaną przez twórców nowego Logo Soft Comfort jedynym zdaniem – dobra robota! Ale z drugiej strony przychodzi refleksja, że „małe” Logo! teraz jest w stanie realizować zadania, które dawniej mógł wykonywać tylko „duży” S7, a przy tym jest dużo tańsze. To daje do myślenia.
Przeważnie tworzę program w „języku” FBD. Jest on dla mnie o tyle łatwy, że w przeszłości budowałem urządzenia elektroniczne z użyciem przerzutników, bramek logicznych, rejestrów przesuwnych itd. Później zajmowałem się syntezą bloków logicznych w układach PLD i FPGA. Diagram FBD to nic innego, jak rysowanie schematu logicznego urządzenia w podobny sposób, jak robi się to przy okazji projektowania obwodów cyfrowych. Mało tego, jest on o wiele łatwiejszy do utworzenia, ponieważ producenci sterownika i środowiska IDE zadbali o to, aby użytkownik miał do dyspozycji również rozbudowane funkcjonalnie bloki realizujące określoną funkcjonalność bez konieczności używania obwodów RC do ustalania częstotliwości, służące do łączności sieciowej bez konieczności implementowania stosu TCP/IP oraz inne. Dodatkowo, bloki FBD mogą mieć pewne pola np. Retentivity w bloku licznika Up Down Counter, którego zaznaczenie powoduje, że zawartość licznika jest chroniona w pamięci nieulotnej po wyłączeniu zasilania. Każdy, kto samodzielnie budował urządzenia o podobnej funkcjonalności wie, że to niełatwe.
Nie ma jednak róży bez kolców. Moim zdaniem twórcy środowiska zepsuli sposób aktualizowania programu. Podkreślam „moim zdaniem”. Aktualizację wykonuje się za pomocą menu środowiska. W celu pobrania najnowszej wersji programu należy wskazać z menu Help opcję Update Center. Zostaną wyświetlone dwie możliwości wykonania aktualizacji programu: Internet oraz File system. Typowo przeciętny użytkownik skorzysta z Internet. Wówczas program łączy się ze wskazanym serwerem aktualizacji i pobiera plik instalatora. Jeśli pracujemy pod kontrolą Windows 8, to spotka nas przykra niespodzianka, ponieważ po pobraniu aktualizacji zostanie wyświetlony komunikat o braku możliwości jej zainstalowania, bo dla tej operacji, niezależnie od praw, które mamy w systemie, należy wybrać opcję Uruchom jako administrator. Informacja o tym jest co prawda napisana w okienku, gdy wskażemy plik do pobrania, ale brzmi ona „If any exception happens please run LSC with administrator rights”, co nie jest jednoznaczne. Poirytowani zamykamy IDE, uruchamiamy środowisko jako administrator i ponownie wybieramy z menu Update Center i tu czeka nas kolejna niespodzianka – pomimo tego, że mamy zapamiętany na dysku plik z aktualizacją (przecież przed chwilą go pobieraliśmy i został on zapisany w podkatalogu updateTemp), to ten jest pobierany ponownie! No dobrze, przy współczesnych prędkościach połączeń może nie ma to wielkiego znaczenia, ale po co generować niepotrzebny ruch w sieci i na serwerze? Z plikiem aktualizacji jest jeszcze jeden problem – drobnym maczkiem na dole, w polu opisu, jest napisane, którą wersję pobieramy – czy dla Windowsa 64- czy 32-bitowego. Same pliki aktualizacji nie różnią się nazwą, a jedynie nieznacznie wielkością i liczbą w polu opisu (LSC32 lub LSC64), natomiast próba aktualizowania wersji 64-bitowej za pomocą 32-bitowej w moim wypadku skończyła się komunikatem o błędzie i koniecznością ponownego pobrania pliku, tym razem w wersji 64-bitowej. Instalator tak jakby nie przeprowadzał żadnej z oczywistych kontroli, a producent oprogramowania nie zadbał o wyraźne podanie nazwy tego, co mamy zamiar pobrać w jednoznaczny, rozróżnialny sposób. Aby nie być gołosłownym, na rysunku 5 pokazano okienko z opisami plików aktualizacji.

a)

b)

Rysunek 5. Nieznaczne różnice w opisach plików utrudniają poprawną aktualizację: a) LSC 32-bitowe, b) LSC 64-bitowe

Irytuje mnie też to, że instalator nie usuwa poprzedniej wersji oprogramowania instalując nowe wersje obok. Tym bardziej dziwi też fakt, że mając środowisko LSC v6.1 musiałem pobrać v7, a dopiero później mogłem pobrać v8. Po co, skoro są instalowane obok siebie? Po poprawnej aktualizacji mamy na dysku wersje programów v6.1, v7 i v8 – starszych trzeba się pozbyć ręcznie, ponieważ nie nadają się do użycia. Nowe środowisko (LSC v8) instaluje „coś” w pamięci Logo!, również starszego v6 (0BA6). Przypuszczalnie to jakiś rodzaj bootloadera albo firmware zawierający nowe bloki FBD. Dlatego trzeba mieć na uwadze, że jeśli raz zapiszemy pamięć Logo! v6 za pomocą Logo Soft Comfort v8, to nie ma już powrotu do starej wersji oprogramowania. Po prostu Logo! nie chce się z nią komunikować.
Dodajmy jeszcze, że na moich komputerach aktualizację wykonałem bez problemu jedynie pod kontrolą Windows 7, po dłuższej „walce” pod Windows 8.1/32-bit i nie mam już cierpliwości do Windows 8.1/64-bit. Pomimo pozornie poprawnej pracy instalatora i pozornym nagrywaniu plików na dysku, jest wyświetlany niewiele mówiący komunikat o błędzie i nie umiem znaleźć jego źródła. Wygląda na to, że instalator coś robi, rozpakowuje pliki po to, aby następnie wycofać wszystkie zmiany. Nie umiem powiedzieć dlaczego. Ostatecznie poradziłem sobie z tym problemem za pomocą aktualizacji „off line” – odpowiedni plik oraz szereg porad uzyskałem po kontakcie ze wsparciem technicznym Siemensa. Wydaje mi się, że ten problem był już zgłaszany przez większą liczbę użytkowników, ponieważ uzyskałem pomoc niemal natychmiast, co świadczy o dostępności rozwiązania problemu. Myślę, że w niedalekiej przyszłości firma usunie opisane wyżej wady, ponieważ z doświadczenia wiem, że Siemens pomimo ogromnej struktury szybko reaguje na sygnały od klientów.
Ciekawą możliwością Logo Soft Comfort – o czym dowiedziałem się od pracowników Siemensa rozwiązując moje problemy z LSC – jest praca bez konieczności instalowania środowiska na dysku twardym komputera. W związku z tym, że do pracy jest wykorzystywana wirtualna maszyna Javy, można po prostu zapisać na pendrive katalog z programem i korzystać z LSC w wersji „przenośnej”. Osobiście wolę jednak, aby IDE było zainstalowane na dysku twardym, czuję się dzięki temu pewniej i nie zdecydowałem się na to rozwiązanie.
Moim zdaniem firma Siemens powinna pójść w ślady konkurencji i udostępnić oprogramowanie dla sterowników Logo! za darmo. Ułatwiłoby to całą „logistykę”, pobieranie aktualizacji, instalowanie oprogramowania oraz niepotrzebnie nie mnożyłoby bytów. Wszak wersja demonstracyjna różni się od pełnej jedynie brakiem możliwości przesłania programu do pamięci sterownika. Przecież i tak ktoś, kto pobierze i zainstaluje LSC jest zmuszony do zakupu sterownika PLC, aby mógł utworzony przez siebie program wykorzystać w realnym świecie, a nie tylko obejrzeć symulację na ekranie komputera. Koszt zakupu pełnej wersji LSC nie jest wysoki, więc… tym bardziej powinno być ono udostępniane za darmo.

Podsumowanie
Szybko przyzwyczaiłem się do nowej wersji IDE. Intuicyjne rozwiązania, nowe funkcje, referencje dla argumentów FBD, nowy wygląd, praca na wielu arkuszach, wygodne powiększanie i pomniejszanie schematu FBD naprawdę ułatwiają pracę. Nowe środowisko wygląda troszkę tak, jakby w przyszłości również Logo! miały być programowane za pomocą TIA Portal i już starano się przyzwyczaić użytkownika do nowego wyglądu i nowej funkcjonalności. Myślę, że trudno byłoby mi wrócić do starej wersji. Aby się o tym przekonać, uruchomiłem LSC 6 – różnica naprawdę jest ogromna.
W kolejnych artykułach, opierając się na konkretnych przykładach pokażemy, jak można zaprząc Logo! do pracy w użytecznych aplikacjach i jak dołączyć do niego różnego rodzaju czujniki i urządzenia peryferyjne. Sytuacja dojrzała bowiem do tego, że naprawdę w pewnych zastosowaniach warto skorzystać z gotowych rozwiązań tym bardziej, że Logo! może mieć wbudowany zasilacz 230VAC, ma wejścia analogowe, wyjścia tranzystorowe lub przekaźnikowe oraz możliwości rozbudowy. A przy tym kosztuje naprawdę niewiele.

Jacek Bogusz
j.bogusz@easy-soft.net.pl

http://www.tomaszbogusz.blox.pl/

Dodaj nowy komentarz

Zawartość pola nie będzie udostępniana publicznie.
Type the characters you see in this picture. (odsłuchaj)
Przepisz kod z obrazka. Jeżeli nie możesz go odczytać prześlij formularz pozostawiając pole puste - zostanie wygenerowany nowy kod. Wielkość liter nie ma znaczenia.