1 LSLV S100 – programowanie sekwencyjne PODSTAWY
2 ANIR O Dawid Wróblewski Aniro Sp. Z.O.O. Wrzesień 2015 Ⅰ. Podstawowa wiedza 1.Wstęp 2.Programowanie 3.Aktywacja 4.Start i parametry 5.Adresy 6.Funkcje blokowe 7.1 pętlowa sekwencja 8.Zasady programowania 9.Zasady wykonywania 10.Typy bloków funkcyjnych 11.Jak używać bloków funkcyjnych? Ⅱ. Proste przykłady 1.Dodawanie(1) 2.Dodawanie(2) 3.MPYDIV 4.COMPARE-GT 5.TIMER 6.ANDOR 7.SWITCH 8.BITTEST 9.LIMIT 10.LOWPASSFILTER 11.UPCOUNT 12. Załączona lista podstawowych adresów Ⅰ. Podstawowa wiedza 1.Wstęp 2.Programowanie 3.Aktywacja 4.Start i parametry 5.Adresy 6.Funkcje blokowe 7.1 pętlowa sekwencja 8.Zasady programowania 9.Zasady wykonywania 10.Typy bloków funkcyjnych 11.Jak używać bloków funkcyjnych? Ⅱ. Proste przykłady 1.Dodawanie(1) 2.Dodawanie(2) 3.MPYDIV 4.COMPARE-GT 5.TIMER 6.ANDOR 7.SWITCH 8.BITTEST 9.LIMIT 10.LOWPASSFILTER 11.UPCOUNT 12. Załączona lista podstawowych adresów Spis treści
3 ANIR O I podstawowa wiedza 1. Wstęp Sekwencja – uporządkowany ciąg wykonywanych poleceń, wedle zdefiniowanego schematu. Programowanie sekwencyjne pozwala na tworzenie prostych kroków sekwencyjnych, wykonywania pewnych instrukcji, wedle ustalonego porządku. Eliminuje to konieczność używania zewnętrznych sterowników logicznych, dla prostych aplikacji. Zakres działań, definiowanych instrukcji jest uzależniony jedynie wyobraźnią danego użytkownika. Falownik może działać w sposób automatyczny, wedle ustalonej sekwencji, przy użyciu zdefiniowanych stałych i bloków funkcyjnych, połączonych ze sobą adresami. 2. Programowanie Sekwencje buduje się za pomocą bloków funkcyjnych i powiązań między nimi (linki). Dla każdego bloku funkcyjnego definiujemy jedną lub dwie zmienne wejściowe. Blok funkcyjny po przetworzeniu informacji (wykonaniu funkcji) na wyjściu poda wartość wynikową (wartość funkcji). Wejścia i wyjscia bloków funkcyjnych adresujemy w kodzie hex – adresy parametrów lub adresy wartości stałych. Każdemu wyjściu należy przydzielić adres wyjściowy. Wyjścia bloków funkcyjnych można podawać na wejścia kolejnych bloków funkcyjnych. Bloki funkcyjne mogą być używane wielokrotnie w jednej pętli programu.
4 ANIR O I podstawowa wiedza 3. Aktywacja sekwencji W celu aktywacji sekwencji należy ustawić: PAR mode AP Grp Ustawić wartość 02 na „Yes” Po aktywacji pojawią się nowe grupy parametrów: US i UF. Funckcja Wejście A Wejście B Wejście C Dana wyjściowa (tylko do odczytu) Funkcje sekwencji użytkownika (UF) Grp Sekwencja użytkownika (US)) Grp Inicjalizacja sekwencji (Run/Stop) Czas pętli sekwencji (0.01~1 sec) Wyjście danej z bloku 1~18 (R/W) Stałe typu VOID 1~30 Operation Grp Drive Grp Advanced Grp Control Grp Input Grp Output Grp Communication itd. Link
5 ANIR O 4. Start & opis parametrów Jak rozpocząć lub zatrzymać sekwencję użytkownika? Ustaw z poziomu klawiatury w parametrze US-01 wartość RUN (start) lub Stop. Jeżeli ustaliłeś US-01 na wartość Digital In Run, przydziel dowolnemu wejściu cyfrowemu funkcję rozpoczęcia sekwencji użytkownika. Po podaniu sygnału na wejście, sekwencja rozpocznie się. Po zdjęciu sygnału, sekwencja zakończy działanie. KodOpis AP-02. User Seq. EnAktywacja sekwencji użytkownika. Pojawienie się nowych grup US i UF. IN-65~71. P1~P7 Define Jest możliwość wyzwalania startu i stopu sekwencji za pomocą wejścia cyfrowego. Należy do wejścia przydzielić funkcję nr 50: User Seq. US-01. User Seq. Con Wybór wyzwalania sekwencji użytkownika (Start/ Stop). Sterowanie z poziomu klawiatury (0 – start, 1 – stop, 2 – start/stop z wejścia cyfrowego). US-02. User Loop TimeUstawianie czasu pętli: 0.01s/0.02s/0.05s/0.1s/0.5s/1s. US-11~28. Link User Out 1~18 Parametry związane z powiązaniem 18 bloków funkcyjnych. Jeżeli wartość wejścia wynosi 0x0000, skutkuje to brakiem wartości wyjściowej. Dla przykładu, jeżeli wartość wyjścia bloku ma odwoływać się do parametru częstotliwości zadanej, należy ustawić odpowiedni adres parametru (0x1101) w parametrze Link UserOut1. US-31~60 Void Para 1~30 30 stałych typu void do dowolnego zdefiniowania. Operowanie wartościami stałymi dla bloków funkcyjnych. UF-01~90Ustawianie funkcji użytkownika zbudowanej z 18 dostępnych bloków funkcyjnych. I podstawowa wiedza
6 ANIR O 5. Ustalanie adresów parametrów Do powiązania bloków funkcyjnych należy stworzyć odpowiednie łącza adresowe (linki) Adres komunikacyjny w kodzie HEX, poniżej formuła ustalania adresów: Hex[ 1 1 0 1 ] 1: Drive Grp 2: Basic function Grp 3: Advanced function Grp 4: Control Grp 5: Input Grp 6: Output Grp 7: Communication Grp 8: Application Grp B: Protection Grp C: Second motor Grp D: User sequence Grp E: User sequence function Grp F: Operation Grp Indeks grupy parametrów Kod parametru Numer parametru 1: S100 AC Indeks serii Częstotliwość zadana (Cmd frequency): I podstawowa wiedza
7 ANIR O 6. Funkcje blokowe Każdy blok funkcyjny składa się od 1 do 3 wejść i jednego wyjścia. Blok funkcyjny Wejście A Wejście B Wejście C Wyjście (do odczytu) TypOpis User Func @* (blok funkcyjny)Wybrana funkcja do zrealizowania w bloku funkcyjnym. User Input @-A (wejście A)Adres komunikacyjny zmiennej wejściowej A User Input @-B (wejście B)Adres komunikacyjny zmiennej wejściowej B User Input @-C (wejście C)Adres komunikacyjny zmiennej wejściowej C User Output @ (wyjście)Wartość wyjściowa po wykonaniu funkcji w bloku funkcyjnym ※ @jest numerem kroku (1~18). I podstawowa wiedza
8 ANIR O Func. 1Func 2Func. 3Func. 4Func. 5Func. 6 Func. 7Func. 8Func. 9Func. 10Func. 11Func. 12 Func. 13Func. 14Func. 15Func. 16Func. 17Func. 18 1 pętla (10~1000ms) Link Out 1Link Out 2Link Out 3Link Out 4Link Out 5 Link Out 7Link Out 8Link Out 9Link Out 10Link Out 11 Link Out 13Link Out 14Link Out 15Link Out 16Link Out 17Link Out 18 Link Out 6 Link Out 12 7. 1 pętlowa sekwencja Jedna sekwencja składać się może z 18 kroków, 29 bloków funkcyjnych oraz 30 stałych typu VOID. 1 pętla wykonuje się w zdefiniowanym przez użytkownika czasie: 10~1000ms. I podstawowa wiedza
9 ANIR O 8. Zasady programowania Parametry sekwencji użytkownika nie mogą być zmieniane podczas wykonywania sekwencji. W celu zmiany parametrów, należ w pierwszej kolejności występować sekwencję. Wszystkie wyjścia bloków funkcyjnych:”User Output@” z grupy UF, są tylko do odczytu. Adres ustala się w: „link@(Link UserOut@)” w grupie US. Bloki funkcyjne mogą być używane wielokrotnie w jednej pętli. Ustalać adresy „Link UserOut@” w celu połączenia do 18 bloków funkcyjnych. Jeżeli wartość wejściowa wynosi 0x0000, wyjście nie będzie dostępne. Stałe typu VOID mogą przyjmować wartości z zakresu: -9999~9999. Jeżeli ustawienia bloku funkcyjnego są błędne, wyjście: „User Output@” wynosić będzie -1. 9. Zasady wykonywania 1 pętla odnosi się do wykonania sekwencji, wedle ustalonego porządku przez użytkownika, składająca się z max. 18 kroków. Użytkownik ustala czas wykonania pętli w zakresie: 10~1000ms w parametrze US-02. Wartość wyjściową bloku funkcyjnego można ograniczyć, używając funkcji limitu (Limit). Jeżeli skala dwóch powiązanych parametrów jest różna, skalowanie nie wykona się automatycznie (należy skalować każdy parametr indywidualnie). I podstawowa wiedza
10 ANIR O NrTypOpis 0NOPBrak operacji. 1ADDOperacja dodawania, (A+B)+C 2SUBOperacja odejmowania, (A-B)-C 3ADDSUBOperacja złożona dodawanie i odejmowanie, (A+B)-C 4MINWynik w postaci najmniejszej wartości spośród wartości wejściowych, MIN(A,B,C) 5MAXWynik w postaci największej wartości spośród wartości wejściowych, MAX(A,B,C) 6ABSWynik w postaci wartości bezwzględnej parametru A, lAl 7NEGATEWynik w postaci negacji parametru A, -(A) 8REMAINDEROperacja uzyskiwania reszty z działania na A oraz B, A % B 9MPYDIV Operacja złożona wykorzystująca mnożenie i dzielenie, (A x B)/C. Jeżeli C=0 to wynikowo otrzymujemy tylko wynik mnożenia AxB. 10 COMPARE-GT (większe niż) Operacja porównania: jeśli (A>B) to wynikiem jest C; jeśli (A=B) to wynikiem jest C. Jeśli (A
11 ANIR O 10. Typy bloków funkcyjnych (2) NrTypOpis 14TIMER Dodaje 1 za każdym razem gdy sekwencja kończy pętlę. A: wartość max pętli, B: Uruchomienie/zatrzymanie układu czasowego, C: Wybór trybu wyjściowego. Jeżeli B wynosi 1, timer stopuje (wyjście 0). Jeżeli B wynosi 0, timer startuje. Jeżeli C wynosi 1, na wyjściu aktualna wartość układu czasowego. Jeżeli C wynosi 0, na wyjściu pojawia się 1 po przekroczeniu A(Max). 15LIMIT Ustala wartość graniczną dla A. Jeżeli A mieści się pomiędzy B oraz C, wynikiem jest wartość wejściowa A. Jeżeli A jest większe od B, wynikiem jest B. Jeżeli A jest mniejsze od C, na wyjściu jest C. B musi być >= od C. 16ANDOperacja logiczna AND (A & B) & C 17OROperacja logiczna OR, (A l B) l C 18XOROperacja logiczna XOR, (A^B)^C 19AND/ORZłożona operacja logiczna AND/OR, (A and B) l C 20SWITCH Wynikiem jest wartość po wybraniu jednej z dwóch wartości wejściowych, jeśli (A) to B a w przeciwnym wypadku C. Jeżeli A równe 1, na wyjściu B. Jeżeli A wynosi 0, na wyjściu C. 21BITTEST Sprawdzanie bitu B parametru A, BITEST (A,B). Jeśli bit B wartości wejściowej A wynosi 1, to wynikiem jest 1. Jeśli wynosi 0, to wynikiem również jest 0. Wartość wejściowa B musi mieścić się w przedziale 0-16. Jeśli wartośc jest większa od 16, to zostanie ona rozpoznana jako 16. Jeśli B wynosi 0, wynikiem będzie 0. I podstawowa wiedza
12 ANIR O NrTypOpis 22BITSET Ustawianie bitu B parametru A, BITSET (A,B). Wynikiem jest zmieniona wartość po ustawieniu bitu B do wartości wejściowej A. Wartość B musi mieścić się w przedziale 0-16. Wartości wyższe rozpoznawane będą jako 16. Jeśli B=0, wynik również 0. 23BITCLEAR Kasowanie bitu B parametru A, BITCLEAR (A,B). Wynikiem jest zmieniona wartość po skasowaniu bitu B do wartości wejściowej A. Wartość B musi mieścić się w przedziale 0-16. Wartości wyższe rozpoznawane będą jako 16. Jeśli B=0, wynik również 0. 24LOWPASSFILTER Wynikiem jest wartość wejściowa w A gdy filtr B uzyskuje stałą czasową: BxUS-02 (czas pętli US). W powyższym wzorze należy ustawić czas gdy wartość wyjściowa A osiągnie 63,3%. C odnosi się do działania filtru. Jeśli wynosi 0 to operacja zostaje rozpoczęta. 25PI_CONTROL Wzmocnienie P,I = A, B parametrów wartości wejściowych, wartość wyjściowa w postaci C. Warunki dla wartości wyjściowej PI_PROCESS output: C=0: Const PI C=1: PI_PROCESS_B>=PI_PROCESS-OUT>=0 C=2: PI_PROCESS-B>=PI_PROCESS-OUT>=-(PI-PROCESS-B). 26PI_PROCESS A jest błędem wartości wejściowej, B jest wyjściową wartością graniczną, C jest wartością wyjściową stałej Const PI. Zakres C wynosi 0 - 32 767. 27UPCOUNT Zliczanie w górę, następnie podaje wynik w postaci wartości UPCOUNT (A,B,C). Po odebraniu wyzwalającej wartości A, wartości wyjściowe są zliczane w górę zgodnie z warunkami C. Jeśli B wynosi 1, to operacja nie jest wykonywana i wyświetlane jest 0. Jeśli B = 0, to operacja jest wykonywana. Jeśli C=0, zliczanie w górę następuje gdy A zmienia się z 0 na1. Jeśli C=1, zliczanie w górę następuje po zmianie A z 1 na 0. Jeśli C=2, to zliczanie w górę następuje za każdym razem gdy zmienia się wartość wyjściowa w A. 28DOWNCOUNT Zliczanie w dół, następnie daje wartość zliczania DOWNCOUNT (A,B,C). Po odebraniu wartości wyzwalającej A, wartości wyjściowe zliczane są w dół zgodnie z warunkami C. Jeśli B=1 to operacja nie jest wykonywana i wyświetlana jest wartość początkowa C. Jeśli B =0, to operacja jest wykonywana. Zliczanie w dół gdy A zmienia się z 0 na 1. 10. Typy bloków funkcyjnych (3) I podstawowa wiedza
13 ANIR O NEGATE ADD B A C B A C Min. Value A -(A) (A+B)+ C MIN REMAINDER SUB B A C B A C Max. Value B A A%B (A-B)- C MAX MPYDIV ADDSUB B A C A lAl B A C (AxB)/ C (A+B)-C ABS 11. Jak używać bloków funkcyjnych? (1) ADD/SUB/ADDSUB: operacja dodawania/odejmowania. Jeżeli adres parametru c wynosi 0x0000, zostanie rozpoznany jako 0. (wejścia A i B powinny być różne od 0x0000.) MIN/MAX: operacja wartości MAX/MIN. Jeśli adres C wynosi 0x0000, operacja jedynie na A,B. ABS/NEGATE: Wartość bezwzględna/negacja. Operacja nie wykorzystuje B i C. REMAINDER: Reszta z dzielenia. Operacja nie wykorzystuje parametru C. MPYDIV: Operacja mnożenia/dzielenia. Jeśli adres C wynosi 0x0000, operacja jedynie na A,B. I podstawowa wiedza
14 ANIR O COMPARE -GT =(A>B) B A C COMPARE -EQUAL =(A==B) LIMIT A(B>=A>=C) B(A>B) C(A=C C(Prawda) 0(Fałsz) COMPARE -GTEQ =(A>=B) COMPARE -NEQUAL =(A!=B) SWITCH B(A=1) C(A=0) B A C B A C B A C C(Prawda) 0(Fałsz) C(Prawda) 0(Falłz) C(Prawda) 0(Fałsz) B A C B A C 11. Jak używać bloków funkcyjnych (2) COMPARE Operacja porównania. Jeżeli C wynos 0x0000 i warunek jest spełniony, wynikiem jest C. COMPARE-GT/GTEQ: jeżeli A jest większe od B/jeżeli A jest większe równe B, wyjściem jest C, w przeciwnym wypadku 0. COMPARE-EQUAL/NEQUAL: Jeżeli A równa się/ nie równa się B, wyjściem jest C, w przeciwnym wypadku 0. LIMIT: limituje wartość A/ SWITCH: jeżeli A wynosi 1, wyjściem jest B. Jeżeli A wynosi 0, wyjściem jest C. I podstawowa wiedza
15 ANIR O AND =(A&B)&C XOR =(A^B)^C 0 or 1 0 lub 1 0 or 1 0 lub 1 OR =(AlB)lC AND/OR =(A&B)lC 0 or 1 0 lub 1 ANDwynik 000 010 100 111 ORwynik 000 011 101 111 XORwynik 000 011 101 110 AND/ORwynik 0000 0011 0100 0111 1000 1011 1101 1111 11. Jak używać bloków funkcyjnych (3) Tabela prawdy I podstawowa wiedza
16 ANIR O I podstawowa wiedza TIMER (0 Max-1 0 …) 0 (Enable) Max Loop 1 (wyjście aktualnej wartości) TIMER 0 (Enable) Max Loop 0 (na wyjściu1 jeżeli wartość przekroczy max.) (0 1 0 …) 1 2Pętla34Max- 1 0MaxMax +1 2 3 4 Max-1 1 Wartość 1 2Pętla34 Max- 10 MaxMax +1 2 3 4 Max-1 1 Wartość 11. Jak używać bloków funkcyjnych (4) JeśliC wynosi 1, dodaje 1 za każdym razem gdy sekwencja skończy pętlę. Jeśli C wynosi 0, na wyjściu 1 gdy timer przekroczy max ilość pętli
17 ANIR O [On/Off 표시 ] Q1 R1 [DI Status] P7 P6 P5 P4 P3 P2 P1 BITTEST Target Bit 0 or 1 BITSET Target Bit 0 or 1 1(On) BITCLEAR Target Bit 0 or 1 0(Off) Klawiatura LCDWyświetlacz 7 segmentowy [DO Status] [DI Status] P7 P6 P5 P4 P3 P2 P1 0(Off) 1(On) On Off [DO Status] [On/Off 표시 ] Q1 R1 On Off I podstawowa wiedza 11. Jak używać bloków funkcyjnych(5) BITTEST: Jeżeli bit B z A iwynosi 1, na wyjściu 1. Jeżeli wynosi 0, na wyjściu również 0. BITSET: Ustawienie bitu B z A, BITCLEAR: resetowanie bitu B z A.
18 ANIR O I podstawowa wiedza 63.3% (B x Loop Time) Wejście 0 (Enable) LOW PASS FILTER Wyjście 1 2Pętla341001112 2 633 1000 1 Wartość jeżeli wejście =1000, B=10 DOWN COUNT 0 (Enable) Wyzwolenie (0 1 Count) Wartość początkowa Wyjście Wyzwolenie Wyjście 2 3 Pętla 12 3 1 11. Jak używać bloków funkcyjnych (6) LOWPASSFILTER: Wyjście w postaci A, gdy filtr B uzyskuje stałą czasową BxUS-02 DOWNCOUNT: po otrzymaniu wyzwolenia w postaci(A), wyjście zliczane w dół zgodnie z warunkiem C. Zliczanie gdy A zmienia się z 0 na 1.
19 ANIR O I podstawowa wiedza Wyzwolenie 0 ~ 9999 UPCOUNT 0 (Enable) Wyzwolenie 0 (0 1 zliczanie) UPCOUNT 0 (Enable) Wyzwolenie 2 (zliczanie po zmianie dowolnej A) 0 ~ 9999 0 (Enable) 1 (1 0 zliczanie) 0 ~ 9999 Wyzwolenie Wyjście 2 3 Pętla 12 3 1 Wyzwolenie Wyjście 2 3 Pętla 12 3 1 Wyzwolenie Wyjście 2 3 Pętla 12 3 1 11. Jak używać bloków funkcyjnych (7) UPCOUNT: Po otrzymaniu wyzwolenia (A), wyjście zliczane w przód zgodnie z warunkiem C. Jeżeli C=0, zliczanie gdy A zmienia się z 0 na 1. Jeżeli C=1 zliczanie przy zmianie A z 1 na 0. Jeżeli C=2 zliczanie po dowolnej zmianie A.
20 ANIR O PI Control I-Wzmocnienie (1/B x Czas pętli) P-Wzmocnienie (A/100) 0 (Const PI) PI Control I-Wzmocnienie (1/B x Czas pętli) P-Wzmocnienie (A/100) 1 (Limit >=PIOutput>=0) PI Control I-Wzmocnienie (1/B x Czas pętli) P-Wzmocnienie (A/100) 2 (Limit>=PIOutput> =-Limit) 0(Normal) PI Process Limit Błąd Const PI Output PI Process Limit Błąd Const PI Output PI Output PI Process Limit Błąd Const PI Output PI Output 0(Normal) 11. Jak używać bloków funkcyjnych (8) PI CONTROL+PI PROCESS: P,I wzmocnienie=A,B parametry wejściowe, wyjście jako C. PI Output = Błąd x P-Wzmocnienie (A/100) + [Pętla x {Błąd x I-Wzmocnienie(1/B x Czas pętli)}] I podstawowa wiedza
21 ANIR O II Proste przykłady Przykład 1. ADD (1) (dodawanie dwóch zdefiniowanych stałych i wynik w postaci częstotliwości zadanej). 1-1. Lista kontrolna: - Wyjście w postaci = ((A+B)+C). - Jeśli C wynosi 0x0000, wartość zostanie rozpoznana jako 0. - Jeżeli blok zostanie sparametryzowany nieprawidłowo, wyjście User Output@ w postaci -1. 1-2. Ustawienie parametrów: - US-31~33 Void Para1~3 Wartości stałe całkowite (uwaga na skalowanie!!!) - UF-2~4 User Input 1-A~C adresy komunikacyjne stałych Void Para1~3 KodNazwaUstawieni e APP-02User Seq. En1 : Yes US-02 User Seq. Loop Time 5: 1.0S US-11Link User Out 11101 US-01User Seq. Con0 : Stop KodNazwaUstawieni e US-31Void Para 13000 US-32Void Para 22000 US-33Void Para 30 KodNazwaUstawien ie UF-01User Func 11:ADD UF-02User Input 1-A1D1F UF-03User Input 1-B1D20 UF-04User Input 1-C1D21 UF-05User Output 1- 1-3. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Sprawdź czy UF-05 wynosi 5000. - Sprawdź, że częstotliwość wynosi 50Hz.
22 ANIR O Przykład 2. Dodawanie (2) (dodawanie stałych i wynik w postaci częstotliwości zadanej) 2-1. Ustawienie parametrów - US-31~33 Void Para1~2 Wartości stałe całkowite. - User Input @-A~C adresy komunikacyjne wartości stałych: Void Para1~3. KodNazwaustawieni e APP-02User Seq. En1 : Yes US-02 User Seq. Loop Time 5: 1.0S US-11Link User Out 11D1F US-12Link User Out 21101 US-01User Seq. Con0 : Stop KodNazwaUstawien ie UF-01User Func 11:ADD UF-02User Input 1-A1101 UF-03User Input 1-B1D20 UF-04User Input 1-C0000 UF-05User Output 1- KodNazwaUstawien ie UF-06User Func 21:ADD UF-07User Input 2-A1D1F UF-08User Input 2-B1D20 UF-09User Input 2-C0000 UF-10User Output 2- KodNazwaUstawieni e US-31Void Para 10 US-32Void Para 2200 2-2. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Sprawdź czy częstotliwość zwiększa się o 4Hz co każdą sekundę. II Proste przykłady
23 ANIR O Przykład 3. MPYDIV (operacja złożona mnożenia i dzielenia. Wynik końcowy jako czas hamowania dla funkcji JOG) 3-1. Lista kontrolna: - Wyjście w postaci: = (AxB)/C). - Jeżeli C wynosi 0x0000, na wyjściu wynik operacji: (AXB). - Jeżeli konfiguracja bloku jest nieprawidłowa, wyjście User Output@ wynosi -1. 3-2. Ustawienie parametrów: - US-31~33 Void Para1~3 Ustawienie wartości stałych całkowitych. - UF-2~4 User Input 1-A~C adresy komunikacyjne stałych Void Para1~3. KodNazwaUstawienie APP-02User Seq. En1 : Yes US-02User Seq. Loop Time1 : 0.02s US-11Link User Out 1110D US-31Void Para 1100 US-32Void Para 2100 US-33Void Para 3200 KodNazwaUstawienie US-01User Seq. Con0 : Stop UF-01User Func 18: MpyDiv UF-02User Input 1-A1D1F UF-03User Input 1-B1D20 UF-04User Input 1-C1D21 3-3. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Sprawdź czy UF-05 wynosi 50. - Sprawdź czy Jog Dec time wynosi 5sekund. II Proste przykłady
24 ANIR O Przykład 4. COMPARE-GT (operacja porównania, większy niż. Wynik w postaci częstotliwości kluczowania. Jeśli A>B to wynikiem jest C, które nadpisuje aktualną wartość częstotliwości kluczowania). 4-1. Lista kontrolna: - Wyjście w postaci: = jeśli (A>B) to C w innym wypadku 0. - Jeśli C wynosi 0x0000 i warunek jest spełniony, na wyjściu 1 (prawda)). - -Jeżeli konfiguracja bloku jest nieprawidłowa, wyjście User Output@ wynosi -1. 4-2. Ustawienie parametrów: - US-31~33 Void Para1~3 Ustawienie wartości stałych całkowitych. - UF-2~4 User Input 1-A~C adresy komunikacyjne stałych Void Para1~3. KodNazwaUstawienie APP-02User Seq. En1 : Yes US-02User Seq. Loop Time1 : 0.02s US-11Link User Out 11404 US-31Void Para 11000 US-32Void Para 2500 US-33Void Para 350 KodNazwaUstawienie US-01User Seq. Con0 : Stop UF-01User Func 1 10: Compare- GT UF-02User Input 1-A1D1F UF-03User Input 1-B1D20 UF-04User Input 1-C1D21 4-3. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Sprawdź czy UF-05 wynosi 50. - Sprawdź czy częstotliwość kluczowania wynosi 5kHz. II Proste przykłady
25 ANIR O Przykład 5. TIMER (obsługa timera, wyjście w postaci zmiennej częstotliwości zadanej). 5-1. Lista kontrolna: - Wyjście = Loop Time(US-02) x A(Max Loop) - Wejście-A: Max ilość pętli. Jeśli A jest ujemne, zostanie rozpoznane jako 0. - Wejście -B: Start/Stop timera, jeśli B = 1, timer stopuje. Jeśli = 0, timer startuje. - Wejście -C: wybór trybu. Jeśli C wynosi 0x0000, zostanie rozpoznane jako 0. 5-2. Ustawienie parametrów: - US-31~33 Void Para1~3 Ustawienie wartości stałych całkowitych. - UF-2~4 User Input 1-A~C adresy komunikacyjne stałych Void Para1~3. KodNazwaUstawienie APP-02User Seq. En1 : Yes US-02User Seq. Loop Time1 : 0.02s US-11Link User Out 11101 US-31Void Para 11000 US-32Void Para 20 US-33Void Para 31 KodNazwaUstawienie US-01User Seq. Con0 : Stop UF-01User Func 114: Timer UF-02User Input 1-A1D1F UF-03User Input 1-B1D20 UF-04User Input 1-C1D21 5-3. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Sprawdź czy UF-05 zmienia się pomiędzy 0~1000. - Sprawdź czy częstotliwość zadana zmienia się pomiędzy 0~10Hz. II Proste przykłady
26 ANIR O Przykład 6. ANDOR (operacja złożona z bramek logicznych And i OR, wyjście w postaci 16 bitów) 6-1. Lista kontrolna: - Wyjście w postaci: = ((A&B)lC) - Wejścia: A,B,C na wyjściu słowo 16 bitowe (kod binarny). - Jeżeli C wynosi 0x0000, operacja tylko na A, B. 6-2. Ustawienie parametrów: - US-31~33 Void Para1~3 Ustawianie wartości stałych całkowitych. - UF-2~4 User Input 1-A~C Adresy komunikacyjne stałych Void Para1~3. KodNazwaUstawienie APP-02User Seq. En1 : Yes US-02User Seq. Loop Time1 : 0.02s US-31Void Para 115 US-32Void Para 212 US-33Void Para 314 KodNazwaustawienie US-01User Seq. Con0 : Stop UF-01User Func 119: ANDOR UF-02User Input 1-A1D1F UF-03User Input 1-B1D20 UF-04User Input 1-C1D21 6-3. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Sprawdź czy UF-05 iwynosi 000E (0000 0000 0000 1110). II Proste przykłady
27 ANIR O Przykład 7. SWITCH (operacja na funkcji SWITCH, wyjście w postaci zmienionej częstotliwości kluczowania). 7-1. Lista kontrolna: - Wyjście w postaci: = jeśli (A) to B inaczej C. - User Input-A wynosi 1(Prawda) lub 0 (Fałsz). - Jeśli A wynosi 1, na wyjściu B. W innym wypadku, na wyjściu C. - Wejście B jest zawsze większe równe C. 7-2. Ustawienie parametrów: - US-31~33 Void Para1~3 Ustawienie wartości stałych. - UF-2~4 User Input 1-A~C Adresy komunikacyjne stałych Void Para1~3. KodNazwaUstawienie APP-02User Seq. En1 : Yes US-02User Seq. Loop Time1 : 0.02s US-11Link User Out 11404 US-31Void Para 11 US-32Void Para 2120 US-33Void Para 330 KodNazwaUstawienie US-01User Seq. Con0 : Stop UF-01User Func 120: Switch UF-02User Input 1-A1D1F UF-03User Input 1-B1D20 UF-04User Input 1-C1D21 7-3. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Sprawdź czy UF-05 wynosi 120. - Sprawdź czy częstotliwość kluczowania zmienia się na wartość12kHz. II Proste przykłady
28 ANIR O Przykład 8. BITTEST (operacja testowania bitów) 8-1. Lista kontrolna: - Wejście A wskazuje na testowany bajt. - Wejście B wskazuje testowany bit. - Operacja nie wykorzystuje wejścia C. 8-2. Ustawienie parametrów: - US-31~32 Void Para1~2 Ustawianie wartości stałych całkowitych. - UF-2~3 User Input 1-A~C Adresy komunikacyjne stałych Void Para1~2. KodNazwaUstawienie APP-02User Seq. En1 : Yes US-02User Seq. Loop Time1 : 0.02s US-31Void Para 115 US-32Void Para 25 KodNazwaUstawienie US-01User Seq. Con0 : Stop UF-01User Func 121: BITTEST UF-02User Input 1-A1D1F UF-03User Input 1-B1D20 8-3. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Sprawdź czy UF-05 wynosi 0. II Proste przykłady
29 ANIR O Przykład 9. LIMIT (funkcja limitu, wyjście w postaci limitu górnego i dolnego częstotliwości zadanej) 9-1. Lista kontrolna: - Wejście A jest wartością ograniczaną. - Wejście B jest granicą górną wartości A. - Wejście C jest granicą dolną wartości A. - Parametr B musi być większy równy C. 9-2. Ustawienie parametrów: - US-31~32 Void Para1~2 Ustawianie wartości stałych. - UF 3~4 User Input 1-A~C adresy komunikacyjne wartości stałych Void Para1~2. KodNazwaUstawienie APP-02User Seq. En1 : Yes US-02User Seq. Loop Time1 : 0.02s US-11Link User Out 11101 US-31Void Para 14000 US-32Void Para 22000 KodNazwaUstawienie US-01User Seq. Con0 : Stop UF-01User Func 115:LIMIT UF-02User Input 1-A1101 UF-03User Input 1-B1D1F UF-04User Input 1-C1D20 9-3. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Zmieniaj losowo wartość częstotliwości zadanej w iUS-05 i sprawdź czy zmiana ma miejsce pomiędzy górną i dolną nastawioną granicą (20 i 40 Hz). II Proste przykłady
30 ANIR O Przykład 10. LOWPASSFILTER (filtr dolnoprzepustowy) 10-1. Lista kontrolna: - Wyjście w postaci A po osiągnięciu stałej czasowej filtru B. - Wejście B jest wzmocnieniem (wyjście A gdy filtr uzyska BxUS-02 (czas po którym A uzyskuje 63,3% wartości)). - Wejście C mówi o działaniu filtra. Jeżeli wynosi 0 – rozpoczęcie operacji. 10-2. Ustawienie parametrów: - US-31~33 Void Para1~3 Ustawianie wartości stałych całkowitych. - UF-2~4 User Input 1-A~C adresy komunikacyjne wartości stałych Void Para1~3. KodNazwaUstawienie APP-02User Seq. En1 : Yes US-02User Seq. Loop Time1 : 0.02s US-11Link User Out 11101 US-31Void Para 16000 US-32Void Para 2100 US-33Void Para 30 KodNazwaUstawienie UF-01User Func 1 24: LOWPASS- FILTER UF-02User Input 1-A1D1F UF-03User Input 1-B1D20 UF-04User Input 1-C1D21 US-01User Seq. Con0 : Stop 10-3. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Sprawdź czy na stawiony czas: US-02(0.02Sec) X UF-03(100) powoduje osiągnięcie 63,3% częstotliwości zadanej. Jeżeli częstotliwość zadana wynosi 60Hz, po 2 sekundach wartość ta powinna osiągnąć poziom 63,3% x 60hz = 38,2Hz. II Proste przykłady
31 ANIR O Przykład 11. UPCOUNT (zliczanie w przód) 11-1. Lista kontrolna: - Po otrzymaniu wyzwolenia na wejściu (A), wyjście zliczane w przód zgodnie z warunkami C. - Wejście A jest wyzwalające (wartość 0 lub 1). - Wejście B startuje operacje. Jeżeli B=0, start operacji. Jeśli B=1, stop operacji, na wyjściu 0. - Wejście C określa warunek. Jeśli C=0, zliczanie po zmianie A z 0 na 1. Jeśli C=1 zliczanie po zmianie A z 1 na 0. Jeśli C=2 zliczanie po dowolnej zmianie A (z 0 na 1 lub z 1 na 0). 11-2. Ustawienie parametrów: - US-31~33 Void Para1~3 Ustawianie wartości stałych, całkowitych. - UF-2~4 User Input 1-A~C Adresy komunikacyjne wartości stałych Para1~3. KodNazwaUstawienie APP-02User Seq. En1 : Yes US-02User Seq. Loop Time1 : 0.02s US-31Void Para 110 US-32Void Para 20 US-33Void Para 32 KodNazwaUstawienie US-01User Seq. Con0 : Stop UF-01User Func 127: UPCOUNT UF-02User Input 1-A1D1F UF-03User Input 1-B1D20 UF-04User Input 1-C1D21 11-3. Test - Ustaw US-01 (User Seq Con) na 1(Run). - Sprawdź czy US-05 wzrasta, po zmianie wartości w US-31 (Void Para1). II Proste przykłady
32 ANIR O Adres (Hex)ParametrJednostkaSkala 1101Target Freq.Hz0.01 1103Acc TimeSec0.1 1104Dec TimeSec0.1 1505Analog Input 1%0.01 1606 Analog Output 1 %0.1 155A Multi-func. Input Status Bit- 0385 Virtual Multi- func. Input Bit- Adres (Hex)Parametr 1D1FVoid Para 1 1D20Void Para 2 1D21Void Para 3 1D22Void Para 4 1D23Void Para 5 1D24Void Para 6 1D25Void Para 7 Adres (Hex)Parametr 1E19User Output 5 1E1EUser Output 6 1E23User Output 7 1E28User Output 8 1E2DUser Output 9 1E32User Output 10 1E37User Output 11 Lista ważniejszych adresów komunikacyjnych ze skalą dla falownika S100. Lista ważnych adresów
33 ANIR O 1629 Multi-func. Output Status Bit- 1404Carrier Freq.kHz0.1 0009Output CurrentA0.1 000AOutput Freq.Hz0.01 000BOutput Volt.V1 000CDC-link Volt.V1 000DOutput PowerkW0.1 000E Operation Status -- 000FFault Info.-- 1D26Void Para 8 1D27Void Para 9 1D28Void Para 10 1D29Void Para 11 1D30Void Para 12 1E05User Output 1 1E0AUser Output 2 1E0FUser Output 3 1E14User Output 4 1E3CUser Output 12 1E41User Output 13 1E46User Output 14 1E4BUser Output 15 1E50User Output 16 1E55User Output 17 1E0AUser Output 18 1E55User Output 17 1E0AUser Output 18 Adres (Hex)ParametrJednostkaSkala Adres (Hex)Parametr Adres (Hex)Parametr Lista ważnych adresów
34 ANIRO Sp. z o.o. Chrobrego 64 87-100 Toruń, Poland Tel. +48 56 657 63 63 Fax. +48 56 645 01 03 www.aniro.pl [email protected] ANIRO SP. Z.O.O ANIR O