background image

Programowanie Wybranych Sterowników Przemysłowych 

Strona 1 z 5 

Laboratorium 2 

Biblioteka Compare 

 

 

1.  Cel ćwiczenia 

 

 

Celem ćwiczenia jest zaprezentowanie działania elementów z biblioteki Comapre (rysunek 1) 

dostępnej  w  TIA  Portal.  Elementy  z  tej  biblioteki  służą  do  porównywania  wartości.  Znajomość 

obsługi  elementów  z  tej  biblioteki  jest  kluczowa  w  przypadku  tworzenia  bardziej  zaawansowanych 

projektów ze względu na to że często konieczne jest porównywanie wartości. Po wykonaniu ćwiczeń 

przewidzianych dla instrukcji z biblioteki  Compare, słuchacz będzie umiał prawidłowo porównywać 

dowolne wielkości liczbowe, określić czy dany argument znajduje się w określonym zakresie, czy też 

nie. Będzie w stanie, bardzo łatwo określić czy zmienna jest typu REAL czy nie. 

 

2.  Przebieg ćwiczenia 

2.1. Instrukcje z biblioteki Comapre 

 

 

Equal – sprawdzenie czy dwa argumenty są sobie równe 
Not Equal – sprawdzenie czy dwa argumenty nie są równe 
Grater or equal – sprawdzenie argument jest większy równy 
Less or equal – sprawdzenie czy argument jest mniejszy równy 
Grater than – sprawdzenie czy argument jest większy 
Less than – sprawdzenie czy argument jest mniejszy 
Value within range – sprawdzenie czy argument mieści się w zakresie 
Value outsider range – sprawdzenie czy argument jest poza zakresem 
Check validity – sprawdzenie czy argument jest typu REAL  
Check invalidity – sprawdzenie czy argument nie jest typu REAL   

 

Rysunek 1 Biblioteka Compare wraz z opisem jej elementów

 

 

Elementy  biblioteki  Compare  porównują  zawsze  argument    górny  z  dolnym  pod  kątem 

prawdziwości warunku. Tak więc warunek zawarty w funkcji CMP> będzie prawdziwy wtedy gdy to 

górny argument będzie większy od dolnego a nie odwrotnie (rysunek 2). 

Zadanie 1 

Należy zapoznać się ze wszystkimi elementami biblioteki Compare w pomocy programu TIA 

(nazwa  funkcji  >>  przycisk  „F1”),    i  podać  różnice  między  elementami  CMP  >=  i  CMP  >  oraz 

IN_RANGE i OUT_RANGE. 

 

background image

Programowanie Wybranych Sterowników Przemysłowych 

Strona 2 z 5 

Laboratorium 2 

Biblioteka Compare 

 

 

 

Rysunek 2 Warunek większy niż a) spełniony b)niespełniony 

2.2. Korzystanie z elementów biblioteki Compare 

 

Elementy z tej biblioteki stosuje się w przypadkach gdzie konieczne jest porównanie dwóch 

wartości  liczbowych  takich  jak  np.:  poziom  wody  w  zbiorniku,  czy  ilość  uruchomień  danego 

urządzenia w stosunku do zalecanej ilości na jednostkę czasu.  

Korzystanie  z  elementów  tej  biblioteki  wygląda  tak  samo  jak  z  elementów  pozostałych 

bibliotek  wystarczy  przeciągnąć  dany  element  za  pomocą  myszki  z  menu  do  drabinki  i  upuścić  w 

odpowiednim  miejscu.  Istotne  jest  natomiast  aby  odpowiednio  wybrać  typ  zmiennych  jaki  będzie 

porównywany,  ponieważ  można  porównywać  jedynie  wartości  tych  samych  typów,  a  ponadto 

poszczególne typy zapisuje się w pamięci w inny sposób(tabela 1). 

 

Tabela 1 Adresowanie dla różnych typów zmiennych 

Typ zmiennej 

Adresowanie 

Opis 

Bit 

Mx.x(np. M0.0) 

wartości  logiczne  np.:  gdy  ustawia  się 
pojedyncze wyjście. 

Byte 

MBx(np.: MB0) 

zapis całego bajtu (8 bitów) 

INT 

MWx(np.:MW0) 

zapis liczby całkowitej wymaga 2 bajtów, 
o  czym  należy  pamiętać  podczas 
adresowania  by  nie  wpisywać  do  dwóch 
kolejnych  markerów  różnych  liczb  np.: 
MW0  i  MW1  gdyż  w  bajcie  1  nastąpi 
konflikt.;  prawidłowy  zapis  wygląda 
następująco: MW0 i MW2. 

REAL, DINT 

MDx(np.:MD0) 

zapis 

liczby 

rzeczywistej/zmienno-

przecinkowej, 

podobnie 

jak 

dla 

dwubajtowego  MW  należy  pamiętać  o 
tym że MD zajmuje 4 bajty, więc kolejne 
markery mogą być zapisywane jako MD0 
i MD4 

a)        

   

 

 

 b)

 

  

background image

Programowanie Wybranych Sterowników Przemysłowych 

Strona 3 z 5 

Laboratorium 2 

Biblioteka Compare 

 

 

Aby  wybrać  typ  zmiennej  dla  bloków  porównujących  należy  rozwinąć  dolne  menu  danego 

bloku i wybrać typ zmiennej (rys. 3 a). Zmiany funkcji bloku np.: z „==” na „>=”  dokonuje się przez 

rozwinięcie górnego menu (rys. 3 b) 

 

 

Rysunek 3 Obsługa bloków porównania 

 

Zadanie 2 

Należy  przeanalizować  działanie  układu  z  rysunku  4  i  na  jego  podstawie  zbudować 

odpowiednik, przy wykorzystaniu bloków porównania. 

 

 

Rysunek 4 Układ sprawdzający czy argument zapisany w MW10 jest w określonym zakresie 

  

Do  symulowania  działania  tego  układu  konieczne  jest  utworzenie  tzw.  Watch  table  (rys  6). 

Jest to narzędzie służące do zmiany wartości komórek pamięci. Umożliwia ono aktualizację wartości 

wpisanych do sterownika. Aby utworzyć Watch table  należy wybrać pozycję Add New Watch table 

znajdującą  się  w  drzewie projektu(PLC_1[CPU….] >>  Watch  tables].  W  kolumnie  Address  należy 

background image

Programowanie Wybranych Sterowników Przemysłowych 

Strona 4 z 5 

Laboratorium 2 

Biblioteka Compare 

 

 

wpisać  adres  markera  jakim  chcemy  sterować,  natomiast  w  kolumnie  Display  format  reprezentację 

podawanej  wartości(na  potrzeby  ćwiczenia  zalecane  DEC_unsigned).  Aby  uaktualnić  wartość  w 

rejestrze należy kliknąć na ikonę przedstawioną na rysunku 5.

 

 

Rysunek 5 Ikona polecenia uaktualniającego wartości w Watch table 

Nagłówek przykładowej tabeli z kategorii Watch table została zaprezentowana na rysunku 6 

w raz z opisem kolumn tabeli 

 

 

 

1.  ikona polecenia aktualizacji wartości, 
2.  nazwa własnej (niema wpływu na działanie programu) danego argumentu, 
3.  adresu argumentu w pamięci, 
4.  ikona polecenia włączającego monitoring, 
5.  sposób wyświetlania, 
6.  wartość monitorowana (poprzednio ustawiona), 
7.  wartość do ustawienia, 
8.  status (np.: wartość wprowadzona ale jeszcze nie uaktualniona). 

Rysunek 6 Nagłówek tabeli Watch table 

Zadanie 3 

Korzystając  z  poznanych  elementów  zbudować  układ  sterujący  roletami  zewnętrznymi  przy 

następujących założeniach: 

 - układ ma posiadać pięć poziomów natężenia światła, w zależności od tych poziomów rolety 

mają  być  całkowicie  otwarte  przy  minimalnym  natężeniu,  całkowicie  zamknięte  przy 

maksymalnym, 

-  przyjmujemy  że  wartości  natężenia  światła  wyrażone  są  w  liczba  całkowitych  (INT)  i 

zmieniają się w zakresie od 0 (min) do 100 (max), 

-  w  zależności  od  tego  jakie  jest  aktualne  ustawienie  rolet,  na  wyjściu  układu  ma  się  pojawić 

sygnał  odpowiadającemu  danemu  ustawieniu.  Dla  5%  otwarcia  przesłony,  sygnał  w  postaci 

jedynki  logicznej  ma  się  pojawić  np.:  na  wyjściu  M11.0  i  odpowiednio  dalej  dla 

poszczególnych stopni. 

 

1
 

4
   

background image

Programowanie Wybranych Sterowników Przemysłowych 

Strona 5 z 5 

Laboratorium 2 

Biblioteka Compare 

 

 

Zadanie 4 

Korzystając z poznanych elementów zbudować układ sterujący dawkowaniem chloru do wody 

w basenie przy następujących założeniach: 

- poziom chloru w wodzie może mieć minimalne  0,01mg/l  oraz maksymalne stężenie 0,5mg/l, 

- poziom wody może się wahać od 1,5 do 1,55 głębokości, 

- sterowanie odbywa się poprzez otwieranie i zamykanie zaworów: 

- Q0.2 spust do kanalizacji (gdy poziom wody jest za wysoki), 

- Q0.3 dolanie wody (gdy poziom wody jest za niski oraz gdy poziom chloru jest za wysoki),  

- Q0.4 dolanie chloru (jeśli stężenie chloru osiągnie wartość mniejszą niż minimalna).