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


					Podziel się opinią Inne

Podziel się opinią

Co można zrobić lepiej ...

Jeżeli dotarłeś na tą stronę to znaczy, że albo uczestniczyłeś w jednym z naszych projektów albo właśnie skończyłeś czytać jedną z książek. Nadszedł tym samym czas, aby napisać co o tym sądzisz. Ponieważ pozytywne komentarze najbardziej motywują do dalszego tworzenia podobnych projektów, a negatywne umożliwiają dopracowywanie i wynoszenie ich na lepszy poziom. Teraz Twoja kolej! […]


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


					Rozwojowe filmy i programy Inne

Rozwojowe filmy i programy

dla młodzieży i rodziców

Dla kogo ta lista ? Dla odpoczywających na kanapie Siedzisz w domu i chcesz odpocząć, ale nie chcesz całkowicie zmarnować swojego czasu? Może warto obejrzeć coś wartościowego i przyjemnego jednocześnie, aby zmotywować się do pracy? Przygotowaliśmy dla Ciebie listę filmów (i seriali bo dziś to ten sam poziom), które zainteresują nie tylko inżyniera, a każdego […]


					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 Koza – architektka z zawodu, projektantka aplikacji webowych z pasji, a po godzinach aktywna instruktorka ZHP. Uwielbia podróże, architekturę i kontakt z ludźmi – zawsze […]


					Systemy liczbowe Szkoła 4.0

Systemy liczbowe

liczby rzeczywiste

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


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


					Timery PLC PLC

Timery PLC

Układy czasowe TP, TON, TOF, TONR

Po co mi timery? Chcesz / musisz zmierzyć czas w PLC to musisz użyć timerów (przynajmniej na naszym poziomie).Mierzenie czasu może okazać się istotne nie tylko w sytuacji, gdy będziesz chciał uruchomić coś z zadanym opóźnieniem (szczególnie początkujący programiści rozwiązują w ten sposób wiele swoich problemów) ale także w sytuacji, gdy będziesz potrzebować zmierzyć czas […]


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


					Liczniki PLC PLC

Liczniki PLC

Counter CTU, CTD, CTUD

Wstawianie liczników W celu wstawienia licznika do networku wystarczy wybrać dowolny z folderu „Counter operations” i kliknąć OK. Jeżeli chcesz tworzyć bardziej przejrzysty program przed kliknięciem „OK” możesz zmienić sugerowaną nazwę, która wyświetla się w wyskakującym oknie „Call options” np. „Licznik1”, „Zliczanie kliknięć” itp Do czego tak naprawdę służy okno „Call options”? To okno służy […]


					#FreeTime i Psychoedukacja Szkoła 4.0

#FreeTime i Psychoedukacja

Wprowadzenie do spędzania czasu wolnego

Na pierwszy rzut oka jest to zapewne najdziwniejszy z wszystkich przedmiotów, które uważamy, że powinny pojawić się w szkołach. Jak można uczyć spędzania czasu wolnego w szkole? Przecież to oksymoron. Nie do końca. Bo to jak spędzamy czas wolny w bardzo dużym stopniu wpływa na nasze zdrowie psychiczne. Można by ten przedmiot nazwać także „zdrowie […]


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


					Zadanie PLC - Generator impulsów PLC

Zadanie PLC - Generator impulsów

Proste zadania aby utrwalić swoją wiedzę

Co musisz znać, aby wykonać to zadanie? Znać zasadę działania poszczególnych timerów – 4xP (ściąga) Potrafić się posługiwać zestykami I to tyle! To zadanie PLC jest doskonałym wprowadzeniem dla wszystkich, którzy chcą rozpocząć swoją przygodę z programowaniem sterowników PLC. Chociaż wymaga podstawowej wiedzy o timerach i zestykach, jest idealnym przykładem na to, jak proste, ale […]

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