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

5xP PLC 1200

Powyższy post to fragment z najnowszej wersji darmowego Podręcznika Programowania Sterowników PLC – „5xP PLC 1200”, który możesz pobrać z strony
5xP PLC 1200

WESPRZYJ FUNDACJE CALM EDU
SZKOLENIA DLA SZKÓŁ

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.

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)

Idea która nam przyświeca:

Głównym celem edukacji nie jest zdobycie wiedzy, a dopiero praktyczne jest wykorzystanie do zmieniania świata na lepsze, dlatego w ramach działań fundacji CALM edu chcemy nauczyć wszystkich ludzi o młodych umysłach (niezależnie od wieku) matematyki, fizyki, programowania, nowoczesnych technologii …. Wszystkiego tego co posłuży nam do budowania lepszego jutra.

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


					Jak pomagać Ukraińcom z głową Nasze projekty

Jak pomagać Ukraińcom z głową

aby nie szkodzić i się nie wypalić

Zbyt długi artykuł dla Ciebie? Szukasz streszczenia? Jeżeli jesteś bardzo zabiegany to kliknij w ten link: Jak pomagać – streszczenie dla zabieganych. Kompendium wiedzy o udzielaniu pomocy Poniższy artykuł opisuje działania oraz plany dotyczące Gliwic, jednak jeżeli potrzebujesz to bez problemu powinieneś być w stanie powtórzenia je także w innych miastach. Jeżeli czytelniku prowadzisz inne […]


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


					SCADA stacyjka dynamiczna PLC

SCADA stacyjka dynamiczna

WinCC TIA Portal Professional i WinCC 7.4

Materiał z serii #EduForPro czyli materiał edukacyjny dedykowany dla profesjonalistów, którzy chcą rozwijać swoje kompetencje w tym wpisie z zakresu WinCC Professional V 15 i WinCC 7.4 Jeżeli nie jesteś profesjonalistom i chciałbyś się dowiedzieć czym tak właściwie SCADA jest to polecam ten prosty film. Z tej prezentacji dowiesz się jak w systemie SCADA Simensa: […]


					Styki, cewki i przyciski PLC

Styki, cewki i przyciski

Podstawy j. LAD

Dla kogo ta prezentacja? Prezentacja kierowana jest przede wszystkim do uczniów szkół technicznych, rozpoczynających swoją przygodę z sterownikami PLC wszystkich producentów. Aby wykorzystać w pełni potencjał tej prezentacji nie potrzebujesz nawet sterownika, na początku wystarczy kartka papieru. Z tej prezentacji dowiesz się: do czego służą wejścia i wyjścia sterowników PLC, czym jest przycisk, a czym […]


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


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


					Matematyka 4.0 Szkoła 4.0

Matematyka 4.0

Lista matematycznych stron

Najbardziej wartościowe darmowe strony internetowe o matematyce kierowane do uczniów i studentów. Kolejność stron na poniższej liście jest losowa, dlatego nie sugeruj się nią tylko odwiedź każdą z stron i zobacz, która najbardziej Ci odpowiada. Jeżeli jeszcze nie wiesz dlaczego „Matematyka 4.0” i o co chodzi z „Szkołą 4.0” odwiedź TĄ stronę na której wszystko […]


					Edukacja 4.0 Artykuły

Edukacja 4.0

Przyszłość edukacji

O czym mowa w tym poście? O „Edukacja przyszłości”, „Nowoczesna edukacja”, „Edukacji na miarę XXI w.” czyli „Edukacji 4.0” W jakim świecie żyjemy? Żyjemy w świcie 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 […]


					Dokumenty Fundacji Inne

Dokumenty Fundacji

Statut, raporty, uchwały i sprawozdania

Cele fundacji (wycinek z statutu dostępnego poniżej) § 4.Cele Fundacji Celami Fundacji są:a) promocja edukacji, wiedzy i nowoczesnych form nauczania,b) działalność oświatowa, edukacyjna, wychowawcza i naukowa,c) promocja zdrowego stylu życia,d) integracja międzypokoleniowa i międzynarodowa oraz asymilacja kulturowa wraz z asymilacją z grupami osób wykluczonych społecznie,e) promocja wiedzy z zakresu zmian klimatycznych, ekologii i przedsiębiorczości,f) wyrównywanie […]


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


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


					Połączenie OR i AND PLC

Połączenie OR i AND

Podstawy j. LAD

Z tej prezentacji dowiesz się: czym jest suma logiczna i jak zbudować ją w j. LAD w TIA Portal kiedy wykorzystujemy połączenie szeregowe zestyków wszystkiego o cewkach i zestykach wykorzystywanych w j. LAD kiedy używać zestyki normalnie otwarte i normalnie zamknięte, jak poprawnie podpisywać elementy w programach dla sterowników PLC. Rodzaje połączeń Zestyki (a także […]

One thought on “Funkcje w programie PLC

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Zamknij