Książka jest kompleksowym kursem programowania nowoczesnych sterowników PLC w języku SCL. Autor przygotował 20 ćwiczeń-przykładowych projektów, na podstawie których pokazuje jak rozwiązywać w języku SCL typowe problemy, na jakie napotykają programiści systemów automatyki.
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 ww.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:
1. Pierwsze kroki
1.1 Własne bezpieczeństwo.18
1.2 Wsparcie techniczne.19
1.3 Instalacja i konfiguracja pakietu TIA Portal V1320
1.3.1 Opis części składowych środowiska TIA Portal. 21
1.3.2 Dostępna pomoc w środowisku 27
1.3.3 Konfiguracja środowiska. 28
1.4 Menadżer licencji28
1.5 Automatyczne aktualizacje.28
1.6 Pierwszy projekt29
1.6.1 Dodanie sterownika 29
1.6.2 Konfiguracja sterownika 31
1.6.3 Tworzenie funkcji i bloków danych. 33
1.6.4 Konfiguracja komputera PC 41
1.6.5 Podłączenie elektryczne sterownika 41
1.6.6 Programowanie sterownika. 44
1.6.7 Zadania. 48
1.7 Sterowniki firmy Siemens48
1.7.1 Charakterystyka ogólna 48
1.7.1.1 Zestaw startowy – wprowadzenie do S7-120050
1.7.1.2 Rozbudowa sterownika51
1.7.1.3 Cykl programu oraz tryby pracy sterownika.54
1.7.2 Budowa wewnętrzna. 56
1.7.2.1 Pamięć.56
1.7.2.2 Przerwania.58
1.7.2.3 Timery.61
1.7.2.3.1 Przerwania cykliczne.61
1.7.2.3.2 Licznik62
1.7.2.3.3 PWM.63
1.7.2.3.4 PTO.65
1.7.2.3.5 Generowanie sprzętowych opóźnień.65
1.7.2.3.6 Przerwanie o określonej porze dnia.66
1.7.2.4 Zegar czasu rzeczywistego68
1.7.2.5 Przetwornik ADC.69
1.7.2.6 Watchdog – kontrola nad cyklem programu71
1.7.2.7 Błędy diagnostyczne73
1.7.2.8 Komunikacja.74
1.7.2.9 Zabezpieczenia75
1.7.2.10 Karta pamięci76
1.7.2.11 Bootloader – zdalne programowanie.78
2. Język S7-SCL dla sterowników PLC
2.1 Podstawy80
2.1.1 Komentarze 80
2.1.2 Typy zmiennych 81
2.1.2.1 Konwersja typów.84
2.1.3 Deklarowanie zmiennych.85
2.1.4 Deklarowanie stałych. 91
2.1.4.1 Stałe w PLC tags91
2.1.4.2 Stałe w blokach91
2.1.5 Zakres widoczności zmiennych 92
2.1.6 Operatory. 93
2.1.6.1 Arytmetyczne93
2.1.6.1.1 Modulo MOD94
2.1.6.2 Logiczne95
2.1.6.3 Binarne97
2.1.7 Priorytety operatorów. 106
2.1.8 Instrukcje sterujące. 107
2.1.8.1 Instrukcja warunkowa IF, ELSE107
2.1.8.2 CASE.OF.109
2.1.8.3 Pętla WHILE.DO. 110
2.1.8.4 Pętla REPEAT.UNTIL. 110
2.1.8.5 Pętla FOR 111
2.1.8.6 Instrukcja EXIT. 112
2.1.8.7 Instrukcja CONTINUE 113
2.1.8.8 Instrukcja RETURN. 113
2.1.8.9 Instrukcja GOTO. 113
2.1.9 Tablice 114
2.1.9.1 Tablice wielowymiarowe. 115
2.1.10 Struktury. 116
2.1.11 Typ wyliczeniowy. 118
2.2 Programowanie zaawansowane119
2.2.1 Wskaźniki – adresowanie pośrednie 119
2.2.2 Funkcje timerowe 123
2.2.2.1 TP (Generate pulse).123
2.2.2.2 TON (Generate on-delay)124
2.2.2.3 TOF (Generate off-delay)124
2.2.2.4 TONR (Time accumulator)125
2.2.2.5 Funkcje wspomagające126
2.2.3 Funkcje licznikowe. 127
2.2.3.1 CTU (Count up).127
2.2.3.2 CTD (Counter down).127
2.2.3.3 CTUD (Count up and down).128
2.2.4 Funkcje matematyczne. 129
2.2.5 Funkcje konwersji liczb zmiennoprzecinkowych. 133
2.2.6 Funkcje konwersji łańcuchów znaków. 134
2.2.7 Wykrywanie zboczy sygnałów. 138
2.2.8 Podstawy regulacji 139
2.2.9 Diagnostyka. 141
2.2.9.1 Odczyt statusu diod LED.141
2.2.9.2 Funkcja GET_DIAG().143
2.2.9.3 Funkcja GET_ERROR()144
2.2.10 Dzienniki zdarzeń 146
2.2.11 Koncepcja programowania 146
2.2.12 Wskazówki organizacji kodu w projekcie.154
3. Zarządzanie projektem
3.1 Wersjonowanie plików w TIA Portal 160
3.1.1 Biblioteka funkcji w projekcie 160
3.1.2 Projekt wzorcowy 166
3.2 Zewnętrzny system wersjonowania. 169
3.2.1 Konfiguracja 170
3.2.2 Praca z SVN. 174
3.3 Struktura plików SCL 178
3.3.1 Bloki funkcji 178
3.3.2 Bloki danych. 181
3.3.3 Struktury. 182
3.4 Migracja projektów 183
3.5 Generowanie dokumentacji. 186
3.6 Archiwizacja projektu. 187
4. Przykładowe zadania projektowe
4.1 Debugowanie programu. 190
4.1.1 Opis pasków narzędzi. 190
4.1.1.1 PLC tags190
4.1.1.2 Bloki OB, FC, FB192
4.1.1.3 Blok danych DB.195
6 Spis treści
4.1.2 Lista powiązań danych. 196
4.1.3 Szczegóły o kodzie programu. 196
4.1.3.1 Struktura wywołań.196
4.1.3.2 Drzewo zależności.197
4.1.3.3 Lista przypisań.198
4.1.3.4 Zasoby.200
4.1.4 Połączenie się online ze sterownikiem 200
4.1.5 Porównanie projektu offline z online 203
4.1.6 Podgląd stanu konfiguracji sprzętowej. 203
4.1.7 Podgląd wykonywanego programu 204
4.1.8 Tablice wymuszeń. 205
4.1.9 Tablice monitorujące. 207
4.1.10 Praca z blokami danych DB 209
4.1.10.1 Przechwytywanie wartości.209
4.1.10.2 Ponowna inicjalizacja209
4.1.10.3 Download bez reinicjalizacji 211
4.1.11 Analizator logiczny. 212
4.1.12 Praca z projektem podczas połączenia online ze sterownikiem. 215
4.2 Diagnostyka i konfiguracja sterownika w trybie online. 216
4.2.1 Narzędzia online 216
4.2.2 Zakładka Diagnostics w oknie inspektora 217
4.2.3 Bufor diagnostyczny. 218
4.2.4 Czas cyklu 218
4.2.5 Pamięć 220
4.2.6 Interfejs PROFINET. 220
4.2.6.1 Adresy.220
4.2.6.2 Porty221
4.2.7 Nadanie adresu IP 221
4.2.8 Ustawienie czasu i daty 222
4.2.9 Aktualizacja firmware’u 222
4.2.10 Nadanie nazwy. 224
4.2.11 Przywrócenie ustawień fabrycznych. 224
4.3 Wyszukiwanie urządzeń w sieci 225
4.4 Upload programu ze sterownika do projektu. 226
4.5 Download w trybie RUN. 230
4.6 Symulator sterownika 232
4.7 Przyspieszenie pracy programisty 237
4.7.1 AutoSaver 237
4.7.2 Podział obszaru roboczego 238
4.7.3 Najważniejsze skróty klawiaturowe 238
4.8 Tworzenie szablonu projektu 243
4.9 Ćwiczenia podstawowe 248
4.9.1 Kontrola furtki – rozgrzewka 248
4.9.2 Sterowanie wiertarką – operator AND 252
4.9.3 Kontrola oświetlenia – operator OR 255
4.9.3.1 Zadania258
4.9.4 Popychacz – przerzutnik SR. 258
4.9.4.1 Zadania261
4.9.5 Kontrola taśmociągu. 263
4.9.5.1 Zadania267
4.9.6 Kontrola miejsc na parkingu – liczniki. 267
4.9.6.1 Zadania274
4.9.7 Kontrola wiertarki – timer TON. 274
4.9.7.1 Zadania275
4.9.8 Sygnalizacja ostrzegawcza – generator sygnału zegarowego. 275
4.9.8.1 Zadania280
4.9.9 Przepompownia wody – maszyna stanów 280
4.9.9.1 Zadania289
4.10 Ćwiczenia średnio zaawansowane. 290
4.10.1 Rejestracja osób w sklepie – sprzętowe przerwania. 290
4.10.1.1 Zadania299
4.10.2 Otwieranie furtki oraz bramy – przerwania Time of day
oraz Time delay interrupt. 299
4.10.2.1 Zadania306
4.10.3 Oszczędne pomieszczenie – przetwornik ADC
oraz przerwanie diagnostyczne. 306
4.10.3.1 Zadania318
4.10.4 Sygnalizacja informacyjna – PWM. 319
4.10.4.1 Zadania324
4.10.5 Linia technologiczna – sprzętowe szybkie liczniki. 326
4.10.5.1 Singel counter329
4.10.5.2 Frequency333
4.10.5.3 A/B counter.335
4.10.5.4 Programowa obsługa enkodera340
4.10.5.5 Zadania342
4.10.6 Kocioł centralnego ogrzewania – regulator PID. 342
4.10.6.1 Dobór typu regulatora do obiektu348
4.10.6.2 Regulator PID_Compact350
4.10.6.3 Programowy regulator PID361
4.10.6.4 Zadania376
4.10.7 Zdalne sterowanie – modbus TCP. 376
4.10.7.1 MODBUS serwer w sterowniku PLC377
4.10.7.2 MODBUS klient na komputerze klasy PC379
4.10.7.3 Zadania381
4.10.8 Zdalne sterowanie – funkcja TSEND_C() oraz TRCV_C(). 382
4.10.8.1 Konfiguracja funkcji w sterowniku PLC.382
4.10.8.2 Wykorzystanie aplikacji testowej połączenia na komputerze klasy PC393
4.10.8.3 Zadania395
4.10.9 Raportowanie procesu – serwer FTP. 395
4.10.9.1 Funkcje komunikujące się z serwerem396
4.10.9.2 Zapis danych na serwer398
4.10.9.3 Odczyt danych z serwera.407
4.10.9.4 Zadania410
4.10.10Akwizycja danych – programowy RS-232. 411
4.10.10.1Opis protokołu.414
4.10.10.2Implementacja stałych.415
4.10.10.3Implementacja odbioru417
4.10.10.4Implementacja wysyłania.422
4.10.10.5Odczyt danych identyfikacyjnych sterownika.425
4.10.10.6Zadania431
4.10.11Prezentacja sterownika – rozbudowa o płytkę sygnałową 431
4.10.11.1Program Demo.433
4.10.11.2Zadania434
4.11 Zadanie – linia transportowa 434
5. Wstęp do wizualizacji
5.1 Konfiguracja Web Servera. 438
5.2 Standardowe strony Web Servera. 440
5.2.1 Introduction. 440
5.2.2 Start. 442
5.2.3 Identification. 443
5.2.4 Diagnostic Buffer 443
5.2.5 Module Information 443
5.2.6 Communication. 446
5.2.7 Variable Status. 447
5.2.8 File Browser 448
5.2.8.1 DataLogs.448
5.2.8.2 Recipes449
5.2.9 User pages. 449
5.3 Strony użytkownika. 449
5.3.1 Szablon strony 450
5.3.1.1 Rodzaj języka.451
5.3.1.2 Znaczniki dokumentu.451
5.3.1.3 Dołączanie informacji451
5.3.1.4 Treść strony.452
5.3.2 Hello World – pierwsza strona użytkownika 452
5.3.3 Uruchomienie strony użytkownika 453
5.3.4 Polecenia AWP 456
5.3.4.1 Strona Read456
5.3.4.2 Strona Write.458
5.3.4.3 Strona Enum.460
5.4 Diagnostyka sterownika – projekt 462
5.4.1 Program w sterowniku 463
5.4.1.1 Warstwa sprzętowa463
5.4.1.1.1 Moduł Digital IO.464
5.4.1.1.2 Moduł LED464
5.4.1.1.3 Moduł RDREC464
5.4.1.1.4 Moduł Runtime.465
5.4.1.1.5 Moduł Set IP466
5.4.1.1.6 Moduł Other.468
5.4.1.2 Warstwa wizualizacji.469
5.4.1.2.1 Moduł Digital IO.469
5.4.1.2.2 Warstwa Error470
5.4.1.2.3 Moduł IP.471
5.4.1.2.4 Moduł LED472
5.4.1.2.5 Moduł PLC Identification472
5.4.1.2.6 Moduł Runtime.473
5.4.1.2.7 Moduł Stop PLC473
5.4.1.3 Warstwa błędów.473
5.4.1.3.1 Moduł GetError.473
5.4.1.3.2 Moduł OB479
5.4.1.3.3 Moduł SoftwareError.481
5.4.1.3.4 Moduł Diagnostic Buffer.484
5.4.1.3.5 Moduł Check Error484
5.4.1.3.6 Moduł Reset.485
5.4.1.4 Warstwa logiczna.487
5.4.1.4.1 Moduł Digital IO.487
5.4.1.4.2 Moduł PLC Identification488
5.4.1.4.3 Moduł IP.490
5.4.1.4.4 Moduł LED497
5.4.1.4.5 Moduł Runtime.497
5.4.1.4.6 Moduł Stop PLC498
5.4.2 Konfiguracja i uruchomienie. 498
5.4.3 Strona www 499
5.4.3.1 Strona Login.499
5.4.3.2 Strona Info.502
5.4.3.3 Strona Digital IO503
5.4.3.4 Strona Set IP503
5.4.3.5 Strona Error.503
5.4.4 Zadania. 505
5.5 Projekt inteligentny dom 506
5.5.1 Schemat elektryczny. 507
5.5.2 Warstwa sprzętowa 510
5.5.2.1 Moduł DataLog510
5.5.2.2 Moduł Digital IO.515
5.5.2.3 Moduł HSC515
5.5.2.4 Moduł PLC Time516
5.5.2.5 Moduł PWM517
5.5.2.6 Moduł Recipe.517
5.5.3 Warstwa wizualizacji 519
5.5.3.1 Moduł Digital IO.519
5.5.3.2 Warstwa Error519
5.5.3.3 Moduł Light.519
5.5.3.4 Moduł PLC Time521
5.5.3.5 Moduł Temperature522
5.5.4 Warstwa błędów. 523
5.5.5 Warstwa logiczna. 523
5.5.5.1 Moduł ADC.523
5.5.5.2 Moduł DataLog525
5.5.5.3 Moduł Digital IO.531
5.5.5.4 Moduł Light Control531
5.5.5.4.1 Receptury537
5.5.5.4.2 Sceny.544
5.5.5.5 Moduł PLC Time548
5.5.6 Konfiguracja i uruchomienie. 550
5.5.7 Strona www 551
5.5.7.1 Strona Login.551
5.5.7.2 Strona Info.551
5.5.7.3 Strona Light551
5.5.7.4 Strona Time555
5.5.7.5 Strona Error.555
5.5.8 Zadania. 555
5.6 Testy jednostkowe 556
5.6.1 Przykład praktyczny. 556
5.6.2 Zadania. 559
5.7 Zadanie – sudoku 559
adobe algorytmy apache asp autocad asembler bsd c++ c# delphi dtp excel flash html java javascript linux matlab mysql office php samba voip uml unix visual studio windows word
Księgarnia Informatyczna zaprasza.