background image

 

1

Politechnika Krakowska im. T. Kościuszki

 

INSTYTUT INFORMATYKI STOSOWANEJ 

Podstawy obsługi sterownika M91-2-R2C  

Mikrokontrolery i 
przetwarzanie sygnałów 

LABORATORIUM

3 x 45min 

Lab. nr 1 

1. Cel 

Celem ćwiczenia jest zapoznanie się z podstawami pracy ze sterownikiem M91-2-R2C.   

2. Budowa sterownika i komunikacja 

Sterownik M91 należy do grupy mikrosterowników OPLC - sterowników z wbudowanym 

panelem operatorskim (ang. Operating Panel + Programable Logic Controler). Przeznaczony 
jest do automatyzacji niewielkich obiektów, zarówno w zastosowaniach przemysłowych jak i 
domowych. Może być stosowany do sterowania maszynami technologicznymi i 
produkcyjnymi, przenośnikami, liniami pakującymi, piecami, urządzeniami klimatyzacyjnymi, 
pompami.  

Sterownik M91-2-R2C posiada możliwość przyłączania dodatkowych modułów 

rozszerzających poprzez złącze  I/O expansion port. Budowa sterownika z wszystkimi 
możliwymi dodatkowymi modułami: 
 

•  Zasilanie 12 lub 24 V – wymagane jest zewnętrzne  źródło napięcia. Sterownik 

posiada wbudowaną baterię podtrzymującą pamięć RAM i zegar RTC. Bateria ta ma 
żywotność 7 lat. 

•  Wbudowany dwuwierszowy wyświetlacz LCD z klawiaturą 
• Dołączany moduł rozszerzeń I/O (opcjonalnie). Możliwe jest dołączenie maksymalnie 

ośmiu modułów rozszerzeń. 

•  Port komunikacji RS232/RS485 

• Moduł UniCAN/CANOpen 

•  Zintegrowany z panelem moduł I/O zawierający 10 wejść cyfrowych (dwustanowych), 

2 wejścia analogowe i 6 wyjść cyfrowych. Wejście dwustanowe mogą funkcjonować 
zarówno jako standardowe wejście dwustanowe jak i szybkie wejście licznikowe. 
Wejście licznikowe jest wyzwalane opadającym zboczem sygnału. Sterownik M91-2-
R2C posiada 3 szybkie wejścia licznikowe. 

 

Sterownik posiada Panel Operatorski HMI (Human Machine Interface). HMI zawiera 32 

znakowy wyświetlacz (2 linie po 16 znaków)  do pokazywania parametrów procesu i 
komunikatów oraz 15 przyciskową, klawiaturę umożliwiającą nawigację po wyświetlaczu i 
wprowadzanie danych. 

Ponadto w sterownikach M91 jest możliwość komunikacji po protokole MODBUS na 

łączu RS. 

3. Komunikacja 

 3.1 Konfiguracja połączenia ze sterownikiem 

 Sterownik M91-2-R2C łączy się z komputerem za pomocą portu RS 232. 
Aby wprowadzić podstawowe parametry komunikacyjne należy z menu głównego wybrać 
zakładkę Controller -> M90 OPLC Stettings (Rys 1).  

background image

 

2

 

Rysunek 1. Ustawienia komunikacyjne 

W oknie tym można również sprawdzić wersję sterownika podłączonego do komputera oraz 
wersję zainstalowanego na nim systemu operacyjnego w oknie Version. Można w nim 
również ustawić bądź sprawdzić identyfikator wybranego sterownika w oknie Unit ID. Można 
uaktualnić lub sprawdzić czas sterownika, zatrzymać, restartować wyczyścić pamięć 
zmiennych binarnych i całkowitych (MB & MI) jak również uruchomić sterownik. 

 3.2 Aktualizacja systemu operacyjnego PLC 

 Sprawdzenia bądź aktualizacji systemu operacyjnego PLC możemy dokonać wybierając w 
menu Controller -> Operating System (Rys. 2). 

 

Rysunek 2. Okno konfiguracji systemu operacyjnego PLC 

 
W oknie tym również można zmodyfikować parametry komunikacyjne takie jak port 
komunikacyjny oraz prędkość komunikacji. 

background image

 

3

4. Moduł Hardware Configuration 

 4.1 Wstęp 

 Moduł ten umożliwia konfigurację sprzętową sterownika. Z górnego menu należy wybrać 
Controller -> HW Configuration 

 

Rysunek 3. Okno konfiguracji sprzętowej

 

 

Należy wybrać sterownik M91-2-R2C z bocznego menu (Rys. 3). Zakładki Digital i Aalog 

umożliwiają konfigurację dodatkowych modułów rozszerzeń. Numerowanie wejść/wyjść 
odbywa się zgodnie ze wzorem: 

 

32+x*16+y 

gdzie:  

x – numer porządkowy modułu (0-7) 

 

 

y – licząc od pierwszego modułu numer wejścia lub wyjścia w module (0-15) 

  
Po podaniu odpowiedniego modelu sterownika użytkownik może skonfigurować 

odpowiednie wejścia/wyjścia urządzenia. Wejścia/wyjścia cyfrowe nie wymagają dodatkowej 
konfiguracji. Jednak, aby uzyskiwać dane z wejść analogowych należy podać nazwy 
zmiennych całkowitych, które będą przechowywały wartości pomierzone na tych wejściach. 
W przypadku wejść analogowych należy zadeklarować również czy będą to wejścia prądowe 
czy też napięciowe. Po ich zadeklarowaniu pojawi się pytanie o zmienną całkowitą. 

Podobnie należy postąpić w przypadku szybkich wejść licznikowych (High Speed Input – 

HSI).  

Wybieramy wejście napięciowe (0-10V) w polu Type. Dla AI0 wybieramy MI1, dla AI1 

wybieramy  MI2. Od tego momentu wartości tych zmiennych będą równe wartościom 
mierzonym napięć mierzonych na odpowiednich wejściach analogowych (w zakresie 1-10V). 

4.3 Konfiguracja z poziomu panelu sterownika 

background image

 

4

 Na panelu operatorskim znajduje się klawisz "i". Po wciśnięciu i kilkusekundowym 
przytrzymaniu klawisza pojawi się prośba o wprowadzenie hasła. Po wpisaniu hasła 
dostępowego "1111" mamy możliwość wglądu i częściowej konfiguracji sterownika. 

4. Oprogramowanie U90Ladder 

 4.1 Wstęp 

Najnowsze oprogramowanie jest dostępne na stronach: 
http://www.unitronics.com/ 
http://support.elmark.com.pl/ 
Komunikacja programator U90Ladder odbywa się ze sterownikiem poprzez port szeregowy. 

 4.1 Edytor języka drabinkowego (Ladder Editor) 

Edytor ten służy do programowania w języku drabinkowym jak również oglądania programu 
w języku STL (STatement List). 
 

 

Rysunek 4. Okno programu U90Ladder

 

4.2 Programowanie drabinkowe (LAD) 

Programowanie polega na składaniu odpowiednich elementów w pewną logiczną całość. 
Podstawowe elementy i funkcje dostępne w środowisku IDE strownika: 
 
Contacts (Styki) – umożliwiają sprawdzanie stanów poszczególnych rejestrów bitowych.  
Coils (Cewki) – Służą do ustawiania stanów zmiennych bitowych. 
Compare (Funkcje porównań) – operatory porównania wartości. 
Math (Funkcje matematyczne) – zestaw operatoró matematycznych 
Logic (Funkcje logiczne) – operatory ligiczne 
Clock (Zegar) – zestaw zegarów 

Elementy i funkcje 
drabinkowe 

Nawigator projektu 

Edytor drabinek 

background image

 

5

Store (Operacje przeniesienia) – funkcje zapamiętywania i odtwarzania danych. 
Loop (Pętla) – bloki ustawiania pętli. 
 
Pisząc program pamiętamy o umieszczaniu każdego szczebla drabinki w odrębnej linii 
pamiętając, że każda linia programu realizowana jest w cyklu.  

 

WAŻNE! Należy również pamiętać o dodawaniu komentarzy do zmiennych. Ułatwia to 
znacznie ich lokalizację oraz zachowanie porządku w programie. 

4.3 Edytor interfejsu graficznego (HMI Display Editor) 

Jest to edytor służący do tworzenia ekranów wyświetlanych na panelu sterownika. 
Niezależnie od właściwego programu odpowiedzialnego za sterowanie, użytkownik może 
odpytywać i zmieniać rejestry. Sterownik M91-2-R2C posiada wyświetlacz dwuwierszowy. W 
każdym wierszu mieści się po 16 znaków. 
Do edytora przechodzimy poprzez Window -> Displays, albo przez ikonę HMI Dispays.  
W okienku Variables określamy wartości wyświetlane, zaś w okienku Jumps realizujemy 
warunki skoku do wybranego ekranu.  

4.4 Przesyłanie programu 

Aby przesłać gotowy program do sterownika z paska menu należy wybrać zakładkę 
Controller -> Download lub Controller -> Stop – Download – Reset
Pierwsza opcja jedynie przesyła program do sterownika, druga zaś wykonuje sekwencję 
zatrzymania pracy sterownika, przesłania programu, a następnie zresetowania sterownika.  
Możemy również pobrać program ze sterownika, jeśli autor programu nie zablokował nie 
zablokował tej możliwości przy wgrywaniu go do sterownika. Pobieranie odbywa się przez 
zakładkę menu Controller -> Upload -> Upload lub Controller -> Upload -> Upload From 
Network ID …

5. Struktura Programu 

5.1 Podstawowe typy zmiennych 

Program ma do dyspozycji najważniejsze typy zmiennych: 
 
– bit wejścia 
O – bit wyjścia 
MB
 – zmienne bitowe (użytkownika) 

Odczyt 

Wykonanie programu 

Ustawienie wyjść 

Aktualizacja ekranu 

Przerwania 

background image

 

6

MI – zmienne całkowite (użytkownika) 
SB – zmienne bitowe (systemowe) 
SI – zmienne całkowite (systemowe) 
T - zegary 
 
Stan tych zmiennych można podejrzeć poprzez wybranie w oknie nawigatora jednej z pozycji 
w folderze Data Types, gdy uruchomiony jest tryb Debug (Controller -> Debug -> Dispay 
Only
 lub Controller -> Debug -> Full M90 OPLC View).  
 
Tabele zmiennych systemowych: 
 

Bity systemowe (SB)  

Funkcja 








10* 
30 
31 
32 
33 
34 
40-53 
80* 
200*-215* 
220*-227* 
228-235 
236 
237* 
238 

Zawsze 0 
Zawsze 1 
Włączenie zasilania 
Impuls 1 sekundowy 
Dzielenie przez 0 
Zwarcie na wyjściach sterownika 
Klawiatura jest aktywna 
Funkcja zerowania licznika jest dostępna 
Flaga końca wprowadzania danych z HMI 
Flaga końca wprowadzania zmiennej Var1 z HMI 
Flaga końca wprowadzania zmiennej Var2 z HMI 
Flaga końca wprowadzania zmiennej Var3 z HMI 
Flaga końca wprowadzania zmiennej Var4 z HMI 
Bity przycisków klawiatury (patrz następna tabela) 
Uaktywnienie funkcji linearyzacji 
Operandy sieciowe 
Wysyłane bity 
Odbierane bity 
Błąd komunikacji 
Sieć nie aktywna 
Stacja master aktywna 

* zmienne systemowe, które mogą być modyfikowane 
 

Rejestry Systemowe (SI) 

Funkcja 



2* 


10* 
14* 
20 
21 
28* 
30 
31 
32 
33 
80* 
81* 
82* 
83* 
84* 
85 
200*-201* 
230*-231* 
232 

Czas skanowania 
Licznik 10 ms 
Aktualnie wyświetlany komunikat 
Znacznik dzielenia 
Aktualnie wciśnięty klawisz 
Wartość akumulatora szybkiego licznika 
Tryb pracy szybkiego licznika 
Wejście analogowe 0 
Wejście analogowe 2 
Wyjście analogowe 0 
Sekundnik zegara czasu rzeczywistego RTC 
Aktualny czas zegara czasu rzeczywistego RTC 
Aktualna data na zegarze czasu rzeczywistego RTC 
Aktualny rok na zegarze czasu rzeczywistego RTC 
Linearyzacja: współrzędna x1 
Linearyzacja: współrzędna x2 
Linearyzacja: współrzędna y1 
Linearyzacja: współrzędna y1 
Linearyzacja: wartość wejściowa X 
Linearyzacja: wynik linearyzacji Y 
Operandy sieciowe 
Wysyłane rejestry 
Odbierane rejestry 

background image

 

7

233* 
236 
237 

Maska 
Kod błędu transmisji/sieci 
Numer ID stacji zgłaszającej błąd 

* zmienne systemowe, które mogą być modyfikowane 

5.2 Podstawowe instrukcje 

 

 
 
 

 

 
Styk ustawiany zboczem 
narastającym 

Daje na wejściu 1 przy zmianie bitu adresującego z 0 na 1 

Styk ustawiany zboczem 
opadającym 

Daje na wejściu 1 przy zmianie bitu adresującego z 1 na 0 

 

 

 
Cewka normalnie 

Jeżeli część warunkowa poprzedzająca cewkę równa jest 1 

Styk normalnie otwarty 

Styk normalnie zamknięty 

Styk ustawiany zboczem 

narastającym 

Styk ustawiany zboczem 

opadającym 

Cewka normalnie otwarta

Cewka normalnie zamknięta

background image

 

8

otwarta 

cewka przyjmuje wartość 1 w przeciwnym razie 0 

Cewka normalnie 
zamknięta 

Jeżeli część warunkowa poprzedzająca cewkę równa jest 0 
cewka przyjmuje wartość 1 w przeciwnym razie 0 

 

 

 
Cewka 

SET 

Cewka jednorazowo ustawia się na stan 1, gdy część 
warunkowa przyjmuje stan 1. Gdy część warunkowa zmieni stan 
na 0 nie zmieni to stanu cewki. 

Cewka 

RESET 

Cewka jednorazowo ustawia się na stan 0, gdy część 
warunkowa przyjmuje stan 1. Gdy część warunkowa zmieni stan 
na 0 nie zmieni to stanu cewki. 

 
Poniżej przedstawiony jest przykład zastosowania zmiennych binarnych MB do zapamiętania 
stanu wejść cyfrowych i utworzenia warunku na bazie wartości zmiennych MB. 

 

5.3 Instrukcje zegarowe 

Zegary są wykorzystywane w następujących sytuacjach: 
- zadawanie określonego opóźnienia czasowego 
- badanie czasu trwania jakiegoś zdarzenia 
- załączanie urządzenia w określonym czasie 
 

Cewka SET 

Cewka RESET 

background image

 

9

W przypadku zegara T0 realizującego opóźnienie przełącznik dla wejścia I0 równego 1 
powoduje włączenie zegara T0. 
 

 

 
Jeżeli upłynął zadany czas 10s, w którym I0 było aktywne styk T0 włączy się. Wyłączenie 
przełącznika I0 spowoduje zatrzymanie zegara. Ponowne jego włączenie spowoduje restart 
zegara i odliczanie czasu od początku. 
W kolejnym przykładzie przedstawione jest odmierzanie czasu między zdarzeniami. 
Zastosowane jest tu zliczanie impulsów sekundowych generowanych dla zmiennej 
systemowej SB3. 
 

 

  
Ostatni przykład przedstawia przypadek załączania oraz wyłączania urządzenia w 
określonym czasie.  

background image

 

10

 

 

 

6. Edytor HMI (Human Machine Interface)  

6.1 Edycja HMI 

Aby przystąpić do programowania wyświetlacza panelu operatorskiego należy wybrać w 
oknie nawigatora HMI lub z menu Window -> Displays

 

 
Na ekranie może być umieszczony tekst stały jak również wartości zmiennych użytkownika 
bądź systemowych. Aby umieścić zmienne należy zaznaczyć kilka pól znakowych 
wyświetlacza (np. 3), a następnie kliknąć prawym klawiszem na zaznaczeniu. Z rozwiniętego 
menu należy wybrać polecenie Attach Variable, a następnie podać numer i nazwę 
zmiennej. Wartość ta wraz z jej nazwą wyświetli się w oknie Variables.  
 

background image

 

11

 

 
W oknie Jumps  ustalane są warunki skoku do innego ekranu. Jeżeli wartość binarna 
występująca w tym warunku wynosi 1 to wykonywany jest skok do zadanego ekranu. 
W następnym kroku pojawi się okno deklaracji zmiennej (np. Variable 1). 
 
Zmienna ta może mieć charakter dwustanowy (Bit(on/off)), zmiennej całkowitej (Integer), 
czasu zegara (Timer), funkcji czasu (Time function), listy elementów (List) bądź też daty i 
czasu (Date & Time). Z każdym z tych formatów zmiennych wiąże się określony zbiór 
parametrów. 
Dla zmiennych binarnych na ekranie mogą być wyświetlane dwa komunikaty w zależności od 
wartości bitu zmiennej. 
Dla zmiennej całkowitej natomiast można zadeklarować czy będzie ona pobierana z wejścia 
analogowego, czy będzie to jakaś zmienna wynikająca z obliczeń i operacji, czy też będzie 
ona wprowadzona przez użytkownika. 
 

background image

 

12

 

 
Jeśli będzie wprowadzona przez użytkownika to powinna być zaznaczona opcja Keypad 
Entry
. Wartość wyświetlanej zmiennej może być proporcjonalna do wartości zmiennej 
odniesienia przez zastosowanie opcji Enable linearization
 

6.2 Przykład zastosowania 

Ekran logowania 
W polu DISPLAY 1 wpisać Ekran logowania 
W polu wyświetlacza należy wpisać tekst, który ma być wyświetlany np. ID pracownika: 
 
Zmienna ekranowa 
W polu wyświetlacza należy zaznaczyć dwa segmenty, a następnie na pasku narzędzi 
kliknąć Attach Variable (dołącz zmienną). Otworzy się okno o nazwie Attach Variable. 
W nazwie zmiennej należy wpisać np. VR 6 ID pracownika i potwierdzić OK. 
 
Formatowanie zmiennej ekranowej 
Zmienna powinna akceptować dwucyfrowe liczby z zakresu od 1 do 10. Należy otworzyć 
zmienną ekranową klikając na niej w oknie nawigacyjnym.  
Następnie należy wybrać z listy typ zmiennej Integer (liczba całkowita), a następnie kliknąć 
przycisk Link To (połącz z). Otworzy się okno Set Link to Int.  
Należy wprowadzić numer i nazwę skojarzonej zmiennej całkowitej np. MI 4 Lista imion 
pracowników
, a następnie kliknąć OK. 
W grupie informacji o zmiennej należy zaznaczyć pole Keypad Entry (wprowadzanie z 
klawiatury). 
Należy zaznaczyć również opcję Start with Clear Field (rozpocznij od pustego pola). 
Należy ustawić Entry Limits (zakres zmiennej) od 1 do 10. 
 
 

background image

 

13

Tworzenie skoku warunkowego 
 
Należy wybrać Display 1 (komunikat 1) klikając na nim w okna nawigacyjnym. 
Kliknąć na polu warunku pierwszego skoku - Jump Conditions. Otworzy się okno edycji - 
Define Jump to Condition
Wybrać z listy warunek skoku - SB30 Keypad entries complete (wprowadzanie danych 
zakończone) i kliknąć OK. 
Otworzy się okno edycji docelowego komunikatu - Define to Display Jump
Należy wpisać nazwę docelowego komunikatu np.: DS 2 Potwierdzenie i kliknąć OK. 
 
Formatowanie komunikatu 2 
W polu wyświetlacza proszę wpisać słowo Dostęp. Słowo to będzie tekstem stałym 
komunikatu 2. 
Następnie proszę wpisać słowo weryfi. Słowo to bedze tekstem zmiennym komunikatu 2. 
Należy zaznaczyć słowo weryfi
Kliknąć na pasku narzędzi Attach Variable
Nazwać zmienną ekranową np. VR 9 Weryfikacja numeru
W edytorze warunku należy zdefiniować nową zmienną MB 7 Czas na skok do 3 i kliknąć 
OK. 
Otworzy się okno edycji docelowego komunikatu - Define to Display Jump
Należy wpisać nazwę docelowego komunikatu - DS 3 Wyświetl imię pracownika

 

i kliknąć OK. 
Należy powtórzyć powyższe czynności celem zdefiniowania drugiego skoku - Jump 
Condition 2
 wykorzystując jako warunek zmienną  MB 8 Czas wrócić do 1, oraz jako 
komunikat docelowy komunikat 1. 
 
Formatowanie zmiennej 9 
Otworzyć zmienną 9   Varaible 9 z poziomu okna nawigatora. 
Z listy typów wybrać zmienną bitową - Bit (on/off). Otworzy się okno edycyjne - Set Link to 
Bit. 
Wpisać nazwę skojarzonej zmiennej bitowej np.: MB 20 System może pracować i kliknąć 
OK. 
W polu Text for off (0) wpisac tekst odrzuc
W polu Text for on (1) wpisz tekst potwie
 
Formatowanie komunikatu 3 
Należy nazwać komunikat 3 np. Wyświetl imię pracownika 
W polu wyświetlacza wpisać stałą część tekstu np.: Witaj
Zaznaczyć osiem segmentów wyświetlacza celem zarezerwowania miejsca na zmienną 
ekranowa, następnie dołącz zmienną np. zmienną 7 - Variable 7 Imię pracownika. 
Zdefiniować skok do komunikatu 4 po spełnieniu warunku SB 6 Keyboard is Active 
(klawiatura aktywna). 
 
Formatowanie zmiennej 7 
Z okna nawigatora należy otwórzyć zmienną 7 - Variable 7. 
Z listy typów zmiennej wybreć typ lista - List. Otworzy się okno edycji Set Link to List
Wybrać i skojarzyć zmienną całkowitą - MI 4 Lista imion pracowników
W informacji o zmiennej wpisać liczbę 10 (jest to informacja o długości listy - Lines). 
Zatwierdzić długość listy przyciskiem APPLY. 
Wprowadź imiona pracowników w liniach 0, 1 i 2. W powyższym przykładzie nie ma potrzeby 
wprowadzania imion wszystkich pracowników. 
 
 
 
 

background image

 

14

Program drabinkowy 
 

 

 

background image

 

15