Podstawy programowania sterowników SIMATIC S7-1200 w języku LAD

Dodaj recenzję:
  • 3439
  • Producent: BTC
  • Autor: Tomasz Gilewski
  • Cena netto: 75,24 zł 79,00 zł
Podstawy programowania sterowników SIMATIC S7-1200 w języku LAD

rok wydania: 2017
ilość stron: 452
ISBN: 978-83-64702-10-5
format: B5
oprawa: twarda

Opis
Książka zawiera 18 rozbudowanych ćwiczeń w języku graficznym LAD, które pozwolą poznać wszystkie funkcjonalności dostępne w sterowniku S7-1200 z firmware v4.1 lub wyższym. Założono, że Czytelnik nie musi wcześniej zapoznawać się z podstawowymi pojęciami zastosowanego językam graficznego, a potrzebne informacje znajdzie w kolejnych ćwiczeniach.
Książka przeznaczona jest przede wszystkim dla osób, które nie miały styczności ze sterownikami serii SIMATIC S7 firmy Siemens.
Autor książki jest absolwentem wydziału Elektroniki i Telekomunikacji oraz Elektrotechniki Politechniki Białostockiej. Na codzień zajmuje się tworzeniem oprogramowania dla sterowników przemysłowych firmy Siemens oraz przygotowaniem wizualizacji na panele HMI. Jest także autorem kilku artykułów w „Elektronice dla Wszystkich". Od 2015 roku na stronie www.mistrzplc.pl prowadzi blog na temat programowania sterowników S7-1200 w języku S7-SCL. W wolnym czasie motocyklista i fan polskiej motoryzacji.

Spis treści
Przedmowa / 9
Wstęp / 13
1. Pierwsze kroki / 15
1.1. Wymogi bezpieczeństwa / 16
1.2. Pomoc techniczna / 17
1.3. TIA Portal V13 – instalacja i konfiguracja pakietu / 18
1.3.1. Opis części składowych środowiska TIA Portal / 19
1.3.2. Pomoc w narzędziu programistycznym / 25
1.3.3. Konfiguracja środowiska / 26
1.4. Automation licence manager / 26
1.5. Automation software updater / 26
1.6. Pierwszy projekt / 27
1.6.1. Dodanie S7-1200 / 27
1.6.2. Konfiguracja PLC / 29
1.6.3. Tworzenie funkcji i bloków danych / 32
1.6.4. Zmiana ustawień komputera PC / 41
1.6.5. Podłączenie elektryczne PLC / 42
1.6.6. Wgranie projektu / 44
1.6.7. Zadania / 48
1.7. Sterowniki PLC firmy Siemens / 48
1.7.1. Ogólne właściwości / 48
1.7.1.1. Zestaw startowy – wprowadzenie do S7-1200 / 50
1.7.1.2. Rozbudowa sterownika / 52
1.7.1.3. Zasada działania sterownika PLC / 54
1.7.2. Budowa wewnętrzna / 56
1.7.2.1. Model pamięci / 56
1.7.2.2. Źródło przerwań / 58
1.7.2.3. Sprzętowe odmierzanie czasu / 61
1.7.2.3.1. Przerwania cykliczne / 61
1.7.2.3.2. Licznik / 63
1.7.2.3.3. PWM / 64
1.7.2.3.4. PTO / 66
1.7.2.3.5. Generowanie sprzętowych opóźnień / 67
1.7.2.3.6. Przerwanie o określonej porze dnia / 68
1.7.2.4. Zegar czasu rzeczywistego / 70
1.7.2.5. Przetwornik analogowo-cyfrowy / 71
1.7.2.6. Monitorowanie czasu cyklu programu / 74
1.7.2.7. Sprzętowa diagnostyka błędów / 75
1.7.2.8. Komunikacja / 76
1.7.2.9. Zabezpieczenia / 77
1.7.2.10. Karta pamięci / 78
1.7.2.11. Zdalne programowanie PLC / 80
2. Język LAD w sterowniku S7-1200 / 81
2.1. Poziom podstawowy / 82
2.1.1. Komentarze / 82
2.1.2. Typy zmiennych / 83
2.1.2.1. Konwersja typów / 87
2.1.3. Deklarowanie zmiennych / 89
2.1.4. Deklarowanie stałych / 94
2.1.4.1. Stałe w PLC tags / 94
2.1.4.2. Stałe w blokach / 94
2.1.5. Zakres widoczności zmiennych / 95
2.1.6. Operatory / 95
2.1.6.1. Arytmetyczne / 96
2.1.6.1.1. Modulo MOD / 99
2.1.6.2. Logiczne / 99
2.1.6.3. Binarne / 101
2.1.7. Instrukcje sterujące / 108
2.1.7.1. Instrukcja warunkowa / 109
2.1.8. Tablice / 110
2.1.8.1. Tablice wielowymiarowe / 112
2.1.9. Struktury / 114
2.1.10. Typ wyliczeniowy / 116
2.2. Programowanie zaawansowane / 118
2.2.1. Programowe odmierzanie czasu / 118
2.2.1.1. Generator impulsu / 119
2.2.1.2. Zegar opóźnienia załączenia / 119
2.2.1.3. Opóźnienie wyłączenia / 120
2.2.1.4. TONR (Time accumulator) / 121
2.2.1.5. Dodatkowe funkcje wspomagające / 122
2.2.2. Dodatkowe funkcje zliczające / 123
2.2.2.1. Licznik zliczający w górę / 123
2.2.2.2. Licznik zliczający w dół / 124
2.2.2.3. Licznik zliczający w góre i w dół / 125
2.2.3. Bloki matematyczne / 126
2.2.4. Konwersja liczb zmiennoprzecinkowych / 132
2.2.5. Konwersja łańcuchów znaków / 134
2.2.6. Wykrywanie zboczy sygnałów / 140
2.2.7. Wprowadzenie do techniki regulacji PID / 141
2.2.8. Programowa diagnostyka sterownika / 143
2.2.8.1. Odczyt statusu diod LED / 144
2.2.8.2. Funkcja GET_DIAG() / 145
2.2.8.3. Funkcja GET_ERROR() / 146
2.2.9. Dzienniki zdarzeń / 149
2.2.10. Koncepcja programowania / 149
2.2.11. Praktyki dobrego programowania / 159
3. Zarządzanie projektem / 163
3.1. Wersjonowanie bloków w TIA Portal / 164
3.1.1. Tworzenie bibliotek / 164
3.1.2. Projekt wzorcowy / 170
3.2. Migracja projektów / 174
3.3. Generowanie dokumentacj / 176
3.4. Archiwizacja projektu / 178
4. Praktyczne projekty / 179
4.1. Debug kodu programu / 180
4.1.1. Paski narzędzi / 180
4.1.1.1. Tablice PLC tags / 180
4.1.1.2. Bloki organizacyjne i funkcyjne / 182
4.1.1.3. Blok danych / 183
4.1.2. Lista referencyjna utworzonych bloków / 184
4.1.3. Program Info / 185
4.1.3.1. Struktura wywołań / 185
4.1.3.2. Drzewo zależności / 186
4.1.3.3. Lista przypisań / 187
4.1.3.4. Zasoby / 189
4.1.4. Połączenie się online ze sterownikiem / 189
4.1.5. Porównanie projektu offline z online / 191
4.1.6. Podgląd stanu konfiguracji sprzętowej / 192
4.1.7. Podgląd wykonywanego programu / 193
4.1.8. Tablice wymuszeń / 193
4.1.9. Tablice monitorujące / 196
4.1.10. Metody pracy z blokami danych DB / 198
4.1.10.1. Przechwytywanie wartości / 198
4.1.10.2. Ponowna inicjalizacja / 199
4.1.10.3. Download bez reinicjalizacji / 199
4.1.11. Analizator logiczny / 201
4.1.12. Praca z projektem podczas połączenia online ze sterownikiem / 205
4.2. Diagnostyka i konfiguracja sterownika w trybie online / 205
4.2.1. Narzędzia online / 206
4.2.2. Zakładka Diagnostics w oknie inspektora / 207
4.2.3. Bufor diagnostyczny / 207
4.2.4. Czas cyklu / 209
4.2.5. Pamięć / 209
4.2.6. Interfejs PROFINET / 209
4.2.6.1. Adresy / 210
4.2.6.2. Porty / 210
4.2.7. Nadanie adresu IP / 211
4.2.8. Ustawienie czasu i daty / 212
4.2.9. Aktualizacja firmware’u / 212
4.2.10. Nadanie nazwy / 213
4.2.11. Przywrócenie ustawień fabrycznych / 214
4.3. Wyszukiwanie urządzeń w sieci PROFINET / 215
4.4. Pobranie ustawień i kodu programu ze sterownika do projektu / 216
4.5. Programowanie sterownika w trybie RUN / 219
4.6. PLCSIM sterownika S7-1200 / 221
4.7. Przyspieszenie pracy programisty / 227
4.7.1. Automatyczny zapis projektu / 227
4.7.2. Praca z edytorami / 228
4.7.3. Skróty klawiaturowe / 228
4.7.4. Zewnętrzne narzędzia do diagnostyki i programowania PLC / 229
4.8. Tworzenie szablonu projektu / 233
4.9. Ćwiczenia podstawowe / 240
4.9.1. Operator przypisania – Projekt 1 / 240
4.9.2. Operator AND – Projekt 2 / 243
4.9.3. Operator OR – Projekt 3 / 247
4.9.3.1. Zadania / 250
4.9.4. Przerzutnik SR – Projekt 4 / 250
4.9.4.1. Zadania / 254
4.9.5. Instrukcja warunkowa – Projekt 5 / 254
4.9.5.1. Zadania / 261
4.9.6. Programowe liczniki – Projekt 6 / 261
4.9.6.1. Zadania / 269
4.9.7. Czasomierze – Projekt 7 / 269
4.9.7.1. Zadania / 271
4.9.8. Przebiegi zegarowe – Projekt 8 / 273
4.9.8.1. Zadania / 280
4.9.9. Maszyna stanów – Projekt 9 / 281
4.9.9.1. Zadania / 294
4.10. Ćwiczenia średniozaawansowane / 294
4.10.1. Przerwania sprzętowe – Projekt 10 / 294
4.10.1.1. Zadania / 310
4.10.2. Sprzętowe przerwania czasowe – Projekt 11 / 311
4.10.2.1. Zadania / 319
4.10.3. Przetwornik analogowo-cyfrowy – Projekt 12 / 319
4.10.3.1. Zadania / 340
4.10.4. Sprzętowy PWM – Projekt 13 / 340
4.10.4.1. Zadania / 347
4.10.5. Sprzętowe szybkie liczniki – HSC – Projekt 14 / 347
4.10.5.1. Single counter / 352
4.10.5.2. Frequency / 358
4.10.5.3. A/B counter361
4.10.5.4. Zadania / 370
4.10.6. Regulator PID – Projekt 15 / 370
4.10.6.1. Dobór typu regulatora do obiektu / 377
4.10.6.2. Regulator PID_Compact / 379
4.10.6.3. Zadania / 392
4.10.7. Modbus TCP – Projekt 16 / 392
4.10.7.1. MODBUS serwer w sterowniku PLC / 394
4.10.7.2. MODBUS klient na komputerze klasy PC / 399
4.10.7.3. Zadania / 401
4.10.8. Open User Communication – Projekt 17 / 401
4.10.8.1. Konfiguracja funkcji w sterowniku PLC / 402
4.10.8.2. Wykorzystanie aplikacji testowej połączenia na komputerze klasy PC / 417
4.10.8.3. Zadania / 419
4.10.9. Rozbudowa sterownika – Projekt 18 / 419
4.10.9.1. Program Demo / 421
4.10.9.2. Zadania / 422
4.11. Zadanie – linia transportowa / 423
5. Wstęp do wizualizacji / 425
5.1. Konfiguracja Web Servera / 426
5.2. Standardowe strony Web Servera / 428
5.2.1. Introduction / 428
5.2.2. Start / 430
5.2.3. Identification / 431
5.2.4. Diagnostic Buffer / 431
5.2.5. Module Information / 431
5.2.6. Communication / 433
5.2.7. Variable Status / 435
5.2.8. File Browser / 436
5.2.8.1. DataLogs / 437
5.2.8.2. Recipes / 437
5.2.9. User pages / 437
5.3. Strony użytkownika / 437
5.3.1. Szablon strony / 438
5.3.1.1. Rodzaj języka / 438
5.3.1.2. Znaczniki dokumentu / 438
5.3.1.3. Dołączanie informacji / 439
5.3.1.4. Treść strony / 440
5.3.2. Hello World – pierwsza strona użytkownika / 440
5.3.3. Uruchomienie strony użytkownika / 441
5.3.4. Polecenia AWP / 443
5.3.4.1. Strona Read / 443
5.3.4.2. Strona Write / 446
5.3.4.3. Strona Enum / 448
5.4. Zadanie – sudoku / 450
Bibliografia / 451

Wstęp
Szanowny Czytelniku, na wstępie chciałbym Ci podziękować za zainteresowanie niniejszą publikacją. Skoro trzymasz ją teraz w rękach, to prawdopodobnie chcesz zostać programistą sterowników PLC firmy Siemens. Brawo! Zawód programisty w branży automatyki zapewnia obecnie dobry start do kariery zawodowej. Rynek pracy potrzebuje inżynierów oprogramowania, ponieważ rozwój branży automatyki jest teraz bardzo dynamiczny. To przemysł jest głównym czynnikiem decydującym o stanie gospodarki kraju. Przykładów wykorzystania sterowania w oparciu o rozwiązania PLC nie trzeba daleko szukać. W każdej fabryce są takie urządzenia.
Drogi Czytelniku, pragnę Cię zapewnić, że po przeczytaniu tej książki poszerzysz swoje horyzonty. Będę chciał Cię zainteresować zagadnieniami związanymi z programowaniem PLC. Może sterowniki PLC firmy Siemens staną się też Twoją pasją.
Sądzę, że podstawą sukcesu we wszystkich ludzkich działaniach jest to, że się robi to, co się lubi oraz umie. Chciałbym, abyś też po przeczytaniu tej książki poznał i polubił zagadnienia w niej opisane. Może zdecydujesz się na podjęcie edukacji w tym kierunku. Praca zawodowa stanie się Twoim hobby, za które będziesz dodatkowo otrzymywał wysokie wynagrodzenie.
Książka, którą teraz trzymasz w ręku, będzie przydatna dla Ciebie, jeżeli jesteś uczniem,
studentem lub nauczycielem albo wykładowcą. Jeżeli jesteś hobbystą, to również dobrze trafiłeś.
Książka powstała jako podsumowanie doświadczeń autora zdobytych podczas prac nad różnymi projektami. Sądzę, że Czytelnik uzyska z tej książki sporo wiedzy praktycznej z zakresu programowania sterownika S7-1200 w języku LAD. Ze względu na duże podobieństwa do pozostałych sterowników jak S7-1500 czy sterowników klasycznych S7-300 i S7-400, wiedza z tej książki będzie miała również tam zastosowanie.
Chcę Cię teraz zabrać w krótką podróż po każdym z rozdziałów w tej publikacji.
Zaczniemy od historii rozwoju sterowników PLC firmy Siemens.
Jednym z pierwszych producentów współczesnych systemów sterowania była firma Siemens, która w roku 1973 wprowadziła sterownik serii SIMATIC S3. Wypuszczenie w roku 1979 kolejnej serii SIMATIC S5 spowodowało, że firma stała się światowym liderem w produkcji systemów sterowania. Dalszy rozwój produktu przyczynił się do przełomu w koncernie Siemens. Po rozpoczęciu sprzedaży serii SIMATIC S7 w roku 1995 stał się on najczęściej stosowanym sterownikiem w Europie. Produkowane od wielu lat sterowniki tej firmy w dalszym ciągu wyznaczają standardy innym producentom automatyki.
W rozdziale pierwszym przedstawiono kilka informacji o bezpieczeństwie podczas różnego rodzaju prac, jakie wykonuje programista. Na swojej drodze spotkasz różne problemy, więc przyda Ci się pomoc wsparcia technicznego, co zawiera także ten rozdział. Opisano także wszystkie etapy związane z oprogramowaniem TIA
Portal V13, czyli od pobrania do opisu każdego z jego składników. Przedstawiono
opis przygotowania komputera do połączenia ze sterownikiem oraz sposób podłączenia zasilania i sygnałów zewnętrznych do sterownika S7-1200. Następnie krok po kroku jest tworzony nowy projekt wraz z pierwszą kompilacją i zaprogramowaniem sprzętu. Koniec tego rozdziału zawiera szczegółowy opis budowy zewnętrznej i wewnętrznej sterownika PLC.
Rozdział drugi omawia informacje o zmiennych i stałych oraz sposobach ich tworzenia. W dalszej części znajduje się opis operatorów, instrukcji sterujących oraz tablic. Druga część rozdziału przedstawia zaawansowane funkcje dostępne w TIA
Portal wraz z przykładami ich wykorzystania, którymi są czasomierze i liczniki.
Kolejne z nich to funkcje matematyczne oraz służące do konwersji i wykrywania zboczy sygnału. W tym rozdziale przeczytasz także o wbudowanych funkcjach regulacyjnych oraz funkcjach realizujących programową diagnostykę sprzętu. Na końcu rozdziału pokazano wskazówki związane z praktykami dobrego programowania.
W rozdziale numer trzy zawarto najważniejsze rzeczy związane z projektem utworzonym w środowisku TIA Portal. Opisano sposoby wykorzystania bibliotek oraz techniki porównywania projektów online oraz offline. W tym rozdziale dowiesz się także o migracji projektów z oprogramowania klasycznego STEP7 v5.5 do TIA Portal. Przedstawione zostały sposoby generowania dokumentacji projektu oraz jego archiwizacji.
Rozdział czwarty przedstawia zagadnienia, które towarzyszą nam podczas kodowania. Znajdziesz tam szczegółowy opis edytorów i ich praktycznego wykorzystania. Będziesz wiedział, jak przyśpieszyć pracę stosując kilka trików. Są także zawarte techniki debugowania kodu. Przeczytasz, jak zrobić diagnostykę każdego sterownika PLC. Druga część tego rozdziału to wykorzystanie zdobytej wiedzy i zdobycie doświadczenia podczas prac z praktycznymi projektami. Wcielasz się w programistę, który dostaje zlecenia od zakładu produkcyjnego na wykonanie określonej
aplikacji. Poziom zaawansowania każdego kolejnego zadania wzrasta.
Ostatni rozdział zawiera informacje o web serwerze dostępnym w sterowniku S7-1200. Znajdziesz tam wszystko o domyślnych stronach, które zawiera wbudowany serwer oraz jak z nich korzystać. Zamieszczono także przykłady tworzenia stron użytkownika w technologii HTML, łącznie z gotowymi projektami.
Drogi Czytelniku, tak w skrócie przedstawia się zawartość każdego z rozdziałów.
Mam nadzieję, że znalazłeś tam jakieś interesujące tematy dla siebie. Zapraszam Cię już teraz do szczegółowej lektury.
Programiści mogą korzystać z przykładów umieszczonych w tej publikacji. Należy pamiętać, że każda aplikacja jest inna, są inne wymagania. W związku z czym to na osobie piszącej kod programu spoczywa odpowiedzialność za wykonanie potrzebnych modyfikacji.