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 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:
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 rzeczywistego70
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 MOD99
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 dokumentacji 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 counter 361
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
Podstawy programowania sterowników SIMATIC S7-1200 w języku LAD
|