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


					Książki dla nauczycieli Inne

Książki dla nauczycieli

i wszystkich zainteresowanych edukacją

„Kreatywna szkoła” i „Oblicza umysłu”Ken Robinson Dwie książki z kategorii „Co z szkołą jest nie tak i dlaczego niektórym udało się to zrobić lepiej”. Autor dzieli się swoimi doświadczeniami i przemyśleniami, a także przytacza wiele konkretnych szkół i organizacji, którym się udaje skutecznie wprowadzać innowacje. „Oblicza umysłu” to interesująca książka która opisuje różne aspekty ludzkiego […]


					Detekcja zbocza PLC

Detekcja zbocza

PLC na trekkingu

Bez wątpienia jedno z najważniejszych zagadnień, które musisz opanować (chyba, że chcesz stać przy maszynie i cały czas trzymać wciśnięty przycisk). Z tej prezentacji: Pamiątki z wakacji Skoro już jest po zajęciach to w gratisie nasz PLC pochwali się zdjęciami z ostatniej swojej górskiej wędrówki: Jeżeli i Ty lubisz górskie tematy to koniecznie odwiedź nas […]


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


					Szkoła 4.0 Nasze projekty

Szkoła 4.0

Wszystkie przedmioty w zasięgu ręki

Strona w rozbudowie


					Finał akcji #CzysteSzlaki Nasze projekty

Finał akcji #CzysteSzlaki

Eko edukacja i zabawa na świeżym powietrzu

Akcja #CzysteSzlaki to całoroczne wydarzenie promowane przez Fundację CALM edu Grzegorz Czekała, park linowy LinaAdrena w Gliwicach i zespół wydawniczy „Rajzyfiber” – darmowego podręcznika świadomego i bezpiecznego podróżowania.” Główny cel akcji to „wysprzątanie” przyrody, głównie w okolicy szlaków pieszych z śmieci pozostawionych przez turystów. Każda osoba wędrująca szlakami PTTK lub spacerująca po swojej zielonej okolicy […]


					Książki Inne

Książki

Na wakacje, do kawiarni i ...

Na świecie do tej pory spisano zbyt wiele wartościowych, ciekawych czy wręcz pasjonujących książkę, dzięki którym możemy zrozumieć otaczający nas świat, aby młodzi ludzie kojarzyli je wyłącznie z nudnymi lekturami. Zniechęcenie młodych umysłów do sięgania po książki w wolnym czasie to chyba największy z zarzutów o najgorszych konsekwencjach stawiany dzisiejszemu systemowi edukacji. Dlatego w tym […]


					Historia automatyzacji Artykuły

Historia automatyzacji

Starożytność

Ktesibios – Pierwszy układ regulacji Pierwszy układ regulacji, który udało mi się potwierdzić w kilku źródłach był ten skonstruowany przez Ktesibiosa (gr. Κτησίβιος ὁ Ἀλεξανδρεύς, ur. 285 p.n.e., zm. 228 p.n.e.) wielkiego greckiego uczonego i konstruktora. Przez wielu nazywany ojcem pneumatyki, a przez innych nawet ojcem inżynierii, który początkowo prawdopodobnie zarabiał jako fryzjer, bo taki […]


					Przewidzieć przyszłość Inne

Przewidzieć przyszłość

Futurystyka i nowe technologie

Jedno z moich ulubionych haseł które napędza mnie do działania, zmotywowało do otwarcia firmy, założenia fundacji brzmi: „Najlepszym sposobem na przewidywanie przyszłości jest jej tworzenie. Każdego dnia, systematycznie, małymi kroczkami” W tym poście nie skupimy się na nauce, aby faktycznie budować naszą przyszłość, ale zaprezentujemy kilka książek, dzięki którym łatwiej będzie można sobie tą przyszłość […]


					Funkcje w programie PLC PLC

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


					Jak mogę pomóc Inne

Jak mogę pomóc

Razem możemy zminić edukację

Edukacja to zbyt istotny temat dla naszej przyszłości (nas samych, naszych dzieci ale i cywilizacji), aby pozwalać wyznaczać kierunki jej rozwoju (nie zawsze w kierunku rozwoju) grupce ekspertów ministerstwa. Nauczanie to z kolei zbyt duże wyzwanie, aby mogła sobie z nim poradzić osamotniona instytucja szkoły (w formie przedszkoli, szkół i uczelni) dlatego musimy im pomóc! […]


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


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

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