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


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


					Potęgi Szkoła 4.0

Potęgi

potęgi o wykładniku naturalnym, całkowitym i całkowitym ujemnym

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


					4xP Ściąga i Podręcznik PLC Podręczniki

4xP Ściąga i Podręcznik

Podręczny Podręcznik Programowania PLC

Wszystko o programowaniu PLC na jednej kartce Po przeszkoleniu ponad 2000 kursantów z zakresu programowania sterowników PLC uświadomiłem sobie, że wyjątkowo wiele czasy tracą oni na poszukiwaniu informacji w podręczniku, zamiast skoncentrować się na rozwijaniu swoich umiejętności programistycznych. Dlatego zdecydowałem się przygotować i za darmo udostępnić kompendium skompresowanej wiedzy w formie podręcznej dwustronnej ściągi i […]


					Neurodydaktyka - jak się uczyć Artykuły

Neurodydaktyka - jak się uczyć

aby się nauczyć - prostymi słowami

Z tego artykułu dowiesz się: czym jest neurodydaktyka, ta dziwnie brzmiąca dziedzina nauki. Zrozumiesz dlaczego nasi przodkowie żyjący setki tysięcy lat temu jeszcze dziś w świecie smartfonów tak skutecznie utrudniają nam uczenie się. Dowiesz się dlaczego nie zapominasz – i prawdopodobnie nigdy nie zapomnisz – jak się jeździ na rowerze lub pływa, ale niewykorzystywane języki […]


					Podtrzymanie, SET i RESET PLC

Podtrzymanie, SET i RESET

Prostymi słowami

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:


					Historia robotów cz. 3 CoBots Artykuły

Historia robotów cz. 3 CoBots

przyszłość - roboty współpracujące

zobacz też: historia robotów cz.2 – pierwsze manipulatory W trzeciej części (czyli w tym poście, ponieważ artykuł podzieliłem na kilka postów aby nie przerażać rozmiarem, link do wcześniejszej części zamieściłem powyżej) skupię się na ostatnich, nowatorskich dokonaniach branży przemysłowej, mam tu na myśli roboty współpracujące (CoBots, Collaborative Robots) czyli manipulatorów najnowszej generacji będących integralna częścią […]


					Darmowy kurs PLC PLC

Darmowy kurs PLC

przygotowanie do egzaminu zawodowego

Ten darmowy kurs 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. Post powstał przy współpracy z firmą Stevia Automation Sp. z o. o. #HMI Czego szukasz??? #Slajdy Darmowy kursPLC S7-1200(poniżej) Wszystkie postyTIA Portal#TIA Wszystkie posty Step7 […]


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


					Rzut oka w niedaleką przyszłość Artykuły Prowokacje

Rzut oka w niedaleką przyszłość

Technologie jutra codziennego użytku

Jutro jest już dziś? Czy DZIŚ możemy powiedzieć, że tak naprawdę to JUTRO rozpoczęło się już WCZORAJ? Kiedy zastanawiamy się nad przyszłością (powiedzmy taką za 20 lat, abyśmy byli w stanie ją sobie wyobrazić), nasza wyobraźnia nieuchronnie ucieka w stronę kreskówki o Jetsonach (czytaj Dżetsonach), na której pewnie spora część czytelników się wychowała. Dla młodszych […]


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


					Szkoła 4.0 Nasze projekty

Szkoła 4.0

Wszystkie przedmioty w zasięgu ręki

Strona w rozbudowie


					Bloczek MOVE PLC

Bloczek MOVE

Ruszyć, przesłać, przekopiować wartość

Jeden z najczęściej używanych bloczków, ponieważ jest to chyba najbardziej wszechstronny z bloczków. Z folderu MOVE na poziomie podstawowym (a takiego dotyczy ten podręcznik) powinieneś zainteresować się tylko jednym bloczkiem – „MOVE”. Bloczek MOVE jak sama nazwa wskazuje…. Co słownik bab.la ma na ten tematmove {czas.} PL przenieść ruszyć poruszyć ruszać przesunąć skłonić przesiąść się […]

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