Skip to main content

6. Funkcje podstawowe

T Timer T

Symbol

image.png

image.png

 

 

●           Całkowita liczba timerów to 256 (T0~T255), z trzema podstawami czasu: 0,01s, 0,1s i 1s. Domyślne ilości oraz rozmieszczenie timerów o danej podstawie czasu, zostały przedstawione poniżej (zakresy te mogą być zmieniane za pomocą funkcji „Memory Allocation”, zgodnie z wymaganiami użytkownika):

T0~T49:timer 0,01s(zakres czasu 0,00~327,67s)。

T50~T199:timer 0,1s (zakres czasu 0,0~3276,7s)。

T200~T255:timer 1s (zakres czasu 0~32767s)。

●           Po wprowadzeniu numeru timera, oprogramowanie  narzędziowe automatycznie wyszuka odpowiadającą mu podstawę czasu, zgodnie z „Memory Allocation”. Czas timera = podstawa czasu x wartość zadana (PV). W przykładzie nr 1 poniżej, podstawa czasu timera T0 = 0,01s, a wartość zadana PV = 1000. W związku z tym, czas timera T0 = 0,01s x 1000 = 10,00s.

●           Jeżeli PV jest rejestrem, to czas timera = podstawa czasu x wartość w rejestrze. W takiej sytuacji użytkownik, aby zmienić czas timera, musi jedynie zmienić wartość w rejestrze (patrz przykład 2).

※         Maksymalnym błędem timera jest stała czasowa plus czas skanu programu. W celu zmniejszenia błędu odmierzania czasu, należy użyć timera o mniejszej podstawie czasu.

 

 Opis

 

 

●           Jeżeli wejście sterujące EN = 1, timer rozpocznie odmierzanie czasu (wartość bieżąca CV będzie narastać od 0). W chwili, w której wartość bieżąca odmierzonego czasu CV zrówna się z wartością zadaną PV, stan zmiennej Tn i wyjścia TUP (FO0) zmieni się na 1. Jak długo „EN” = 1, nawet jeżeli CV osiągnie lub przekroczy wartość PV, CV timera będzie narastać (gdy M1957 = 0) do chwili aż osiągnie maksymalną wartość graniczną (32767). Przez cały czas, kiedy CV >PV, wyjście TUP oraz stan zmiennej Tn pozostanie 1. Kiedy tylko „EN” = 0, wartość bieżąca timera CV zostaje natychmiast wyzerowana – stan zmiennej Tn i wyjścia TUP także zostają wyzerowane (patrz schemat poniżej).

●           Jeżeli wersja OS FBs-PLC jest wyższa niż V3.0, to marker M1957 może być ustawiony na 1, aby wartość CV nie zwiększała się po aktywacji TUP i zatrzymywała się na wartości PV. Domyślna wartość M1957 to 0. Kontrolując programowo stan markera M1957, można decydować indywidualnie dla każdego timera, o tym czy ma on kontynuować bądź zatrzymać odmierzanie czasu, w chwili gdy CV zrówna się z PV (patrz schemat poniżej).

 

Przykład 1 Stała wartość zadana

image.png

 

 

image.png

 

Przykład 2  Zmienne PV

 

Nastawa (PV) przedstawiona na przykładzie 1 jest stała wartością równą 1000. Wartość jest stała i nie może być zmieniona po zaprogramowaniu. W wielu przypadkach, nastawa czasu timerów wymaga zmiany podczas pracy PLC. Aby zmienić nastawę timera, użytkownik może zastosować rejestr jako argument PV (np. R lub WX, WY…), a następnie zmieniać nastawę poprzez zmianę wartosci w rejestrze. Jak pokazano na przykładzie, jeżeli R0 zostanie ustawiony na 100, to T stanie się timerem 10s. Analogicznie, jeżeli R0 = 200 to T stanie się timerem 20s.

image.png

 

 

image.png

 

 Uwaga: Jeżeli wartość zadana timera jest równa 0, to stan zmiennej timera i wyjścia TUP zmieni się na 1 (stan wejścia „EN” musi być 1) niezwłocznie po zakończeniu pierwszego skanu przez PLC, ponieważ warunek doliczenia do czasu zadanego będzie spełniony. Stan TUP pozostanie 1, do momentu aż stan wejścia „EN” zmieni się na 0

C

LICZNIK

(16-Bit: C0~C199,32-Bit: C200~C255)
C

Symbol

 

image.png

 

 

image.png

 

 

●           Całkowita liczba 16-bitowych liczników to 200 (C0~C199). Zakresem ich wartości zadanej (CV) jest: 0~32767. Liczniki C0~C139 są licznikami podtrzymywanymi, w których wartość CV zostanie utrzymana w momencie, gdy PLC zostanie ponownie włączone po zaniku zasilania, lub przełączone z trybu STOP w tryb RUN. W przypadku liczników niepodtrzymywanych, przy ponownym podaniu zasilania, lub przełączeniu sterownika z trybu STOP w tryb RUN, wartość CV zostanie wyzerowana.

●           Całkowita liczba 32-bitowych liczników to 56 (C200~C255). Zakresem ich wartości zadanej (CV) jest: 0~2147483647. Liczniki C200~C239 są to liczniki podtrzymywane, natomiast C240~C255 są licznikami niepodtrzymywanymi.

●           Powyższe to domyślne ustawienie podtrzymywalności adresów liczników. W razie konieczności zmiany ustawień, użytkownik może użyć funkcji „Memory Allocation”.

●           Aby zapewnić prawidłowe zliczanie, czas wystąpienia stanu na wejściu PLS, powinien być dłuższy niż 1 czas skanu programu.

●           Maksymalna częstotliwość zliczania realizowanego za pomocą tej funkcji wynosi do 20Hz. Dla zliczania sygnałów o większych częstotliwościach, zastosuj szybkie liczniki sprzętowe/software’owe.

 Opis

 

●           Jeżeli wejście „CLR” = 1, wszystkie stany: zmiennej Cn, wyjścia CUP i wartości bieżącej CV licznika, zostaną wyzerowane, a licznik przestanie zliczać.

●           Jeżeli wejście „CLR” = 0, to licznik będzie mógł zliczać. Licznik zliczy w górę (doda 1 do CV) za każdym razem kiedy stan na jego wejściu PLS zmieni się z 0 na 1. W chwili gdy wartość bieżąca licznika (CV) zrówna się lub będzie większa od jego wartości zadanej (PV), stan zmiennej Cn i wyjścia CUP zmieni się na 1. Nawet w przypadku, gdy bieżąca naliczona wartość jest równa lub większa niż wartość zadana, to wartość CV będzie narastać do momentu osiągnięcia granicy zakresu (32767 lub 2147483647). Stan zmiennej Cn i wyjścia CUP  zostaną wyzerowane w chwili gdy wartość CV<PV, lub w chwili wyzerowania licznika wejściem „CLR” = 1. (patrz schemat poniżej).

●           Jeżeli wersja OS FBs-PLC jest wyższa niż V3.0 (włącznie), to M1973 można ustawić na 1, aby wartość CV nie narastała po aktywacji wyjścia CUP i zatrzymała się na wartości PV. Domyślna wartość M1973 to 0. Kontrolując programowo stan markera M1973, można decydować indywidualnie dla każdego licznika, o tym, czy ma on kontynuować bądź zatrzymać zliczanie, w chwili gdy CV zrówna się z PV (patrz schemat poniżej).

 

Przykład 1 Licznik 16-bitowy o stałej wartości zadanej

image.png

 

 

image.png

 

 

 Przykład 2 32-bitowy licznik ze zmienną nastawą

 

Tak jak w przypadku timerów, jeżeli PV licznika zostanie zmieniona na rejestr (np. R, D, itp.), to licznik przyjmie wartość w rejestrze jako PV. Jedyne co użytkownik musi zrobić, aby zmienić wartość PV licznika podczas pracy PLC, to zmienić wartość w rejestrze. Poniżej przedstawiono przykład 32-bitowego licznika wykorzystującego rejestr danych R0 jako wartość PV (w istocie jest to 32-bitowa wartość PV tworzona przez R1 i R0)

 

 

image.png

 

 

image.png

 

Uwaga:

Jeżeli wartość zadana licznika jest równa 0 oraz stan na wejściu „CLR” = 0, to stan zmiennej Cn i wyjścia CUP zmieni się na 1 niezwłocznie po zakończeniu pierwszego skanu przez PLC, ponieważ warunek równości bądź większości wartości bieżącej w stosunku do zadanej, będzie spełniony. Stan 1 pozostanie niezmieniony, niezależnie od zmian wartości CV do momentu, aż stan na wejściu „CLR” zmieni się na 1.

SET DP SET (Ustaw zmienną dyskretną lub wszystkie bity rejestru na 1) SET DP

Symbol

 

image.png

 

 Opis

 

 

●    Jeżeli wejście sterujące „EN" =1 lub zmieni się z 0 → 1 ( instrukcja P), funkcja ustawi zmienną dyskretną (przykład 1) lub wszystkie bity rejestru (przykłady 2 i 3) na 1.

 

 Przykład 1 Ustawienie pojedynczej zmiennej dyskretnej

image.png

 

 

image.png

 

 Przykład 2  Ustaw 16-bitowy rejestr

image.png

 

image.png

 

 Przykład 3 Ustaw 32-bitowy rejestr

 

image.png

 

image.png

 

RST DP

RESET

(Resetuj zmienną dyskretną lub wszystkie bity rejestru) RST DP

Symbol

 

image.png

 

 Opis

 

 

●    Jeżeli wejście sterujące „EN" =1 lub zmieni się z 0 → 1 (instrukcja P), funkcja zresetuje zmienną dyskretną (przykład 1) lub wszystkie bity rejestru (przykłady 2 i 3) na stan 0.

 

 Przykład 1 Resetowanie pojedynczej zmiennej dyskretnej

 

 Przykład 1 Patrz przykład nr 1, zastosowania funkcji SET

 

 

 

 Przykład 2 Resetuj 16-bitowy rejestr

image.png

 

 

 

image.png

 

 Przykład 3 Resetuj 32-bitowy rejestr

 

image.png

 

image.png


FUN 0 MC

POCZĄTEK PĘTLI KONTROLI MASTER

[MASTER CONTROL LOOP START]

FUN 0 MC

Symbol

image.png

 

 Opis

 

●            Istnieje 128 pętli MC (N=0~127). Każdej funkcji Master Control Start, MC N, musi odpowiadać funkcja Master Control End, MCE N, posiadająca ten sam numerem pętli co MC N. Funkcje te muszą być stosowane zawsze w parach i MCE N musi występować zawsze po MC N.

●            Jeżeli wejście funkcji Master Control Start „EN” = 1, to funkcja MC N nie zostanie wykonana, tak jakby w ogóle nie istniała w programie.

●            Jeżeli wejście funkcji Master Control Start „EN” = 0, to pętla sterowania Master jest aktywna. Obszar pomiędzy MC N i MCE N nazywa się aktywnym obszarem pętli sterowania Master. Wszystkie stany cewek wyjściowych lub timerów, znajdujących się wewnątrz aktywnej pętli sterowania Master, zostaną wyzerowane. Pozostałe funkcje, znajdujące się wewnątrz tej pętli, nie zostaną wykonane.

 Przykład

 

image.png

image.png

 

 

image.png

 Uwaga 1:

 Funkcje MC/MCE mogą być użyte jako zagnieżdżone lub przeplatane, tak jak pokazano po prawej.

 Uwaga 2:

•Jeżeli M1918=0, a stan wejścia master zmieni się z 0→1, i jeżeli w pętli sterowania master istnieją funkcje reagujące na zbocza, to funkcje te mają szansę być wykonane tylko jeden raz (kiedy pierwszy raz stan wejścia sterującego master zmieni się z 0→1). Po tym, niezależnie od tego ile razy stan wejścia sterującego master zmieni się z 0→1, funkcje reagujące na zbocza nie będą wykonywane ponownie
•Jeżeli M1918=1, a stan wejścia master zmieni się z 0→1, i jeżeli w pętli sterowania master istnieją funkcje reagujące na zbocza, to za każdym razem, gdy stan pętli sterowania master zmieni się z 0→1, funkcje reagujące na zbocza w pętli sterowania master będą realizowane przez cały czas, gdy tylko spełnione zostaną odpowiednie warunki ich wywołania

•Jeżeli w pętli sterowania master znajdują się funkcje liczników, ustawienie M1918 na 0 pozwoli na uniknięcie błędów zliczania

•W przypadku, gdy funkcje reagujące na zbocza, muszą działać w chwili zmian wejścia sterującego pętli master z 0→1, stan markera M1918 powinien być ustawiony na 1

FUN 1 MCE

KONIEC PĘTLI KONTROLI MASTER

[MASTER CONTROL LOOP END]

FUN 1 MCE

Symbol

image.png

 

 Opis

 

●           Każda funkcja MCE N musi odpowiadać danej funkcji Master Control Start. Muszą być one stosowane w parach i użytkownik powinien zawsze upewnić się, że instrukcja MCE N wprowadzona jest po instrukcji MC N. Po wykonaniu funkcji MC N, stany wszystkich cewek wyjściowych i timerów zostaną wyzerowane i żadne inne funkcje nie będą wykonywane. Realizacja programu będzie kontynuowana, po napotkaniu funkcji MCE o takim samym numerze N co MC N.

 

●           Funkcja MCE nie wymaga wejścia sterującego, ponieważ sama funkcja tworzy linię programu, z którą inne funkcje nie mogą się połączyć. Po wykonaniu funkcji MC, sterowanie master zostanie zakończone po osiągnięciu przez program funkcji MCE. W przypadku, gdy funkcja MC N nie była wykonana, to funkcja MCE nie robi niczego.

 

 Opis

●           Patrz przykład i opis funkcji MC.

 

FUN 2 SKP

POMIŃ - START

[SKIP START]

FUN 2 SKP

Symbol

image.png

 

Opis 

 

 

●           Istnieje 128 pętli SKP (N=0~127). Każdej funkcji pomiń start, SKP N, musi odpowiadać funkcja pomiń koniec, SKPE N, o tym samym numerze pętli N. Muszą być one stosowane w parach i użytkownik powinien zawsze upewnić się, że funkcja SKPE N występuje po funkcji SKP N.

 

●           Jeżeli „EN” = 0, to funkcja pomiń nie zostanie zrealizowana.

 

●           Jeżeli „EN” = 1, to zakres programu pomiędzy SKP N i SKPE N, nazywany też aktywnym obszarem pominięcia, zostanie pominięty, czyli wszystkie funkcje wewnątrz tego obszaru nie zostaną wykonane. W związku z tym, stany sygnałów dyskretnych i rejestrów w tym obszarze będą utrzymane.

 

Przykład 

 

 

image.png

 

 

image.png


FUN 3 SKPE

POMIŃ - KONIEC

[SKIP END]

FUN 3 SKPE

Symbol

image.png

 

 Opis

 

●           Każda funkcja SKPE N musi odpowiadać danej funkcji SKP N. Muszą być one stosowane w parach i użytkownik powinien zawsze upewnić się, że funkcja SKPE N występuje po funkcji SKP N.

 

●          Funkcja SKPE nie wymaga wejścia sterującego, ponieważ sama funkcja tworzy linię, z którą inne funkcje nie mogą się połączyć. Po wykonaniu funkcji SKP N, operacja pominięcia zostaje wykonana do momentu, gdy program napotka funkcję SKPE N. W przypadku, gdy funkcja SKP N nie była wykonana, to funkcja SKPE nie robi niczego.

 

 Przykład

 

Patrz przykład i opis funkcji SKP N.

 

Uwaga : Funkcje SKP/SKPE mogą być wykorzystane jako zagnieżdżone lub przeplatane. Zasady kodowania są identyczne jak w przypadku funkcji MC/MCE. Patrz rozdział opisujący funkcje MC/MCE.

FUN 4 DIFU

STAN NARASTAJĄCY [DIFFERENTIAL UP]

FUN 4 DIFU

Symbol

image.png

 

Opis

 

●           Funkcja DIFU wykorzystywana jest do wykrycia narastającego zbocza w węźle (wejściu sterującym „TGU"). Sygnał impulsowy, wywołany narastającą zmianą stanu wejścia „TGU", na czas jednego skanu programu, zapisywany jest w zmiennej dyskretnej wskazanej w D.

 

●           Funkcjonalność tej instrukcji można także osiągnąć przy użyciu styku TU.

 

Przykład

 

image.png

 

 

image.png

FUN 5 P DIFD

STAN OPADAJĄCY [DIFFERENTIAL DOWN]

FUN 5 P DIFD

Symbol