realizacja_rozszerzenia_ilosci_wejsc_wyjsc_sterownika_jazz_wire_chip.pdf

(518 KB) Pobierz
Łatwa realizacja rozszerzenia wyjść cyfrowych
sterownika JAZZ i Vision firmy UNITRONICS za pomocą
modułu WIRE-CHIP i modułów ADAM firmy Advantech
Sterownik JAZZ posiada maksymalnie 16 wejść cyfrowych DC i 20 wyjść cyfrowych.
Jedyną możliwością rozszerzenia ilość wejść / wyjść jest podłączenie do tego sterownika
modułów z komunikacją szeregową RS-232 lub RS-485. Można również wybrać sterownik
z innej serii (np. Vision) i użyć moduły rozszerzające dedykowane oferowane przez firmę
UNITRONICS. Druga możliwość zmienia znacznie koszty przedsięwzięcia.
Pozostańmy przy rozszerzeniu ilości wejść / wyjść prostego sterownika JAZZ.
Napisanie oprogramowania skutecznie obsługującego wiele modułów w języku
drabinkowym jest pewnym wyzwaniem programistycznym, które dodatkowo zajmuje sporą
część pamięci programu i innych zasobów JAZZa. W takiej sytuacji warto sięgnąć po
moduł WIRE-CHIP H3.1, którego naturalne możliwości (pierwotnie – wielopunktowy
pomiar temperatury) zostały „w wyniku ewolucji” (od roku 2005) rozszerzone o obsługę
protokołu MODBUS RTU w trybie MASTER. Obsługa wspomnianego protokołu w
połączeniu z bogatym zestawem makroinstrukcji daje programiście ogromne możliwości
budowania komunikacji MODBUS RTU między wieloma urządzeniami przemysłowymi
obsługującymi ten standard. Mimo rozbudowanych możliwości, tworzenie komunikacji
za pomocą makroinstrukcji jest proste – chcemy to pokazać w niniejszym artykule.
Ponadto rozbudowa wejść / wyjść sterowników Vision w oparciu o moduł WIRE-CHIP i
moduły ADAM jest znacznie tańsza niż z wykorzystaniem dedykowanych modułów
rozszerzających firmy UNITRONICS. Jeśli dodamy do tego fakt, że stosując moduł WIRE-
CHIP zyskujemy jednocześnie wielopunktowy pomiar temperatury (max 64 czujniki) - jest
to warte uwagi rozwiązanie.
Spis treści
Opis połączeń elektrycznych:................................................................................................2
Oprogramowanie sterownika PLC.........................................................................................3
Oprogramowanie modułu WIRE-CHIP – makroinstrukcje.....................................................4
Moduły analogowe, komunikacja między sterownikami........................................................6
Analiza kosztów rozszerzenia wejść / wyjść sterowników firmy UNITRONICS....................6
Ograniczenia..........................................................................................................................8
Dostawca:...............................................................................................................................8
Copyright © SolidChip www.solidchip.eu biuro@solidchip.eu tel.025-759-28-80
842796195.025.png 842796195.026.png
Opis połączeń elektrycznych:
Sterowniki JAZZ nie posiadają wbudowanych portów szeregowych, jednak istnieje
możliwość zainstalowania zewnętrznych modułów portu szeregowego w wersji JZ-RS4 lub
JZ-PRG. Moduł JZ-RS4 umożliwia komunikację w standardzie RS-485 lub RS-232, jednak
jest znacznie droższy niż moduł JZ-PRG. Z tego powodu do zestawu wybraliśmy moduł
JZ-PRG. Aby moduł ten działał wymaga zewnętrznego źródła zasilania. Jeśli jest używany
jako programator sterownika JAZZ, zasilanie pobiera z linii DTR portu RS-232 komputera
PC. W naszym przypadku musimy go zasilić z zasilacza 24V, przez rezystor 1kΩ. Moduł
JZ-PRG łączy się z modułem WIRE-CHIP poprzez port RS-232. Natomiast WIRE-CHIP
łączy się z modułami ADAM poprzez port RS-485. Jeśli magistrala RS-485 jest dłuższa niż
kilka.. kilkadziesiąt metrów, wówczas na jej końcach należy zainstalować rezystory
terminujące 120Ω. Teoretyczny zasięg magistrali RS-485 to 1200m. W naszym zestawie
testowym zastosowaliśmy przewód 100m.
Jeśli system rozszerzeń wejść / wyjść jest rozległy i znajduje się w nim wiele modułów i
innych elementów zasilanych napięciem 24V, wówczas trzeba w każdej skrzynce z
modułami zainstalować lokalny zasilacz 24V. Zapobiegnie to nadmiernym spadkom napięć
powodującym błędne działanie systemu.
Schemat poglądowy zestawu testowego:
Copyright © SolidChip www.solidchip.eu biuro@solidchip.eu tel.025-759-28-80
842796195.027.png
Oprogramowanie sterownika PLC
Aby skonfigurować sterownik do pracy w trybie MODBUS RTU – SLAVE, w
przypadku sterownika JAZZ (także M90 i M91), należy wpisać do jego rejestrów
systemowych niezbędne wartości konfiguracyjne. W przypadku sterowników Vision należy
umieścić w programie bloki konfiguracji portu szeregowego i konfiguracji protokołu
MODBUS, a także cyklicznie uruchamiać blok „SCAN_EX”. Tyle wystarczy, aby nawiązać
komunikację. Można się jeszcze pokusić o sprawdzanie stanu modułów wejść / wyjść. W
tym celu należy sprawdzać wartości bitów (MB – Memory Bit) pod adresami do których
moduł WIRE-CHIP będzie podawał stany wykonania makroinstrukcji.
Aby sprawdzić wartość wejścia cyfrowego należy odczytać (np. za pomocą „direct
contact”) stan bitu (MB) pod który moduł WIRE-CHIP przekazuje wartość z wejścia
cyfrowego. Aby ustawić w określony sposób wyjście cyfrowe, należy ustawić (użyć np.
direct coil, set coil lub reset coil) wartość bitu (MB), który zostanie pobrany przez WIRE-
CHIP i następnie przekazany do modułu wyjść cyfrowych.
Aby móc przetwarzać wartość temperatury otrzymaną z modułu WIRE-CHIP, należy
odczytać ją z 16-bitowego rejestru MI (Memory Integer) do którego zostanie ona wpisana
przez WIRE-CHIP.
Przykład kodu konfigurującego sterownik JAZZ
Powyższe 3 „szczeble” drabiny wystarczą, aby sterownik JAZZ (M90 / M91) był poprawnie
skonfigurowany do pracy z modułem WIRE-CHIP i maksymalnie ponad 200 wejściami /
Copyright © SolidChip www.solidchip.eu biuro@solidchip.eu tel.025-759-28-80
842796195.028.png
wyjściami. Analogiczny kod dla sterownika z grupy Vision przedstawiony jest na rysunku
poniżej.
Przykład kodu konfigurującego sterownik Vision:
Oprogramowanie modułu WIRE-CHIP – makroinstrukcje
Aby przekazać do sterownika wartości wejść cyfrowych, moduł WIRE-CHIP musi
odczytać dane z modułu i przechować je we własnej pamięci RAM. Następnie dane muszą
zostać przekazane z własnej pamięci RAM do sterownika PLC. Do pobrania danych z
modułu wejść cyfrowych trzeba użyć funkcji Read Coils (MODB_RC). Funkcja RC musi
znać ID modułu, z którego ma pobrać dane, ilość danych do pobrania, adres wewnątrz
WIRE-CHIP pod którym przechować dane, adres wewnątrz modułu wejść cyfrowych, z
którego pobrać dane. Analogiczne parametry są potrzebne funkcji Force Coils
(MODB_FC) używanej w tym przypadku do przesyłania otrzymanych poprzednio wartości
do sterownika PLC. Potrzebne są ID sterownika PLC (W naszym przypadku ID=11), ilość
danych, adres wewnątrz WIRE-CHIP – skąd pobrać dane (ADR_MA), adres wewnątrz
sterownika PLC – gdzie przekazać dane (ADR_SL).
Podobnie sytuacja ma się w przypadku przekazywania wartości bitów (MB) do
modułów rozszerzających wyjść cyfrowych. Wartości są pobierane ze sterownika za
pomocą funkcji Read Coils, do modułu są wpisywane za pomocą funkcji Force Coils.
Copyright © SolidChip www.solidchip.eu biuro@solidchip.eu tel.025-759-28-80
842796195.001.png 842796195.002.png 842796195.003.png
Aby przekazać do sterownika informacje o poprawności wykonania makroinstrukcji,
należy wykonać funkcję Force Coils z parametrem ADR_MA = 0. Statusy wykonania
makroinstrukcji (sukces=1 / porażka=0) wpisywane są wewnętrznie przez moduł WIRE-
CHIP dla kolejnych makroinstrukcji pod adresy kolejnych bitów poczynając od adresu 0.
Przykład: Jeśli w module zdefiniowanych jest 8 makroinstrukcji, to pierwszych 8 bitów
(numery 0..7) będą zawierać status wykonania wszystkich makroinstrukcji. Jeśli
makroinstrukcja dotycząca portu szeregowego (MODB_PHR, MODB_RHR, MODB_FC,
MODB_RC) zostanie wykonana poprawnie (WIRE-CHIP otrzyma potwierdzenie od
modułów SLAVE – ADAM...) odpowiedni bit jest ustawiany. Jeśli funkcja nie otrzyma
potwierdzenie od modułów SLAVE lub z powodu błędnej definicji moduł nie podejmie się
jej wykonania, odpowiedni bit statusu zostanie wyzerowany.
Wykaz funkcji i ich parametrów potrzebnych do obsługi modułów z naszego zestawu
testowego:
L.P. Funkcja ID Ilość ADR_MA ADR_SL
komentarz
0
MODB_ R C 11 28
100
0
pobiera dane z PLC (od adresu MB0)
dla wszystkich modułów wyjść
cyfrowych
1
MODB_ F C 6
12
100
16
podaje wartości do wyjść cyfrowych
modułu ADAM-4056
2
MODB_ F C 5
8
112
16
podaje wartości do ADAM-4069
3
MODB_ F C 4
8
120
16
podaje wartości do ADAM-4055
4
MODB_ R C 4
8
140
0
pobiera wartości wejść cyfrowych z
modułu ADAM-4055
5
MODB_ R C 3
16
148
0
pobiera wartości z ADAM-4051
6
MODB_ R C 3
16
164
0
pobiera wartości z ADAM-4051
7
MODB_ F C 11 40
140
40
przekazuje wartości odczytane z
modułów do sterownika PLC (od
adresu MB40)
8 MODB_PHR 11
5
0
0
przekazuje do sterownika (pod MI0)
wartości zmierzonych temperatur z 5-
czujników
9
MODB_ F C 11
9
0
80
przekazuje do PLC (pod MB80) bity
statusu wykonania makroinstrukcji
Nasz zestaw (oprócz zasobów sterownika) zawiera 28 wyjść cyfrowych, 40 wejść
cyfrowych i 5 czujników temperatury.
Moduł WIRE-CHIP posiada 508 B pamięci kodu przeznaczonej na makroinstrukcje.
Każda makroinstrukcja obsługująca MODBUS RTU zajmuje 7 B. W związku z tym możliwe
jest skonfigurowanie do 72 takich makroinstrukcji. Oznacza to, że stosując moduły z 16-
wejściami (ADAM-4051) i 12-wyjściami (ADAM-4056SO), grupując ilości bitów (coils)
transferowanych między sterownikiem a WIRE-CHIP w paczki po 64 bity, system może
obsłużyć maksymalnie 896 wejść { = 64 bity * 70 makroinstrukcji / 5 makroinstrukcji(dla 4 modułów) }
lub 672 wyjścia { = 48 bitów * 70 makroinstrukcji / 5 makroinstrukcji(dla 4 modułów) }.
W takim przypadku trzeba zastosować repeater RS-485 (np. ADAM-4510).
Copyright © SolidChip www.solidchip.eu biuro@solidchip.eu tel.025-759-28-80
842796195.004.png 842796195.005.png 842796195.006.png 842796195.007.png 842796195.008.png 842796195.009.png 842796195.010.png 842796195.011.png 842796195.012.png 842796195.013.png 842796195.014.png 842796195.015.png 842796195.016.png 842796195.017.png 842796195.018.png 842796195.019.png 842796195.020.png 842796195.021.png 842796195.022.png 842796195.023.png 842796195.024.png
 
Zgłoś jeśli naruszono regulamin