Pętle (Loops)
UniLogic obsługuje opisane poniżej typy pętli i funkcji pętli. Pętle w UniLogic działają tak samo, jak w innych językach programowania, takich jak C.
Funkcje pętli powtarzają blok kodu do momentu spełnienia określonego warunku.
Należy pamiętać, że każdej pętli automatycznie przydzielany jest blok danych - określona, zarezerwowana sekcja pamięci - po włączeniu jej do programu. Blok danych jest powiązany ze strukturą; przypisujesz tag dla nazwy struktury, gdy dołączasz FB do swojego projektu.
Po utworzeniu pętli można przeciągnąć ją do dowolnej funkcji.
UniLogic umożliwia implementację następujących typów pętli w programie drabinkowym: "For" Loops, "For Each" Loops i "While" Loops, a także udostępnia funkcje Loop Break i Loop Continue.
Tworzenie pętli
- Aby utworzyć pętlę, kliknij prawym przyciskiem myszy moduł drabinkowy i wybierz typ pętli.
- Przeciągnij pętlę do funkcji drabinkowej, przypisz nazwę do bloku danych, a następnie wprowadź parametry pętli.
Wewnątrz pętli można używać funkcji drabinkowych Break Loop i Continue Loop.
Należy pamiętać, że podczas programowania wewnątrz samej pętli w przyborniku drabinkowym widoczne są tylko opcje, które mogą być zawarte w pętlach; na przykład opcja Call ->Return nie jest dostępna.
Pętle "For"
Pętla "For" działa zgodnie z liczbą określonych iteracji.
|
Nazwa |
Opis |
A |
Start |
Zbocze narastające Start - wykonuje pętlę, jeśli pętla nie jest aktualnie uruchomiona |
B |
Index Initial Value |
Wprowadź tag lub stałą wartość. Na początku pętli indeks pętli zostanie przypisany do tej wartości. |
C |
Condition Comparison Type |
Ten parametr określa, w jaki sposób bieżący indeks pętli będzie porównywany z parametrem "Index End Value Typy porównania obejmują: Równy, Nie równy, Mniejszy niż, Mniejszy lub równy niż, Większy niż, Większy lub równy niż |
D |
Index End Value |
Wprowadź tag lub stałą wartość. Wykonywanie pętli będzie kontynuowane, dopóki bieżący indeks pętli i wartość końcowa nie będą zgodne, zgodnie z parametrem "Condition Comparison Type". |
E |
Index Increment Value |
W każdym cyklu pętli bieżący indeks będzie sumowany z tym parametrem. Użyj wartości ujemnej, jeśli zamierzone jest zmniejszanie. |
F |
Max Number Of Iterations Per Ladder Cycle |
Po osiągnięciu tej liczby iteracji w pojedynczym cyklu drabinkowym, wykonanie programu zakończy pętlę i będzie kontynuowane normalnie. Pętla będzie kontynuowana w następnym cyklu drabinkowym w punkcie, w którym została zatrzymana. Jeśli 0, nie ma limitu, pętla będzie wykonywana, dopóki indeks nie osiągnie wartości końcowej lub nie zostanie użyty element przerywający. |
Pętla For Each
Pętla "For Each" przechodzi przez elementy w kolekcji. W UniLogic można używać list, tablic i tabel danych, aby zapewnić kolekcję elementów.
|
Nazwa |
Opis |
A |
Collection |
Lista \ Indeksowana tabela danych \ Tablica, po której elementach pętla będzie wykonywać iterację. Kliknięcie parametru powoduje wyświetlenie do wyboru wszystkich tablic List \ Indexed Data Table \ Arrays. |
B |
Max Number Of Iterations Per Ladder Cycle |
Po osiągnięciu tej liczby iteracji w jednym cyklu drabinkowym, wykonanie programu zakończy pętlę i będzie kontynuowane normalnie. Pętla będzie kontynuowana w następnym cyklu drabinkowym w punkcie, w którym została zatrzymana. Jeśli 0, nie ma limitu, pętla wykona się dla wszystkich elementów w wybranym kontenerze. |
Tworzenie list
- Wybierz Lists z drzewka projektu i kliknij Add New List.
- Kliknij listę, aby ją otworzyć.
- W oknie Properties kliknij Type i wybierz z listy.
- Dodaj elementy do listy.
Teraz lista pojawi się w rozwijanej liście For Each Loop -> Collection parameter.
Pętla While
Pętla While jest wykonywana wielokrotnie w oparciu o dany warunek logiczny. Pętla while może być traktowana jako powtarzająca się instrukcja if.
|
Nazwa |
Opis |
A |
Max Number Of Iterations Per Ladder Cycle |
Po osiągnięciu tej liczby iteracji w jednym cyklu drabinkowym, wykonanie programu wyjdzie z pętli i będzie kontynuowane normalnie. Pętla będzie kontynuowana w następnym cyklu drabinkowym w punkcie, w którym została zatrzymana. Jeśli 0, nie ma limitu, pętla będzie wykonywana tak długo, jak długo bit "condition" bloku danych jest włączony. |
Skontaktuj się ze specjalistą Elmark
Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!