Laboratorium Podstaw Automatyki i Regulacji Automatycznej II
1
5
Obsługa wejść i wyjść analogowych
Informacje wst
ę
pne:
BLOKI MATEMATYCZNE
W sterownikach GE Fanuc mo
ż
emy wykonywa
ć
nast
ę
puj
ą
ce podstawowe funkcje arytmetyczne:
−
dodawanie,
−
odejmowanie,
−
mno
ż
enie,
−
dzielenie.
−
operacja „modulo” - obliczanie reszty z dzielenia całkowitego,
Funkcje typu REAL s
ą
dost
ę
pne dla procesorów z serii 90-30 od CPU350 w gór
ę
i dla wszystkich procesorów
serii VersaMax, VersaMax Micro i Nano.
Blok funkcyjny
Typ argumentów
Opis
IN1: INT, DINT lub REAL
IN2: INT, DINT lub REAL
Q: INT, DINT lub REAL
Dodawanie
Q:= IN1 + IN2
IN1: INT, DINT lub REAL
IN2: INT, DINT lub REAL
Q: INT, DINT lub REAL
Odejmowanie
Q:= IN1- IN2
IN1: INT, DINT lub REAL
IN2: INT, DINT lub REAL
Q: INT, DINT lub REAL
Mno
ż
enie
Q:= IN1
∗
IN2
IN1: INT, DINT lub REAL
IN2: INT, DINT lub REAL
Q: INT, DINT lub REAL
Dzielenie
Q:= IN1 / IN2
Parametr Sygnał
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ
Stała
Brak
enable
•
IN1
○
○
○
○
○
•
•
•
•!
IN2
○
○
○
○
○
•
•
•
•!
ok
•
•
Q
○
○
○
○
○
•
•
•
• Dozwolony typ parametru.
Obsługa wej
ść
i wyj
ść
analogowych
2
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
○
Mo
ż
e by
ć
wykorzystany wył
ą
cznie jako parametr do operacji na danych typu INT. Nie mo
ż
na go
wykorzystywa
ć
w przypadku operacji na danych typu DINT i REAL.
! Dla procesorów 16-bitowych (CPU31x/32x/33x/34x) w operacjach wykonywanych na danych typu DINT,
warto
ś
ci stałe s
ą
ograniczone do przedziału INT {-32768, +32767}.
Blok funkcyjny
Typ argumentów
Opis
IN1: INT lub DINT
IN2: INT lub DINT
Q: INT lub DINT
Wynik jest reszt
ą
z dzielenia
całkowitoliczbowego
Q:= IN1 modulo IN2
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała Brak
enable
•
IN1
○
○
○
○
○
•
•
•
•!
IN2
○
○
○
○
○
•
•
•
•!
ok
•
•
Q
○
○
○
○
○
•
•
•
• Dozwolony typ parametru.
○
Dopuszczalne jest stosowanie wył
ą
cznie zmiennych typu INT, nie mo
ż
na stosowa
ć
zmiennych typu DINT.
! W przypadku operacji wykonywanych na zmiennych typu DINT, warto
ś
ci stałe s
ą
ograniczone do przedziału
{-32768, +32767}.
Blok skalowania działa w sterownikach serii VersaMax, VersaMax Micro i Nano (nie działa w serii 90-30).
Blok funkcyjny
Typ argumentów
Opis
IHI: INT lub WORD
ILO: INT lub WORD
OHI: INT lub WORD
OLO: INT lub WORD
IN: INT lub WORD
OUT: INT lub WORD
Skalowanie
IHI: górna granica pomiaru
ILO: dolna granica pomiaru
OHI: górna granica skalowania
OLO: dolna granica skalowania
IN: warto
ść
przed przeskalowaniem
OUT:= warto
ść
po przeskalowaniu
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała Brak
enable
•
IHI
•
•
•
•
ILO
•
•
•
•
OHI
•
•
•
•
OLO
•
•
•
•
IN
•
•
•
•
ok
•
•
OUT
•
•
•
Wszystkie bloki funkcyjne maj
ą
wej
ś
cie enable i wi
ę
kszo
ść
bloków posiada wyj
ś
cie ok. Je
ż
eli na wej
ś
cie
enable zostanie podana jedynka, wówczas funkcja realizowana przez dany blok funkcyjny b
ę
dzie
wykonywana. Wykonanie funkcji sygnalizowane jest jedynk
ą
na wyj
ś
ciu ok. Wyj
ś
cie ok sygnalizuje zerem
przekroczenie zakresu, prób
ę
dzielenia przez zero, obliczania pierwiastka kwadratowego z liczby ujemnej itp.
Wówczas warto
ś
ci podawane przez parametr wyj
ś
ciowy nie nale
ż
y traktowa
ć
jako wynik działania bloku. Je
ś
li
na wej
ś
ciu enable jest zero, to na wyj
ś
ciu ok te
ż
jest zero.
Obsługa wej
ść
i wyj
ść
analogowych
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
3
Wej
ś
cie enable jest typu Sygnał, czyli podł
ą
cza si
ę
do niego symbol styku. Zamiast symbolu styku mo
ż
na
doprowadzi
ć
przewód z linii zasilania. Wówczas blok b
ę
dzie wykonywany bezwarunkowo.
Wyj
ś
cie ok jest typu Przepływ, czyli podł
ą
cza si
ę
do niego symbol cewki lub wej
ś
cie enable nast
ę
pnego bloku
funkcyjnego. Mo
ż
na nie wykorzystywa
ć
tego wyj
ś
cia i nic nie podł
ą
cza
ć
.
Nie wolno zwiera
ć
wyj
ś
cia ok bezpo
ś
rednio z szyn
ą
masy. Poni
ż
szy przykład jest nieprawidłowy.
Oprogramowanie narz
ę
dziowe sygnalizuje Error: Invalid dangling expression.
W programowaniu sterowników serii 90-30 i VersaMax nie wolno ł
ą
czy
ć
lini
ą
wyj
ś
cia Q bloku funkcyjnego
z wej
ś
ciem IN1 lub IN2 nast
ę
pnego bloku.
Zostanie zasygnalizowane przez Validate: Missing required output operand Q oraz Missing required input
operand IN1. Wynik nale
ż
y przekazywa
ć
poprzez rejestr po
ś
redni.
Obsługa wej
ść
i wyj
ść
analogowych
4
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
Rejestrem po
ś
rednim mo
ż
e by
ć
rejestr wynikowy. Wówczas na podgl
ą
dzie schematu drabinkowego nie
b
ę
dziemy widzie
ć
warto
ś
ci po
ś
rednich, gdy
ż
na podgl
ą
dzie programu nie jest wy
ś
wietlana zawarto
ść
rejestru
w momencie wykonywania danego szczebla , tylko po wykonaniu całego programu.
W stanie Online nad rejestrami wy
ś
wietlana jest na zielono ich zawarto
ść
. W stanie Offline nad rejestrami
wy
ś
wietlane s
ą
na czerwono ustawienia wst
ę
pne rejestrów Initial Value definiowane w oknie Inspector’a.
Obsługa wej
ść
i wyj
ść
analogowych
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
5
Ustawienia wst
ę
pne stosuje si
ę
wówczas, gdy nie chcemy,
ż
eby program startował z zerowymi warto
ś
ciami
w rejestrach. Przesyła si
ę
je do sterownika funkcj
ą
Download Active Target w stanie Stop sterownika.
Bloki DINT traktuj
ą
parametry IN1 i IN2 oraz Q jako typu DINT, niezale
ż
nie od tego, jaki typ zmiennych został
zadeklarowany.
W powy
ż
szym przykładzie rejestry zachodz
ą
na siebie (starsza cz
ęść
parametru IN1 pokrywa si
ę
z młodsz
ą
cz
ęś
ci
ą
parametru IN2, równie
ż
starsza cz
ęść
parametru IN2 pokrywa si
ę
z młodsz
ą
cz
ęś
ci
ą
wyniku Q).
Oprogramowanie narz
ę
dziowe tego nie zabrania i nie sygnalizuje bł
ę
du ani ostrze
ż
enia. Programista sam
powinien pami
ę
ta
ć
o tym,
ż
eby przy stosowaniu bloków typu DINT lub REAL stosowa
ć
adresy rejestrów
z przeskokiem o jeden.
Je
ż
eli parametrami wej
ś
ciowymi lub wyj
ś
ciowymi bloku typu INT s
ą
referencje o organizacji binarnej, to musz
ą
si
ę
zaczyna
ć
od granicy bajtu.
W powy
ż
szym programie po wykonaniu funkcji Validate oprogramowanie sygnalizuje Error: Invalid Address,
co uniemo
ż
liwia przesłanie programu do sterownika. Prawidłowo program powinien wygl
ą
da
ć
tak:
Obsługa wej
ść
i wyj
ść
analogowych
6
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
Funkcja Validate w poni
ż
szym przykładzie sygnalizuje Error: Input operand does not contain a valid memory
area, gdy
ż
blok jest typu DINT, a parametrami wej
ś
ciowymi s
ą
referencje o organizacji binarnej (%M, %T).
Zmienn
ą
typu DINT lub REAL mo
ż
na składa
ć
tylko z referencji o organizacji słowowej, czyli %R, %AI, %AQ,
a nie z referencji o organizacji binarnej.
Powy
ż
szy przykład jest prawidłowy dla procesorów 32-bitowych. Dla procesorów 16-bitowych zakres warto
ś
ci
stałej jest ograniczony do przedziału {-32768, +32767} mimo, i
ż
blok jest typu DINT (Error: The constant
40000 does not match the operand type).
Przykład. 1.
Program ma zlicza
ć
w rejestrze SUMA ilo
ść
zał
ą
cze
ń
sygnału WEJ1.
Rozwi
ą
zanie:
Je
ż
eli potrzebujemy zlicza
ć
ilo
ść
zał
ą
cze
ń
sygnału WEJ1, to nie mo
ż
na tego zrealizowa
ć
w sposób
nast
ę
puj
ą
cy:
bo w rejestrze SUMA b
ę
dzie liczba cykli procesora, które program zliczył w czasie, gdy WEJ=1. Je
ś
li
potrzebujemy zlicza
ć
ilo
ść
zał
ą
cze
ń
sygnału WEJ1, to trzeba skorzysta
ć
z cewki wykrywaj
ą
cej zbocze
narastaj
ą
ce sygnału. Wówczas do rejestru SUMA zostanie dodana jedynka dokładnie raz po zał
ą
czeniu
WEJ1, a nie tyle razy, ile zd
ąż
y przej
ść
cykli sterownika.
Obsługa wej
ść
i wyj
ść
analogowych
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
7
Przykład. 2.
Zrealizowa
ć
program bilansuj
ą
cy pewn
ą
wielko
ść
, której warto
ść
znajduje si
ę
w rejestrze R00001. Zakładamy
ż
e bilansowanie odbywa si
ę
na podstawie próbek pobieranych co 1 sekund
ę
. Sygnał na wej
ś
ciu I00001
powoduje rozpocz
ę
cie/kontynuacj
ę
bilansowania, sygnał na I00002 powoduje zako
ń
czenie/przerwanie
bilansowania. Wynik bilansowania powinien by
ć
dost
ę
pny w rejestrze R00003. Bilansowanie powinno
odbywa
ć
si
ę
przy u
ż
yciu liczb podwójnej precyzji. Program powinien sygnalizowa
ć
przekroczenie
dopuszczalnego zakresu warto
ś
ci w rejestrze R00003.
Rozwi
ą
zanie:
Sygnał na wej
ś
ciu I00001 powoduje trwałe zał
ą
czenie przeka
ź
nika M00001, natomiast sygnał na wej
ś
ciu
I00002 powoduje trwałe wył
ą
czenie przeka
ź
nika M00001. Do taktowania procesowi bilansowania
wykorzystano zmienn
ą
systemow
ą
%S00005 (generator czasu 1 [s]). Je
ż
eli przeka
ź
nik M00001 jest
zał
ą
czony to w momencie zbocza narastaj
ą
cego sygnału generowanego przez zmienna %S00005 nast
ę
puje
zadziałanie bloku dodawania o podwójnej precyzji ADD_DINT. Przeka
ź
nik T00002 informuje nas
o przekroczeniu dopuszczalnego zakresu dla liczb całkowitych o podwójnej precyzji (warto
ś
ci +2147483647).
Przykład. 3.
Zakładamy,
ż
e do 4 rejestrów o nazwach POMIAR1, POMIAR2, POMIAR3 i POMIAR4 s
ą
przekazywane
odczyty czterech temperatur mierzonych w zakresie 0-1000
°
C. Napisa
ć
program obliczaj
ą
cy
ś
redni
ą
arytmetyczn
ą
z czterech temperatur z dokładno
ś
ci
ą
do 1°C. Obliczona
ś
rednia ma by
ć
przechowywana
w rejestrze o nazwie SREDNIA. Zmiana któregokolwiek pomiaru ma powodowa
ć
od razu uaktualnienie
obliczanej
ś
redniej.
Obsługa wej
ść
i wyj
ść
analogowych
8
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
Rozwi
ą
zanie:
Przykład. 4.
Napisa
ć
program przeskalowuj
ą
cy warto
ś
ci mierzone na wej
ś
ciu analogowym na jednostki fizyczne
w zakresie 200÷700
°
C. Wynik po przeskalowaniu ma by
ć
przechowywany w rejestrze o nazwie TEMP.
TEMP
700
575
450
325
200
0
8000
16000
24000
32000
WE_ANAL
Rozwi
ą
zanie:
Mo
ż
na skorzysta
ć
z równania prostej y=a*x+b. Współrz
ę
dne dwóch punktów np. (0, 200) i (32000, 700)
wyznacz
ą
równanie prostej.
b
a
0
200
+
•
=
b = 200
200
a
32000
700
+
•
=
64
1
a
=
200
+
=
64
x
y
Zamiast mno
ż
y
ć
%AI0001 przez 1/64 wystarczy %AI0001 podzieli
ć
przez 64.
Obsługa wej
ść
i wyj
ść
analogowych
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
9
BLOKI ADVANCED MATH
Ze wzgl
ę
du na konieczno
ść
działania na liczbach zmiennoprzecinkowych (z wyj
ą
tkiem bloku SQRT_INT
i SQRT_DINT) bloki zaawansowanej matematyki wymagaj
ą
procesorów 32-bitowych.
Blok funkcyjny
Typ argumentów
Opis
IN: REAL
Q: REAL
Q:= sin (IN)
IN: REAL
Q: REAL
Q:= cos (IN)
IN: REAL
Q: REAL
Q:= tan (IN)
IN: REAL
Q: REAL
Q:= asin (IN)
IN: REAL
Q: REAL
Q:= acos (IN)
IN: REAL
Q: REAL
Q:= atan (IN)
IN: REAL
Q: REAL
Q:= log (IN)
IN: REAL
Q: REAL
Q:= ln (IN)
Obsługa wej
ść
i wyj
ść
analogowych
10
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
IN: REAL
Q: REAL
Q:= e
IN
IN1: REAL
IN2: REAL
Q: REAL
Q:= IN1
IN2
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała
Brak
enable
•
IN*
•
•
•
•
ok
•
•
Q
•
•
•
• Dozwolony typ parametru.
* W przypadku funkcji EXPT, parametr wej
ś
ciowy
IN jest zast
ę
powany przez parametry wej
ś
ciowe
IN1 i IN2.
Blok funkcyjny
Typ argumentów
Opis
IN: INT, DINT lub REAL
Q: INT, DINT lub REAL
IN
Q
=
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała
Brak
enable
•
IN
○
○
○
○
○
•
•
•
•!
ok
•
•
Q
○
○
○
○
○
•
•
•
• Dozwolony typ parametru.
○
Mo
ż
e by
ć
wykorzystany wył
ą
cznie jako parametr do operacji na danych typu INT. Nie mo
ż
na go
wykorzystywa
ć
w przypadku operacji na danych typu DINT i REAL.
! Dla procesorów 16-bitowych (CPU31x/32x/33x/34x) w operacjach wykonywanych na danych typu DINT,
warto
ś
ci stałe s
ą
ograniczone do przedziału INT {-32768, +32767}.
BLOKI RELACJI DLA SERII 90-30 I VERSAMAX
Bloki relacji słu
żą
do porównania dwóch parametrów wej
ś
ciowych. Je
ż
eli wynik porównania jest pozytywny, to
blok ustawia jedynk
ę
na wyj
ś
ciu
Q. Wyj
ś
cie Q ma charakter przepływ, a wi
ę
c nale
ż
y podł
ą
czy
ć
do niego
symbol cewki.
W sterownikach GE Fanuc dost
ę
pne s
ą
nast
ę
puj
ą
ce bloki relacji:
EQ
równo
ść
NE
nierówno
ść
,
GT
wi
ę
kszo
ść
,
LE
mniejszy lub równy,
LT
mniejszo
ść
,
GE
wi
ę
kszy lub równy,
RANGE
zakres
Obsługa wej
ść
i wyj
ść
analogowych
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
11
Blok funkcyjny
Typ argumentów
Opis
IN1: INT, DINT lub REAL
IN2: INT, DINT lub REAL
Q: BOOL
Równe
Q:= (IN1 = IN2)
IN1: INT, DINT lub REAL
IN2: INT, DINT lub REAL
Q: BOOL
Ró
ż
ne
Q:= (IN1
≠
IN2)
IN1: INT, DINT lub REAL
IN2: INT, DINT lub REAL
Q: BOOL
Wi
ę
ksze
Q:= (IN1 > IN2)
IN1: INT, DINT lub REAL
IN2: INT, DINT lub REAL
Q: BOOL
Wi
ę
ksze lub równe
Q:= (IN1
≥
IN2)
IN1: INT, DINT lub REAL
IN2: INT, DINT lub REAL
Q: BOOL
Mniejsze
Q:= (IN1 < IN2)
IN1: INT, DINT lub REAL
IN2: INT, DINT lub REAL
Q: BOOL
Mniejsze lub równe
Q:= (IN1
≤
IN2)
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała
Brak
enable
•
IN1
○
○
○
○
○
•
•
•
•!
IN2
○
○
○
○
○
•
•
•
•!
Q
•
•
• Dozwolony typ parametru.
○
Mo
ż
e by
ć
wykorzystany wył
ą
cznie jako parametr do operacji na danych typu INT. Nie mo
ż
na go
wykorzystywa
ć
w przypadku operacji na danych typu DINT i REAL.
! Dla procesorów 16-bitowych (CPU31x/32x/33x/34x) w operacjach wykonywanych na danych typu INT,
warto
ś
ci stałe s
ą
ograniczone do przedziału INT {-32768, +32767}.
Obsługa wej
ść
i wyj
ść
analogowych
12
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
Blok RANGE sprawdza, czy parametr wej
ś
ciowy
IN mie
ś
ci si
ę
w granicach mi
ę
dzy
L1 i L2.
Blok funkcyjny
Typ argumentów
Opis
L1: INT, DINT lub WORD
L2: INT, DINT lub WORD
IN: INT, DINT lub WORD
Q: BOOL
Q:= (L1
≤
IN
≤
L2)
lub
Q:= (L2
≤
IN
≤
L1)
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała
Brak
enable
•
L1
○
○
○
○
○
•
•
•
•!
L2
○
○
○
○
○
•
•
•
•!
IN
○
○
○
○
○
•
•
•
Q
•
•
• Dozwolony typ parametru.
○
Mo
ż
e by
ć
wykorzystany wył
ą
cznie jako parametr do operacji na danych typu INT lub WORD. Nie mo
ż
na go
wykorzystywa
ć
w przypadku operacji na danych typu DINT.
! Dla procesorów 16-bitowych (CPU31x/32x/33x/34x) w operacjach wykonywanych na danych typu DINT,
warto
ś
ci stałe s
ą
ograniczone do przedziału INT {-32768, +32767}.
Przykład. 5.
Napisa
ć
program powoduj
ą
cy zał
ą
czanie wyj
ś
cia Q00001 w sytuacji, gdy liczba w rejestrze R00001 mie
ś
ci si
ę
w zakresie <100 ; 150>, liczba w rejestrze R00002 jest wi
ę
ksza lub równa 50 i liczba w rejestrze R00003 jest
równa 45.
Rozwi
ą
zanie:
Blok RANGE_INT sprawdza czy liczba w R00001 mie
ś
ci si
ę
w zakresie <100 ; 150>, blok GE_INT
odpowiedzialny jest za sprawdzanie czy liczba w R00002 jest wi
ę
ksza lub równa 50, blok EQ_INT sprawdza
czy liczba w R00003 jest równa 45. Aby zostało zał
ą
czone wyj
ś
cie Q00001 musz
ą
zachodzi
ć
jednocze
ś
nie
powy
ż
sze relacje.
BLOKI KONWERSJI
Ka
ż
dy typ sterownika GE Fanuc umo
ż
liwia przeprowadzenie konwersji kodów:
−
INT_TO_BCD4 konwersja z kodu dwójkowego na kod BCD,
−
BCD4_TO_INT konwersja z kodu BCD na kod dwójkowy.
Inne bloki konwersji s
ą
zale
ż
ne od u
ż
ytej jednostki CPU.
Obsługa wej
ść
i wyj
ść
analogowych
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
13
Blok funkcyjny Typ argumentów
Opis
IN: INT
Q: REAL
Konwersja INT na REAL
Q:= konwersja (IN)
IN: WORD
Q: REAL
Konwersja WORD na REAL
Q:= konwersja (IN)
IN: DINT
Q: REAL
Konwersja DINT na REAL
Q:= konwersja (IN)
IN: BCD4
Q: REAL
Konwersja BCD na REAL
Q:= konwersja (IN)
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała Brak
enable
•
IN
○
○
○
○
○
•
•
•
•
ok
•
•
Q
•
•
•
• Dozwolony typ parametru.
○
Zmienna danego typu nie mo
ż
e by
ć
zastosowana w przypadku konwersji DINT_TO_REAL.
Blok funkcyjny Typ argumentów
Opis
IN: REAL
Q: INT
Konwersja REAL na INT z zaokr
ą
glaniem
Q:= konwersja (IN)
IN: BCD4
Q: INT
Konwersja BCD na INT
Q:= konwersja (IN)
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała
Brak
enable
•
IN
○
○
○
○
○
•
•
•
•
ok
•
•
Q
•
•
•
•
•
•
•
•
• Dozwolony typ parametru.
○
Zmienna danego typu nie mo
ż
e by
ć
zastosowana w przypadku konwersji REAL_TO_INT.
Blok funkcyjny
Typ argumentów
Opis
IN: INT
Q: BCD4
Konwersja INT na BCD
Q:= konwersja (IN)
Obsługa wej
ść
i wyj
ść
analogowych
14
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała Brak
enable
•
IN
•
•
•
•
•
•
•
•
•
ok
•
•
Q
•
•
•
•
•
•
•
•
• Dozwolony typ parametru.
Blok funkcyjny
Typ argumentów
Opis
IN: REAL
Q: DINT
Konwersja REAL na DINT z zaokr
ą
glaniem
Q:=konwersja (IN)
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała
Brak
enable
•
IN
•
•
•
•
ok
•
•
Q
•
•
•
• Dozwolony typ parametru.
Blok funkcyjny
Typ argumentów
Opis
IN: REAL
Q: WORD
Konwersja REAL na WORD z zaokr
ą
glaniem
Q:=konwersja (IN)
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała
Brak
enable
•
IN
•
•
•
•
ok
•
•
Q
•
•
•
•
•
•
•
•
• Dozwolony typ parametru.
Blok funkcyjny
Typ argumentów
Opis
IN: REAL
Q: INT
Konwersja REAL na INT z obci
ę
ciem miejsc po
przecinku
Q:=konwersja (IN)
IN: REAL
Q: DINT
Konwersja REAL na DINT z obci
ę
ciem miejsc
po przecinku
Q:=konwersja (IN)
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała Brak
enable
•
IN
•
•
•
•
ok
•
•
Q
○
○
○
○
○
•
•
•
• Dozwolony typ parametru.
○
Wył
ą
cznie w przypadku TRUN_INT.
Obsługa wej
ść
i wyj
ść
analogowych
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
15
Przykład. 6.
Napisa
ć
program do sterowania wy
ś
wietlaczem pracuj
ą
cym w kodzie BCD. Na wy
ś
wietlaczu tym powinna by
ć
wy
ś
wietlana liczba z rejestru %R00001, oznaczonego jako „liczba”. Nale
ż
y wykorzysta
ć
wyj
ś
cia sterownika
pocz
ą
wszy od %Q00001, oznaczone jako „wy
ś
wietlacz”.
Rozwi
ą
zanie:
BLOKI DZIAŁAŃ NA DANYCH DLA SERII 90-30 I VERSAMAX
Sterowniki GE Fanuc umo
ż
liwiaj
ą
przeprowadzanie nast
ę
puj
ą
cych operacji na danych:
BLK_CLR - zerowanie okre
ś
lonego obszaru pami
ę
ci,
MOVE - kopiowania okre
ś
lonego obszaru pami
ę
ci w inny obszar pami
ę
ci,
BLKMOV - przesłanie 7 stałych do okre
ś
lonego obszaru pami
ę
ci,
SHFR - ładowanie danych do kolejki FIFO,
Blok funkcyjny
Typ argumentów
Opis
IN: WORD
length: 1-256
Zerowanie bloku referencji zaczynaj
ą
cego si
ę
od parametru
IN i składaj
ą
cego si
ę
z tylu WORD, ile wynosi
length.
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała Brak
enable
•
IN
•
•
•
•
•!
•
•
•
•
ok
•
•
• Dozwolony typ parametru.
! Mo
ż
na stosowa
ć
wył
ą
cznie referencje systemowe %SA, %SB i %SC. Nie mo
ż
na korzysta
ć
z referencji %S.
Blok funkcyjny
Typ argumentów
Opis
IN: INT, WORD, BOOL lub REAL
Q: INT, WORD, BOOL lub REAL
length: 1-256
Kopiowanie bloku referencji zaczynaj
ą
cego
si
ę
od
IN i składaj
ą
cego si
ę
z tylu INT,
WORD, BOOL lub REAL, ile wynosi
length,
do obszaru referencji zaczynaj
ą
cego si
ę
od
Q.
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała Brak
enable
•
IN
•
•
•
•
○
•
•
•
•
•
ok
•
•
Q
•
•
•
•
○
!
•
•
•
•
• Dozwolony typ parametru dla danych typu BOOL, INT i WORD. W funkcji MOVE_BOOL, adresy referencji
dyskretnych %I, %Q, %M i %T nie musz
ą
zaczyna
ć
si
ę
od pierwszego bitu w bajcie. W przypadku danych
typu REAL, dopuszczalne jest stosowanie wył
ą
cznie %R, %AI i %AQ.
Obsługa wej
ść
i wyj
ść
analogowych
16
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
○
Dopuszczalny typ parametru do operacji na danych BOOL lub WORD. Nie mo
ż
na go wykorzystywa
ć
w przypadku operacji na danych typu INT.
! Mo
ż
na stosowa
ć
wył
ą
cznie zmienne systemowe typu %SA, %SB i %SC. Nie mo
ż
na korzysta
ć
ze
zmiennych %S.
Blok funkcyjny
Typ argumentów
Opis
IN1: INT, WORD lub REAL
IN2: INT, WORD lub REAL
IN3: INT, WORD lub REAL
IN4: INT, WORD lub REAL
IN5: INT, WORD lub REAL
IN7: INT, WORD lub REAL
IN7: INT, WORD lub REAL
Q: INT, WORD lub REAL
Wpis 7 stałych
IN1-IN7 do bloku
referencji zaczynaj
ą
cego si
ę
od
Q.
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała Brak
enable
•
IN1–IN7
•
ok
•
•
Q
•
•
•
•
○
!
•
•
•
•
• Dopuszczalny typ parametru. W przypadku danych typu REAL, dopuszczalne jest stosowanie wył
ą
cznie
%R, %AI i %AQ.
○
Mo
ż
e by
ć
wykorzystany wył
ą
cznie jako parametr do operacji na danych typu WORD. Nie mo
ż
na go
wykorzystywa
ć
w przypadku operacji na danych typu INT i REAL.
! Mo
ż
na stosowa
ć
wył
ą
cznie referencje systemowe %SA, %SB i %SC. Nie mo
ż
na korzysta
ć
z referencji %S.
Blok funkcyjny
Typ argumentów
Opis
R: BOOL
IN: WORD lub BOOL
ST: WORD lub BOOL
Q: WORD lub BOOL
length: 0-256
Wstawia
IN do bloku referencji
zaczynaj
ą
cego si
ę
od
ST
i składaj
ą
cego si
ę
z tylu WORD lub
BOOL, ile wynosi
length, przesuwa
dane w bloku referencji oraz
wysuwa ostatni
ą
dan
ą
do
Q.
Wej
ś
cie
R=1 - zeruje blok referencji
zdefiniowany przez
ST i length.
Parametr Przepływ
%I
%Q
%M
%T
%S
%G
%R
%AI
%AQ Stała Brak
enable
•
R
•
IN
•
•
•
•
•
•
•
•
•
•
ST
•
•
•
•
•!
•
•
•
•
ok
•
•
Q
•
•
•
•
•!
•
•
•
•
• Dopuszczalny typ parametru. W funkcji SHFR_BIT adresy referencji dyskretnych %I, %Q, %M i %T nie
musz
ą
zaczyna
ć
si
ę
od pierwszego bitu w bajcie.
! Mo
ż
na stosowa
ć
wył
ą
cznie referencje systemowe %SA, %SB i %SC. Nie mo
ż
na korzysta
ć
z referencji %S.
Obsługa wej
ść
i wyj
ść
analogowych
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
17
Program
ć
wiczenia:
Skonfigurowa
ć
moduł wej
ść
analogowych tak, aby ustawienia trybu pracy modułu pasowały do typu
podł
ą
czonego do niego zadajnika. Sprawdzi
ć
w tablicach
Reference View Table, czy przetwornik A/C działa.
Zad. 1a.
Napisa
ć
podprogram o nazwie ALARM1 wywoływany pod warunkiem,
ż
e WEJ1=1. Podprogram ma
wykrywa
ć
przekroczenie dolne lub górne pomiaru temperatury symulowanego za pomoc
ą
zadajnika
podł
ą
czonego do wej
ś
cia analogowego o nazwie TEMPERATURA i wł
ą
cza
ć
sygnalizacj
ę
przekrocze
ń
na
wyj
ś
ciu o nazwie BUCZEK. Warto
ś
ci progowe przekrocze
ń
w jednostkach wewn
ę
trznych PLC s
ą
podawane
przez operatora w rejestrach PR_GORNY i PR_DOLNY. Nale
ż
y zabezpieczy
ć
program przed startem
z zerowymi warto
ś
ciami progowymi. Program przetestowa
ć
u
ż
ywaj
ą
c
Data Monitor.
t
t
BUCZEK
TEMPERATURA
PR_GORNY
PR_DOLNY
Zad. 1b.
Napisa
ć
podprogram o nazwie ALARM2 wywoływany pod warunkiem,
ż
e WEJ2=1. W podprogramie tym
nale
ż
y znieczuli
ć
wykrywanie przekrocze
ń
na niewielkie zmiany na wej
ś
ciu analogowym za pomoc
ą
histerezy
(odst
ę
pu) o warto
ś
ci podawanej przez operatora w rejestrze HIST.
TEMPERATURA
PR_GORNY - HIST
PR_GORNY
PR_DOLNY
PR_DOLNY + HIST
BUCZEK
t
t
Obsługa wej
ść
i wyj
ść
analogowych
18
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
Zad. 2a.
Napisa
ć
podprogram o nazwie SKALUJ1, kompatybilny ze sterownikami serii 90-30 z procesorem
16-bitowym, przeskalowuj
ą
cy warto
ś
ci mierzone na wej
ś
ciu analogowym na jednostki fizyczne zgodnie
z wykresem. Wynik po przeskalowaniu ma by
ć
przechowywany w rejestrze o nazwie TEMPER. Podprogram
ma by
ć
wykonywany pod warunkiem,
ż
e wej
ś
cie dwustanowe WEJ1=1.
WE_ANAL
16000
32000
TEMPER [
°
C]
8000
24000
1000
840
680
520
360
0
Zad. 2b.
Napisz podprogram o nazwie SKALUJ2 przeskalowuj
ą
cy warto
ś
ci mierzone na wej
ś
ciu analogowym na
jednostki fizyczne zgodnie z wykresem. Wynik po przeskalowaniu ma by
ć
przechowywany w rejestrze
o nazwie CISNIENIE. Podprogram ma by
ć
wykonywany pod warunkiem,
ż
e wej
ś
cie dwustanowe WEJ2=1.
WE_ANAL
0
16000
32000
CISNIENIE
400
450
500
8000
24000
200
Zad. dod. 1.
Napisa
ć
program dla sterownika serii 90-30 z procesorem 32-bitowym, którego zadaniem jest symulacja
działania bloku funkcyjnego SCALE_INT. Program ma skalowa
ć
zgodnie z parametrami podanymi
w rejestrach IHI, ILO, OHI, OLO, IN, a wynik po przeskalowaniu umieszcza
ć
w rejestrze OUT.
Zad. dod. 2.
Niestabilny przycisk START zał
ą
cza prac
ę
pompy (wyj
ś
cie o nazwie POMPA). Rozwierny niestabilny przycisk
STOP wył
ą
cza pomp
ę
. Napisa
ć
program obliczaj
ą
cy w sekundach sumaryczny czas pracy pompy w ci
ą
gu
jednej zmiany. Po zako
ń
czeniu zmiany operator przyciskiem niestabilnym RESET zeruje obliczany czas. Czas
ten chcemy wy
ś
wietla
ć
na tablicy
ś
wietlnej, na której przewidziano 1 cyfr
ę
na godziny, 2 cyfry na minuty
i 2 cyfry na sekundy. Tablica
ś
wietlna akceptuje warto
ś
ci w kodzie BCD. Napisa
ć
program, który b
ę
dzie
zamieniał czas w sekundach na czas wyra
ż
ony w godzinach (w rejestrze o nazwie GODZ), minutach
(w rejestrze o nazwie MIN) i sekundach (w rejestrze o nazwie SEK). Warto
ś
ci w rejestrach GODZ, MIN i SEK
maj
ą
by
ć
w kodzie BCD.
t
Obsługa wej
ść
i wyj
ść
analogowych
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
19
Zad. dod. 3.
Za pomoc
ą
wyj
ś
cia analogowego o nazwie OBR_SILNIKA program steruje obrotami silnika. Po naci
ś
ni
ę
ciu
niestabilnego przycisku START w ci
ą
gu 20 s warto
ś
ci na wyj
ś
ciu analogowym maj
ą
stopniowo zwi
ę
ksza
ć
si
ę
od 0 do 10000,. Po osi
ą
gni
ę
ciu warto
ś
ci 10000 nale
ż
y utrzymywa
ć
j
ą
, a
ż
do naci
ś
ni
ę
cia rozwiernego
niestabilnego przycisku STOP. Wówczas w ci
ą
gu 5 s nale
ż
y zmniejsza
ć
warto
ś
ci na wyj
ś
ciu analogowym, a
ż
do zatrzymania obrotów silnika.
20 s
t [s]
START
OBR_SILNIKA
10000
STOP
5 s
Zad. dod. 4.
Zmodyfikuj program sterowania modelem d
ź
wigu pi
ę
ciopoziomowego tak, aby program zliczał, ile razy
uruchomiono wind
ę
. Stan licznika nale
ż
y wy
ś
wietli
ć
na wy
ś
wietlaczu siedmiosegmentowym. Wy
ś
wietlacz
akceptuje dane w kodzie BCD. Po doliczeniu do 9, nale
ż
y wł
ą
czy
ć
sygnał d
ź
wi
ę
kowy, kasowany niestabilnym
przyciskiem ALARM. Naci
ś
ni
ę
cie przycisku ALARM ma wyzerowa
ć
stan licznika.
Zad. dod. 5.
Zmodyfikuj program sterowania modelem d
ź
wigu pi
ę
ciopoziomowego tak, aby program wy
ś
wietlał na
wy
ś
wietlaczu siedmiosegmentowym numer pi
ę
tra, na którym aktualnie znajduje si
ę
kabina. Wy
ś
wietlacz
akceptuje dane w kodzie BCD.
Wymagana wiedza:
-
typy zmiennych w sterownikach GE Fanuc,
-
działanie bloków funkcyjnych z grupy Math, Advanced Math, Relational, Conversions, Data Move,
-
rodzaje sygnałów w systemach sterowania,
-
działanie modułów wej
ść
i wyj
ść
analogowych w sterownikach GE Fanuc,
-
skalowanie sygnałów analogowych,
-
metody programowania sterowników PLC (norma IEC61131-3) – j
ę
zyk stykowo-przeka
ź
nikowy,
-
podstawy obsługi oprogramowania narz
ę
dziowego Proficy ME Logic Developer PLC.
Warunek zaliczenia:
-
obecno
ść
na zaj
ę
ciach,
-
wykazanie si
ę
wymagan
ą
wiedz
ą
w trakcie
ć
wicze
ń
,
-
wykonanie zada
ń
według instrukcji. Podprogramy a i b powinny znajdowa
ć
si
ę
w jednym projekcie
o nazwie: T5_X_ZZ (X – nr zadania, ZZ – nr sekcji). Wszystkie projekty powinny zawiera
ć
konfiguracj
ę
zgodn
ą
ze sprz
ę
tem znajduj
ą
cym si
ę
na stanowisku, nazwy zmiennych zgodne z tre
ś
ci
ą
zadania
i komentarze. Konfiguracja sterownika powinna posiada
ć
adresy referencji dwustanowych zaczynaj
ą
ce
si
ę
od numeru referencji wyliczanego ze wzoru:
nr sekcji * 8 – 7
oraz adresy referencji analogowych zaczynaj
ą
ce si
ę
od numeru sekcji. W komentarzu powinny znale
źć
si
ę
nazwiska członków sekcji oraz opis programu.
-
przesłanie backup’ow projektów w terminie podanym w systemie e-learning’u,
-
pozytywne zaliczenie projektów,
-
uzyskanie pozytywnej oceny z ustnej lub pisemnej odpowiedzi na pytania kontrolne.
-
zadania dodatkowe nale
ż
y przysyła
ć
w systemie e-learning’u w projektach o nazwach T5_X_nazwisko.
Nie s
ą
one wymagane do zaliczenia, natomiast prawidłowo rozwi
ą
zane przez pierwsz
ą
osob
ę
w grupie s
ą
premiowane ocen
ą
bardzo dobr
ą
.
Obsługa wej
ść
i wyj
ść
analogowych
20
Laboratorium Podstaw Automatyki I Regulacji Automatycznej II
Literatura:
[1] Maczy
ń
ski A. Sterowniki Programowalne PLC. Budowa systemu i podstawy programowania.
Astor, Kraków 2002.
[2] Oprogramowanie Proficy Machine Edition. Logic Developer PLC - pakiet do programowania sterowników
GE Fanuc. Pierwsze kroki. Astor Kraków.
GFK-1918F-PL
[3] Sterowniki serii VersaMax. Podr
ę
cznik u
ż
ytkownika. Astor Kraków 2001.
GFK1503C-PL
[4] Sterowniki serii VersaMax Micro/Nano. Opis funkcji. Astor Kraków.
LI
−
ASK
−
OF
−
GE1
[5] Zbiór zada
ń
dla sterowników GE Fanuc serii 90-30, VersaMax, VersaMax Micro/Nano wraz z przykładami
rozwi
ą
za
ń
. LI-ASK-ZZ-GE3
[6] Legierski T., Kasprzyk J., Wyrwał J., Hajda J., Programowanie sterowników PLC, Wydawnictwo Pracowni
Komputerowej Jacka Skalmierskiego, Gliwice 1998.