Moduły
analogowe
Na przykładzie sterowników
Omron
Mateusz
Stojek
Jakub Zachara
1/81
Co to jest moduł analogowy
?
Moduł analogowy – jest to karta
wejść (wyjść) analogowych, która
podpięta do sterownika, pozwala mu
na odczyt (wysyłanie) sygnałów
analogowych.
W sterownikach modułowych są specjalne moduły wpinane do szyny
głównej, a w sterownikach kompaktowych istnieje możliwość
dokupienia specjalnych modułów rozszerzeń.
2/81
Moduł
wejść
analogowych
– przetwornik
A/D
Moduł
wyjść
analogowych
– przetwornik
D/A
Co to jest moduł
analogowy ?
3/81
Zastosowania modułów
analogowych
wejściowych
Zastosowania modułów
analogowych
wyjściowych
- pomiar temperatury
- pomiar ciśnienia
- pomiar prędkości
- pomiar przepływu
- pomiar położenia
- pomiar napięcia, prądu,
mocy
- regulacja temperatury
- regulacja prędkości
- regulacja prędkości
obrotowej
- rejestracja danych
Zastosowanie
4/81
Zastosowanie
5/81
Zastosowanie
6/81
Idea działania
Moduł wejściowy:
Sygnał z wejścia jest kwantowany z odpowiednią rozdzielczością
i zamieniany na liczbę która jest zapisywana w specjalnie
przydzielonym miejscu w pamięci. Odpowiednie skalowanie
pozwala dostosować wartości tych liczb do wartości sygnału
wejściowego (napięciowego lub prądowego).
Moduł wyjściowy:
W odpowiednim miejscu w pamięci może zostać zapisana liczba.
Jest ona przetwarzana zgodnie z rozdzielczością i ewentualnie
wybraną skalą na odpowiadającą mu wartość sygnału
wyjściowego (napięciowego lub prądowego).
7/81
Parametry
1. Liczba wejść/wyjść analogowych:
1, 2, 4, 8
2. Rodzaj sygnału:
napięciowy/prądowy
3. Zakres sygnału:
0 5 [V], 0
10 [V], -10
10[V],
1 5 [V] 0 20 [mA], 4 20 [mA]
4. Rozdzielczość przetwornika A/D, D/A:
1/6000,
1/4000
5. Czas konwersji:
ms/kanał, ms/moduł
6. Izolacja
galwaniczna moduł/CPU
8/81
Rozdzielczość
Rozdzielczość mówi nam o tym jaką minimalną zmianę sygnału
możemy określić, czyli jest to ilość punktów na jaką podzielony
jest zakres sygnału we/wy i jest dla danego modułu stała.
Jeśli np. moduł ma rozdzielczość 1/4000 i ustalimy zakres 0 – 10
[V], to wtedy zakres 10 [V] dzielimy na 4000 punktów i dostajemy,
że na jeden punkt przypada 0,0025 [V].
Jeśli moduł ma rozdzielczość 1/6000 to przy zakresie 0 – 10 [V] na
jeden punkt przypada 0,0017 [V].
NIE MYLIĆ ZE SŁOWEM W PAMIĘCI ODPOWIADAJĄCYM
ZA WARTOŚĆ SYGNAŁU WYJŚCIOWEGO !!!
9/81
Rozdzielczość
Słowo zapisywane w pamięci, które odpowiada za wartość
wejściową lub wyjściową modułu jest zapisywane w formacie
szesnastkowym – HEX (chyba że w dokumentacji jest podane
inaczej).
Zatem jeśli mamy moduł wyjść analogowych o rozdzielczości 1/4000 i
ustalimy zakres 0 – 10 [V], to (jeśli dokumentacja nie podaje inaczej) aby
na wyjściu otrzymać 0 [V] należy zapisać w odpowiednim rejestrze liczbę
0. Natomiast aby otrzymać na wyjściu 10 [V] należy zapisać w tym
rejestrze liczbę 0FA0
HEX
= 4000. Zmiana wartości w tym rejestrze o 1
będzie odpowiadała zmianie napięcia wyjściowego o 0,0025 [V].
Pierwsze 4 bity rejestru w którym ustalamy wartość sygnału wyjściowego
odpowiadają za znak. Jeśli mamy zakres 0 – 10 [V] to te bity zawsze będą
równe 0. Będą się one zmieniać natomiast przy zakresie -10 do 10 [V].
Można zobaczyć na charakterystykach, które producent udostępnia w
dokumentacji każdego modułu.
10
/81
Charakteryst
yki
Analogicznie wygląda sytuacja dla wejść analogowych, tylko w tym wypadku mamy sytuacje
odwrotną, czyli na podstawie sygnału jaki podamy na wejście odpowiadająca mu liczba jest
zapisywana w odpowiednim rejestrze.
11
/81
Dodatkowe
funkcje
1. Obliczanie wartości średniej
2. Wykrywanie przerwy w obwodzie
(dla zakresu: 1 – 5 [V] i 4 – 20 [mA])
3. Pamiętanie wartości maksymalnej
4. Przeskalowanie wejścia (ograniczenie wyjścia)
5. Dodanie składowej stałej
6. Dostrajanie (do odbiornika) ADJUSTMENT
wartości min - OFFSET i max - GAIN
12
/81
Obsługa modułu
1. Podłączenie modułu do szyny sterownika (sterownik
modułowy)
lub
do
sterownika
(sterownik
kompaktowy).
2. Fizyczne podłączenie kabli do modułu.
3. Konfiguracja modułu do odpowiedniego trybu pracy.
4. Napisanie programu obsługującego dany moduł.
UWAGA !!!
Po każdej zmianie konfiguracji modułu należy wyłączyć
i włączyć PLC lub zresetować moduł poprzez ustawienie
odpowiedniego bitu w obszarze AR.
13
/81
Okablowan
ie
Moduł analogowy w
wersji z przewodami
przykręcanymi
śrubkami
Moduł
analogowy
w
wersji z wtyczką.
Przewody
lutujemy
do
odpowiednich
pinów wtyczki
14
/81
CPM1 – MAD11
15
/81
Dane techniczne
16
/81
m
– ostatnie słowo wejściowe CPU lub poprzedniego
modułu
n
– ostatnie słowo wyjściowe CPU lub poprzedniego
modułu
Adresy we/wy
Ilość bitów
wejściowyc
h
Ilość bitów
wyjściowy
ch
17
/81
Przykład przypisania
adresów I/O
18
/81
Adresy słów wejściowych w module analogowym MAD11 to IR2 i IR3
Adres słowa wyjściowego w module analogowym MAD11 to IR12
Konfiguracja w LRSS
(Laboratorium Rozproszonych Systemów
Sterowania)
19
/81
Podłączenie
urządzeń do wejść
analogowych
Do wejścia
napięciowego modułu
Do wejścia prądowego
modułu
Zewrzeć V
IN
oraz
I
IN
!!!
20
/81
Podłączenie
urządzeń do wyjść
analogowych
Do wyjścia
napięciowego modułu
Do wyjścia prądowego
modułu
21
/81
Ustalenie zakresu
we/wy
Kod zakresu sygnałów we/wy należy wpisać do słowa n+1 w
PIERWSZYM CYKLU
n
– ostatnie słowo wyjściowe CPU lub poprzedniego modułu
22
/81
Ustalenie zakresu
we/wy
Np. jeśli chcemy ustawić zakresy wejść/wyjść:
Wejście 0:
4 do 20 [mA] (kod zakresu 100)
Wejście 1:
0 do 10 [V]
(kod zakresu 001)
Wyjście:
- 10 do 10 [V] (kod zakresu 000)
to słowo wpisane do rejestru n+1 będzie postaci:
23
/81
„1” na 15-tym bicie jest konieczne aby sterownik przyjął
dane liczby jako ustawienia zakresów wejść/wyjść
Ustalenie zakresu
we/wy
Wartość wpisana do
rejestru w kodzie BCD to
800D
Fragment programu odpowiedzialny za ustawienie przykładowego
zakresu we/wy
„12” jest to adres słowa
wyjściowego
modułu
MAD11
24
/81
Ustalenie zakresu
we/wy
Ponieważ w sterowniku CPM1 z modułem analogowym MAD11
adresy wejść/wyjść przydzielane są automatyczne, a jedyne
ustawienie to podanie zakresu jaki chcemy przypisać do
danego we/wy, zatem nie używany jest tu bit resetu w celu
zatwierdzenia ustawień ale potrzebne jest ponowne
uruchomienie PLC po podaniu zakresu we/wy.
Wystarczy podać zakres wejść/wyjść w pierwszym cyklu
programu, ale należy odczekać 100 do 200 ms, aby wyjście
analogowe zaczęło działać poprawnie. W tym celu producent
zaleca stosowanie opóźnienia w programach obsługujących
moduły analogowe.
25
/81
Program
Wykonywane
jest
tu
dodawanie binarne co 1,
ponieważ CPM1 nie posiada
komendy
inkrementacji
binarnej. Działanie binarne
jest narzucone tym, iż wartość
w
rejestrze
IR12
odpowiadająca sygnałowi na
wyjściu
analogowym
jest
wartością HEX. Analogicznie
zastosowane
zostało
odejmowanie binarne
26
/81
CQM1 – CPU45
V1
27
/81
Dane techniczne
28
/81
Dane techniczne
Wskaźniki na module (diody
sygnalizacyjne)
29
/81
Podłączenie
urządzeń do wejść
analogowych
wejście
napięcio
we
modułu
wyjście prądowe
urządzenia
podłączanego
Zewrzeć
styki I+ i
V+ !!!
wyjście napięciowe
urządzenia
podłączanego
wejście
prądowe
modułu
30
/81
Podłączenie
urządzeń do wyjść
analogowych
wyjście napięciowe
V+, V-
wyjście prądowe
I+, I-
31
/81
Konfiguracja
modułu
Ustawienia parametrów – dokonujemy w obszarze
pamięci DM
Dla CQM1-CPU45V1 do ustawień parametrów modułu analogowego jest
na stałe przypisany rejestr DM6611.
Adresy wejść/wyjść analogowych – są zlokalizowane w
obszarze pamięci IR
Dla CQM1-CPU45V1 wartości wejść analogowych są zapisywane w
rejestrach IR232 – IR235, natomiast wartości wyjść analogowych są
zlokalizowane w obszarach IR236 – IR237.
32
/81
Konfiguracja
modułu
Rejestr DM6611 NIE może być modyfikowany gdy sterownik jest
w trybie RUN, więc nie możemy zmienić jego ustawień
poleceniem MOV z poziomu programu sterownika. Możemy
zmienić ustawienia rejestru DM6611 tylko gdy sterownik jest w
trybie PROGRAM. Mamy więc do wyboru:
1)
Zgrać pamięć ze sterownika PLC, ustawić odpowiednie bity
słowa DM6611, wgrać pamięć z powrotem do sterownika PLC i
ponownie uruchomić PLC
2)
Użyć
konsoli
programującej
w
celu
odpowiedniej modyfikacji zawartości rejestru
DM6611
33
/81
Konfiguracja
modułu
Możemy w tym rejestrze ustalić które wejścia będą obsługiwane
przez moduł (włączone) oraz jaki zakres sygnału chcemy stosować
na danym wejściu.
34
/81
Konfiguracja
modułu
Na rysunku powyżej widać zrzut pamięci ze sterownika CQM1. W naszym
przypadku wejście 1 zostało ustawione na zakres 0 do 5 V/ 0 do 20 mA.
35
/81
Adresy we/wy w
pamięci
W IR232-IR235 znajdują się liczby odpowiadające wartościom sygnałów z
wejść analogowych.
Do IR236-IR237 możemy wpisać liczby odpowiadające wartościom
sygnału jaki chcemy dostać na wyjściu analogowym.
36
/81
Dodatkowo ustawiane
bity
37
/81
Ustawienia w LRSS
W laboratorium do pierwszego wejścia
analogowego (In1) podłączony został czujnik
temperatury. Jego adres w pamięci sterownika
to IR232. W rejestrze DM6611 zakres sygnału
wejściowego z czujnika został ustalony na 0
do 20 [mA]. Zostanie on wykorzystany w
programie przykładowym.
38
/81
Funkcja
SCL
Funkcja ta została omówiona, gdyż zostanie użyta w programie
przykładowym dla modułu analogowego.
Funkcja SCL jest używana do liniowej konwersji 4 cyfrowej liczby w
systemie HEX na 4 cyfrową liczbę w systemie BCD. W porównaniu z
funkcją BCD która również zamienia HEX na system BCD, funkcja SCL
może dokonać tej zamiany zgodnie z pewną zależnością liniową którą
określają parametry zawarte w rejestrach P1 do P1+3. Wynik operacji jest
zaokrąglany do najbliższej wartości całkowitej i umieszczany w rejestrze
wyniku R. Jeśli wynik jest mniejszy niż 0000 to do R zapisywane jest 0000,
jeśli wynik jest większy niż 9999 to do R zapisywane jest 9999.
39
/81
Funkcja
SCL
40
/81
Funkcja SCL -
skalowanie
W przypadku LRSS dla układu podpiętego do sterownika CQM1 został
użyty czujnik temperatury o zakresie pomiarowym podanym przez
producenta 0 do 300
0
C oraz podawanym sygnale prądowym 4 do 20 mA.
Przy skalowaniu wartości wyświetlanej zostało więc przyjęte że przy
sygnale 4 mA czujnik znajduje się w temperaturze 0
0
C, natomiast przy
sygnale 20 mA czujnik znajduje się w temperaturze 300
0
C.
Zatem jeśli moduł analogowy sterownika CQM1 ma rozdzielczość 12-bit
czyli 4096 punktów oraz wejście 1 pod które podpięty jest czujnik ma
zakres 0 do 20 mA to 4 mA na wejściu 1 odpowiadają liczbie punktów
333
HEX
= 819, natomiast 20 mA na wejściu 1 odpowiada liczbie 1000
HEX
=
4096. Dlatego do funkcji skalowania zostały przyjęte wartości:
P1 = 0
P1+1 = 333
P1+2 = 300
P1+3 = 1000
Dane te zostały wpisane do rejestrów w pierwszym cyklu programu.
41
/81
42
/81
Została
tu
wykorzystana funkcja
SCL która służy do
skalowania wartości z
formatu binarnego na
określony zakres w
formacie BCD.
Program
C200H – AD002 i
DA001
43
/81
AD002: Dane
techniczne
Znaczenie lampek na przednim
panelu
44
/81
Okablowanie
Wejście
napięciowe
Wejście
prądowe
Zewrzeć
styki I+ i
V+
45
/81
Ustawienie numeru
modułu
W LRSS numer modułu ustawiony jest na „3” co oznacza że obszar
odpowiadający konfiguracji ustawień modułu to DM1300 do DM1343 a
obszar gdzie przechowywane są wartości sygnałów wejściowego i
wyjściowego to IR130 do IR139.
46
/81
Konfiguracja modułu
Konfiguracja ustawień modułu dokonywana jest w ściśle
określonym obszarze DM. Konfiguracji należy dokonać przed
wgraniem programu do sterownika oraz trzeba pamiętać że po
KAŻDEJ zmianie konfiguracji należy ZRESETOWAĆ moduł
poprzez:
1) Wyłączenie i ponowne załączenie zasilania PLC
albo
2) Ustawienie odpowiedniego bitu resetu w obszarze AR0100 do
AR0109
W przypadku LRSS bit resetu to AR0103
Natomiast
wartości
wejść/wyjść
modułu
analogowego
przechowywane są w ściśle określonym obszarze IR.
47
/81
Ustawienia zakresów
wejść analogowych
m = 1000 + 100 x numer
modułu
Numer modułu = 3 => m =
1300
48
/81
Ustawienia zakresów
wejść analogowych
Przykład ustawienia zakresów
wejść
49
/81
Funkcje modułu
• Square root – konwertuje dane nieliniowe, jak np. wejście z
termopary na dane liniowe
• Skalowanie
• Obliczenie wartości średniej
• Pamiętanie wartości maksymalnej
• Alarmy przekroczenia wartości granicznych
• Alarm rozłączenia obwodu (tylko dla zakresów 1-5 V i 4-20 mA)
50
/81
Funkcje modułu
51
/81
Adresy wejść w
pamięci
n = 100 + 10 x numer
modułu Numer modułu = 3
więc n = 130
52
/81
DA001: Dane
techniczne
53
/81
Okablowanie
54
/81
Ustawienie zakresu
wyjść
Ponieważ w przypadku modułu DA001
konfigurację
wyjść
dokonuje
się
na
przełącznikach na tylnim panelu, a nie
programowo na obszarze DM, więc nie
używa się tutaj bitu restartu. Może on być
jednak
wykorzystany
w
przypadku
konieczności resetu modułu z powodu
wystąpienia błędów. W LRSS jest to AR0104.
55
/81
Przydział pamięci
W LRSS numer modułu ustawiony jest na 4, zatem obszar
pamięci przydzielony dla wyjść analogowych to
IR140 do
IR149
56
/81
Wartość wyjściowa
n = 100 + Numer modułu x 10
Dla Numer modułu = 4 mamy n = 140
57
/81
Konfiguracja w
laboratorium
Wyjścia analogowe:
Zakres sygnału wyjściowego ( ustawiony z tyłu ): 4 - 20 mA
Nr wyjścia: 2 wyjście prądowe: słowo; 141
Wejścia analogowe:
Zakres sygnału wejściowego: -10 do 10 V
Nr wejścia: 2 wejście napięciowe; słowo: 131
58
/81
Program
59
/81
Moduł MAD01
60
/81
Dane techniczne
61
/81
Okablowanie
62
/81
Przydział
pamięci
Moduł MAD01 został oryginalnie zaprojektowany dla sterownika C200HS, ale
ponieważ sterownik CS1G jest zgodny z C200HS więc MAD01 może z nim
współpracować. Różnią się jednak adresy obszaru D i CIO w przypadku gdy
moduł MAD01 pracuje z CS1G. Wtedy mamy:
D = 20000 + Numer modułu x 100
CIO = 2000 + Numer modułu x 10
63
/81
Przydział
pamięci
W LRSS mamy ustawiony Numer modułu na 4 co daje nam
zakres obszaru konfiguracji modułu:
D20400 do D20499
Zakres obszaru wartości wejść/wyjść
CIO2040 do CIO2049
Jak widać sterownik CS1G rezerwuje sobie dużo pamięci (100 słów w
obszarze D i 10 słów w obszarze CIO). Wynika to z faktu, iż ma on
znacznie rozbudowane różne dodatkowe funkcje.
Dodatkowo jest to nowy sterownik więc posiada nowe nazewnictwo: D
jest to nowe oznaczenie obszaru DM, a CIO jest obszarem we/wy
oznaczanym w starych sterownikach przez IR.
64
/81
Konfiguracja
we/wy
m = 20000 + Numer modułu x
100
65
/81
Ustawienia
bitów
66
/81
Konfiguracja
we/wy
Należy pamiętać aby po każdej zmianie konfiguracji
modułu:
1) Wyłączyć i ponownie załączyć zasilanie PLC
albo
2) Ustawić odpowiedni bit resetu w obszarze AR
W przypadku konfiguracji w laboratorium jest to bit
AR502.04
W przypadku sterownika CS1G wraz z modułem MAD01 istnieje
alternatywna metoda konfiguracji modułu. Można zgrać tablicę
wejść/wyjść (I/O Table) ze sterownika. Skonfigurować odpowiednio
moduł przy jej pomocy, a następnie z powrotem wgrać tablicę
wejść/wyjść do sterownika.
67
/81
68
/81
Konfiguracja
we/wy z użyciem
I/O Table
Jeśli chcemy się posłużyć I/O Table to
musimy
być
połączeni
ze
sterownikiem oraz powinien on być
w trybie „Program”. Następnie
wybieramy z drzewka opcji po lewej
stronie w CX-Programmer „IO Table
and Unit Setup” i w nowo
otwartym oknie klikamy na ikonę
„Transfer from PLC”. Spowoduje to
zgranie ustawień z PLC do naszego
CX-Programmer’a. Możemy teraz
wejść do ustawień tak jak widać na
rysunku obok.
69
/81
Konfiguracja
we/wy z użyciem
I/O Table
Konfiguracja
we/wy z użyciem
I/O Table
70
/81
Konfiguracja
we/wy z użyciem
I/O Table
71
/81
Konfiguracja
we/wy z użyciem
I/O Table
72
/81
Konfiguracja
we/wy z użyciem
I/O Table
73
/81
Funkcja pętli -
Loop
Ciekawą funkcją modułu MAD01 jest funkcja pętli „Loop” która działa na
zasadzie przepisania wejścia na wyjście po przetworzeniu sygnału z
wejścia w sposób opisany funkcją o współczynnikach A i B, które to były
widoczne w ustawieniach w I/O Table.
Wybór Loop1 powoduje działanie Wejście 1 -> Przeliczenie wartości
-> Wyjście 1 Wybór Loop2 powoduje działanie Wejście 2 ->
Przeliczenie wartości -> Wyjście 2
Przy wybraniu „Ratio
bias calculation” na
„Use
positive
gradient”
otrzymujemy:
74
/81
Przy wybraniu „Ratio bias calculation” na „Use negative gradient”
otrzymujemy:
Funkcja pętli -
Loop
75
/81
Adresy we/wy
n = 2000 + Numer modułu x
10
76
/81
Wartości bitów
77
/81
Konfiguracja
modułu
78
/81
Wpisanie liczb do rejestrów D powoduje ustalenie żądanej konfiguracji.
Następnie należy ustawić bit resetu aby zmiany zostały zatwierdzone. W
przypadku LRSS jest to A502.04
Program
79
/81
Program
80
/81
KONIEC
81
/81