Documente Academic
Documente Profesional
Documente Cultură
1.1
Introducere
1.2
Elemente STL
1.2.1
Pai (Step)
1.2.2
Propoziii
1.3
Instruciunea STEP
1.4
1.5
1.6
1.7
2.1
Introducere
2.2
2.2.2
4.1
Prezentarea problemei
4.2
FESTO1
Utilizarea temporizatoarelor
4
Utilizarea temporizatoarelor
4.1
Introducere
4.2
4.3
Utilizarea numrtoarelor
5
Utilizarea numrtoarelor
5.1
Introducere
5.2
5.3
Multitasking
6
Multitasking
6.1
Introducere
6.2
6.2.1
6.2.2
6.2.3
6.2.4
Apelarea programelor
6.3
Utilizarea Flag-urilor
6.4
6.5
6.6
6.7
Arborele proiectului
6.6.2
6.6.3
Programul secvenial
6.8
Lista de alocare
Lista de alocare
Arborele proiectului
6.8.2
6.8.3
Programul secvenial
6.8.4
Comunicaii n reea
7
Comunicaii n reea
7.1
Introducere
7.2
7.3
7.4
Configurarea IO
7.4.2
Setarea controlerului
7.4.3
7.5
7.6
Verificarea comunicrii
7.7
Comunicarea cu controlerul
Utilizarea Ethernet
8
Utilizarea Ethernet
8.1
Introducere
8.2
Importarea modulelor
8.2.2
Modulul IP_TABLE
8.3
8.2.3
Modulul EASY_R
8.2.4
Modulul EASY_S
Operaii de comand
8.3.2
8.3.3
8.3.4
Transfer de date
8.3.5
Lista de alocare
8.3.6
8.3.7
8.3.8
8.3.9
Introducere
(valoare hexazecimal), V% (valoare binar), operaii +, -, *, /, <, >, =, <>, <=, >= , (...)
paranteze pentru stabilirea prioritii n evaluarea unor expresii complexe.
1.2
Elemente STL
Step
Propoziii 1.2.1
Pri condiionale
Pri de execuie
Step
Cu toate c utilizarea cuvntului cheie STEP este optional, multe programe STL
utilizeaz instruciunea STEP.
Eticheta unui STEP este necesar numai dac acelui pas i se atribuie mai trziu
destinaia unei instruciuni de salt (jump)
.
1.2.2
Propoziii
.
a. Partea condiional
De exemplu:
o
IF I0.1
b.
Partea executiv
Aceasta este seciunea din propoziie unde sunt activate ieirile, dac partea
condiional este evaluat ca adevrat.
De exemplu:
o
THEN SET Y1
THEN RESET Y2
1.3
Instruciunea STEP
IF
I0.0
1.4
I0.0
O0.0
- Parte condiional
- Parte executiv
STEP Stop
IF
I0.1
THEN RESET O0.0
Dac condiia I0.0 este adevrat, atunci se va executa partea executiv (Set O0.0) i se
va trece la pasul urmtor, STEP Stop.
1.5
SET
IF
THEN SET
O0.1
IF
THEN
SET
I0.0
O0.0
prima propoziie
I0.1
a doua propoziie
I0.2
O0.2
a treia propoziie
STEP Stop
IF
THEN
RESET
RESET
RESET
I0.1
O0.0
O0.1
O0.2
Dac partea condiional din a doua propoziie este adevrat, atunci se va executa partea
executiv i se va trece la a treia propoziie. Dac nu este adevrat, se va trece la a treia
propoziie FR NICI o execuie. Nu se va atepta la a doua propoziie.
Dac partea condiional din a treia propoziie este adevrat, atunci se va executa partea
executiv i se va trece la URMTORUL PAS. Dac nu este adevrat, se va trece la a
prima propoziie, la a doua propoziie i la a treia propoziie i se vor executa bucle de
evaluare a condiiilor din propoziii, n interiorul pasului curent.
n general, numai cnd ultima propoziie din STEP este adevrat, se va trece la pasul
urmtor.
1.6
I0.0
O0.0
O0.0
- Partea executiv
STEP Stop
IF
THEN
RESET
I0.1
O0.0
Dac condiia I0.0 este adevrat, atunci se va executa partea executiv (Set O0.0) i se
va trece la pasul urmtor, STEP Stop. Altfel , (Otherwise) dac condiia nu este adevrat,
se va executa RESET O0.0 i se va trece la pasul urmtor, STEP Stop.
n acest caz, nu se va mai atepta la pasul STEP Start, ori se va executa SET O0.0 ori
RESET O0.0 i se va trece la pasul urmtor.
1.7
Introducere
Cuvintele urmtoare din figura alturat
sunt cteva dintre comenzile cele mai
utilizate n STL.
2.2
2.2.1
Instruciuni de transfer n
STL
Instruciuni
Descriere
STEP
Instruciunea STEP este utilizat pentru a marca nceputul unui bloc logic n codul
programului.
IF
THEN
SET
Instruciunea Set este utilizat pentru a schimba operandul de un bit n starea logic
1.
RESET
JMP TO
Step label
NOP
OTHRW
2.2.2
Instruciuni
AND
Descriere
Realizeaz operaia logic I la operanzi de un bit sau multibii i constante.
AND N
OR
OR N
LOAD
DEC
INC
Prezentarea problemei
Absolut
SB
I0.0
Buton Start
B1
I0.1
Cilindrul 1A retras
B2
I0.2
Cilindrul 1A extins
B3
I0.3
Cilindrul 2A retras
B4
I0.4
Cilindrul 2A extins
Y1
O0.0
Y2
O0.1
3.2
Comentarii
Pentru scrierea
de program,
se iau n
secvenele descrise mai sus.
AND codului
B1
Cilindrul
1Aconsiderare
retras
Programarea
secvenial, fiecare
pas va
ANDva fiB3
Cilindrul
2Aatepta
retras execuia pasului anterior pentru a
ncepe.
THEN SET
Y1
Solenoid pentru cilindrul 1A
STEP 10
IF
SB
Buton de start
B2
Y2
Cilindrul 1A extins
Solenoid pentru cilindrul 2A
IF
B4
THEN RESET Y2
Cilindrul 2A extins
Solenoid pentru cilindrul 2A
STEP 20
IF
THEN SET
STEP 30
STEP 40
IF
B3
THEN RESET Y1
JMP TO 10
Cilindrul 2A retras
Solenoid pentru Cilindrul 1A
Click pe icoana Make Project. Se compileaz astfel toate modificrile fcute n proiect.
Se poate apela modul Online pentru a vizualiza rularea programului sau a monitoriza
operanzii.
FESTO1
4 Utilizarea temporizatoarelor
4.1
Introducere
4.2
Click pe Help
10
Tx
- Timer x, operand de un bit care reprezint starea temporizatorului. Poate
avea valoarea 1 sau 0 i poate s-i schimbe valoarea prin SET Tx sau RESET Tx.
I0.1
O0.2
T1
5s
Input 0.1
Lamp
Temporizator 1
IF
N
T1
THEN RESET O0.2
JMP TO 10
Temporizator 1
Lamp
STEP 20
11
4.3
n programul de mai sus al proiectului, se modific STEP 40 i apare STEP 50, astfel:
STEP 10
IF
AND
AND
THEN SET
SB
B1
B3
Y1
Buton Start
Cilindru 1A retras
Cilindru 2A retras
Solenoid pentru cilindrul 1A
STEP 20
IF
THEN SET
B2
Y2
Cilindru 1A extins
Solenoid pentru cilindru 2A
STEP 30
IF
B4
THEN RESET Y2
Cilindru 2A extins
Solenoid pentru cilindru 2A
STEP 40
IF
THEN SET
with
B3
T1
5s
STEP 50
IF
N
T1
THEN RESET Y1
JMP TO 10
Cilindru 2A retras
Temporizator 1
Temporizator 1
Solenoid pentru cilindru 1A
Dup ce cilindrul 2A s-a retras, temporizatorul va fi activat pentru 5 sec i dup care cilindrul
1A se va retrage.
5 Utilizarea numrtoarelor
5.1
Introducere
Prin introducerea funciei de numrare, proiectul prezentat mai sus se va modifica astfel nct
dup ce se realizeaz 10 cicluri de funcionare a dispozitivului, acesta s se opreasc.
5.2
12
Prima metod:
STEP 10
IF
THEN LOAD
TO
SET
RESET
NOP
V10
CP0
C0
Y1
Numrtor 0
Solenoid 1
STEP 20
IF
THEN INC
B1
CW0
Senzor 1
Numrtor 0
STEP 30
IF
N
THEN
B1
NOP
Senzor 1
STEP 40
IF
N
C0
THEN JMP TO 50
OTHRW
JMP TO 20
Numrtor 0
STEP 50
THEN SET
Y1
JMP TO 10
A doua metod:
STEP 10
IF
THEN LOAD
TO
RESET
NOP
V0
CW0
Y1
Solenoid 1
STEP 20
IF
THEN INC
B1
CW0
Senzor 1
Numrtor 0
STEP 30
IF
CW0
=
V10
THEN JMP TO 40
OTHRW
JMP TO 20
STEP 40
THEN SET
Y1
JMP TO 10
5.3
Solenoid 1
Numrtor 0
Solenoid 1
13
Numrtor 0
Numrtor presetat 0
Cuvnt de numrtor 0
SB
B1
B3
Y1
V10
CPO
C0
Buton de start
Cilindru 1A retras
Cilindru 2A retras
Solenoid pentru cilindrul 1A
B2
Y2
Cilindru 1A extins
Solenoid pentru cilindrul 2A
STEP 30
IF
B4
THEN RESET Y2
Cilindrul 2A extins
Solenoid pentru cilindrul 2A
AND
AND
THEN SET
LOAD
TO
SET
STEP 20
IF
THEN SET
STEPSTEP
40 10
IF IF
B3
THEN
SET
T1
continuareAND
with
5s
STEP 50 AND
THEN N
SET
IF
LOAD
THEN RESET
TO
INC
Numrtor cuvnt
Numrtor 0
SB
B1
B3
Y1
T1
V0
Y1
CWO
CW0
STEP60
20
STEP
IF
B2
IF
N
CO
THEN
SET
Y2
THEN JMP TO 10
OTHRW
STEP 30
IF 70
B4
STEP
THEN RESET Y2
STEP 40
IF
THEN SET
with
Cilindrul
2Astart
retras
Buton
Temporizator
Cilindrul11A retras
Cilindrul 2A retras
Solenoid pentru
Temporizator
1 cilindrul 1A
Solenoid pentru cilindrul 1A
Cuvnt de numrtor
0
Numrtor
0
Cilindrul 1A
Numrtor
0 extins
Solenoid pentru cilindrul 2A
NOP
Cilindrul 2A extins
Solenoid pentru cilindrul 2A
B3
T1
5s
Cilindrul 2A retras
Temporizator 1
A doua metod:
STEP 50
IF
N
T1
THEN RESET Y1
INC
CW0
Temporizator 1
Solenoid pentru cilindrul 1A
Cuvnt de numrtor
STEP 60
IF
Cuvnt de numrtor 0
CWO
=
V10
THEN JMP TO 10
OTHRW
STEP 70
IF
B1
AND B3
THEN SET
Y1
JMP TO 20
NOP
Cilindrul 1A retras
Cilindrul 2A retras
Solenoid pentru cilindrul 1A
14
Modific proiectul i verific funcionalitatea acestuia succesiv pentru cele dou variante de
contorizare.
FESTO2
6 Multitasking
6.1
Introducere
Multitasking este termenul utilizat pentru execuia SIMULTAN a unui numr de sarcini
diferite n PLC.
Aceast funcie organizeaz seciunile de program prin utilizarea tehnicilor de programare
modulare. Programul din PLC poate s conin mai multe pri, fiecare parte fiind un program
propriu-zis, cu funcii diferite.
Avantajele multitasking-ului sunt: o structur arborescent de programe mai clar i timpi de
ciclu mai scuri.
Prin aceast metod este mai uor s programezi diferite moduri de operare ale
echipamentului i s le apelezi oricnd s ruleze n paralel cu programul principal.
6.2
n Multitasking, se pot utiliza mai multe programe n proiect. Acestea pot rula n paralel cu
programul principal, cnd sunt apelate i sunt numerotate cu P1, P2, etc.
Pe lng programe, se pot utiliza i module. Acestea sunt n general subrutine. Exist dou
tipuri diferite de module:
15
CFM
CMP
P0
Program
principal
care este
activat
oricnd
PLC-ul
este
alimentat
P1
CMP 0
CFM 0
P2
CMP 49
P63
Program
(Multitasking)
6.2.1
CFM 49
CMP 99
CFM 99
Modul de program
(subrutin)
Modul funcie
(predefinite de Festo)
Instruciunea Call Function Module (CFM) este utilizat pentru a cere execuia unei rutine de
program externe. Modulele funcie pot fi considerate ca apelri de funcii speciale.
Cnd se apeleaz CFM,
funcia respectiv va fi
activat i va rula n paralel
cu programul principal.
Aceste
CFM
sunt
disponibile n programul
FST, trebuie cutat n
Help pentru a gsi modul
de editare a CFM.
Pentru
modul:
Click Import;
6.2.2
inserarea
unui
Instruciunea Call Module Program (CMP) este utilizat pentru a cere execuia unei rutine de
program exterioare. Modulele de program sunt considerate similare cu subrutinele.
Cnd se apeleaz CMP, programul principal se oprete i va sta la un pas (STEP) i
subprogramul va fi activat. Numai cnd subprogramul este executat complet, se va sri napoi
la programul principal n punctul unde l-a prsit.
6.2.3
Apelarea modulelor
Pentru a apela modulele, se adaug THEN CFM x sau THEN CMP x unde x
este numrul modulului.
De exemplu, creaz un program de plpire Blinking. Acesta poate fi fie CFM sau
CMP.
STEP Blink
THEN CFM 0
LOAD FU32
TO
FW10
JMP TO Blink
Modul Blink
sau
STEP Initial
THEN SET
P2
Program de plpire
STEP Start
IF
THEN SET
OTHRW
FBlink1
Lamp
RESET Lamp
0.25s plpiri
Lamp
Lamp
Start
P1
Lamp
Buton Start
Program Secvenial
Lamp
IF
THEN SET
SET
STEP Initial
THEN SET
P2
Program de plpire
STEP Start
6.2.4
0.25s plpiri
Lamp
IF
THEN SET
SET
Buton Start
Program Secvenial
Lamp
Start
P1
Lamp
Apelarea programelor
Programul principal trebuie s fie Program 0, toate celelalte subprograme vor avea numele
Program 1, Program 2, etc.
In programul principal se pot apela mai multe module de program, prin setarea numelui
programului, de exemplu SET P1, SET P2, etc. i cnd vrei s opreti programul, se reseteaz
acesta RESET P1, RESET P2, etc.
Cnd se apeleaz un subprogram, acesta ruleaz n paralel cu programul principal.
6.3
Utilizarea Flag-urilor
17
Pn aici, n programe s-au utilizat numai intrrile i ieirile din FEC. Flag-urile sunt aa
numitele memorii sau marcaje sau relee interne, etc.
Flag-urile sunt eseniale cnd lucrm cu multitask-ing i se dorete legarea mai multor
programe diferite. Operandul absolut pentru flag este atribuit diferitelor echipamente pe care
le utilizm.
De exemplu:
F0.0 F0.15 pn la F999.0 F999.15
Ar trebui utilizai operanzi simbolici care s fie corelai cu sarcinile de comand. De exemplu:
Start_Flag, Stop_Flag, etc.
6.4
n multe programe trebuie s aprindem i s stingem leduri (lmpi). Pentru asta utilizm
Blink Module. Acest modul este utilizat pentru ieiri cu iluminare intermitent. De
exemplu, dac trebuie ca lampa butonului de start s ilumineze intermitent nainte de pornirea
programului, putem folosi acest modul.
Pentru a avea funcia de iluminare intermitent, importm Blink Module n CFM.
Click pe Import
Alege Blink
Modulul
Blink
Module
va
fi
inserat n CFM.
Cu
acest
modul
importat, trebuie scris
un program pentru
alocarea ledurilor cu
iluminare intermitent
la flag-uri.
Adaug comentarii.
18
STEP Blink
THEN CFM 0
Modul Blink
LOAD
FU32
Compileaz i salveaz programul.
TO
FW10
Cuvnt de flag pentru moduri de iluminare
Acest program va ncrca modurile Intermitent
de iluminare(plpire)
intermitent n cuvntul de flag 10.
JMP TO Blink
Absolut
Simbol
Comentarii
F10.1
FBlink1
0.25s Blink
F10.2
FBlink2
0.5s Blink
F10.3
FBlink3
1s Blink
F10.4
FBlink4
2s Blink
Cuvnt de flag sau moduri de
iluminare
FW10
STEP Initial
THEN SET
P2
STEP Start
IF
THEN SET
OTHRW
FBlink2
plpire 0.5s
oStart
Lampa Start
RESET oStart
Lampa Start
IF
AND
THEN SET
SET
..
iStart
B1
P1
oStart
program plpire
Buton Start
Ridicare cilindru
Program Secvenial
Lampa Start
19
De exemplu, dac butonul de start trebuie s plpie la intervale de 0,5 sec, se poate
aduga acest pas n program.
Cnd butonul de start este apsat, lampa nu va mai plpi i va rmne aprins.
6.5
Program secvenial
6.5.1
Lista de alocare
Absolut
Simbol
I0.0
iStart
I0.1
B1
Cilindrul 1A retras
I0.2
B2
Cilindrul 1A extins
I0.3
B3
Cilindrul 2A retras
I0.4
B4
Cilindrul 2A extins
I0.5
AutoMan
I0.6
iStop
O0.0
Y1
O0.1
Y2
F11.0
FCStop
P1
6.6
6.6.1
Comentarii
Buton Start
Comutator Auto/Manual
Buton Stop
Stop ciclu
Program secvenial
20
Pentru c proiectul are cerine diferite, este necesar s se realizeze programe multitask.
Acestea sunt:
Programul secvenial
Programul de organizare principal este acel
program care coordoneaz proiectul. n acest
program toate celelalte programe i module
sunt activate sau dezactivate. Programul
secvenial este programul care ruleaz continuu
determin
funcionarea
continu
a
dispozitivului pn butonul de stop este apsat.
6.6.2
STEP Aplus
STEP Start
IF
THEN SET
IF
iStart
AND B1
STEP
ANDBPlus
B3
THEN SET
P1
IF
THEN SET
STEP Stop
B1
Y1
B2
Y2
STEP BMinus
IF
iStop
THEN SET
FCStop
IF
B4
THEN
RESET
Y2
IF
N
P1
THEN RESET FCStop
STEP
JMPAMinus
TO Start
6.6.3
Cilindru 1A retras
pentru cilindrul 1A
Buton Solenoid
start
Cilindrul 1A retras
Cilindrul 2A retras
Program secvenial
Cilindru 1A extins
Solenoid pentru cilindrul 2A
ButonStop
Ciclu Stop
Cilindru 2A extins
Solenoid
pentru cilindrul 2A
Program
secvenial
Ciclu Stop
IF
B3
Cilindru 2A retras
Programul
secvenial
THEN RESET Y1
Solenoid pentru cilindrul 1A
21
STEP End
THEN
Comutator Automatic/Manual
NOP
6.7
Se va extinde programul principal, care a fost scris pentru cerine de comand iniiale, cu noi
cerine de comand pentru operatorul dispozitivului.
Noile operaii de comand permit operatorului, pe lng alegerea ntre funcionarea ntr-un
ciclu sau n ciclu automat, i activarea unui Stop de urgen (Emergency Stop) i a unui buton
de Reset.
Se vor include i civa indicatori vizuali pentru butoanele de Start, Stop i Reset i, de
asemenea, plpirea lmpilor.
n concluzie, organizarea programului principal va include urmtoarele:
22
Program secvenial
Program de plpire
6.7.1
Lista de alocare
Absolut
Simbol
Comentarii
I0.0
iStart
I0.1
B1
Cilindrul 1A retras
I0.2
B2
Cilindrul 1A extins
I0.3
B3
Cilindrul 2A retras
I0.4
B4
Cilindrul 2A extins
I0.5
AutoMan
I0.6
iStop
Buton Stop
I0.7
iReset
Buton Reset
I1.0
iEStop
O0.0
Y1
O0.1
Y2
O0.2
oStart
Lampa Start
O0.3
oStop
Lampa Stop
O0.4
oReset
Lampa Reset
F10.0
FBlink1
Plpire 0.25s
F10.1
FBlink2
Plpire 0.5s
F10.2
FBlink3
Plpire 1s
F10.3
FBlink4
Plpire 2s
F11.0
FCStop
Stop Ciclu
Buton Start
Comutator Auto/Manual
FU32
6.8
6.8.1
P1
Program Secvenial
P2
Program de plpire
23
6.8.2
P2
Program de plpire
STEP Start
IF
iEStop
THEN JMP TO Emergency
IF
THEN SET
OTHRW
FBlink1
oStart
RESET oStart
Plpire 0.25s
Lampa Start
Lampa Start
IF
iStart
B1
B3
P1
oStart
Buton Start
Cilindrul 1A retras
Cilindrul 2A retras
Program Secvenial
Lampa Start
AND
AND
THEN SET
RESET
STEP Stop
F
iEStop
THEN JMP TO Emergency
IF
THEN SET
OTHRW
FBlink2
oStop
RESET oStop
Plpire 0.5s
Lampa Stop
Lampa Stop
IF
THEN SET
iStop
FCStop
Buton Stop
Stop Ciclu
IF
N
P1
THEN RESET FCStop
RESET oStop
JMP TO Start
Program Secvenial
Stop Ciclu
Lampa Stop
STEP Emergency
IF
NOP
24
THEN RESET
RESET
RESET
RESET
RESET
Y1
Y2
P1
oStart
oStop
IF
N
THEN
iEStop
NOP
STEP Reset
IF
iEStop
THEN JMP TO Emergency
IF
THEN SET
OTHRW
FBlink3
Plpire 1s
oReset
Lampa Reset
RESET oReset
Lampa Reset
IF
iReset
THEN RESET oReset
JMP TO Start
6.8.3
Buton Reset
Lampa Reset
Programul secvenial
Acesta este programul pentru operarea secvenial a dispozitivului de ridicare. Pentru ciclu
continuu, dispozitivul se va opri numai cnd se apas butonul de Stop. Pentru un singur ciclu,
se va executa secvena numai o dat. Programul secvenial este comandat de programul
principal de organizare.
STEP Aplus
IF
THEN SET
B1
Y1
Cilindru 1A retras
Solenoid pentru cilindrul 1A
B2
Y2
Cilindru 1A extins
Solenoid pentru cilindru 2A
IF
B4
THEN RESET Y2
Cilindru 2A extins
Solenoid pentru cilindru 2A
STEP BPlus
IF
THEN SET
STEP BMinus
STEP AMinus
IF
B3
THEN RESET Y1
Cilindru 2A retras
Solenoid pentru cilindru 1A
25
STEP Check
IF
FCStop
THEN JMP TO End
Stop Ciclu
IF
AutoMan
THEN JMP TO Aplus
OTHRW
NOP
Comutator Automat/Manual
STEP End
THEN
NOP
6.8.4
Program de plpire
Modul de plpire
FESTO3
26