3,10,20

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

Okładka Automatyka

*Wyrażam zgodę na przetwarzanie moich danych osobowych przez Sieć Badawcza Łukasiewicz - 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 Sieć Badawcza Łukasiewicz - 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

Prawie gotowe ... Musimy potwierdzić Twój adres email.

Aby zakończyć proces subskrypcji, musisz 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 twój mail jest już w naszej bazie!

Napisz do nas maila a otrzymasz promocyjny numer miesięcznika Automatyka

redakcja@automatykaonline.pl

ZAMKNIJ OKNO

Ta strona używa ciasteczek

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

POL ENG
a a a
Szukaj
  • Logowanie
  • Załóż konto
Mapa serwisu Mapa serwisu
AutomatykaOnline.pl
  • Strona główna
  • Z branży
  • Wywiady
  • Aplikacje
  • Artykuły
  • Kalendarium
  • Firmy
  • Produkty
Szukaj
Automatyka 11/2025

Automatyka11/2025

W numerze:
  • Rozmowa ze Zdzisławem Sewerynem, Megger Polska.
  • Technologie bezprzewodowe w aplikacjach przemysłowych
  • Due diligence spółek technologicznych
  • O miesięczniku
  • Kontakt
  • Reklama
ARTYKUŁY
  • Automatyka budynkowa
  • Bezpieczeństwo
  • Druk 3D
  • Elektryka
  • Energetyka
  • Energia
  • Hydraulika
  • Komunikacja
  • Komputery i HMI
  • Logistyka
  • Montaż i transport
  • Oprogramowanie
  • Pneumatyka
  • Pomiary
  • Prawo i normy
  • Przemysł 4.0
  • Robotyka
  • Sterowanie
  • Systemy wizyjne i RFID
  • Technika napędowa
  • Technika łożyskowa
  • Technologia obróbki
  • Usługi
  • Utrzymanie Ruchu
  • Inne
Rozwiń wszystkie
  • Strona główna
  • Artykuły
  • Sterowanie

User Defined Function Blocks – tworzenie własnych bloków funkcyjnych w oprogramowaniu Cscape

Mateusz Fas (ASTOR) drukuj

6 lipca 2021 roku
User Defined Function Blocks – tworzenie własnych bloków funkcyjnych w oprogramowaniu Cscape
Tweet

Z tego artykułu dowiesz się:

  • Czym są bloki UDFB,
  • Jak stworzyć swój własny blok funkcyjny w oprogramowaniu Cscape,
  • Jak przebiega proces tworzenia własnych bloków w Cscape
  • Jakie możliwości oferują bloki UDFB

Czym są włąściwie UDFB?

Jak sama nazwa wskazuje UDFB (User Defined Function Blocks) to bloki funkcyjne, które są tworzone przez użytkowników. To bardzo efektywny proces tworzenia kodu wielokrotnego użytku. Bloki te są obsługiwane zarówno w języku LD, ST, FDB oraz IL. Składają się one ze standardowych instrukcji. Do definiowania bloków konieczne jest korzystanie z oprogramowania Cscape w wersji 9.90 SP3 lub nowszej. (oprogramowanie można pobrać za darmo z naszej strony)

Porównanie bloku UDFB do podprogramu:

  • Wywoływanie
    • Podprogramy są wywoływane za pomocą instrukcji call
    • UDFB mogą być umieszczane bezpośrednio w głównych blokach logicznych
  • Instancje
    • Podprogramy mają jedną instancję
    • Bloki UDFB mogą mieć wiele instancji
  • Zmienne
    • Podprogramy posiadają pojedynczy zestaw zmiennych
    • UDFB posiada zestaw zmiennych dla każdej instanci

Jak wygląda proces wprowadzania bloków UDFB?

1. Tworzenie własnego bloku UDFB
2. Użycie instancji bloku w schemacie logicznym
3. Proces debugowania pojedynczego przypadku
4. Namnażanie kolejnych instancji bloku UDFB, gdziekolwiek ich potrzebujesz w swoim programie

Jak wygląda proces tworzenia bloku UDFB

1. Nazwanie bloku UDFB
2. Przypisanie zmiennych wejściowych
3. Przypisanie zmiennych lokalnych dla danego bloku funkcyjnego
4. Przypisanie zmiennych wyjściowych
5. Stworzenie logiki

Zobaczysz teraz jak stworzyć prosty blok funkcyjny, który oblicza objętość cieczy w pionowym cylindrycznym zbiorniku. W przypadku tego bloku zmienne rozkładają się w następujący sposób:

  • Zmienne wejściowe
    • Średnica zbiornika w jednostkach liniowych (np. metry)
    • Wysokość napełnienia zbiornika w jednostkach liniowych (np. metry)
  • Zmienne lokalne
    • Brak
  • Zmienne wyjściowe
    • Objętość cieczy w jednostkach sześciennych (np. metry3)

Aby obliczyć objętość, blok funkcyjny musi skorzystać z wzoru na pole podstawy zbiornika, które jest równe  πr2.

Tworzenie bloku w Cscape

Przejdź teraz do oprogramowania Cscape, aby stworzyć swój blok funkcyjny.

Masz problemy ze środowiskiem Cscape? Zapraszamy na kurs PLC, gdzie od podstaw nauczysz się jak pracować w tym środowisku. 

Zanim rozpoczniesz, upewnij się że masz włączoną logikę drabinkową opartą na tagach. Aby to zrobić wejdź w menu Tools, następnie wybierz Application Settings. Upewnij się, że zaznaczone na zdjęciu poniżej okienko jest wybrane. Jeżeli nie jest, to wybierz je i następnie zatwierdź przyciskiem OK.

Wybieranie logiki drabinkowej opartej na tagach

Wybieranie logiki drabinkowej opartej na tagach

Następnie, aby utworzyć nowy projekt z językiem drabinkowym opartym na tagach kliknij przycisk File. Ukaże się następujące okno. Wybierz opcję zaznaczoną na zdjęciu poniżej i następnie kliknij przycisk OK.

Wybieranie opcji Advanced ladder

Wybieranie opcji Advanced ladder

Po upewnieniu się, że wszystko jest poprawnie przygotowane przejdź do górnego rogu ekranu.

Wybieranie w menu opcji UDFB modules

Wybieranie w menu opcji UDFB modules

Następnie kliknij prawym przyciskiem myszy na UDFB Modules i wybierz opcję New Enhanced Ladder Logic UDFB.

Dodawanie nowego bloku UDFB

Dodawanie nowego bloku UDFB

Po wybraniu bloku nazwij go Liq_Vol. Po utworzeniu bloku funkcyjnego możesz zobaczyć ekran, który przypomina podprogram.  (Pamiętaj, że to nie jest to samo).

Ekran bloku UDFB w oprogramowaniu Cscape

Ekran bloku UDFB w oprogramowaniu Cscape

Dla wybranego bloku została utworzona nowa pozycja w oknie zmiennych naszego projektu.

Zaczynij od przypisania zmiennych potrzebnych do obliczenia objętości cieczy. W oknie Program Variables zaznacz blok Liq_Vol i kliknij go prawym przyciskiem myszy.

Deklaracja zmiennych w oknie program variables

Deklaracja zmiennych w oknie program variables

Następnie wybierz opcję Add Variable w celu dodania zmiennej.

Dodawanie zmiennej w oknie program variables

Dodawanie zmiennej w oknie program variables

Pokaże się okno z możliwością wyboru typu zmiennej. Tak jak na początku artykułu wspominaliśmy, mamy do wyboru zmienne wejściowe, lokalne oraz wyjściowe.

Wybór typu zmiennej

Wybór typu zmiennej

W przypadku naszego bloku musimy zdefiniować zmienne wejściowe oraz wyjściowe. Przejdź najpierw do zmiennych wejściowych. W tym celu wybierz pozycję Input Parameter.

Następnie zmień nazwę zmiennej na Diameter (oznaczający średnicę).

Przypisywanie nazwy zmiennej

Przypisywanie nazwy zmiennej

Następnie zmień typ zmiennej na REAL

Zmiana typu zmiennej

Zmiana typu zmiennej

W kolejnym kroku analogicznie jak wyżej dodaj kolejną zmienna wejściowa – Fill_Level. Ustaw jej typ również jako REAL.

Ostatnią zmienną, którą musisz dodać do swojego projektu jest objętość. Postępuj analogicznie jak w przypadku dwóch pierwszych zmiennych, tylko na początku zamiast Input Parameter wybierz Output Parameter, oznaczający zmienną wyjściową. W tym przypadku nazwij ją Volume oraz ustal jej typ jako REAL. Finalnie twoje okno zmiennych powinno wyglądać następująco:

Finalny wygląd okna ze zmiennymi

Finalny wygląd okna ze zmiennymi

Następnie w oknie programu (przypominającym podprogram) dodaj styk normalnie otwarty i nazwij go s[6].

Kolejnym krokiem jest zdefiniowanie operacji matematycznej. W tym celu rozwiń menu Math Operations i wybierz blok Expression. Dodaj go do linii, w której masz styk s[6].

Dodawanie bloku operacji matematycznej do programu

Dodawanie bloku operacji matematycznej do programu

Następnie konieczne jest zdefiniowanie wyrażenia matematycznego wewnątrz bloku. W tym celu kliknij na wcześniej dodany blok.

Definiowanie wyrażenia matematycznego wewnątrz bloku

Definiowanie wyrażenia matematycznego wewnątrz bloku

W oknie Math Operations wpisz wyrażenie odpowiadające naszej szukanej objętości. Finalnie wyrażenie powinno mieć postać jak na zdjęciu niżej.

Finalna postać wyrażenia matematycznego wpisanego w bloku funkcyjnym

Finalna postać wyrażenia matematycznego wpisanego w bloku funkcyjnym

Blok zostanie zapisany w oknie [UDFBs]. Będziesz go mógł dodawać z poziomu menu.

Dodawanie bloku UDFB z poziomu menu

Dodawanie bloku UDFB z poziomu menu

UWAGA: Za każdym razem, gdy używasz UDFB w logice, musisz nadać mu nazwę, ponieważ każda instancja UDFB ma unikalny zestaw zmiennych.

Następnie możesz przejść do okna Data Watch w celu sprawdzenia poprawności obliczeń. Kliknij na okienko odpowiadające za funkcję Data Watch.

Sprawdzanie poprawności bloku za pomocą funkcji Data Watch

Sprawdzanie poprawności bloku za pomocą funkcji Data Watch

Pokazane zostaną wartości naszych zmiennych oraz wartość wyjściowa – objętość. Możesz dowolnie zmieniać wartości i obserwować zmianę wyniku. Jak widać na załączonym zdjęciu obliczenia zostały wykonane poprawnie.

Obliczenia wykonane w bloku funkcyjnym

Obliczenia wykonane w bloku funkcyjnym

Możliwości oraz ograniczenia wynikające z zastosowania bloków UDFB:

  • Można je łączyć szeregowo (maksymalnie 1 UDFB na szczebel w naszym programie)

Szeregowe łączenie bloków UDFB

  • Bloki UDFB mogą być chronione przez ochronę OEM
  • Bloki UDFB mogą być zarówno importowane jak i eksportowane

Zachęcamy także do zapoznania się z pozostałymi możliwościami oprogramowania Cscape i nauki jego użytkowania podczas naszego darmowego kursu programowania PLC od podstaw.

www.astor.com.pl

źródło: ASTOR

Słowa kluczowe

ASTOR, automatyka, bloki funkcyjne, Cscape, Poradnik Automatyka, User Defined Function Blocks

Ostatnio dodane

  • Jak prawidłowo dokręcać śruby z łbem sześciokątnym?
  • Wkładki gwintowane z kołnierzem czy nity zrywalne? Rzeczowa analiza dwóch najpewniejszych metod mocowania kompozytów
  • Identyfikacja zagrożeń z ISO 12100 – jak zrobić to poprawnie i kompletnie

Najczęściej czytane

  • Bezpieczeństwo dla maszyn mobilnych
  • Języki programowania robotów przemysłowych
  • Wyznaczanie poziomów bezpieczeństwa SIL i PL

Polecane

  • Przemysł 4.0 w polskich realiach
  • Systemy wizyjne – nieodzowny element nowoczesnej kontroli
  • Czy robot może ponieść odpowiedzialność karną?

Inne z tego cyklu

Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.1

Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.1

Więcej
Wysyłanie wiadomości email w sterowniku PLC

Wysyłanie wiadomości email w sterowniku PLC

Więcej
Regulator PID. Kurs programowania PLC od podstaw odc. 20

Regulator PID. Kurs programowania PLC od podstaw odc. 20

Więcej

Czytaj także

  • OMRON wprowadza nowy DX1 Data Flow Controller
  • Sterownik kompaktowy PR205 z wyświetlaczem LCD i Ethernetem akYtec
  • Kompaktowe sterowniki dla maszyn mobilnych – elastyczność i niezawodność w wymagającym środowisku
  • Metody programowania robotów przemysłowych, cz. 4
  • Przemysł 4.0 w praktyce: nowoczesne narzędzia dla inteligentnej automatyki

Newsletter

Bądź zawsze na bieżąco z aktualnymi informacjami.

Inżynier wie

Kalendarium

Więcej
1 sty Szkolenie

Zwiedzanie centrum efektywnej prefabrykacji szaf sterowniczych

1 stycznia 2025 – 31 grudnia 2025
11 gru Szkolenie

Bezpieczeństwo maszyn - algorytm wyznaczania Poziomu Nienaruszalności Bezpieczeństwa SIL

11–12 grudnia 2025
11 gru Szkolenie

Combo - Dyrektywa maszynowa i nowe rozporządzenie (UE) maszynowe - efektywna ocena zgodności i ocena ryzyka maszyn

Wrocław 11–19 grudnia 2025
11 gru Szkolenie

Część 1 - Dyrektywa maszynowa i nowe rozporządzenie (UE) maszynowe w szczegółach, czyli jak profesjonalnie zorganizować ocenę zgodności i ocenę ryzyka maszyn?

Wrocław 11–12 grudnia 2025

Wideo YouTube

Zobacz więcej
  • facebook
  • Tweeter
  • Instagram
  • Linkedin
  • RSS AutomatykaOnline
  • O nas
  • Marketing i obsługa klienta
  • Polityka prywatności
  • Informacje o portalu
  • Regulamin
  • Deklaracja Dostępności
  • Kontakt
  • Formularz kontaktowy
  • Współpraca medialna
  • Redakcja portalu
  • Redakcja miesięcznika
  • Zamów
  • Wpis do katalogu
  • Reklama na portalu
  • Reklama w miesięczniku
  • Newsletter
AutomatykaOnline.pl

ISSN 2392-1064. © 2014 by Sieć Badawcza Łukasiewicz – Przemysłowy Instytut Automatyki i Pomiarów PIAP. All rights reserved.
created by: TOMP