background image

PROGRAMOWANIE 

STEROWNIKÓW PLC

background image

JĘZYKI PROGRAMOWANIA 

STEROWNIKÓW PLC

Norma IEC 1131 – rozdział 3: „Języki 

programowania”

• JĘZYKI TEKSTOWE

• JĘZYKI GRAFICZNE

background image

JĘZYKI PROGRAMOWANIA 

STEROWNIKÓW PLC

Norma IEC 1131 – rozdział 3: „Języki 

programowania”

END

1

2

3

START    PB1
AND        CRI
OR          LSI
OUT       SOL

background image

JĘZYKI TEKSTOWE

• JĘZYK  STL  (Statement  List)  –  jest  w 

pewnym  sensie  analogiem  języka  typu 
asembler.

      Język  ten  objął  m.in.  Instrukcje  operacji 

logicznych, 

matematycznych, 

operacje 

relacji,  operacje  na  blokach  funkcyjnych 
(liczniki, czasomierze, komparatory).

background image

JĘZYKI GRAFICZNE

• JĘZYK LD (Ladder Diagram) 

nazywany językiem stykowym;

• JĘZYK FBD (Function Block Diagram);
• GRAF SEKWENCJI SFC (Sequential 

Function Chart);

background image

JĘZYK LD

LADDER DIAGRAM – SCHEMAT DRABINKOWY

   Należy do grupy języków graficznych 

umożliwia 

realizację 

zadania 

sterowania 

za 

pomocą 

standaryzowanych 

symboli 

graficznych.  Symbole  te  umieszcza 
się  w  obwodach  w  sposób  podobny 
do  szczebli  (RUNGS)  w  schemacie 
drabinkowym  dla  przekaźnikowych 
obwodów sterowania.

background image

JĘZYK LD

 (LADDER DIAGRAM, SCHEMAT DRABINKOWY)

• Zastępuje  układy  automatyki  i 

sterowania  realizowane  za  pomocą 
styczników i przekaźników.

• Jego  struktura  graficzna  pozwala  na 

proste 

przenoszenie 

schematów 

przekaźnikowych 

na 

program 

sterownika PLC.

background image

ANATOMIA JĘZYKA LADDER

background image

JĘZYK LD

 (LADDER DIAGRAM, SCHEMAT DRABINKOWY)

background image

JĘZYK LD

 (LADDER DIAGRAM, SCHEMAT DRABINKOWY)

LINIA SYGNAŁOWA

background image

JĘZYK LD

 (LADDER DIAGRAM, SCHEMAT DRABINKOWY)

STYK NORMALNIE OTWARTY

background image
background image
background image

ELEKTRONICZNE ROZWIĄZANIE 

SYSTEMÓW STEROWANIA

background image

ELEMENTY JĘZYKA LADDER

STRUKTURA PROGRAMU W JĘZYKU LADDER

DRABINA
(Ladder)

SIECI
(Rungi)

POCZĄTEK

KONIEC

LAB

background image

ELEMENTY JĘZYKA LADDER

SYMBOLE GRAFICZNE TESTÓW

POŁĄCZENIE POZIOME

POŁĄCZENIE PIONOWE

STYK NORMALNIE OTWARTY (normal open contact)
          służy do testowania czy stan bitu = 1

STYK NORMALNIE ZAMKNIĘTY (normal closed contact)
          służy do testowania czy stan bitu = 0

background image

ELEMENTY JĘZYKA LADDER

SYMBOLE GRAFICZNE AKCJI

S

R

J

„CEWKA”

Przypisanie bitowi logicznego wyniku testów

„CEWKA ZANEGOWANA”

Przypisanie bitowi wartości odwrotnej do logicznego wyniku testów

„CEWKA Z PODTRZYMANIEM - SET”

Ustawia bit w stan „1”, jeśli wynik logiczny testów jest „1”

„CEWKA KASOWANIA PODTRZYMANIA - RESET”

Ustawia bit w stan „0”, jeśli wynik logiczny testów jest „1”

„JUMP – skok w programie”
Uaktywnienie tej cewki spowoduje przerwanie obsługi
Aktualnie interpretowanej sieci (rungu) i kontynuowanie 
programu w sieci wskazanej przez etykietę. 

background image

ELEMENTY JĘZYKA LADDER

STREFA TESTOWA

STREFA AKCJI

background image

ELEMENTY JĘZYKA LADDER

STREFA TESTOWA

Obejmuje zapis wszystkich warunków, 

jakie chcemy sprawdzić 
(przetestować).

• TEST „1” – 

sprawdzenie, czy obiekt przypisany do 

tego 

                                   symbolu ma wartość logiczną „1”

• TEST „0” – 

sprawdzenie, czy obiekt przypisany do 

tego 

                                   symbolu ma wartość logiczną „0”

background image

ELEMENTY JĘZYKA LADDER

STREFA AKCJI (WYKONAWCZA)

• CEWKA PROSTA
• CEWKA ZANEGOWANA
• CEWKA SET
• CEWKA RESET
• CEWKA SKOKU (JUMP)

background image

PRZYKŁAD

A

  0

MODUŁ WEJŚCIOWY

STAN BITU

PRZYCISK NIE JEST NACIŚNIĘTY

STAN „0”

FAŁSZ

WYJŚCIE

A

STAN „1”

PRAWDA

WYJŚCIE

A

background image

PRZYKŁAD

A

  1

MODUŁ WEJŚCIOWY

STAN BITU

PRZYCISK JEST NACIŚNIĘTY

STAN „1”

PRAWDA

WYJŚCIE

A

STAN „0”

FAŁSZ

WYJŚCIE

A

background image

WYKONYWANIE RUNGU

BIT W PAMIĘCI

BIT W PAMIĘCI

1

1

JEŻELI WYNIK TESTU WYNOSI „1”, TO WYJŚCIE JEST
USTAWIANE W STAN „1”

background image

WYKONYWANIE RUNGU

BIT W PAMIĘCI

BIT W PAMIĘCI

0

0

JEŻELI WYNIK TESTU WYNOSI „0”, TO WYJŚCIE JEST
USTAWIANE W STAN „0”

background image

PRZYKŁAD PROGRAMU W LD

background image

PRZYKŁAD PROGRAMU W LD

background image

OZNACZENIA STYKÓW W JĘZYKU 

LADDER (cd)

P

N

Zestyk do wykrycia zbocza narastającego

wykrycie zmiany kontrolowanego obiektu bitowego z „0” na „1”

Zestyk do wykrycia zbocza opadającego

wykrycie zmiany kontrolowanego obiektu bitowego z „1” na „0”

background image

OZNACZENIA STYKÓW W JĘZYKU 

LADDER (cd)

->>%Li->>
%SRi

Skierowanie do etykietowanej 
instrukcji, do góry lub do dołu.

MCS

MCR

Modyfikuje wykonywanie 
programu.

<RET>

Umieszczana na końcu podprogramu, 
by wrócić do programu głównego.

<END
>

Definiuje koniec 
programu.

background image

BLOKI FUNKCYJNE

Bloki czasowe, liczniki, 
rejestry, itd.

Każdy  blok  funkcyjny  ma  wejścia  i  wyjścia 
umożliwiające  dołączenie  innych  elementów 
graficznych.
Nota:  Wyjścia  bloków  funkcyjnych  nie  muszą 
być podłączone do innych elementów.

background image

BLOKI PORÓWNANIA I OPERACYJNE

Blok porównania

Porównuje dwa argumenty, zmienia wyjście na 
1,
gdy wynik jest prawdziwy.
Rozmiar: jeden wiersz na dwie kolumny.

Blok operacyjny

Wykonuje działania arytmetyczne i 
logiczne.
Rozmiar: jeden wiersz na cztery kolumny.

background image

BLOK FUNKCYJNY CZASOWY (%TMi)

Są trzy typy bloków funkcyjnych 

czasowych:

TON  (Timer  On-Delay):

  służy  do  sterowania 

opóźnieniem załączenia akcji.

TOF  (Timer  Off-Delay):

  służy  do  sterowania 

opóźnieniem wyłączenia akcji.

TP  (Timer  -  Pulse):

  służy  do  tworzenia  impulsu  o 

określonym czasie trwania.

Okresy  opóźnienia  i  czas  impulsu  są  programowane  i 
mogą być modyfikowane za pomocą TwidoSoft.

background image

BLOK FUNKCYJNY CZASOWY (%TMi)

%TMi

TYPE TON

TB 1min

ADJ Y

%TMi.P 9999Blok 

Q

IN

background image

BLOK FUNKCYJNY CZASOWY (%TMi)

BLOK FUNKCYJNY CZASOWY MA NASTĘPUJĄCE PARAMETRY:

•  PARAMETR;

•  ETYKIETA;

•  WARTOŚĆ;

TYP:

• TON – opóźnienie załączenia (domyślnie);

•  TOF – opóźnienie wyłączenia;

•  TP – impuls monostabilny;

background image

BLOK FUNKCYJNY CZASOWY (%TMi)

PODSTAWA CZASU TB:

* 1 min (domyślnie),

•   1 s, 100 ms, 10 ms, 1 ms;

WARTOŚĆ BIEŻĄCA %TMiV

 - Słowo, 

które zwiększa się od 0 do %TMi.P w trakcie działania 
bloku. Może być czytanie i testowane, ale nie może 
być zapisywane przez program. %TMi.V może być 
modyfikowane przez edytor tablic animacji.

WARTOŚĆ ZADANA %TMi.P

 - 0 - 9999.

Słowo, które może być czytane, testowane i 
zapisywane przez program. Wartość domyślna: 9999. 
Generowany okres lub opóźnienie jest równe %TMi.P 
x TB.

Edycja w tablicy animacji
Y/N:

Y:  Tak,  wartość  zadana  %TMi.P  może  być 
modyfikowana przez edytor tablic animacji.
N:  Nie,  wartość  zadana  %TMi.P  nie  może 
być modyfikowana.

Wejście ustawiania IN

Uruchomienie bloku przy zboczu 
narastającym (typy TON i TP) lub zboczu 
opadającym (typ TOF).

Wyjście bloku czasowego
Q:

Dołączony bit %TMi.Q jest ustawiany na 1 w 
zależności od wykonywanej funkcji (TON, 
TOF, TP)

background image

BLOK CZASOWY TOF

(Timer off-delay)

Blok czasowy typu TOF (Timer off-delay) służy do sterowania opóźnieniem
wyłączenia akcji. 

background image

BLOK CZASOWY TOF

(Timer off-delay)

DZIAŁANIE BLOKU CZASOWEGO TOF.

1. Wartość bieżąca %TMi.V jest ustawiana na 0 przy 
zboczu  narastającym  na  wejściu  IN,  również,  gdy 
blok czasowy działa.
2.  Bit  wyjściowy  %TMi.Q  jest  ustawiany  na  1,  gdy 
wykryte jest zbocze narastające na wejściu IN.
3.  Blok  czasowy  startuje  przy  zboczu  opadającym 
na wejściu IN.
4.  Wartość  bieżąca  %TMi.V  powiększa  się  od  0  do 
%TMi.P  przyrastając  jednostkowo  po  każdym 
impulsie podstawy czasu TB.
5.  Bit  wyjściowy  %TMi.Q  jest  kasowany  na  0,  gdy 
wartość bieżąca osiągnie %TMi.P.

background image

BLOK CZASOWY TON

(Timer on-delay)

Blok czasowy typu TON (Timer on-delay) służy do sterowania opóźnieniem
załączenia akcji. Opóźnienie jest programowane za pomocą TwidoSoft.

background image

BLOK CZASOWY TON

(Timer on-delay)

1. Blok czasowy startuje przy zboczu narastającym na wejściu 

IN.

2.  Wartość  bieżąca  %TMi.V  powiększa  się  od  0  do  %TMi.P 

przyrastając  jednostkowo  po  każdym  impulsie  podstawy 
czasu TB.

3.  Bit  wyjściowy  %TMi.Q  jest  ustawiany  na  1,  gdy  wartość 

bieżąca osiągnie %TMi.P.

4. Bit wyjściowy %TMi.Q utrzymuje stan 1, dopóki na wejściu IN 

jest stan 1.

5.  Blok  czasowy  jest  zatrzymywany,  a  %TMi.V  jest  ustawiane 

na  0,  gdy  wykryte  jest  zbocze  opadające  na  wejściu  IN, 
również, gdy czas nie osiągnął %TMi.P.

background image

BLOK CZASOWY TP

(Timer pulse)

Blok czasowy typu TP (Timer pulse) służy do tworzenia impulsu
o określonym czasie trwania. 

background image

BLOK CZASOWY TP

(Timer pulse)

1. Blok czasowy startuje przy zboczu narastającym na wejściu 
IN.  Wartość  bieżąca  %TMi.V  jest  ustawiana  na  0,  jeżeli  blok 
nie był już w trakcie pracy.
2. Bit wyjściowy %TMi.Q jest ustawiany na 1 po uruchomieniu 
bloku.
3.  Wartość  bieżąca  %TMi.V  powiększa  się  od  0  do  %TMi.P 
przyrastając  jednostkowo  dla  każdego  impulsu  podstawy 
czasu TB.
4.  Bit  wyjściowy  %TMi.Q  jest  ustawiany  na  0,  gdy  wartość 
bieżąca osiągnie %TMi.P.
5.  Wartość  bieżąca  %TMi.V  jest  ustawiana  na  0,  gdy  %TMi.V 
zrównuje się z %TMi.P i wejście IN wraca na 0.
6.  Ten  blok  czasowy  nie  może  być  kasowany.  Kiedy  %TMi.V 
zrówna się z %TMi.P i na wejściu IN jest 0, wtedy %TMi.V jest 
ustawiane na 0.

background image

ZASTOSOWANIE TIMERÓW

SYGNALIZACJA ULICZNA

background image

REALIZACJA PAMIĘCI W JĘZYKU 

LADDER

RS

PRZERZUTNIK

S

R

I1

I2

Q1

I1

I2

Q1

background image

FUNKCJE CZASOWE TIMERY

Przekaźnik czasowy załączający z pamięcią 

Działanie 
Instancja 

wbudowanego bloku funkcyjnego

 przekaźnika czasowego załączającego z 

pamięcią (ONDTR) zlicza czas, gdy dopływa do niej sygnał i zatrzymuje naliczoną 
wartość, gdy sygnał przestaje dopływać. Czas może być zliczany w różnych jednostkach, 
zależnie od rodziny jednostek centralnych:
Sekundy (PACSystems i seria 90-70) 
dziesiąte części (0.1) sekundy (wszystkie jednostki centralne) 
setne części (0.01) sekundy (wszystkie jednostki centralne) 
Tysięczne (0.001) sekundy (VersaMax, PACSystems z oprogramowaniem systemowym 
wer. 2.00 lub nowsza oraz seria 90-30).
Zakres zmierzonej wartości wynosi od 0 do +32767 jednostek czasu. Wartość bieżąca 
przekaźnika jest przechowywana w przypadku awarii zasilania sterownika; nie jest ona 
jednak automatycznie inicjalizowana po usunięciu awarii zasilania. 
Gdy do przekaźnika dopłynie sygnał po raz pierwszy, rozpoczyna on naliczanie czasu. 
Zliczona wartość przechowywana jest w zmiennej CV. Po napotkaniu przekaźnika 
czasowego w drabinie programu sterującego, wartość bieżąca jest aktualizowana. Jeżeli 
wartość bieżąca CV jest równa lub większa od wartości zadanej PV, na wyjście Q 
wysyłany jest sygnał, bez względu na stan sygnału wejściowego. 

background image

FUNKCJE CZASOWE TIMERY

Przekaźnik czasowy załączający z pamięcią 

background image

LICZNIKI COUTERY

Działanie 
Instancja 

wbudowanego bloku funkcyjnego

 licznika zliczającego w górę (UPCTR) służy 

do zliczania w górę impulsów do wartości zadanej (PV). Zakres wartości wynosi od 0 do 
+32 767 impulsów. Jeżeli wartość bieżąca (CV) dojdzie do wartości maksymalnej 32 
767, nie będzie ona zmieniana, aż do momentu wyzerowania tego bloku funkcyjnego. 
Ustawienie wejścia R wbudowanego bloku funkcyjnego UPCTR na ON powoduje 
ustawienie parametru CV na 0. Każde zbocze narastające sygnału wejściowego 
(zmiana stanu sygnału wejściowego z 0 na 1) powoduje zwiększenie wartości bieżącej 
CV o 1. Wartość bieżąca CV może być zwiększana ponad wartość zadaną PV. Sygnał 
wyjściowy jest wysyłany, gdy CV PV. Sygnał wyjściowy Q jest wysyłany przez cały czas, 
do momentu doprowadzenia sygnału na wejście R, co jednocześnie powoduje 
wyzerowanie wartości bieżącej CV. 
Uwaga: Bez względu na rodzaj jednostki centralnej, wartość CV jest zapamiętywana w 
Słowie 1 parametru. W przypadku jednostek centralnych PACSystems i serii 90-70, 
wartość parametru CV jest również zapisywana do parametru CV. 

background image

PRZYKŁAD PROGRAMU

background image

PRZYKŁAD PROGRAMU

background image

nnn

background image

KONIEC

Dziękuję za 

uwagę!!


Document Outline