Funkcje w programie PLC

cegiełki programowe

Dotychczas cały program tworzyliśmy w jednym miejscu, czyli wewnątrz bloku programu głównego – OB1. Jednak pisanie tak dużego programu z wieloma networkami, na przykład 1236 networków, staje się trudne do analizy.

Post powstał przy współpracy z firmą Stevia Automation Sp. z o. o.

Odrobina historii

Już w 1843 roku Ada Lovelace zauważyła tę trudność podczas tłumaczenia opisu działania mechanicznej maszyny analitycznej Charlesa Babbage’a, która ostatecznie nigdy nie została zbudowana. Ada Lovelace jest uważana za pierwszą programistkę w historii. W swoich „Uwagach” do tłumaczenia, które były dłuższe od oryginalnego tekstu, poruszyła kwestie pętli programowych i pamięci pośrednich.

Warto podkreślić, że rok 1843 przypada ponad 100 lat przed premierą ENIAC-a (od ang. Electronic Numerical Integrator And Computer – Elektroniczny, Numeryczny Integrator i Komputer), uznawanego przez wielu za pierwszy komputer elektroniczny w historii. ENIAC został uruchomiony w 1945 roku na Uniwersytecie w Pensylwanii.

Dlaczego warto dzielić program na podprogramy?

Dzielenie programu na osobne funkcje ma wiele zalet i jest jednym z kluczowych aspektów dobrej praktyki programistycznej. Oto kilka powodów, dla których warto to robić:

1. Pierwszy i najważniejszy – Czytelność kodu: Funkcje pomagają strukturyzować kod i czynią go bardziej czytelnym. Każda funkcja ma określone zadanie, co ułatwia zrozumienie, co konkretny fragment kodu robi.

2. Ponowne użycie kodu: Funkcje są sposobem na ponowne użycie kodu. Jeśli pewna sekwencja instrukcji jest używana w wielu miejscach w programie, warto utworzyć funkcję, która wykonuje te instrukcje, a następnie wywoływać tę funkcję zamiast powtarzać ten sam kod. Jednak w tym celu należy poznać interface funkcji.

3. Debugowanie i testowanie: Dzielenie programu na funkcje ułatwia znalezienie i naprawienie błędów, ponieważ można testować poszczególne funkcje niezależnie od reszty programu.

4. Modularyzacja: Funkcje umożliwiają tworzenie modułów kodu zamieszczanych w bibliotekach, które można łatwo dzielić i integrować z innymi częściami programu. Modularyzacja jest kluczowa dla tworzenia skalowalnych, wielofunkcyjnych systemów.

5. Przestrzeń nazw: Funkcje zapewniają własne przestrzenie nazw zmiennych lokalnych, co oznacza, że zmienne zdefiniowane wewnątrz funkcji nie kolidują ze zmiennymi o tej samej nazwie zdefiniowanymi poza funkcją. Jednak w tym celu także należy poznać jeszcze interface funkcji.

6. Abstrakcja: Funkcje pozwalają na abstrakcję skomplikowanych operacji, co ułatwia zrozumienie kodu. Zamiast skupiać się na szczegółach (poszczególnych networkach), jak coś jest robione, programista może skupić się na tym, co jest robione (co wynika choćby z nazw funkcji i komentarzy).

Podsumowując, dzielenie kodu na funkcje czyni go bardziej zorganizowanym, łatwiejszym do zrozumienia, testowania i utrzymania, a także umożliwia ponowne użycie kodu. Jest to jedna z podstawowych technik stosowanych we współczesnym programowaniu.

Jak utworzyć i wykorzystać funkcję

W celu dodania nowej funkcji do programu należy w folderze „Program blocks” dwukrotnie kliknąć na pozycję „Add new block”, a następnie w nowym oknie określić typ funkcji, przypisać dla niej nazwę symboliczną oraz numer (automatyczny – kolejny wolny- , lub ręcznie – dowolny).

Podczas tego szkolenia, będziemy korzystać z podprogramów nazywanych „Function” (zielona ikonka „Fc”), na razie programować w języku LAD, pierwsza funkcje nazwiemy „Siłownik A”.

Wywołania funkcji

WYWOŁANIE BEZWARUNKOWE – Bezpośrednie przeciągnięcie funkcji z folderu „Program blocks” na pusty network nazywamy wywołaniem bezwarunkowym, to oznacza, że dana funkcja będzie wywołana ZAWSZE, tym samym jej zawartość zostanie wykonana zawsze. Rekomendowane wywołanie (jeśli możliwe).

WYWOŁANIE WARUNKOWE – Jeżeli jednak przed funkcją na networku zamieścimy styk
 (w przykładzie poniżej przycisk ON) to zawartość funkcji będzie działać tylko wtedy i tak długo jak długo przytrzymuję przycisk ON. W Innym razie jej zawartość pozostanie w stanie niezmiennym, aż do ponownego wywołania (aktywacji ON).

UWAGA NA ZAMRAŻANIE STANU !!!

Zanik warunku wywołującego funkcję nie resetuje zmiennych przez tą funkcję wysterowanych.

Jeżeli wywołujesz funkcję warunkowo za pomocą przycisku ON, a w pewnym momencie puścisz ten przycisk, wszystkie zmienne wewnątrz tej funkcji pozostaną w swoim aktualnym stanie. Oznacza to, że jeśli w momencie puszczenia przycisku ON lampka była wysterowana wewnątrz funkcji, to niezależnie od tego, co się dzieje w reszcie programu, lampka pozostanie włączona aż do momentu ponownego wywołania funkcji i ewentualnego jej wyłączenia. Innym sposobem na zresetowanie zawartości funkcji jest zmiana trybu pracy sterownika z RUN na STOP, a następnie ponowne przejście w tryb RUN.

WAŻNE ABYŚ O TYM PAMIĘTAŁ !!!
Jeżeli nie wywołasz funkcji w OB1 (lub innym OB albo w funkcji wywołanej w OB itp) to sterownik nigdy jej nie wykona!!!

KONIEC LEKCJI

Powrót do spisu treści szkolenia dla uczniów techników i studentów

Podręcznik dla tego szkolenia dostępny TU -> 5xP PLC 1200

Zobacz więcej
Fundacja CALM edu

Fundacja CALM edu dzieli się swoją wiedzą w całkowicie darmowy sposób i jest finansowana z środków prywatnych jej założyciela. Jeżeli jednak chcesz dołożyć swoją cegiełkę do rozwoju naszej fundacji i pomóc nam w przygotowaniu kolejnych darmowych ogólnodostępnych materiałów skorzystaj z komercyjnych szkoleń firmy CALM group, z których pośrednio przychód pozwala pokryć fundacyjne wydatki lub przekaż nam darowiznę na platformie Patronite (wkrótce)

Jeżeli jesteś przedstawicielem szkoły zainteresowanym przygotowaniem swoich nauczycieli do wyzwań edukacji 4.0 lub uczniów do egzaminów zawodowych, pójściem na studia czy przyszłą pracą z wykorzystaniem nowoczesnych technologi to zapraszamy do kontaktu. Lista komercyjnych szkoleń dostępna pod tym linkiem.

Na tej stronie dowiesz się wszystkiego na temat naszych działań.

Podoba Ci się to co robimy i chciałbyś dołączyć do zespołu aby dzielić się swoja widzą i doświadczeniami ? Skontaktuj się z nami !!!

Dziękujemy za głos! Ocena wpisu - 5/5 - (1)
Poprzedni Następny

Jest tego więcej...


					CV studenta politechniki Artykuły

CV studenta politechniki

bez doświadczenia zawodowego

Poniższy artykuł powstał w oparciu o moje własne doświadczenia jako kandydata do pracy, pracodawcy i rekrutera. W celu podniesienia jego wartości merytorycznej skonsultowałem temat także z przedstawicielami firmy Stevia Automation, Biurem Karier Studenckich Politechniki Śląskiej oraz niezliczonymi znajomymi pracującymi w działach HR różnych firm (w tym międzynarodowych korporacji). Z tego wpisu dowiesz się, jak przygotować […]


					Wielomiany Bez kategorii Szkoła 4.0

Wielomiany

dodawanie, odejmowanie i mnożenie wielomianów

Na tej stronie znajdziesz: Dlaczego na jednej stronie zamieszczamy zakres tematów dla różnych klas i szkół, a nawet dla studentów? Ponieważ nigdy nie jest za późno aby powrócić do podstaw (bez nich nie pójdziesz dalej) i nigdy nie jest za wcześniej aby zrobić coś z poza swojego zakresu (nie chcemy hamować Twojego potencjału). czytaj więcej: […]


					Michał Sobek Inne

Michał Sobek

nauczyciel akademicki, inżynier, założyciel fundacji Greenpower Polska

Jaki był Twój ulubiony przedmiot za czasów szkolnych i dlaczego? Elektrotechnika – nauczyciel posiadał dar przekazywania wiedzy. Jaki Twoim zdaniem jest najważniejszy przedmiot w szkole i dlaczego? Na etapie nauczania w klasach 1-8 uważam że każdy z nich jest istotny. Młody człowiek na tym etapie powinien być wszechstronnie rozwijany. Dokończ zdanie. Dobry nauczyciel ….. traktuje […]


					5xP Podręcznik Programowania PLC PLC Podręczniki

5xP Podręcznik Programowania PLC

Naucz się programować

Ten darmowy podręcznik PLC wraz z kompatybilnym darmowym szkoleniem PLC jest kierowany dla uczniów techników, którzy przygotowują się do egzaminu zawodowego (specjalizacja mechatronika) oraz do wszystkich tych studentów po liceum chcących wreszcie poznać praktyczne podstawy automatyki. Dlaczego ten podręcznik 5xP i cały kurs jest darmowy? Jeśli pojawiło się w Twojej głowie pytanie, dlaczego otrzymujesz ode […]


					Wprowadzenie do sterowników PLC PLC

Wprowadzenie do sterowników PLC

Automatyka przemysłowa dla kompletnie zielonych

Dla kogo ten post? Kończysz właśnie szkołę podstawową i zastanawiasz się nad wyborem szkoły średniej? I nie masz pojęcia co to za kierunki mechatronika, automatyka, mechanika itp? Z tej prezentacji dowiesz się co nieco na ten temat, abyś mógł dokonać świadomego wyboru liceum czy technikum (polecam drugą opcję – dlaczego? Dowiesz się z ostatniego akapitu […]


					Chemia dla przedszkolaka Dla najmłodszych

Chemia dla przedszkolaka

Eksperymenty dla najmłodszych

A co gdyby tak zaprosić doktorów organizujących pokazy dla dzieci podczas „Nocy naukowców Politechniki Śląskiej” do przedszkola? Jak pomyśleliśmy tak, też zrobiliśmy tym bardziej, że organizatorką jednego z nich jest kuzynka mojej żony dr Ania Byczek-Wyrostek. O tym jak dobrze udał się taki „prosty” pokaz rodem z Krainy Lodu z wykorzystaniem suchego lodu (dwutlenku węgla […]


					Historia maszyny parowej Artykuły

Historia maszyny parowej

i ewolucja zasady działania

Po kilku bardzo ciemnych wiekach w Europie (świat rozwijał się wtedy na Wschodzie tym bliższym i dalszym), zwanych dzisiaj Średniowieczem, gdzie całą swoją uwagę poświęcaliśmy wysławianiu Boga. Budowaniu ku jego chwale świątyń (dla architektury i budownictwa wcale to nie był ciemny okres) oraz wymyślaniu machin wojennych, aby mordować tych, którzy nie chcieli wierzyć w naszego […]


					Poszukiwanie pierwszej pracy Artykuły

Poszukiwanie pierwszej pracy

od czego zacząć?

Ten poradnik powstał, abyś mógł jeszcze na etapie studiów dowiedzieć się, jak już teraz poszukiwać pierwszej pracy i dlaczego warto zrobić to właśnie w tym momencie. Spis treści Odpowiednie nastawienie Być może wyda Ci się to śmieszne, ale Twoje nastawienie do szukania pierwszej pracy jest bardzo ważne. Czy jeszcze zanim cokolwiek zrobisz w tym kierunku […]


					Łukasz Grabowski - CALM talks Inne

Łukasz Grabowski - CALM talks

przedsiębiorca i wykładowca

Jeżeli nie wiesz czym jest projekt CALM talks to zapraszam na tą stronę – „CALM talks – porozmawiajmy o edukacji”. Tam także znajdziesz pełne pytania, na które tu znajdziesz odpowiedzi. Poniżej zamieszczamy podsumowanie wszystkich – naszym zdaniem – najciekawszych wypowiedzi udzielonych w tym projekcie. Pełna lista wszystkich wypowiedzi jest dostępna pod tym linkiem – „CALM […]


					Podłączenie PLC do wirtualnego HMI PLC

Podłączenie PLC do wirtualnego HMI

Symulator HMI w praktyce

Z tej prezentacji dowiesz się jak: Panele HMI symulator Dla kogo? Jeżeli jesteś nauczycielem i chcesz nauczyć swoich uczniów tworzyć wizualizacje na panele HMI jednak szkoły nie stać na ich zakup. Jeżeli jesteś samoukiem i chcesz rozwijać się w domu bez inwestowania w sprzęt to wbudowany symulator HMI jest dla Ciebie. Jeżeli posiadasz sterownik s7-1200 […]


					Połączenie OR i AND PLC

Połączenie OR i AND

Podstawy j. LAD

Z tej prezentacji dowiesz się: Rodzaje połączeń Zestyki (a także cewki, które są mniej intuicyjne) można połączyć na dwa sposoby: szeregowo (jeden za drugim) lub równolegle (jeden pod drugim). Rodzaj połączenia wpływa na logiczny warunek wysterowania cewki. AND – iloczyn logiczny – „i’ Połączenie szeregowe wymaga od nas przytrzymania dwóch przycisków (P0 i P1)w tym […]


					Historia robotyki cz. 2 Artykuły

Historia robotyki cz. 2

pierwszy manipulator

zobacz także: Historia robotyki cz. 1 W drugiej części przedstawię udokumentowane fakty historyczne początków rozwoju robotyzacji i przejdę do dokonań z ostatniej dekady. Następnie w kolejnych rozdziałach skupię się na ostatnich, nowatorskich dokonaniach branży przemysłowej w dziedzinie robotów współpracujących (CoBots, Collaborative Robots). Pierwszy robot przemysłowy Początek historii robotów zaprojektowanych w celu wykorzystania w przemyśle datuje […]

Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments
Zamknij