wykład 3

Transkrypt

wykład 3
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
Norma IEC 61131 (1993r.) składa się z pięciu części:
1. Informacje ogólne – definicje pojęć, charakterystyka funkcji: przetwarzanie
cykliczne, obraz procesu, podział zadań, urządzenia do połączenia z
operatorem, itp., słownik pojęć.
2. Sprzęt i wymagania testowe – wymogi (elektryczne, mechaniczne i funkcyjne) dla
aparatury, definiowane są wymogi odnośnie: temperatury, wilgotności, zasilania,
odporności na zakłócenia, przedziały robocze dla sygnałów cyfrowych i testy
mechaniczne.
3. Języki programowania – ujednolica koncepcje programowania pod kątem metod
dostępnych w wielu sterownikach PLC różnych producentów; definiuje grupy
języków programowania:
tekstowe (lista instrukcji IL, tekst strukturalny ST)
graficzne (diagram drabinkowy LD, bloków funkcyjnych FBD)
grafów: sekwencyjna sieć działań SFC, graf przepływowy FC
4. Wytyczne użytkownika – podano informacje potrzebne dla poszczególnych etapów
projektu: analiza systemu, faza specyfikacji i wyboru urządzeń, wykonania
aplikacji i obsługi urządzeń
5. Wymiana informacji – opis komunikacji pomiędzy PLC od różnych producentów i
komunikacji z innymi urządzeniami; uzupełnienie do normy ISO/IEC 9506- ½.
W3-1
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
Norma IEC-1131-3 wyróżnia następujące elementy organizacyjne oprogramowania
(dostarczane przez producentów lub programowane przez użytkownika):
Program – uporządkowany zbiór instrukcji, funkcji i bloków funkcyjnych, realizujący
określony cel i wykonywany w określonym przedziale czasowym – cykl programu
Instrukcja – podstawowy element programowania, zawiera rozkaz, który wykonuje
jednostka CPU sterownika PLC.
Funkcja – element organizacyjny programu, który z chwilą wykonania dostarcza jeden
element danych.
Blok funkcyjny – z chwilą wykonania może dostarczać jedną lub wiele wartości, posiada
wewnętrzne zmienne zawierające informację o stanie bloku, wywołanie bloku z tymi
samymi argumentami wejściowymi niekoniecznie musi prowadzić do tych samych
wartości wyjściowych.
W3 - 2
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
Norma IEC-61131-3 definiuje typy języków:
•
graficzne: schematów drabinkowych LD, schematów blokowych FBD,
•
tekstowe: lista instrukcji IL, tekst strukturalny ST,
•
grafów: graf funkcji sekwencyjnych SFC, graf przepływowy FC.
Każdy program w sterowniku PLC, bez względu na jego postać, wykonywany jest
cyklicznie.
W3 - 3
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
A
B
C
D
E
F
STARTUP
Czyści obszar pamięci I
Inicjalizuje wyjścia z ostatnimi
wartościami lub zastępczymi wartościami
Wykonuje startowe OB
Kopiuje stan fizycznych wejść do pamięci
I
Zapisuje zdarzenia przerwań do kolejki
oczekującej na wykonanie w trybie RUN
Uaktywnia zapis zawartości pamięci Q do
fizycznych wyjść
①
②
③
④
RUN
Zapisuje zawartość pamięci Q do
wyjść fizycznych
Kopiuje stan fizycznych wejść do
pamięci I
Wykonuje cykliczne OB
Wykonuje autodiagnostykę
⑤ Obsługuje przerwania w dowolnej
części cyklu programu
Cykl pracy sterownika PLC w trybie RUN
W3 - 4
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
Zaleca się podział programu na podprogramy funkcjonalne:
- przetwarzane
cyklicznie
w
sposób
ciągły
- uruchomienie
- zachowanie się przerwań i błędów
W obiektach często występują te same zadania sterownicze, korzysta się często z tych
samych algorytmów i wtedy celowe jest podejście strukturalne:
- podział programu użytkownika na zadania
- zastosowanie architektury blokowej z zastosowaniem bloków funkcji i bloków danych.
W3 - 5
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
Typy danych – określa zbiór wartości, jakie mogą przyjmować dane, jak również zbiór
operacji na nich wykonywalny
W systemach programowania PLC wartości danych mogą być przedstawione w
postaci:
- liczbowej,
- ciągu znaków,
- czasowej.
Słowo kluczowe
BOOL
BYTE
WORD
DWORD
SINT
INT
USINT
UINT
REAL
TIME
DATE
STRING
Liczba bitów
1
8
16
32
8
16
8
16
32
8/16/32
32
32
Typ danej
Logiczna
Bajt
Słowo
Podwójne słowo
Całkowita 8 - bitowa
Całkowita 16 - bitowa
Całkowita 8 – bitowa bez znaku
Całkowita 16 – bitowa bez znaku
Liczba rzeczywista
Reprezentacja czasu
Data
Ciąg znaków o zmiennej długości
W3 - 6
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
1. Funkcje standardowe (wspólne dla różnych języków):
Styk normalnie otwarty. Przewodzi sygnał Styk normalnie zamknięty. Przewodzi
(jest zamknięty, bit stanu=1), gdy wartość sygnał (jest zamknięty, bit stanu=1), gdy
logiczna kontrolowanego wejścia równa wartość
logiczna
kontrolowanego
się 1 (styki fizycznego łącznika są wejścia równa się 0 (styki fizycznego
zamknięte).
łącznika są rozwarte).
Najczęściej odwzorowują wejścia dwustanowe sterownika
Cewka - przekaźnik ustawia wartość
przypisanej zmiennej na "1", gdy podany
zostanie stan wysoki na jego wejście
(wynik operacji logicznych z jego lewej
strony jest równy 1). Jest to przekaźnik o
stykach otwartych.
Najczęściej odwzorowuje wyjście dwustanowe sterownika.
W3 - 7
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
2. Funkcje logiczne
Operacje AND i OR
Schemat układu
Podłączenie elementów do PLC
W3 - 8
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
Funkcje logiczne: XOR
Funkcje logiczne: NOT
Układ z warunkiem pomiędzy obwodami drabinki
W3 - 9
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
Odpytanie stanu wejść na stan 1 i 0
Uwaga: Cewka K1 zawsze załączona, gdy S1 uruchomiony, a S2 nie jest uruchomiony.
W3 - 10
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
Realizacja układu start – stop z samopodtrzymaniem
a) z pierwszeństwem wyłączenia
b) z pierwszeństwem załączenia
W3 - 11
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
3. Funkcje konwersji typu
4. Funkcje arytmetyczne
5. Funkcje przesuwania bitów
1
SHL
Przesuń bity w argumencie IN o N pozycji w lewo wprowadzając 0 na
pozycję bitów z prawej strony
2
SHR
Przesuń bity w argumencie IN o N pozycji w prawo wprowadzając 0 na
pozycję bitów z lewej strony
3
ROR
Przesuń cyklicznie w prawo N bitów w argumencie IN (rotacja – bity z
prawej strony przechodzą na lewą)
4
ROL
Przesuń cyklicznie w lewo N bitów w argumencie IN (rotacja – bity z lewej
strony przechodzą na prawą)
6. Funkcje wyboru i porównania – max, min, ogranicznik, multiplekser, porównania:
- sekwencje malejące i rosnące,
- sekwencje nie malejące i nie rosnące,
- różne wejścia.
7. Funkcje na łańcuchach znaków
W3 - 12
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
Blok funkcyjny – z chwilą wykonania może dostarczać jedną lub wiele wartości, posiada
wewnętrzne zmienne zawierające informację o stanie bloku, wywołanie bloku z tymi
samymi argumentami wejściowymi niekoniecznie musi prowadzić do tych samych
wartości wyjściowych.
1. Elementy bistabilne – przerzutniki RS, cewki SET, RESET.
Przekaźnik ustawialny "SET". Przekaźnik
ustawia na "1" kilka przypisanych mu
zmiennych dyskretnych, których liczbę
określa parametr "N". Zmienna S_BIT
określa adres początkowy tych zmiennych.
Jest to przekaźnik z pamięcią, gdyż jego
stan jest podtrzymywany w przypadku
wyłączenia zasilania sterownika. Wartość
"1" jest utrzymywana do momentu, aż
sygnał podany zostanie do przekaźnika
"RESET".
Przekaźnik
ustawialny
"RESET"
przystosowany
do
współpracy
z
przekaźnikiem
"SET".
Gdy
do
przekaźnika podany zostanie sygnał
wartość przypisanej mu zmiennej S_BIT
oraz
kilka
kolejnych
zmiennych
dyskretnych określonych parametrem
"N" ustawiona zostanie na "0". Jest to
przekaźnik z pamięcią.
W3 - 13
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
2. Elementy detekcji zbocza – jest to najkrótszy impuls, jaki może wygenerować
sterownik, większość rozkazów pracuje z detekcją zbocza narastającego
Styk zwierny na czas jednego cyklu pracy
sterownika, gdy sygnał podany do tego
styku zmienia wartość z "0" na "1". (styk
impulsowy)
Styk zwierny na czas jednego cyklu
pracy sterownika, gdy sygnał podany do
tego styku zmienia wartość z "1" na "0".
(styk impulsowy)
W3 - 14
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
3. Układy czasowe – (czasówka, czasomierz, zegar, timer) – celem stosowania
tych bloków jest uzależnienie pewnych zdarzeń od czasu, uruchomienie –
zmiana „0” na „1”, zatrzymanie zmiana ‘1” na „0”, typy czasomierzy:
•
generator impulsu TP o zadanym czasie trwania w chwili, gdy na IN pojawi się
zmiana „0” na „1”,
W3 - 15
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
•
czasomierz załączający z opóźnieniem TON – przyjmuje wartość 1 z
opóźnieniem określonym na wejściu TP w stosunku do 1 na wejściu IN i
pozostaje w tym stanie dopóki wejście IN nie przyjmie wartości 0,
W3 - 16
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
•
czasomierz wyłączający z opóźnieniem TOF – przyjmuje wartość 1 z chwilą
pojawienia się 1 na IN, a zostaje wyłączony z opóźnieniem zadanym na
wejściu PT po zmianie 1” na „0” na IN,
W3 - 17
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
Układy czasowe (Timer)
Realizacja generatora impulsów na bazie 2 timerów TON
W3 - 18
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki
4.
Układy liczenia – zliczanie impulsów, możliwość zerowania, zakres zależny
sprzętowo
• Licznik dodający CTU
• Licznik odejmujący CTD
• Licznik odejmująco - dodający CTUD
W3 - 19