Ponieważ na grupie Automatyk Może Więcej będącej pod opieką iAutomatyka.pl często pada pytanie, z jakich książek można się uczyć programowania sterowników PLC, postanowiłem po rozmowie z Marcinem Faszczewskim zrecenzować jedną z tegorocznych nowości dostępnych na polskim rynku wydawniczym, czyli „Podstawy programowania sterowników SIMATIC S7-1200 w języku LAD” Tomasza Gilewskiego. Skontaktowaliśmy się z autorem i dzięki temu powstała ta recenzja.
Wybór jest nieprzypadkowy, ponieważ zależało mi na książce mówiącej nie o teorii (czytaj – kolejnym omówieniu normy IEC-61131), ale o praktyce pisania programów na sterowniki programowalne. Dodatkowymi atutami jest oparcie się na prawdopodobnie najpopularniejszej obecnie w Polsce rodzinie sterowników S7-1200 oraz osoba autora, który poza praktyką posiada w dorobku kilka wydanych książek na temat sterowników PLC i doświadczenie w programowaniu.
Treść
Książkę można podzielić generalnie na dwie części:
- Opis możliwości sterownika, oprogramowania narzędziowego TIA Portal, języka LAD oraz wbudowanych bibliotek – rozdziały 1., 2. i 3.
- Praktyczne projekty – rozdziały 4. i 5.
Pierwsze trzy rozdziały stanowią obszerne i wyczerpujące wprowadzenie do rodziny sterowników S7-1200. W szczególności chciałbym zwrócić uwagę na słowo „wyczerpujące” – przyznam, że pomimo wykonania już kilku projektów na tych sterownikach mogłem dowiedzieć się o kilku funkcjonalnościach, o których nie wiedziałem lub nigdy nie korzystałem. Według mnie to duży plus, bo mając pierwszy raz styczność z takim „kombajnem” jak TIA Portal dobrze jest mieć przewodnika, który szybko pokaże, gdzie i co kliknąć, żeby pracowało się sprawnie i przyjemnie.
Ostatnie dwa rozdziały to już to, co praktycy lubią najbardziej – praktyka. W książce mamy zaprezentowanych 18 projektów, które autor szczegółowo omawia – od założeń projektów („z życia wzięte”), przez kody programów aż po obszerny komentarz co i dlaczego zostało zrobione tak, a nie inaczej.
Na początku rozdziału czwartego autor zaczyna od podstaw, czyli jak się poruszać po projekcie, jak się podłączyć do sterownika, narzędzia pomagające debuggować i zarządzać projektem, narzędzia diagnostyczne w trybie online itd. Stanowi on niejako kontynuacje trzech pierwszych rozdziałów, płynnie prowadzącą do sedna książki, czyli projektów.
Każdy projekt zakończony jest propozycją ćwiczeń. I tutaj drugi raz duży plus dla autora, ponieważ ćwiczenia to nie tylko banalne „Zmodyfikuj program, tak, żeby lampka migotała z częstotliwością 1[Hz] zamiast 2[Hz]”, ale też zmuszające nad głębszym zastanowieniem się nad zastosowanymi rozwiązaniami, jak w np. porównanie czasu wykonania programu i wykorzystanych zasobów sterownika z wykorzystaniem przerwań i bez. Moją uwagę zwrócił projekt nr 9, czyli maszyna stanów – ciekawa metoda w kwestii realizacji złożonych sekwencji, nad której analizą warto spędzić trochę czasu.
Co istotne, autor przy omówieniu każdego z projektu nie ogranicza się tylko do komentarza, jak coś działa, ale także przedstawia metody, jak i gdzie można zweryfikować działanie w oknach „Watch and force tables”, „Trace handling” etc.
Dla każdego zadania dołączony został pełnoprawny schemat elektryczny, co jest kolejną dużą zaletą książki pod względem dydaktycznym. Do dzisiaj śnią mi się w koszmarach pseudoideowe „schematy” ze skryptów uczelnianych.
Ostatni rozdział traktuje o wizualizacji, a tak właściwie o konfiguracji i możliwościach Web Servera dostępnego na sterownikach rodziny S7-1200. Rozdział omawia wpierw strony standardowe, a następnie bardzo podstawowe zagadnienia, od których należy zacząć, żeby postawić na sterowniku swoją pierwszą stronę. Niestety, tutaj nie należy się spodziewać przykładowych projektów analogicznych do tych w rozdziale czwartym, tylko naświetlenie pewnych zagadnień i zachętę do własnych poszukiwań. Decyzja autora o skrótowym potraktowaniu tego tematu jest według mnie zrozumiała, bo celem książki jest zasadniczo nauka pisania programów, a nie stron WWW, a wyczerpujące przedstawienie tematu wymagałoby napisania drugiego tomu książki. Poza tym dla kogoś, kto zna podstawy tworzenia stron internetowych, ten rozdział będzie stanowił wystarczające źródło potrzebnych informacji.
Ogólnie o książce
Wydanie książki jest wykonane bardzo estetycznie i solidnie. Książka została wydana w twardej oprawie, co zapewnia jej dużą trwałość zarówno w prywatnej/służbowej biblioteczce, jak i w plecaku.
Autor pisze bardzo łopatologicznie, tłumacząc każdy szczegół, co wynika z grupy docelowej, jaką są osoby stawiające pierwsze kroki w programowaniu sterowników. W wielu miejscach książki są nawiązania i porównania do języka C i mikrokontrolerów. Do mnie to nie przemawia, jednak rozumiem, że może to pomóc zrozumieć niektóre zagadnienia przez analogie czytelnikom zwłaszcza po studiach, na których w Polsce na kierunku Automatyka i Robotyka często więcej w programie jest informatyki i techniki mikroprocesorowej niż stricte automatyki przemysłowej (przez co rozumiem PLC, HMI, SCADA, AKPiA itd.).
Tomasz Gilewski konsekwentnie posługuje się polskim słownictwem technicznym, tłumacząc anglojęzyczne słownictwo, nie popada jednak w przesadę tam, gdzie przyjęło się stosować angielskie terminy bez polskiego odpowiednika, jak np. firmware, co się bardzo chwali. Niestety, w ten sposób wprowadza też swoje określenia, które są niezgodne z nomenklaturą przyjętą przez Siemensa. Przykładem jest nazywanie „PLC data type” strukturami, tym bardziej że w TIA Portalu struktura to konkretne pojęcie – złożony typ danych, który możemy zadeklarować w bloku danych bez wcześniejszego definiowania. Ja z takim podejściem się nie zgadzam, moim zdaniem powinno się trzymać ściśle nomenklatury używanej przez producenta, przez co np. w Unitronics listę elementów tego samego typu nazywam za producentem wektorem, a nie tablicą. W tej kwestii się różnię z autorem, co jednak nie wpływa na wartość i poziom książki.
Podsumowanie – czy i dla kogo ta książka?
Czy mogę polecić książkę Tomasza Gilewskiego? Jak najbardziej, ponieważ:
- zawiera dużo praktycznych projektów wraz z komentarzem i propozycją ciekawych ćwiczeń,
- zawiera kompletny i wyczerpujący opis możliwości i funkcjonalności oprogramowania narzędziowego TIA Portal,
- jest napisana w sposób przejrzysty i konsekwentny.
A dla kogo? Na pewno nie dla zaawansowanych programistów PLC znających już sterowniki S7-1200 – książka zgodnie z tytułem jest o podstawach programowania. Nie jest też dla ludzi, którzy chcą dowiedzieć ogólnie o programowaniu sterowników PLC jako takich – celem autora było opisanie praktyki programowania w tej konkretnej rodziny sterowników. Książkę mogę polecić przede wszystkim osobom, które:
- zaczynają przygodę z programowaniem sterowników PLC, i które chcą ją rozpocząć właśnie z jednymi z najpopularniejszych sterowników PLC w Polsce,
- mającym doświadczenie w automatyce, jednak nie programowały sterowników, a chcącym podnieść swoje kwalifikacje np. pracującym w utrzymaniu ruchu,
- mają doświadczenie z programowaniem sterowników, jednak nie rodziny S7-1200, a chcą to zrobić szybko i bezboleśnie – zwłaszcza ze względu na trzy pierwsze rozdziały.
Gilewski Tomasz.„Podstawy programowania sterowników SIMATIC S7-1200 w języku LAD”. Legionowo: Wydawnictwo BTC, 2017. ISBN: 978-83-64702-10-5