Programowalne Sterowniki Przemysłowe
Wykaz ćwiczeń laboratoryjnych:
•Sterowanie Robotem Przemysłowym PR-02
Sterowanie sekwencyjne z wykorzystaniem wewnętrznych
markerów.
•Sterowanie Manipulatorem Przemysłowym
Sterowanie kombinacyjne z wykorzystaniem czujników
krańcowych.
•Układy czasowe – Timery
Programowanie układów czasowych w języku LD (ang. Ladder
Diagram).
•Układy liczące – Liczniki
Programowanie liczników występujących zdarzeń w języku LD
(ang. Ladder
Diagram).
Programowalne Sterowniki Przemysłowe
Informacje ogólne
Wejścia 24 VDC sterownika umożliwiają współprace z
typowymi urządzeniami wejściowymi:
— przyciskami,
— wyłącznikami krańcowymi,
— elektronicznymi wyłącznikami zbliżeniowymi.
Wyjścia przekaźnikowe zwierne, o maksymalnym
natężeniu prądu 2A, pozwalają sterować urządzeniami
zewnętrznymi, takimi jak sygnalizatory świetlne,
rozruszniki silników elektrycznych, elektromagnesy, itp.
Programowalne Sterowniki Przemysłowe
Język programowania
Języki programowania umożliwiają programowanie
sterowników
z wykorzystaniem dwóch standardów:
języka drabinkowego (ang. Ladder Diagram - LD)
oraz języka listy instrukcji (ang. Instruction List - IL).
Programy umożliwiają pełna konwersje bloku
zapisanego
w tradycyjnej logice drabinkowej na listę instrukcji (i
odwrotnie) oraz wykorzystanie tych dwóch sposobów
programowania jednocześnie przez tworzenie procedur.
Język drabinkowy wywodzi się z symboli stosowanych w
systemach automatyki bazujących na przekaźnikach.
Język drabinkowy jest graficzną reprezentacja działań
wykonywanych przez sterownik (rysunek 1).
Programowalne Sterowniki Przemysłowe
Rys. 1. Zapis programu w języku drabinkowym
Programowalne Sterowniki Przemysłowe
— lewa pionowa linia schematu (diagramu) drabinkowego reprezentuje
zasilanie obwodów sterowania,
— prawa pionowa linia – domyślna, jest powrotną linia zasilania,
— schemat drabinkowy czytamy od strony lewej do prawej i od góry do dołu
(program sterujący wykonywany jest szczebel po szczeblu kolejno od lewej do
prawej od góry do dołu),
— linie poziome, tzw. szczeble (ang. rungs) nazywane są obwodami lub
sieciami (ang. network),
— przepływ sygnału logicznego w każdym ze szczebli jest kontrolowany przez
prosty zestaw funkcji, pracujących podobnie jak przekaźniki i styki; to czy
styk prześle sygnał logiczny wzdłuż szczebla zależy od wartości zmiennej
związanej z tym stykiem w programie; przykładowo, styk może przesłać
sygnał logiczny,jeżeli powiązana z nim zmienna ma wartość ”1”; ten sam styk
nie będzie przesyłał sygnału logicznego, jeżeli powiązana z nim zmienna ma
wartość ”0”,
— jeżeli styk lub inna funkcja występująca w szczeblu nie przesyła dalej
sygnału logicznego pozostałe elementy szczebla nie są wykonywane.
Programowalne Sterowniki Przemysłowe
Adresowanie wejść/wyjść
Dane w programie sterującym są lokalizowane poprzez
podanie adresu w pamięci sterownika, w którym
przechowywana jest pożądana wartość. Adres musi
zawierać literowe oznaczenie obszaru pamięci
określające jednocześnie typ danych (identyfikator) oraz
podany
liczbowo parametr określający dokładny adres.
I – identyfikator wejścia (ang. input),
Q – identyfikator wyjścia (ang. quit).
Przykładowo:
%I00001 – adres 1 w obszarze dyskretnych danych
wejściowych (zmienna wejściowa 1).
%Q00001 – adres 1 w obszarze dyskretnych danych
wyjściowych (zmienna wyjściowa 1).
Programowalne Sterowniki Przemysłowe
Rys. 2. Widok tablicy deklaracji zmiennych
Programowalne Sterowniki Przemysłowe
Oprogramowanie dla sterowników wyposaża się w wygodny sposób
zarządzania zmiennymi wykorzystywanymi w aplikacji. Służy do
tego tablica deklaracji zmiennych (Variable Declaration Table).
Dzięki niej można łatwo przeglądać wszystkie zmienne, zmieniać
ich nazwy, typ i inne parametry. Nazwa zmiennej może mieć do 31
znaków. Bardzo ważny jest fakt, ze program sterujący można
tworzyć wyłącznie posługując się nazwami zmiennych, bez ich
logicznego kojarzenia z sygnałami wejścia/wyjścia lub komórkami
pamięci sterownika.
Tabela deklaracji zmiennych zorganizowana jest w formie
następujących kart:
Global – wszystkie zmienne globalne,
Local – zmienne lokalne w aktywnym bloku,
All – wszystkie zmienne,
System – zmienne systemowe,
Temporary – zmienne tymczasowe utworzone w oknie dialogowym
Folder Properties, wykorzystywane w edytorze listy instrukcji.
Programowalne Sterowniki Przemysłowe
Opis kolumn Tabeli zmiennych (Variable Declaration Table):
Name – nazwa zmiennej, która jest przypisywana do adresu w
pamięci w czasie
definiowania. Jeżeli nie zostanie podana nazwa zmiennej, jako
nazwa
automatycznie przyjmowany jest adres zmiennej. Długość nazwy
zmiennej nie
może przekraczać 31 znaków.
Nazwa zmiennej musi rozpoczynać się od litery lub znaku
podkreślenia.
%I00001 – zmienna, przycisk_1 – nazwa zmiennej.
Type – typ danych (Bit, Byte, Word).
Length – ilość danych zajmowanych przez zmienną.
Address – adres łączący zmienną z jej fizycznym miejscem w
sterowniku.
Description – opis zmiennej (max 64 znaki).
Stored Value – wartość początkowa przypisana do zmiennej w tej
kolumnie Tabeli
deklaracji zmiennych jest przesyłana do sterownika wraz z
programem.
Scope – zakres obowiązywania zmiennej (Global lub Local).
Ret (Retentive) – pole określające czy wartość danej zmiennej ma
być zapisywana
w przypadku wyłączenia zasilania.
Programowalne Sterowniki Przemysłowe
Układy pamięci
Pamięć RS z priorytetem kasowania i z priorytetem
zapisu
Układy pamięci, czyli układy z samopodtrzymaniem
stosuje się do zapamiętania stanu załączenia cewki
stycznika, przekaźnika czyli elementów wykonawczych.
Na rysunku 3
przedstawiono dwie podstawowe realizacje
układu z samopodtrzymaniem:
a) układ stosowany dla pierwszeństwa wyłączenia –
pamięć RS
z priorytetem kasowania,
b) układ stosowany dla pierwszeństwa załączenia –
pamięć RS
z priorytetem zapisu.
a)
b)
Rys. 3. Układy pamięci
Programowalne Sterowniki Przemysłowe
Układy czasowe umożliwiają uzależnienie pewnych zdarzeń od czasu.
Uzależnienia czasowe mogą mieć charakter:
1. opóźnienia czasowego,
2. generacji zadanego przebiegu,
3. odmierzania czasu.
TENTHS – wartość czasu podawana w dziesiątych częściach sekundy
(PV = 1 oznacza czas 0.1 sekundy).
HUNDS – wartość czasu podawana w setnych częściach sekundy (PV
= 1 oznacza
czas 0.01 sekundy).
THOUS - wartość czasu podawana w tysięcznych częściach sekundy
(PV = 1 oznacza
czas 0.001 sekundy).
Każdy przekaźnik czasowy wykorzystuje trzy słowa (rejestry) pamięci
typu %R (VERSAMAX) , do zapamiętywania następujących
parametrów:
Słowo 1 - wartość bieżąca (CV).
Słowo 2 - wartość zadana (PV).
Słowo 3 - słowo sterujące.
Każdy adres w pamięci zorientowanej rejestrowo oznacza pojedyncze
słowo bitowe
(o długości 16 bitów = 2 bajty). Każdy adres wskazuje 16
nierozłącznych bitów zawierających pojedyncza wartość, np.:
%R0200 - oznacza adres 200 w obszarze pamięci zorientowanym
rejestrowo.
Programowalne Sterowniki Przemysłowe
Liczniki (ang. counters) stosuje się do zliczania zdarzeń i sterowania
zdarzeniami.Bardzo częstym zastosowaniem liczników jest
wielokrotne wykonanie określonych zdarzeń w zaprogramowanym
cyklu.
UPCTR - Licznik zliczający w górę. Każde doprowadzenie sygnału do
tego licznika
powoduje zwiększenie jego wartości o 1 – inkrementacja.
DNCTR - Licznik zliczający w dół. Każde doprowadzenie sygnału do
tego licznika
powoduje zmniejszenie jego wartości o 1 – dekrementacja.
Każdy licznik wykorzystuje trzy słowa (rejestry) pamięci typu %R, do
zapamiętywania
następujących parametrów:
Słowo 1 - wartość bieżąca (CV).
Słowo 2 - wartość zadana (PV).
Słowo 3 - słowo sterujące.
Każdy adres w pamięci zorientowanej rejestrowo oznacza pojedyncze
słowo bitowe.
Każdy adres wskazuje 16 nierozłącznych bitów zawierających
pojedyncza wartość, np.:
%R0200 – oznacza adres 200 w obszarze pamięci zorientowanym
rejestrowo.
W sterowniku VersaMax mamy do dyspozycji 512 bajtów (%R0001 ÷
%R0256).
W bloku funkcyjnym licznika należy podać adres początkowy dla tych
trzech słów (rejestrów). W tym celu należy podwójnie kliknąć w
miejscu ????? lub zaznaczyć funkcje,a następnie wcisnąć Enter. W
wyświetlonym oknie dialogowym Function Properties wprowadzamy
określony adres.