Sie sind auf Seite 1von 25

Irnytstechnika 1

10. Elads

PLC-k programozsa

Irodalom

- Helmich Jzsef: Irnytstechnika I, 2005


- Zalotay Pter: PLC tanfolyam
- Jancskrn Anweiler Ildik: PLC programozs az IEC 1131-3 szabvny szerint, 2006
- Klckner-Mller PS3 s PRG3 felhasznli kziknyv
- Klckner-Mller Hungria: Hardverlers s tervezsi segdlet, 2005
Vezrlsi projekt felptse az IEC1131-3 szabvny szerint
A konfigurci sszetevi

A PLC-rendszer vals sszetevi:

- konfigurci: a PLC-rendszer, mint egy keretbe ptett, akr tbb (elosztott)


kzponti egysggel br, folyamatkzeli (gpegysg szint) irnytrendszer;

- erforrs: (esetleg multitaskingot lehetv tev) CPU;

- feladat (taszk): a programok s program tpus fggvnyblokkok futsi sajtossgai


(A PLC program egyediestse) ;

- fut program: a programbl ill. fggvnyblokkbl s a TASK-bl kpzett egysg.

Egy erforrs, egyetlen task esetn a konfigurci szerept teljesen tveheti a fprogram
(tartalmazza a globlis vltozk, kzvetlen lekpezs s szimbolikus vltozk
deklarlst).
A futsi tulajdonsgokat a PLC paramterei (implicit) belltjk.
CONFIGURATION jellemzi
CONFIGURATION konfigurci-nv

Tpusdefincik
Globlis deklarcik
RESOURCE-deklarci
ACCESS-deklarci

END_CONFIGURATION

A konfigurcik kztti adatcsert a VAR_ACCESS valstja meg.

CONFIGURATION PLC_gep1
VAR_GLOBAL END_VAR
RESOURCE CPU_szallitoszalag ON CPU_001
END_RESOURCE
RESUORCE CPU_henger ON CPU_002
END_RESOURCE
VAR_ACCESS END_VAR
RESOURCE jellemzi

RESOURCE erforrs-nv ON erforrs

Globlis deklarcik
TASK-deklarci

END_ RESOURCE

RESOURCE CPU_szallitoszalag ON CPU_001


TASK
PROGRAM WITH
END_RESOURCE
RESOURCE CPU_henger ON CPU_002
TASK
PROGRAM WITH
END_RESOURCE
TASK jellemzi
TASK task-nv (task-tulajdonsgok)
PROGRAM program-nv WITH task-nv : progr-nv (PROGRAM
csatlakoztats)
- futsidej program neve: program-nv;
- tpusa: progr-nv;
- PROGRAM csatlakoztats: a formlis paramtereknek megfelel aktulis
paramterek listja.

TASK T_gyors (INTERVAL:=t#8ms, PRIORITY:=1);


PROGRAM berendezes WITH T_gyors : progrA(szabpar:=%MW3,szabert:=hibakod)
TASK T_megszakit (SINGLE := trigger, PRIORITY:=1);
PROGRAM berendezes WITH T_megszakit : progrB
Fggvnyek hvsa
Fggvnyek hvsa utastslistban: a fggvnynv megadsval;
Az elsknt deklarlt bemeneti vltozt berjuk az akkumultorba;
A tbbi vltozt a fggvny hvsi sorban, a fggvnynv utn, vesszvel elvlasztva
kell megadni;
A fggvnyek rvnyessgi terlete globlis;
Egy fggvnynek pontosan egy kimeneti paramtere van.

A fggvny hvsa:
A fggvny deklarlsa:
FUNCTION felhasznaloi : INT VAR
VAR_INPUT par1: INT :=10;
fgvpar1, fgvpar2, fgvpar3: INT; par2: INT :=20;
END_VAR par3: INT :=30;
LD fgvpar1 eredm: INT;
ADD fgvpar2 END_VAR
ADD fgvpar3 LD par1
ST felhasznaloi (*visszatrsi rtk*) felhasznaloi par2, par3
END_FUNCTION (*msodik hvs*)
felhasznaloi par2, par3
ST eredm

Fggvnyblokk hvsa

CAL vagy a CALC/CALCN (feltteles/neglt feltteles hvs) paranccsal

Hvsmdok:

a bemeneti paramterek zrjelbe zrt listjval;

hvs eltt a bemeneti paramtereknek a megfelel cmre trolsval;

implicit hvs a bemeneti paramterek, mint opertorok felhasznlsval.


Plda: bekapcsols-ksleltetses idzt:
Deklarls:

VAR
indit, ki : BOOL :=0; (*indit: futsengedlyez input, ki: kimenet*)
idozito1: TON; (*standard FB TON deklarls egyedi nven*)
ertek: TIME; (*id adatttpus vltoz*)
END_VAR

LD idozito1.Q
kimeneti paramterek kirtkelse: ST ki
LD idozito1.ET
ST ertek
Felhasznli fggvnyblokk hvsa
FUNCTION_BLOCK Fblokk Hvs:
VAR_INPUT
par1: TIME; CAL fgvblk1(par1:= t#20ms, par2:=BE, par3:=globvalt)
par2: WORD;
par3: INT; vagy:
END_VAR CAL fgvblk1(par1:= t#20ms, par2:=BE)
..(*utastsok sorozata*) (par3 aktulis rtke az els hvskor a kezdeti rtk,
END_FUNCTION_BLOCK ksbbiekben az utols hvs rtke.)

PROGRAM progr1 vagy:


VAR_GLOBAL LD t#20ms
fgvblk1: Fblokk; ST fgvblk1.par1
globvalt : INT; LD BE
END_VAR ST fgvblk1.par2
LD globvalt
VAR ST fgvblk1.par3
BE: WORD AT %IW4; CAL fgvblk1
END_VAR
.
END_PROGRAM
Standard fggvnyek
Standard fggvnyek
Standard fggvnyek
Standard fggvnyek
Kvetvezrls

v<2
v=2
v>2

P = I1 I 2 I 3 I1 I 2 I 4 I1 I 3 I 4 I 2 I 3 I 4
Z = I1 I 2 I 3 I 1 I 2 I 4 I1 I 3 I 4 I 2 I 3 I 4
S = PZ
Kvetvezrls - ltradiagram
Kvetvezrls - funkcidiagram
Kvetvezrls - utastslista

PROGRAM SZELLOZ LDN I1 LD I1


VAR ANDN I2 AND I2
I1 AT %I0.0.0.0.0: BOOL; ANDN I3 AND I3
I2 AT %I0.0.0.0.1: BOOL; OR( I1 OR( I1
I3 AT %I0.0.0.0.2: BOOL; NOT AND I2
I4 AT %I0.0.0.0.3: BOOL; ANDN I2 AND I4
PIROS AT %Q0.0.0.0.2: BOOL; ANDN I4 )
SARGA AT %Q0.0.0.0.1: ) OR( I1
BOOL; OR( I1 AND I3
ZOLD AT %Q0.0.0.0.0: BOOL; NOT AND I4
END_VAR ANDN I3 )
ANDN I4 OR( I2
) AND I3
OR( I2 AND I4
NOT )
ANDN I3 ST ZOLD
ANDN I4 LDN PIROS
) ANDN ZOLD
ST PIROS ST SARGA
END_PROGRAM
temvezrelt lefutvezrls: kzlekedsi lmpa

Ciklus szerkezete:
-2 idegysgig piros;
- 1 idegysgig piros s srga;
- 4 idegysgig zld;
- 1 idegysgig srga.
Idegysg hossza: 5 s.
temvezrelt lefutvezrls: kzlekedsi lmpa
PROGRAM KZLAMPA
VAR
S0 AT %I0.0.0.0.0: BOOL;
PIROS AT %Q0.0.0.0.0: BOOL;
SARGA AT %Q0.0.0.0.1: BOOL;
ZOLD AT %Q0.0.0.0.2: BOOL;
SZAMLALO: CTU;
UTEM_MAX: INT := 8;
T1: TON;
UTEMIDO: TIME := t#5S;
M1: BOOL;
M2: BOOL;
M3: BOOL;
M4: BOOL;
M5: BOOL;
M6: BOOL;
M7: BOOL;
M8: BOOL;
UTEM: BOOL;
USZAM: INT;
END_VAR
temvezrelt lefutvezrls: kzlekedsi lmpa
Kvetvezrls impulzus idztvel ktkezi reteszels
A prs csak akkor engedhet le, ha a kezel az S1 s S2 nyomgombot adott idn bell
(0,1s) egyszerre nyomja le. Nem engedlyezhet a prsmvelet, ha az egyik vagy a
msik nyomgomb folyamatosan be van nyomva. Az excenter feletti nyoms azonnal
megsznik, ha abbahagyjk a nyomgombok mkdtetst. Egy prselsi mvelet utn a
prs a kiindulsi (fels) helyzetbe kerl s ott is marad, csak a kt nyomgomb jbli,
0,1s-on belli lenyomsa eredmnyez jabb mveletet.

Ha az idzt kimenete gy vlt


0-rl 1-re, hogy valamelyik gomb
nincs benyomva, P1 rtke 0 lesz.
PROGRAM ketkeziret
VAR
Kvetvezrls impulzus idztvel S1 AT %I0.1 : BOOL ;
S2 AT %I0.2 : BOOL ;
P1 AT %Q0.1 : BOOL ;
END_VAR
VAR
T1 : TP ;
M0 : BOOL ;
END_VAR
VAR CONSTANT
T11 : TIME := T#0.1S ;
END_VAR
LD S1
OR S2
ST T1.IN
LD T11
ST T1.PT
CAL T1
LD T1.Q
ST M0
LD M0
OR P1
AND S1
AND S2
ST P1
END_PROGRAM
tmeneti trol vezrlse fel-le szmllval
Ha a trolban lv munkadarabok szma elri a maximumot (30 db), le kell lltani
a bejv szalag motorjt. Ha a munkadarabok szma a trolban 10 al cskken,
(als hatrrtk), a vezrls bekapcsolja a jelzlmpt.
PROGRAM mdtarol
tmeneti trol vezrlse VAR
START AT %I0.0.0.0.0: BOOL;
fel-le szmllval torlo AT %I0.0.0.0.1: BOOL;
OPT1 AT %I0.0.0.0.2: BOOL;
OPT2 AT %I0.0.0.0.3: BOOL;
Mot AT %Q0.0.0.0.0: BOOL;
JELZES AT %Q0.0.0.0.1: BOOL;
SZAMLALO: CTUD;
MD_MAX: INT := 30;
MD_MIN: INT := 10;
END_VAR
(*SZMLL*)
LD OPT1
ST SZAMLALO.CU
LD OPT2
ST SZAMLALO.CD
LD torlo
ST SZAMLALO.RESET
CAL SZAMLALO
(*SSZEHASONLTS <30*)
LD SZAMLALO.CV
LT MD_MAX
AND START
ST Mot
(*SSZEHASONLTS <=10*)
LD SZAMLALO.CV
LE MD_MIN
AND START
ST JELZES
END_PROGRAM

Das könnte Ihnen auch gefallen