Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Siemens S7-1200 PLC Programming | Kurs PLC od podstaw
Highest Rated
Rating: 4.4 out of 5(178 ratings)
1,363 students

Siemens S7-1200 PLC Programming | Kurs PLC od podstaw

Learn PLC in TIA Portal on a real traffic-light project — EN & PL subtitles! Praktyczny kurs PLC S7-1200 od zera.
Last updated 7/2026
Polish
EnglishPolish

What you'll learn

  • Program a complete, fully working PLC application from scratch on a Siemens S7-1200
  • Build light-switching sequences for a pedestrian crossing using IEC timers and edge detection
  • Set up the S7-1200 web server and exchange data between the PLC and a web browser
  • Debug and fix the most common PLC programming problems using watch tables and online monitoring
  • Connect a browser-based HMI simulation and test everything without real hardware
  • Zaprogramować od podstaw własny, w pełni działający program na sterowniku PLC
  • Rozwiązywać najczęstsze problemy, z jakimi może spotkać się programista PLC
  • Postawić działający serwer WWW komunikujący się ze sterownikiem PLC

Course content

10 sections55 lectures7h 56m total length
  • Uproszczony schemat blokowy programu12:05

    In this section we built the crossing program step by step. Now it is your turn: starting from the partial project, extend the program into the complete pedestrian crossing light sequence on your own. Use the simplified block diagram from the course resources (the "Pedestrian Crossing - Schemat Blokowy" PDF) as your guide — just as the instructor recommends, look at the flowchart and create the program step by step.

    Your program must implement the full sequence. Initial state after PLC startup: green light for cars, red light for pedestrians. When either pedestrian button is pressed (buttons on both sides of the crossing, treated as one request): wait 2 seconds, then switch off the car green and switch on the car yellow. After 1 second switch yellow off and red on. After 1 more second switch the pedestrian red off and the pedestrian green on. The pedestrian green stays on steadily for 5 seconds, then blinks for 3 seconds. Afterwards switch on the pedestrian red — and pay attention to the trap the instructor warned about: when the red comes on, the blinking green must be guaranteed to be off, otherwise both lights could be on at the same time. Then wait 2 seconds, switch on red and yellow together for the cars, and after 1 second switch both off and give the cars green again. Finish with the 10-second interlock, so a persistent pedestrian cannot stop street traffic by pressing the button over and over.

    Implementation requirements: use one on-delay timer (TON) per step of the sequence, store the sequence step bits in the static variables of your FB, and detect the button presses with rising edges — one edge per button, so that a faulty, permanently closed button does not block the other one. Reuse the small blinking function for the flashing pedestrian green. Add a dedicated network that resets all sequence bits (including the memorized button press) once the cars have green again — remember from the lecture what happens if you forget this reset and the sequence loops forever.

    Deliverables: (1) the TIA Portal project with the completed FB, clearly named networks and comments; (2) a tag table with all variables used; (3) proof of testing — screenshots or a short recording of a watch table (or the WWW simulation) showing one full cycle from button press back to car green, plus a second button press during the 10-second interlock showing that the request is memorized and executed only after the interlock expires.

    W tej sekcji krok po kroku zbudowaliśmy program sterowania przejściem dla pieszych. Teraz Twoja kolej: wychodząc z częściowo gotowego projektu, samodzielnie rozbuduj program do pełnej sekwencji świateł na przejściu dla pieszych. Korzystaj z uproszczonego schematu blokowego dołączonego do kursu (PDF „Pedestrian Crossing - Schemat Blokowy”) — tak jak zaleca prowadzący: patrz na schemat i twórz program krok po kroku.

    Program musi realizować pełną sekwencję. Stan początkowy po uruchomieniu sterownika: zielone światło dla samochodów, czerwone dla pieszych. Po naciśnięciu dowolnego przycisku pieszego (przyciski po obu stronach przejścia traktujemy jako jedno żądanie): odczekaj 2 sekundy, następnie zgaś zielone i włącz żółte światło dla samochodów. Po 1 sekundzie zgaś żółte i włącz czerwone. Po kolejnej 1 sekundzie zgaś czerwone dla pieszych i włącz zielone. Zielone dla pieszych świeci ciągle przez 5 sekund, a następnie miga przez 3 sekundy. Potem włącz czerwone dla pieszych — i zwróć uwagę na pułapkę, o której ostrzegał prowadzący: w momencie włączenia czerwonego migające zielone musi być na pewno zgaszone, inaczej oba światła mogą świecić jednocześnie. Następnie odczekaj 2 sekundy, włącz jednocześnie czerwone i żółte dla samochodów, a po 1 sekundzie zgaś oba i włącz zielone dla samochodów. Na końcu zrealizuj 10-sekundową blokadę, aby uparty pieszy nie zatrzymał ruchu ulicznego ciągłym naciskaniem przycisku.

    Wymagania implementacyjne: użyj jednego timera TON na każdy krok sekwencji, bity kroków sekwencji przechowuj w zmiennych statycznych bloku FB, a naciśnięcia przycisków wykrywaj zboczem narastającym — osobnym dla każdego przycisku, tak aby uszkodzony, stale zwarty przycisk nie blokował działania drugiego. Do migotania zielonego światła pieszych wykorzystaj przygotowaną wcześniej funkcję migotania. Dodaj dedykowany network resetujący wszystkie bity sekwencji (w tym zapamiętane naciśnięcie przycisku) w momencie, gdy samochody znów mają zielone — pamiętaj z wykładu, co się dzieje, gdy tego resetu zabraknie i sekwencja zapętla się w nieskończoność.

    Do oddania: (1) projekt TIA Portal z ukończonym blokiem FB, czytelnie nazwanymi networkami i komentarzami; (2) tabela tagów ze wszystkimi użytymi zmiennymi; (3) dowód przetestowania — zrzuty ekranu lub krótkie nagranie z watch table (albo symulacji WWW) pokazujące jeden pełny cykl od naciśnięcia przycisku do powrotu zielonego dla samochodów, a także drugie naciśnięcie przycisku w trakcie 10-sekundowej blokady, pokazujące, że żądanie zostaje zapamiętane i wykonane dopiero po upływie blokady.

  • Efekt końcowy- co mamy uzyskać?2:22

    In the testing lecture the instructor suggested a significant simplification of the finished program: all the timers used for the individual sequence steps can be replaced by a single timer, and the sequence bits stored in statics can be reduced or moved to the temporary variables. He deliberately left this rework as independent work — this assignment is exactly that task.

    Refactor your completed pedestrian crossing program so that the whole crossing cycle runs on one master timer. Create a single TON timer (for example named "timer sequence") with a preset of about 30 seconds — enough to cover the entire cycle including the interlock — started when the button press is memorized. Replace the per-step timers with comparator range checks on the timer's elapsed time (.ET): for example, the car yellow phase is active when the elapsed time is greater than or equal to 2 seconds and less than 4 seconds, the car red phase from above 4 seconds up to 6 seconds, and so on for every step of the sequence. Drive the light outputs from these time ranges, either directly or through sequence bits moved into the temporaries.

    Watch out for the details the instructor pointed out. The comparator ranges must not overlap: if one range ends with "less than or equal", the next one must start with "greater than", not "greater than or equal". Remember that the timer stops counting at its preset time and sets output Q — base your logic on .ET, not on Q. The blinking pedestrian green must still work inside its time window. You will also have to rework the reset logic: in the original program the memorized button press is reset when the pedestrian green starts blinking, which no longer fits the single-timer structure, so solve this differently. The timers for the light failure mode and the auto-sequence OK/NOK logic may stay as they are — although you may consider whether they too could be merged into one timer by swapping its preset time value.

    Deliverables: (1) the refactored TIA Portal project with the single master timer and comparator-based sequence, with clear network names and comments replacing the old sequence structure; (2) a short note listing how many timers were removed and what problems you ran into (the instructor warned that a few will appear) and how you solved them; (3) proof of testing — watch table or WWW simulation evidence that the refactored program behaves exactly like the original: full cycle timing unchanged, blinking pedestrian green correct, button press during the interlock still memorized.

    Na wykładzie z testowania symulacji prowadzący zaproponował istotne uproszczenie gotowego programu: wszystkie timery użyte do poszczególnych kroków sekwencji można zastąpić jednym timerem, a bity sekwencji przechowywane w zmiennych statycznych można zredukować albo przenieść do zmiennych tymczasowych. Przebudowę programu celowo zostawił jako pracę samodzielną — to zadanie to dokładnie ta praca.

    Zrefaktoryzuj swój ukończony program przejścia dla pieszych tak, aby cały cykl działał na jednym głównym timerze. Utwórz pojedynczy timer TON (np. o nazwie „timer sequence”) z presetem około 30 sekund — wystarczającym na cały cykl wraz z blokadą — uruchamiany w momencie zapamiętania naciśnięcia przycisku. Zastąp timery poszczególnych kroków parami komparatorów sprawdzających czas, który upłynął (.ET): przykładowo faza żółtego światła dla samochodów jest aktywna, gdy czas jest większy lub równy 2 sekundom i mniejszy niż 4 sekundy, faza czerwonego od powyżej 4 do 6 sekund, i tak dalej dla każdego kroku sekwencji. Steruj wyjściami świateł na podstawie tych zakresów czasowych — bezpośrednio albo przez bity sekwencji przeniesione do zmiennych tymczasowych.

    Zwróć uwagę na szczegóły wskazane przez prowadzącego. Zakresy komparatorów nie mogą na siebie nachodzić: jeśli jeden zakres kończy się warunkiem „mniejszy lub równy”, następny musi zaczynać się od „większy niż”, a nie „większy lub równy”. Pamiętaj, że timer po osiągnięciu czasu preset przestaje zliczać i ustawia wyjście Q — logikę opieraj na .ET, a nie na Q. Migotanie zielonego światła pieszych nadal musi działać w swoim oknie czasowym. Będziesz też musiał przebudować logikę resetu: w oryginalnym programie zapamiętane naciśnięcie przycisku jest resetowane w momencie rozpoczęcia migotania zielonego, co nie pasuje już do struktury z jednym timerem — rozwiąż to inaczej. Timery awarii świateł oraz autosekwencji OK/NOK mogą pozostać bez zmian — choć możesz rozważyć, czy i je dałoby się połączyć w jeden timer poprzez podmianę wartości czasu preset.

    Do oddania: (1) zrefaktoryzowany projekt TIA Portal z jednym głównym timerem i sekwencją opartą na komparatorach, z czytelnymi nazwami networków i komentarzami zastępującymi starą strukturę sekwencji; (2) krótka notatka z informacją, ile timerów usunięto oraz na jakie problemy natrafiłeś (prowadzący uprzedzał, że kilka się pojawi) i jak je rozwiązałeś; (3) dowód przetestowania — nagranie lub zrzuty z watch table albo symulacji WWW pokazujące, że zrefaktoryzowany program zachowuje się dokładnie tak jak oryginał: niezmienione czasy pełnego cyklu, poprawne migotanie zielonego dla pieszych, naciśnięcie przycisku w trakcie blokady nadal zapamiętywane.

  • Software Downloads (update 2025!)0:20

    Skad pobrac software Siemens.

  • Quiz 1: Knowledge Check: Course Int/ Sprawdź swoją wiedzę: Wprowadzenie do kursu

Requirements

  • Basic computer skills — no PLC programming experience needed
  • Siemens TIA Portal (STEP 7) installed — a trial version is enough
  • Podstawowa umiejętność posługiwania się komputerem PC
  • Zainstalowane oprogramowanie Siemens TIA Portal (Step7)

Description

Siemens S7-1200 PLC Programming — From Basics to a Complete Traffic-Light Control Project (English & Polish subtitles for every lecture)

Learn how to program a Siemens S7-1200 PLC step by step — no hardware required. In this hands-on course you will design, write, test and debug a complete control program for a pedestrian crossing using TIA Portal, the S7-1200 built-in web server and a browser-based simulator.

What you will learn:

  • Create and configure an S7-1200 project in TIA Portal from scratch

  • Hardware configuration, IP addressing and clock memory bits

  • Work with program blocks: OB, FB, FC and data blocks (DB)

  • Build light-switching sequences with IEC timers (TON)

  • Rising/falling edge detection, interlocks and sequence reset logic

  • Auto-start sequences and failure mode with flashing yellow light

  • Use the S7-1200 web server and user pages to exchange data with a web browser

  • Connect a browser-based HMI simulation: push buttons, WAIT logic, live signals

  • Debug like a pro with watch tables, online monitoring and cross-references

Why this course:

  • You learn on a real, complete automation project — not isolated theory

  • We deliberately create the most common beginner bugs, then understand and fix them together

  • Program without hardware: everything is simulated in your browser

  • Every lecture includes full English and Polish subtitles

About the instructor: Jakub Chmielewski is a graduate of the Wroclaw University of Science and Technology — one of Poland's top technical universities — and of the Otto von Guericke University in Magdeburg. He runs Ares, a company delivering PLC system integrations. The course was produced by the mepi studio, already known for many successful PLC programming courses.

This course is a solid package of knowledge from an experienced PLC programmer who shares his real-world practice. Don't wait — enroll today!

POLSKI / POLISH — Programowanie PLC Siemens S7-1200 od podstaw (napisy PL i EN do każdego wykładu)

Pakiet tych unikalnych filmów instruktażowych ma na celu przedstawienie procesu projektowego — jak programować sterownik PLC na przykładzie makiety skrzyżowania z przejściem dla pieszych.

O co tu będzie chodziło? Nauczymy się pisać sekwencje przełączania świateł w zależności od naciśnięcia jednego z przycisków. Cała sekwencja musi być odpowiednio wykonana. Na podstawie dołączonego do kursu schematu blokowego nauczysz się programować krok po kroku. Zaprogramowanie takiej makiety może wydawać się proste, jednak jeżeli dopiero zaczynasz naukę programowania PLC, warto skorzystać z tego kursu — zobaczysz, jak rozwiązywać częste problemy przy pierwszym programowaniu sterowników Siemens S7-1200.

W trakcie kursu:

  • założysz i skonfigurujesz projekt S7-1200 w TIA Portal od zera

  • poznasz bloki programowe OB, FB, FC i bloki danych DB

  • zbudujesz sekwencje świateł na timerach IEC (TON)

  • opanujesz zbocza narastające/opadające, blokady i reset sekwencji

  • zaprogramujesz auto-start oraz tryb awaryjny (migające żółte światło)

  • wykorzystasz Web Server S7-1200 i strony użytkownika do wymiany danych z przeglądarką

  • podłączysz symulację HMI w przeglądarce i przetestujesz całość bez sprzętu

Będziemy specjalnie generować typowe problemy programistyczne, które następnie zrozumiemy i rozwiążemy, optymalizując pracę sterownika.

Autor kursu, Jakub Chmielewski, ukończył Politechnikę Wrocławską — jedną z najlepszych uczelni technicznych w kraju — oraz Uniwersytet Ottona von Guerickego w Magdeburgu. Na co dzień rozwija firmę Ares, zajmującą się wdrożeniami systemów PLC. Kompilacja i skład kursu pochodzą prosto ze studia mepi, znanego z wielu udanych produkcji o nauce programowania PLC.

Kurs to solidna prezentacja wiedzy doświadczonego programisty PLC, który dzieli się swoją praktyką. Nie czekaj — zapisz się na kurs już dzisiaj!

Who this course is for:

  • Beginners who want to learn PLC programming from scratch on a real automation project
  • Maintenance staff, automation engineers, electricians and electronics technicians
  • Studenci zainteresowani wiedzą z zakresu programowania sterowników PLC
  • Pracownicy utrzymania ruchu, automatycy, elektrycy i elektronicy