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.

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

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 !!!

Zostaw swoją ocenę
Poprzedni Następny

Jest tego więcej...


					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 […]


					Historia robotyki cz. 1 Artykuły

Historia robotyki cz. 1

dawne czasy

Historia robotyki – Materiał ten stanowi uzupełnienie (i przetłumaczenie na prosty język) artykułu, który miałem okazję napisać dla czasopisma branżowego: Utrzymanie Ruchu wydanie nr 1/2017 . W pierwszej części czyli w tym poście, (ponieważ artykuł podzieliłem na kilka postów aby nie przerażać rozmiarem) przedstawię udokumentowane fakty historyczne początków rozwoju automatyki i robotyzacji, nieznane szerszej opinii […]


					Anna Szajkowska - CALM talks Inne

Anna Szajkowska - CALM talks

psycholożka i psychoterapeutka

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. Poniżej zamieszczamy wypowiedź Pani Anny Szajkowskiej. Pełna lista wszystkich wypowiedzi jest dostępna pod tym linkiem – „CALM talks – wszystkie odpowiedzi„. Jaki był Twój ulubiony przedmiot za czasów szkolnych i […]


					#TECH Szkoła 4.0

#TECH

Wprowadzenie do świata technologii

Wierzymy, że głównym celem edukacji nie jest wiedza, lecz działanie i że technologia może rozwiązać większość problemów z którymi się dziś mierzymy. Dlatego ten przedmiot dedykujemy „zabawie” z technologią, aby ją odczarować i uświadomić młode umysły, że przyszłość leży w ich rękach. Na początek sterowniki PLC -> Wszystko na ich temat znajdziesz tutaj:Darmowy Podręcznik Programowania […]


					Funkcje Szkoła 4.0

Funkcje

Wyrażenia wymierne

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ś spoza swojego zakresu (nie chcemy hamować Twojego potencjału). czytaj więcej: O […]


					Historia edukacji Artykuły

Historia edukacji

Krótka historia współczesnej edukacji

Żyjemy w świecie w którym pracodawcy oczekują się od nas kreatywności, innowacyjności (umiejętność wdrażania nowych rozwiązań), umiejętności szybkiego uczenia się abyśmy mogli wdrażać technologie Industry 4.0 (przemysłu czwartej generacji). Natomiast szkoły od swoich uczniów oczekują odpowiedzi wpisujących się w klucz, rozwiązywania zadań jedyną słuszną metodą, zapamiętywania przestarzałych i całkowicie niezrozumiałych definicji…. Otaczająca nas rzeczywistość stawia […]


					Problemy z programowaniem PLC

Problemy z programowaniem

Najczęstsze błędy podczas programowania w STEP7 - j. LAD

Prezentacja kierowana jest dla osób, które uczestniczyły w moich szkoleniach i chcą sobie zdobytą wiedzę odświeżyć. Nie jest to prezentacja dla osób, które nie posiadają żadnej wiedzy z zakresu programowania sterowników. Plan prezentacji 1.Założenia dla omawianego układu.2.Odwzorowanie fizycznych zestyków w języku LAD.3.Układ podtrzymania.4.Nieprawidłowe użycie cewki w networku.5.Dublowanie cewek w bloku.6.Negacja sygnału.7.Różnica pomiędzy napięciem, a stanem […]


					Czym jest ChatGPT? Artykuły

Czym jest ChatGPT?

Prostymi słowami o sztucznej inteligencji

Jeśli z jakichś powodów odciąłeś się od mediów i internetu w 2023 roku, albo nie kupujesz gazet, to być może jeszcze nie wiesz, czym jest aplikacja ChatGPT (pisana częściej niepoprawnie osobno „Chat GPT”). W każdym innym przypadku musiałeś przynajmniej przez przypadek natknąć się na wzmianki o tej najszybciej rozwijającej się aplikacji w historii (1 milion […]


					Odnawiamy plac zabaw Inne

Odnawiamy plac zabaw

Akcja z cyklu MGDL dla Przedszkola Miejskiego nr 28 w Gliwicach

Zasada MGDL czyli weź sprawy w swoje ręce. Jak wiele potrzeba aby zmienić świat na lepsze? Tego nie wiele, ale wiemy, że od czegoś trzeba zacząć. Dlatego w myśl zasady MGDL: Myśl Globalnie – Działaj Lokalnie !!!! zorganizowaliśmy akcję pokolorowania placu zabaw, który przez ostatnich 6 lat – od czasu budowy – totalnie stracił kolor. […]


					Jak segregować śmieci ? Eko

Jak segregować śmieci ?

Jakie błędy popełniasz

W tym poście znajdziesz standardowe informacje na temat segregacji śmieci, kilka praktycznych wskazówek i sporo ciekawostek o których na pewno nie miałeś pojęcia. Miłej lektury i oczywiście owocnej pracy. Jak segregować śmieci po Japońsku? W japońskim Kamikatsu segreguje się śmieci aż na 34 kategorie, w Polsce na 5 rodzajów. Tylko na 5, a i tak […]


					Jak działa sterownik PLC PLC

Jak działa sterownik PLC

i co z tego wynika

Podkreślę na wstępie, że informacje w tym poście zawarte stanowią bardzo duże uproszczenie tematu, jednak są wystarczające, aby nauczyć się programować sterowniki PLC. W sterownikach (podobnie jak w wszystkich urządzeniach cyfrowych począwszy od smartwatchy, smartfonów, a skończywszy na komputerach) instalowane są przynajmniej dwa fizyczne obszary pamięci., abyś lepiej zrozumiał co się dzieje w CPU nawiążemy […]


					IDEA market Nasze projekty

IDEA market

Platforma wymiany pomysłów

Witamy w miejscu w którym oddajmy głos młodym ludziom. A oni udowadniają, że poprzez swoją pomysłowość i pracowitość naprawdę mogą zmieniać świat w którym żyjemy. IDEA market ma za zadaniem im w tym pomóc. Cel edukacji to DZIAŁANIE! Fundacja CALM edu została założona aby przekuć edukację w użyteczne działanie. Chcemy pokazać jak duży pozytywny impakt […]

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