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


					Notacja wykładnicza Szkoła 4.0

Notacja wykładnicza

zapisywanie liczb w postaci iloczynu liczby rzeczywistej i potęgi dziesięciu

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


					Przykładowe rozwiązania zadań PLC

Przykładowe rozwiązania zadań

Poglądowe

Byłeś na moim szkoleniu? W takim razie to co znajdziesz poniżej może Ci się przydać 😉


					#Biola Szkoła 4.0

#Biola

Wprowadzenie - Przedmiot biologia

Jeszcze uzupełniamy treści – wróć tutaj jutro.


					ChatGPT dla edukacji Szkoła 4.0

ChatGPT dla edukacji

Praktyczne, konkretne przykłady

Czy technologie typu ChatGPT, modele językowe i wszystkie pozostałe systemy „sztucznej inteligencji” wpłyną w przyszłości w jakiś sposób na system edukacji, na to jak funkcjonują szkoły i to w jaki sposób się uczymy? Odpowiedź brzmi: stanowcze NIE. Nie wpłyną w przyszłości, one już „wczoraj” (mamy początku roku 2023) zmieniły to wszystko w stopniu w jakim […]


					#Chemia Szkoła 4.0

#Chemia

Wprowadzenie - Przedmiot chemia

Jeszcze uzupełniamy treści – wróć tutaj jutro.


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


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


					CV studenta politechniki Artykuły

CV studenta politechniki

bez doświadczenia zawodowego

Poniższy artykuł powstał w oparciu o moje własne doświadczenia jako kandydata do pracy, pracodawcy i rekrutera. W celu podniesienia jego wartości merytorycznej skonsultowałem temat także z przedstawicielami firmy Stevia Automation, Biurem Karier Studenckich Politechniki Śląskiej oraz niezliczonymi znajomymi pracującymi w działach HR różnych firm (w tym międzynarodowych korporacji). Z tego wpisu dowiesz się, jak przygotować […]


					Języki programowania PLC PLC

Języki programowania PLC

jak się dogadać z maszyną

Języki programowania są kluczowym narzędziem w świecie technologii, służącym jako medium komunikacji między człowiekiem a maszyną. Te zestawy formalnych instrukcji umożliwiają nam tworzenie programów, które komputery mogą wykonywać. Są one nieodłącznym elementem tworzenia oprogramowania, systemów operacyjnych, aplikacji mobilnych, stron internetowych, gier komputerowych i wiele więcej. Podobnie jak w przypadku języków naturalnych, różne języki programowania mają […]


					Wielomiany Szkoła 4.0

Wielomiany

jednej zmiennej rzeczywistej

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


					Rozmowa rekrutacyjna Artykuły

Rozmowa rekrutacyjna

jak ją zaliczyć?

Ten poradnik powstał, abyś mógł jeszcze na etapie studiów dowiedzieć się, jak już teraz poszukiwać pracy i dlaczego warto zrobić to właśnie w tym momencie. Spis treści Jeżeli nie wiesz od czego zacząć poszukiwanie pracy to zapraszamy Cię do posta pt. „Poszukiwanie pracy – od czego zacząć?” Pierwsza rozmowa telefoniczna Powinnam napisać „telefoniczna rozmowa rekrutacyjna”. […]


					#FIZA Szkoła 4.0

#FIZA

Wprowadzenie - Przedmiot fizyka

Jeszcze uzupełniamy treści – wróć tutaj jutro.

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