2,10,30

ZAPISZ SIĘ DO NEWSLETTERA SERWISU AUTOMATYKAONLINE.PL I POBIERZ DARMOWY NUMER "AUTOMATYKI"!

okładka Automatyka

*Wyrażam zgodę na przetwarzanie moich danych osobowych przez Przemysłowy Instytut Automatyki i Pomiarów PIAP, z siedzibą w Warszawie przy ul. Al. Jerozolimskie 202, 02-486 Warszawa, w celach marketingowych, w tym marketingu bezpośredniego. Oświadczam, że zostałem poinformowany/a o prawie do wglądu, modyfikacji oraz usuwania moich danych osobowych.

*Wyrażam zgodę na przesyłanie mi informacji handlowej (w tym informacji handlowej partnerów portalu AutomatykaOnline.pl) za pomocą środków komunikacji elektronicznej w rozumieniu ustawy z dnia 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną (Dz.U. 2002 nr 144, poz. 1204).

*Wyrażam zgodę na używanie przez Przemysłowy Instytut Automatyki i Pomiarów PIAP, z siedzibą w Warszawie przy ul. Al. Jerozolimskie 202, 02-486 Warszawa, telekomunikacyjnych urządzeń końcowych, których jestem użytkownikiem, dla celów marketingu bezpośredniego zgodnie z art. 172 ustawy z dnia 16 lipca 2004 r. Prawo telekomunikacyjne (Dz.U. 2004 nr 171 poz. 1800).

*Akceptuję regulamin portalu AutomatykaOnline.pl oraz politykę prywatności serwisu.




ZAMKNIJ OKNO

Dziękujemy!

Prawie gotowe ... Musimy potwierdzić Twój adres email. Aby zakończyć proces subskrypcji, należy kliknąć link w mailu, który właśnie wysłaliśmy do Ciebie.

Po akceptacji zapisu na newsletter zostanie przesłany do Ciebie numer promocyjny miesięcznika Automatyka.

ZAMKNIJ OKNO

Dziękujemy za próbę ponownego zapisu na nasz newsletter.

Twój mail już jest w naszej bazie!

W przypadku pytań, prosimy o kontakt:
redakcja@automatykaonline.pl

ZAMKNIJ OKNO

W celu zapewnienia najwyższej jakości usług strona używa plików cookies. Szczegóły w polityce prywatności serwisu. Zamknij

POL ENG
a a a
Search
  • Login
  • Sign up
Site map Site map
AutomatykaOnline.pl
  • Home page
  • News
  • Interviews
  • Application
  • Articles
  • Events
  • Companies
  • Products
Search
Automatyka 7-8/2022

Automation7-8/2022

In this issue:
  • Interview with Paweł Hoerner de Roithberger and Paweł Reszel, National Instruments
  • Cybersecurity of industrial control systems
  • Signaling columns
  • Magazine
  • Subscription
  • Contact
  • Advertisement
Articles
  • Building Automation
  • Safety
  • Druk 3D
  • Electrics
  • Energy
  • Energia
  • Communication
  • Computers and HMI
  • Building Automation
  • Assembly and Conveyance
  • Software
  • Pneumatics
  • Measurements
  • Prawo i normy
  • Przemysł 4.0
  • Robotics
  • Control
  • Visions Systems
  • Drives
  • Technika łożyskowa
  • Technologia obróbki
  • Services
  • Others
Expand all
  • Home page
  • Articles
  • Control

Język schematów blokowych (FBD). Kurs programowania w Codesys odc. 5

Mateusz Pijanowski (ASTOR) print

Monday May 10 2021
Język schematów blokowych (FBD). Kurs programowania w Codesys odc. 5
Tweet

Z tego artykułu dowiesz się:

  • czym jest język FBD,
  • jakie bloki FBD można wykorzystać w Codesys,
  • jak stworzyć pierwszy program w języku FBD.

Witaj w piątym odcinku odcinku kursu Codesys od podstaw. W poprzednim odcinku zdobyłeś/aś informacje na temat zmiennych. W tym odcinku kontynuujemy poznawanie języków programowania wg. normy IEC61131-3 w Codesys. Odcinek ten poświęcimy poznawaniu języka FBD.

Język FBD

Na początek garść teorii. Język FBD (ang. Function Block Diagram – funkcjonalny schemat blokowy) to graficzny język programowania bazujący na przepływie sygnału pomiędzy blokami funkcyjnymi, funkcjami oraz bramkami logicznymi. Przepływ sygnału w języku FBD odzwierciedlony jest za pomocą graficznego połączenia poszczególnych bloków funkcyjnych lub funkcji. W języku FBD, podobnie jak w LD, instrukcje realizowane są zaczynając od lewej strony, następnie od góry do dołu programu.

Język FBD a język LD

Filozofia działania obu języków jest bardzo podobna. Bazują one na graficznym przepływie sygnału pomiędzy poszczególnymi obiektami. Swoją popularność zawdzięczają przejrzystości zapisu, dzięki której kod stosunkowo niewielkich programów można szybko zrozumieć, nawet bez większego przygotowania programistycznego.

Przewaga języka FBD nad językiem LD zwiększa się wraz ze stopniem skomplikowania algorytmu sterującego. FBD jest łatwiejszy w interpretacji, m.in. ze względu na to, że każdej funkcji w języku FBD należy użyć jawnie.

Język FBD zabrania np. połączenia równoległego dwóch zmiennych w celu uzyskania funkcji OR. Aby uzyskać tę funkcję logiczną w FBD należy jawnie użyć odpowiedniej funkcji logicznej:

Funkcja OR w języku FBD, Codesys, źródło: ASTOR

Funkcja OR w języku FBD, Codesys, źródło: ASTOR

Funkcja OR w języku LD, Codesys, źródło: ASTOR

Funkcja OR w języku LD, Codesys, źródło: ASTOR

Podobnie w przypadku innych funkcji logicznych np. AND. W języku FBD musisz używać ich jawnie:

Funkcja AND w języku FBD, Codesys, źródło: ASTOR

Funkcja AND w języku FBD, Codesys, źródło: ASTOR

Funkcja AND w języku LD, Codesys, źródło: ASTOR

Funkcja AND w języku LD, Codesys, źródło: ASTOR

Sposób zapisu algorytmu sterującego w FBD sprawia, że w porównaniu do języka LD, łatwiej jest śledzić zmiany w programie i szukać ewentualnych błędów podczas debugowania. To tyle teorii na temat języka FBD. Przejdźmy teraz do praktyki.

Język FBD w Codesys

Podobnie jak w poprzednich, również w tym odcinku posłużymy się wbudowanym w Codesys symulatorem. Jeśli jednak czujesz chęć przetestowania Codesysa na prawdziwym sterowniku PLC, zapraszam do skorzystania ze specjalnego zestawu startowego ONE START dla uczestników kursu, w którym jest wszystko co potrzebne do rozpoczęcia Twojej przygody z programowaniem PLC w Codesys.

Zapraszam również do sekcji Tips&Tricks dla subskrybentów kursu, w którym znajdziesz wiele ciekawych wskazówek, między innymi wskazówki, jak za pomocą kilku kliknięć skonwertować program z symulatora Codesys na sterownik PLC Astraada One.

A w dzisiejszym odcinku w sekcji Tips&Tricks dowiesz się, jak jednym kliknięciem skonwertować program napisany w języku LD na program napisany w języku FBD. Ciekawe, prawda?

Zaczynajmy! Najpierw utwórz pierwszy program, w sposób opisany w pierwszym odcinku kursu kursu. Podczas wyboru języka wybierz opcję FBD:

Tworzenie nowego projektu w Codesys, źródło: ASTOR

Tworzenie nowego projektu w Codesys, źródło: ASTOR

Następnie w drzewku projektu, przejdź do programu głównego PLC_PRG:

Program główny FBD w Codesys, źródło: ASTOR

Program główny FBD w Codesys, źródło: ASTOR

Po prawej stronie okna zmiennych oraz edytora programu znajdziesz okno ToolBox, w którym znajdziesz najważniejsze elementy używane w języku FBD, pogrupowane w kilka zbiorów. Pierwszym z nich jest grupa General:

ToolBox w Codesys, źródło: ASTOR

ToolBox w Codesys, źródło: ASTOR

Poznaj teraz poszczególne elementy grupy General:

Network – jest to podstawowa jednostka programu FBD. Umieścisz w niej poszczególne elementy Twojego algorytmu.

Box – reprezentuje funkcje oraz bloki funkcyjne. Element Box może odnosić się do zdefiniowanych już bloków funkcyjnych jak np. Timer TON lub reprezentować zdefiniowany przez Ciebie blok funkcyjny. O tym, jak tworzyć w Codesys własne bloki funkcyjne, dowiesz się w dalszej części kursu.

Box with EN/ENO – zasada jego działania jest dokładnie taka sama jak elementu Box. Posiada on natomiast dodatkowe wejście aktywacyjne EN oraz wyjście indykacyjne ENO. W przypadku, gdy na wejściu EN występuje sygnał 0 (FALSE), operacje zawarte w bloczku nie są wykonywane. Wykonywane są jedynie w przypadku, gdy na wejściu EN pojawi się sygnał 1 (TRUE). Jest to bardzo przydatna funkcjonalność pozwalająca kontrolować pracę poszczególnych bloków funkcyjnych.

Assignment – użyj tego elementu chcąc przypisać zmienną do wyjścia danego bloku funkcyjnego

Funkcja Assigment w Codesys, źródło: ASTOR

Funkcja Assigment w Codesys, źródło: ASTOR

Jump – instrukcja skoku w dowolne miejsce w programie oznaczone daną etykietą. W dalszej części odcinka znajdziesz przykład zastosowania tej instrukcji

Return – instrukcja skoku na koniec programu

Input – instrukcja dodania dodatkowego wejścia do bloku funkcyjnego

Branch – za pomocą tej instrukcji możesz utworzyć dodatkową gałąź programu

Execute – bloczek, w którym możesz zdefiniować algorytm napisany w języku ST. Więcej na temat języka ST dowiesz się w kolejnych odcinkach kursu Codesys.

Przykład:

Bloczek Execute w FBD w oprogramowaniu Codesys, źródło: ASTOR

Bloczek Execute w FBD w oprogramowaniu Codesys, źródło: ASTOR

Kolejne grupy zakładki ToolBox zostały opisane w odcinku Język LD w Codesys, odc.3 i bloki funkcyjne w nich zawarte działają analogicznie zarówno w języku LD jak i FBD. Jeśli nie zdążyłeś/aś jeszcze się z nimi zaznajomić, polecam wrócić do odcinka nr 3, gdzie krótko opisaliśmy każdy z bloków funkcyjnych.

Zobacz pełną wersję artykułu na Poradniku Automatyka

www.astor.com.pl

source: ASTOR

Keywords

ASTOR, automatyka, CODESYS, FBD, Język schematów blokowych, Poradnik Automatyka, programowanie

Parts of the series

Jak stworzyć program? Pierwsze kroki w Codesys. Kurs programowania w Codesys odc. 1

Jak stworzyć program? Pierwsze kroki w Codesys. Kurs programowania w Codesys odc. 1

More
Pierwsze podłączenie i przygotowanie Codesys do pracy ze sterownikiem PLC

Pierwsze podłączenie i przygotowanie Codesys do pracy ze sterownikiem PLC

More
Język drabinkowy LD. Kurs programowania w Codesys odc. 3

Język drabinkowy LD. Kurs programowania w Codesys odc. 3

More
Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia. Kurs programowania w Codesys odc. 4

Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia. Kurs programowania w Codesys odc. 4

More
Wizualizacja webowa w sterowniku Astraada One, źródło: ASTOR

Tworzenie podstawowej wizualizacji HMI. Kurs programowania w Codesys odc. 6

More
Język strukturalny (ST). Kurs programowania w Codesys odc. 7

Język strukturalny (ST). Kurs programowania w Codesys odc. 7

More

Related articles

  • User Defined Function Blocks – tworzenie własnych bloków funkcyjnych w oprogramowaniu Cscape
  • Falownik do pompy lub wentylatora – na jakie funkcje zwrócić uwagę?
  • Regulator PID. Kurs programowania PLC od podstaw odc. 20
  • Sterowanie Węzłem Cieplnym w Rabczańskiej Spółdzielni Mieszkaniowej
  • Sterowniki D1 i D3 firmy igus. Szybkie uruchomienie napędów liniowych i obrotowych

Newsletter

Stay up to date with current information.

Comau videos YouTube

Show more videos
Inżynier wie

Events

Show more events
13 Oct Trade fair

Wirtualne stoisko SABUR już otwarte!

Warszawa 13 October 2021 – 13 October 2022
12 Aug Training

Minimalne wymagania dla maszyn w praktyce - ocena ryzyka i dostosowanie do dyrektywy narzędziowej

Rzeszów 12 August 2022 – 12 September 2022
15 Sep Conference

TOP automotive

Zawiercie 15–16 September 2022
15 Sep Training

Dyrektywa maszynowa w szczegółach, czyli jak profesjonalnie zorganizować ocenę zgodności i ocenę ryzyka maszyn?

Katowice 15–16 September 2022
  • facebook
  • Tweeter
  • google+
  • RSS AutomatykaOnline
  • About Us
  • Sales and customer service
  • Privacy Policy
  • Presentation
  • Terms of Use
  • Contact Us
  • Contact form
  • Media cooperation
  • Portal Editorial
  • Automatyka Editorial
  • Advertising
  • Advertising contact
  • Advertising in "Automatyka"
  • Newsletter
AutomatykaOnline.pl

© 2014 by Przemysłowy Instytut Automatyki i Pomiarów PIAP. All rights reserved.
created by: TOMP