15 Język Instruction List Układy sekwencyjne Działania na liczbach materiały wykładowe

background image

1

J

ę

zyki programowania PLC

norma IEC 61131-3

C:= A AND NOT B;

A B C

-| |--|/|----------------( )

LD

A

ANDN

B

ST

C

AND

A C

B

Instruction List (IL)

Structured Text (ST)

Function Block Diagram (FBD)

Ladder Diagram (LD)

graficzne

tekstowe

Function Block Diagram (FBD)

przemysł

chemiczny

J

ę

zyk schematów blokowych jest odpowiednikiem schematów

przepływu sygnału dla obwodów logicznych przedstawionych w
formie poł

ą

czonych bramek logicznych oraz bloków

funkcyjnych.

U

ż

ywany w aplikacjach, które korzystaj

ą

z przepływów

informacji mi

ę

dzy elementami sterowania.

background image

2

Tekst Strukturalny (Structured Text)

J

ę

zyk algorytmiczny wysokiego poziomu;

Najbardziej zalecany dla tych, którzy maj

ą

do

ś

wiadczenie w

programowaniu j

ę

zykami wysokiego poziomu, przypomina

Pascala;

Zawiera struktury takie, jak:

iteracj

ę

(REPEAT-UNTIL; WHILE-DO; FOR-TO-DO)

działania warunkowe (IF-THEN-ELSE; CASE)

Seguential Function Chart (SFC)

Graficzna metoda opisu sterowania procesami sekwencyjnymi

Program składa si

ę

z kroków i warunków przej

ś

cia

Znacznie upraszcza pisanie programu steruj

ą

cego

Wygodny do szybkiej diagnostyki

Step 1

N FILL

Step 3

Step 2 b

N Empty

Transition 1b

Transition 2b

Step 2 a N Empty

Transition 1a

Transition 2a

background image

3

Programowanie sterowników GE

Seria 90-30, VersaMax, VersaMax Micro i Nano:

Ladder Diagram

Instruction List

Seria 90-30 procesory 32-bitowe:

j

ę

zyk C – biblioteki z kompilatorem trzeba oddzielnie kupi

ć

Seria PACSystems:

L

adder

D

iagram (

LD

)

F

unction

B

lock

D

iagram (

FBD

)

S

tructured

T

ext (

ST

)

j

ę

zyk

C

– biblioteki z kompilatorem za darmo dostarczane

razem z Proficy ME

nie ma j

ę

zyka

I

nstruction

L

ist (

IL

)

Instruction List w sterownikach GE

Programowanie w IL – wymaga zarezerwowania pami

ę

ci na

akumulator i stos.

background image

4

Edycja programu

h

Edytor kolorami odró

ż

nia słowa kluczowe, zmienne, stałe i

komentarze.

h

Komentarzem jest wszystko, co znajduje si

ę

za znakiem apostrofu.

Zestawienie funkcji binarnych

operator

argument

opis

LD_BOOL

zmienna

akumulator := argument

LDN_BOOL

zmienna

akumulator := NOT argument

ST_BOOL

zmienna

argument := akumulator, wartość akumulatora nie ulega zmianie

STN_BOOL

zmienna

argument := NOT akumulator, wartość akumulatora nie ulega zmianie

S

zmienna

argument SET := akumulator, wartość akumulatora nie ulega zmianie

R

zmienna

argument RESET := akumulator, wartość akumulatora nie ulega zmianie

PT

zmienna

argument uaktywniany zboczem narastającym := akumulator, wartość
akumulatora nie ulega zmianie

NT

zmienna

argument uaktywniany zboczem opadającym := akumulator, wartość
akumulatora nie ulega zmianie

NOT

akumulator := NOT akumulator

AND

zmienna

akumulator := akumulator AND argument

ANDN

zmienna

akumulator := akumulator AND NOT argument

AND(

zagnieżdżone

wyrażenie

logiczne

akumulator := akumulator AND zagnieżdżone wyrażenie logiczne,
otwarcie nawiasu powoduje złożenie bieżącej funkcji na stosie,
zamknięcie nawiasu powoduje pobranie ze stosu i wykonanie funkcji z
aktualnym stanem akumulatora

ANDN(

zagnieżdżone

wyrażenie

logiczne

akumulator := akumulator AND NOT zagnieżdżone wyrażenie logiczne,
otwarcie nawiasu powoduje złożenie bieżącej funkcji na stosie,
zamknięcie nawiasu powoduje pobranie ze stosu i wykonanie funkcji z
aktualnym stanem akumulatora

background image

5

Zestawienie funkcji binarnych

OR

zmienna

akumulator := akumulator OR argument

ORN

zmienna

akumulator := akumulator OR NOT argument

OR(

zagnieżdżone

wyrażenie

logiczne

akumulator := akumulator OR zagnieżdżone wyrażenie logiczne, otwarcie
nawiasu powoduje złożenie bieżącej funkcji na stosie, zamknięcie nawiasu
powoduje pobranie ze stosu i wykonanie funkcji z aktualnym stanem akumulatora

ORN(

zagnieżdżone

wyrażenie

logiczne

akumulator := akumulator OR NOT zagnieżdżone wyrażenie logiczne, otwarcie
nawiasu powoduje złożenie bieżącej funkcji na stosie, zamknięcie nawiasu
powoduje pobranie ze stosu i wykonanie funkcji z aktualnym stanem akumulatora

XOR

zmienna

akumulator := akumulator XOR argument

XORN

zmienna

akumulator := akumulator XOR NOT argument

XOR(

zagnieżdżone

wyrażenie

logiczne

akumulator := akumulator XOR zagnieżdżone wyrażenie logiczne, otwarcie
nawiasu powoduje złożenie bieżącej funkcji na stosie, zamknięcie nawiasu
powoduje pobranie ze stosu i wykonanie funkcji z aktualnym stanem akumulatora

XORN(

zagnieżdżone

wyrażenie

logiczne

akumulator := akumulator XOR NOT zagnieżdżone wyrażenie logiczne, otwarcie
nawiasu powoduje złożenie bieżącej funkcji na stosie, zamknięcie nawiasu
powoduje pobranie ze stosu i wykonanie funkcji z aktualnym stanem akumulatora

Układy sekwencyjne – przykład 1.

background image

6

Układy sekwencyjne - przykład 1.

Słowa kluczowe:

S

R

odpowiadaj

ą

cewkom SETCOIL i RESETCOIL.

S

ą

wykonywane, gdy akumulator == true.

Układy sekwencyjne - przykład 2.

background image

7

Układy sekwencyjne - przykład 3.

h

Słowa kluczowe:

PT

NT

odpowiadaj

ą

cewkom

POSCOIL i NEGCOIL.

h

Nie zmieniaj

ą

stanu

akumulatora.

Działania na liczbach

operator

argument

opis

LD_INT

zmienna lub stała

akumulator := argument

LD_ENO

brak

akumulator := Enable Output

ST_INT

zmienna

argument := akumulator

ST_DINT

zmienna

argument := akumulator

ST_REAL

zmienna

argument := akumulator

ADD

zmienna lub stała

akumulator := akumulator + argument

SUB

zmienna lub stała

akumulator := akumulator argument

MUL

zmienna lub stała

akumulator := akumulator * argument

DIV

zmienna lub stała

akumulator := akumulator / argument

MOD

zmienna lub stała

akumulator := akumulator modulo argument

h

LD (Load) i ST (Store) – obsługuj

ą

nast

ę

puj

ą

ce typy danych:

LD_BOOL, LDN_BOOL, LD_INT,
ST_BOOL, STN_BOOL, ST_INT, ST_WORD, ST_REAL, ST_DINT

background image

8

Odpowiedniki bloków funkcyjnych

blok funkcyjny

typ argumentów

ENO

opis

ADD_INT(in1, in2)
ADD_DINT(in1, in2)
ADD_REAL(in1, in2)

in1: INT, DINT lub REAL
in2: INT, DINT lub REAL
akumulator: INT, DINT lub REAL

tak

akumulator:= in1 + in2

SUB_INT(in1, in2)

SUB_DINT(in1, in2)
SUB_REAL(in1, in2)

in1: INT, DINT lub REAL
in2: INT, DINT lub REAL
akumulator: INT, DINT lub REAL

tak

akumulator:= in1 - in2

MUL_INT(in1, in2)

MUL_DINT(in1, in2)
MUL_REAL(in1, in2)

in1: INT, DINT lub REAL
in2: INT, DINT lub REAL
akumulator: INT, DINT lub REAL

tak

akumulator:= in1 * in2

DIV_INT(in1, in2)
DIV_DINT(in1, in2)

DIV_REAL(in1, in2)

in1: INT, DINT lub REAL
in2: INT, DINT lub REAL
akumulator: INT, DINT lub REAL

tak

akumulator:= in1 / in2

MOD_INT(in1, in2)
MOD_DINT(in1, in2)

in1: INT, DINT
in2: INT, DINT
akumulator: INT, DINT

tak

akumulator:= in1 modulo in2
(funkcja modulo czyli reszta
z dzielenia całkowitoliczbowego)

SCALE_INT(ihi, ilo, ohi, olo, in)
SCALE_WORD(ihi, ilo, ohi, olo, in)

ihi: INT lub WORD

ilo: INT lub WORD

ohi: INT lub WORD

olo: INT lub WORD

in: INT lub WORD

akumulator: INT lub WORD

tak

akumulator:= wartość po
przeskalowaniu

Ś

rednia arytmetyczna - przykład

background image

9

Porównania – bloki funkcyjne

Operator

Typ argumentów

Opis

EQ_INT (in1, in2)

EQ_DINT (in1, in2)

EQ_REAL (in1, in2)

in1: INT, DINT, REAL

in2: INT, DINT, REAL

akumulator: BOOL

akumulator := (in1 = in2)

NE_INT (in1, in2)

NE_DINT (in1, in2)

NE_REAL (in1, in2)

in1: INT, DINT, REAL

in2: INT, DINT, REAL

akumulator: BOOL

akumulator := (in1

in2)

GT_INT (in1, in2)

GT_DINT (in1, in2)

GT_REAL (in1, in2)

in1: INT, DINT, REAL

in2: INT, DINT, REAL

akumulator: BOOL

akumulator := (in1 > in2)

GE_INT (in1, in2)

GE_DINT (in1, in2)

GE_REAL (in1, in2)

in1: INT, DINT, REAL

in2: INT, DINT, REAL

akumulator: BOOL

akumulator := (in1

in2)

LT_INT (in1, in2)

LT_DINT (in1, in2)

LT_REAL (in1, in2)

in1: INT, DINT, REAL

in2: INT, DINT, REAL

akumulator: BOOL

akumulator := (in1 < in2)

LE_INT (in1, in2)

LE_DINT (in1, in2)

LE_REAL (in1, in2)

in1: INT, DINT, REAL

in2: INT, DINT, REAL

akumulator: BOOL

akumulator := (in1

in2)

Porównania - funkcje asemblerowe

Operator

Argument

Opis

EQ

Zmienna lub stała

akumulator := (akumulator = argument)
akumulator typu BOOL

NE

Zmienna lub stała

akumulator := (akumulator

argument)

akumulator typu BOOL

GT

Zmienna lub stała

akumulator := (akumulator > argument)
akumulator typu BOOL

GE

Zmienna lub stała

akumulator := (akumulator

argument)

akumulator typu BOOL

LT

Zmienna lub stała

akumulator := (akumulator < argument)
akumulator typu BOOL

LE

Zmienna lub stała

akumulator := (akumulator

argument)

akumulator typu BOOL

background image

10

Sygnalizacja przekrocze

ń

Instrukcja skoku w LD

JUMPN - skok, LABELN - etykieta,

h

Skok w dół

h

Skok w gór

ę

(nie zalecany)

background image

11

Power Up Mode

Funkcje steruj

ą

ce

Operator

Argument

Opis

JMP

etykieta

bezwarunkowy skok do etykiety

JMPC

etykieta

skok do etykiety, je

ż

eli akumulator = 1

JMPCN

etykieta

skok do etykiety, je

ż

eli akumulator = 0

CAL

Nazwa podprogramu

Bezwarunkowe wywołanie podprogramu

CALC

Nazwa podprogramu

Wywołanie podprogramu, je

ż

eli akumulator = 1

CALCN

Nazwa podprogramu

Wywołanie podprogramu, je

ż

eli akumulator = 0

RET

brak

bezwarunkowy powrót z podprogramu

RETC

brak

powrót podprogramu, je

ż

eli akumulator = 1

RETCN

brak

powrót podprogramu, je

ż

eli akumulator = 0

background image

12

Skok w IL

h

Skoki mo

ż

na wykorzysta

ć

jako metod

ę

rozgał

ę

zie

ń

i decyzji

(odpowiednik IF THEN ELSE)

JMP etykieta:

skok bezwarunkowy

JMPC etykieta:

skok do etykiety, je

ś

li akumulator==true

JMPCN etykieta: skok do etykiety, je

ś

li akumulator==false

h

Je

ś

li warunek nie jest spełniony, to program jest kontynuowany

od nast

ę

pnej po skoku instrukcji.

Enable, Enable Output (ENO)

i

Odpowiednikiem parametru wyj

ś

ciowego

OK jest ENO (Enable Output)

i

Nie ma w j

ę

zyku IL odpowiednika parametru wej

ś

ciowego Enable,

mo

ż

na go zast

ą

pi

ć

przez RETCN lub JMPCN.

i

Rozwi

ą

zanie oparte na funkcjach asemblerowych:

bez sprawdzania, czy wyst

ą

pi dzielenie przez

zero,

nie wymaga rejestru pomocniczego ILORAZ.

background image

13

Enable, Enable Output (ENO)

i

Je

ś

li b

ę

d

ą

nast

ę

pne szczeble, to zamiast RETCN trzeba u

ż

y

ć

JMPCN etykieta:

Przeka

ź

niki czasowe

Blok funkcyjny

Typ argumentów

ENO

Opis

TMR_TENTHS(address, PV)

TMR_HUNDS(address, PV)

TMR_THOUS(address, PV)

address: array 3
WORD
PV
: INT
akumulator
: BOOL

tak

akumulator = true, to zwi

ę

ksza CV

akumulator = false, to zeruje CV

ustawia akumulator:= true, gdy
CV

PV

ONDTR_TENTHS(address, R, PV)

ONDTR_HUNDS(address, R, PV)

ONDTR_THOUS(address, R, PV)

address: array 3
WORD
R
: BOOL
PV
: INT
akumulator
: BOOL

tak

akumulator = true, to zwi

ę

ksza CV

akumulator = false, to pami

ę

ta

ostatnie CV

ustawia akumulator:= true, gdy
CV

PV

OFDT_TENTHS(address, PV)

OFDT_HUNDS(address, PV)

OFDT_THOUS(address, PV)

address: array 3
WORD
PV
: INT
akumulator
: BOOL

tak

akumulator = true, to zeruje CV

akumulator = false, to zwi

ę

ksza CV,

a

ż

CV=PV

ustawia akumulator:= true, gdy
CV
<PV

background image

14

Przeka

ź

niki czasowe - przykład

PLUCZ

POMPA

10 s

Timery nie wymagaj

ą

instrukcji skoku w celu
realizacji warunku Enable

J

ę

zyki LD i IL - kompatybilno

ść

i

Niepełna kompatybilno

ść

j

ę

zyków programowania – wynika z

ż

nego sposobu przetwarzania

i

LD nie dopuszcza si

ę

do wprowadzania operacji logicznych w

obwodzie po operacjach przypisania

ź

le

dobrze

Programy w IL s

ą

wykonywane szybciej ni

ż

w j

ę

zyku drabinkowym

Ka

ż

dy program drabinkowy da si

ę

zapisa

ć

w j

ę

zyku IL, nie ka

ż

dy

program w j

ę

zyku IL ma swój dokładny odpowiednik w LD.

W Proficy ME nie ma mo

ż

liwo

ś

ci konwersji do LD.

background image

15

J

ę

zyki LD i IL - kompatybilno

ść

h

Wykorzystanie własno

ś

ci równoległego przetwarzania w j

ę

zykach

graficznych poprzez ł

ą

czenie jednego wej

ś

cia z wi

ę

ksz

ą

liczb

ą

wyj

ść

mo

ż

e wymaga

ć

przy tłumaczeniu na j

ę

zyki tekstowe

wprowadzenia dodatkowych zmiennych w celu uzyskania
kompatybilno

ś

ci programów.

Porównanie - j

ę

zyk IL

h

Zalety:

q

j

ę

zyk proceduralny, tzn. instrukcje s

ą

wykonywane jedna po

drugiej,

q

wygodniejszy w procedurach zarz

ą

dzania pami

ę

ci

ą

lub przy

programowaniu oblicze

ń

iteracyjnych, bardziej elastyczny,

q

znajoma forma programu dla programuj

ą

cych w asemblerze,

q

zwarto

ść

programu pozwalaj

ą

ca zmie

ś

ci

ć

na jednej stronie ekranu

zło

ż

one funkcje

h

Wady:

q

trudny do analizy – znacznie mniejsza czytelno

ść

programu

q

brak instrukcji iteracyjnych, trzeba je organizowa

ć

przez

wprowadzenie wska

ź

nika dla iteracji i wykorzystanie instrukcji

porównania lub skoków

q

korzystanie z po

ś

rednictwa akumulatora i stosu nie jest intuicyjne

q

dostosowanie u

ż

ytkownika do maszyny, a nie maszyny do

u

ż

ytkownika

background image

16

Porównanie - j

ę

zyk LD

h

Zalety:

q

przetwarzanie przez przepływ sygnału („pr

ą

du”), który mo

ż

e

by

ć

realizowany równolegle

q

najodpowiedniejszy do programowania operacji logicznych
(algebra Boole’a)

q

łatwy do analizy

h

Wady:

q

stosowanie instrukcji skoku w j

ę

zykach graficznych stoi w

pewnej sprzeczno

ś

ci z zasad

ą

równoległego przetwarzania

sygnału w obwodzie

q

brak instrukcji dla oblicze

ń

iteracyjnych (typu REPEAT,

WHILE, FOR)


Wyszukiwarka

Podobne podstrony:
Działania na liczbach i wyrażeniach
działania na liczbach?łkowitych
1 Działania na liczbach wymiernych i niewymiernych
dzialania na liczbach zespolonych
Działania na liczbach?łkowitych
spr dzialania na liczbach nat kl 5 gr 2, Matematyka, kl 5
Działania na liczbach całkowitych
Wlasnosci dzialan na liczbach rzeczywistych
Mat SP 4 6 Mat w nas kl 6 Kartkowki 1 Działania na liczbach nat (1)
Praca kl nr 1 dzialania na liczbach 5r, Matematyka, kl 5
Praca kl nr 1 dzialania na liczbach 6a, Matematyka, kl 6
działania na liczbach
Działania na liczbach naturalnych kl4
działania na liczbach I
Utrwalenie dzialan na liczbach w zakresie 5
lab1 dzialania na liczbach
Konspekt; działania na liczbach, Metodyka, Matematyka-konspekty
203 uklady sekwencyjne - liczniki, Politechnika Wrocławska - Materiały, logika ukladow cyfrowych, sp
Działania na liczbach i wyrażeniach(1)

więcej podobnych podstron