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


					Poznajemy FBD PLC

Poznajemy FBD

Function Block Diagram

Z tej prezentacji o FBD: Jeżeli zastanawiasz się czy naprawdę potrzebujesz poznawać ten specyficzny język: Dla wielu (ok 30%) uczniów i studentów język FBD jest najbardziej intuicyjny, dzięki czemu to właśnie w nim najszybciej tworzą programy. Sprawdź czy Tobie odpowiada! Jest ulubiony przez wszystkich, którzy przed programowaniem PLC spotkali się z bramkami logicznymi. Znajomość każdego […]


					Historia Keo Inne

Historia Keo

Laos - po pierwsze edukacja!

Jeżeli poznałeś już szczegóły akcji „Laos – po pierwsze edukacja!” to pora poznać teraz historię osoby od, której to wszystko się zaczęło. Przedstawiam Ci poniżej, skróconą wersję autobiografii naszej koleżanki z Laosu. Życie Keo wielokrotnie rzucało kłody pod nogi (i powodzie z Mekongu) na jej drodze do edukacji. Warto przeczytać, tą krótką historię aby uświadomić […]


					Podstawy pneumatyki Inne

Podstawy pneumatyki

Wprowadzenie dla uczniów technikum

W tej prezentacji postaram się przedstawić Ci w jak najprostszy sposób podstawowe zagadnienia z pneumatyki. Chcę je omówić w sposób logiczny, a nie teoretyczny. Istnieje niepisany zbiór 3 najczęściej zadawanych pytań na egzaminach lub rozmowach o pracę z tego zakresu. Są to pytania na logiczne myślenie lub sprawdzenia praktycznej wiedzy i doświadczenia pracownika. W tej […]

Szkoła 4.0

#Ppp

Wprowadzenie - prawo, podatki i przedsiębiorczość

Podatki Gdy na swoich kursach pytałem ludzi na co ich zdaniem w szkołach powinno się poświęcać więcej czasu, większość z nich mówiła „podatki”, bo towarzyszą nam całe życie, a większość społeczeństwa nawet nie wie ile ich one kosztują. Na międzynarodowych forach także, to zagadnienie przewijało się najczęściej gdy ktoś zadawał podobne pytanie. Prawo Osoba, która […]


					Działania arytmetyczne PLC

Działania arytmetyczne

ADD, MUL, SUB, DIV, CALCULATE

Po co mi to? Bez tych bloczków nie obliczysz ilości wyprodukowanych sztuk, średniego koszt zużycia materiału, czy liczby wciśnięć przycisku start. Z kolei bloczek CALCULATE pozwoli Ci to zrobić znacznie szybciej. Użycie bloczków arytmetycznych W celu wykorzystania bloczków operacji arytmetycznych ( ADD – dodawanie, SUB – odejmowanie, MUL – mnożenie, DIV – dzielenie, MOD – […]


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


					Zadanie PLC

Zadanie "Przełącznik"

Zadanie do samodzielnej realizacji

Dla kogo przygotowałem to zadanie? Jeżeli jesteś nauczycielem i nie masz do końca pomysłu jakie zadania z programowania PLC powinieneś zadać uczniom – to jest ona dla Ciebie. Jeśli jesteś samoukiem (takim jak ja) i samodzielnie dążysz do poszerzania swoich horyzontów i umiejętności, to ta prezentacja (i wszystkie inne na tej stronie) może się okazać […]


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


					Zespół CALM edu Inne

Zespół CALM edu

Kim jesteśmy

Grzegorz Czekała – założyciel fundacji, autor większości tekstów na tej stronie. Zawodowo związany z edukacją techniczną, a w wolnych czasie z edukacją wszelaką, podróżami i aktywnościami na świeżym powietrzu. Karolina Jaenchen – główny grafik, pomysłodawca wszystkich „logosów”, identyfikacji wizualnej …. osoba odpowiedzialna za to, aby było ładnie. Prywatnie osoba, dla której jedno miejsce to za […]


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


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


					Autonomiczne ogrody wertykalne Inne

Autonomiczne ogrody wertykalne

Zazieleńmy miasta

A gdyby tak: wszystkie ogrodzenia w miastach, w szczególności wokół szkół, przedszkoli czy placów zabaw zamienić na zielone ściany? wszystkie puste ściany kamienic czy nawet bloków mieszkalnych przeobrazić w zielone murale? wszystkie ekrany akustyczne przy drogach zamienić na zielone dzieła sztuki? wokół parków, przy skwerach, na przystankach i wszelakich zaniedbanych nieużytkach poustawiać podobne konstrukcje? do […]

2 thoughts on “Funkcje w programie PLC

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Zamknij