Documente Academic
Documente Profesional
Documente Cultură
Toate datele de mai mulţi biţi reprezintă de fapt nişte blocuri de date, cu care
operează toate procesoarele centrale. Celulele de memorie, care le stochează, se
numesc blocuri de date (Data blocks–DB). Există şi alte blocuri de date, care
îndeplinesc diferite funcţii, de exemplu blocurile funcţionale cu funcţii speciale .
Controlerele VIPA şi SIMATIC S7 însă folosesc blocurile de date ca elemente de
program, definind următoarele blocuri de program (fig.2.89, tab. 2.3 -2.5):
Blocuri cu date constante (Function–FCN) ale utilizatorului (N - numărul
blocurilor) – blocuri, datele cărora nu se memorizează după executarea lor;
Blocuri funcţionale (Function Blocks-FBN) ale utilizatorului, destinate
pentru programarea datelor (mărimilor) variabile ;
156 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
Blocuri de program
SFB 81;
13. Gestionarea reţelei PROFINET SFC 112 - SFC 114;
SFB 20 –SFB 23;
CPU
13. Eroare de comunicare OB 73;
14. Eroare de timp OB 80;
15. Eroare de alimentare OB 81;
16. Eroare de diagnosticare OB 82;
17. Eroare de deblocare OB 83;
18. Eroare hard CPU OB 84;
19. Eroare de executare a programului OB 85;
20. Eroare unui modul OB 86;
21. Eroare de comunicare în reţea OB 87:
22. Anulare de regim OB 88;
23. Comanda regimului START OB 100 – OB102;
24. Eroare de programare OB 121;
25. Eroare de acces la periferie OB 122:
Crearea unui bloc al utilizatorului începe cu deschierea unui bloc gol prin
meniul de context, amplasând cursorul în partea dreaptă a zonei de lucru şi făcând
un clic pe butonul drept. În fereastra care apare, se alege blocul şi limbajul dorit,
care automat se plasează în zona de lucru alături de blocul principal OB1. Apoi
blocul gol al utilizatorului se deschide prin dublu clic pentru programare.
Fiecare bloc al utilizatorului este prevăzut cu un titlu şi poate să conţină unul
sau mai multe fragmente sau circuite (Network N) – părţi separate de program
pentru fiecare element de execuţie (bobină de contactor, electromagnet, marcator
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 163
a)
Presupunem, că este ales controlerul VIPA System 100V prin evidenţierea lui
în ambele ochiuri ale ferestrei şi apăsarea butonului Create. Ca urmare, în partea
dreaptă se deschide catalogul familiei VIPA 100, din care se alege mai întâi
procesorul central CPU 114, iar în partea stângă apare tabelul de configurare cu
poziţiile sale pentru fiecare modul, numit slot ( fig. 2.94) .
acestui procesor se face prin butonul „Special CPU Properties” din această
fereastră de dialog. În final tabelul de configurare se salvează.
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 175
ENTER şi RETURN şi se înscrie adresa din tabel A 0.0 (fig. 2.101, h). În final se
apasă din nou tasta ENTER (fig. 2.101, i) şi se salvează blocul OB1.
a) b) c)
182 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
d) e) f)
g) h) i)
Fig. 2.101. Principii de configurare şi programare ale funcţiei XOR
Testarea programului poate fi făcută în 2 variante – în simulatorul programului
WinPLC7 Обьект симулятор (Target Simulator) sau în controlerul real. Pentru
aceasta blocul OB1, împreună cu alte blocuri existente, trebuie transferat în
simulator sau în controlerul real. Programul WinPLC7 oferă mai multe posibilităţi
pentru aceasta : prin
instrumentul -
Передать все блоки (Send
all blocks) de pe bara de
instrumente rapide sau prin
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 183
a) b) c)
Fig. 2.104. Testarea programului analizat în simulatorul programului WinPLC7
186 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
aceleaşi elemente este diferită. În figura 2.107 sunt prezentate principalele tipuri
de taimere ale acestor programe şi diagramele lor de funcţionare. Două tipuri din
aceste taimere trebuie utilizate în schema analizată mai sus :
– S ODT cu temporizare la conectare (On) şi semnale de activare statică (switch);
- S ODTS cu temporizare la conectare şi cu semnale de activare dinamică (de
durată scurtă, de exemplu prin apăsarea unui buton) ) .
Semnificaţia celorlalte taimere este următoarea :
S OFFDT – taimer cu temporizarea la deconectare (Off),
S PULSE - taimer resetat de impuls S – temporizarea lui se termină în
cazul, când semnalul de intrare S trece în 0;
S PEXT–taimer setat cu impulsuri (Extended Pulse), care se deosebeşte de
cel precedent prin continuarea temporizării după restabilirea S = 1.
192 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
Fig. 107. Taimere principale ale softurilor STEP7 şi WinPLC7 şi diagramele lor
de context (prin butonul drept) New (Новый), Block (OB. FB, FC,DB.UDT) şi
aceeaşi fereastră. În rezultat se deschide zona de programare a blocului gol FC1,
în care se înscrie numele lui – REGIM DE SPALARE şi numele primului circuit
Network 1 - Rotirea motorului în sens direct (fig. 2.111). Dacă catalogul de
selectare a elementelor necesare lipseşte, el poate fi deschis prin meniul Вид.
opţiunile Вид şi Каталог. În partea de sus a blocului FC1 este plasat un tabel
(header) de specificare a parametrilor locali de intrare (In), ieşire (Out), intrare-
ieşire (In-Out) şi de temporizare (Temp) a acestui bloc. Principiul de completare a
acestui tabel este asemănător cu cel al tabelului de simbolizare, editat mai sus.
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 199
Fig. 2.111. Deschiderea şi definirea blocului gol FC1 şi a primului său nod
după adresare sau denumire se apasă din nou tasta Enter, care confirmă,
dacă totul a fost făcut corect (în cazul unei greşeli simbolul respectiv devine
roşu, necesitând o corectare imediată a ei).
Taimerele şi bistabilele necesită o denumire conform tabelul de simboluri .
Fig. 2.113. Configuraţiile finale în formă de program ale circuitelor blocului FC1
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 205
a) b) c) d)
Fig. 2.115. Panoul de testare a programului maşinii de spălat în diferite intervale
2.4.2.5 Automatizarea semaforului „Zebra” în limbajele LAD şi STL
Cel mai simplu şi mai clar limbaj de programare pentru scheme logice de
automatizare este limbajul contactelor releelor LAD. Însă el are unele restricţii în
cazul unor scheme complexe de automatizare cu diferite cicluri, salturi, sau cu
operaţii matematice. Limbajul STL, exprimat în forma unui text (a unei liste) de
instrucţiuni codificate, este lipsit de aceste dezavantaje, de aceea poate fi utilizat
pentru programarea oricărui sistem de automatizare.
Să analizăm în continuare încă un exemplu simplu de programare în aceste
limbaje, propus de Siemens, având ca obiect de automatizare un semafor fără
intersecţii de străzi, destinat doar pentru traversarea străzilor aglomerate de către
pietoni la cererea acestora şi cunoscut sub numele „Zebra”. Acest semafor asigură
în permanenţă culoarea verde pentru traficul de vehicule, însă este prevăzut cu 2
butoane, amplasate de partea stângă şi dreaptă a străzii, care pot fi activate de
pietoni pentru oprirea circulaţiei automobilelor şi traversarea în siguranţă a străzii.
Semafoarele pentru vehicule in acest caz au culori tradiţionale - „Verde”,
„Galben”, „Roşu”, iar semafoarele pentru pietoni – numai culorile „Roşu – Verde”.
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 209
Fig. 2. 118. Circuitul 2 – Faza VERDE pentru vehicule - în limbajele LAD şi STL
Fig. 2.119. Circuitul 3–Start Taimer GALBEN pentru vehicule -în LAD şi STL
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 217
Fig. 2.120. Circuitul 4–Faza semnalului GALBEN pentru vehicule în LAD şi STL
Fig. 2.121. Circuitul 5 – Faza semnalului ROŞU pentru vehicule - în LAD şi STL
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 219
Fig. 2.123. Circuitul 7 – Faza VERDE pentru pietoni în limbajele LAD şi STL
După terminarea fazei VERDE pentru pietoni, urmează o pauză scurtă, înainte
de reaprinderea luminii ROŞII pentru pietoni şi GALBENE pentru vehicule,
determinată de taimerul T7 (fig. 2.124). Apoi urmează faza ROŞU pentru pietoni
(fig. 2.125) şi ROŞU-GALBEN pentru vehicule (fig. 2.126).
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 221
Fig. 2.124. Circuitul 8 – Start taimer T7 pentru o pauză scurtă – în LAD şi STL
222 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
Fig. 2.125. Circuitul 9 – Faza ROŞU pentru pietoni - în limbajele LAD şi STL
224 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
ieşirile PAB0.3 şi PAB 0.7 se sting, iar semnalele semaforului PAB 0.4
(GALBEN Auto), PAB 0.5 (ROŞU Auto) şi PAB 0.6 (VERDE Pietoni) încep să
funcţioneze conform algoritmului descris mai sus (fig. 2. 128).
228 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
În mod analogic se alege prin meniul Insert şi opţiunea Subnet sau Program
o altă reţea (de exemplu PROFIBUS), sau următorul obiect iniţial pentru
elaborarea programelor necesare - S7 Program sau M7 Program, în care sunt
incluse mapele goale ale fişierelor iniţiale (Source) şi blocurilor (Blocks) (fig.
2.132). În mapa Source poate fi introdus STL Source file. Pachetul STEP 7
prevede 2 moduri de elaborare a programului: S7 – mai întâi programul şi apoi
componentele reale, iar M7 – invers, inclusiv şi în limbajul C sau C++. Toate
aceste obiecte se numerotează automat cu numărul 1, deoarece în caz de necesitate
pot fi alese şi altele, care vor fi numerotate cu numerele 2, 3 şi aşa mai departe.
Fiecărui din ele i se poate atribui un alt nume, faţă de cel propus de SIMATIC
Manager, utilizând procedura standardizată prin tasta ←Return.
două bunchere 1-2 ale sistemului de cântărire şi dozare ulterioară a lui. Între aceste
două părţi este amplasată o sită vibratoare de cernere a cimentului, antrenată de 2
motoare AM4-AM5.
Nivelul superior al cimentului în silozuri este controlat de traductoarele ASH1-
ASH3, iar nivelul inferior – ASL1-ASL3. Pentru ca cimentul din silozuri de 50t să
nu se lipească în timpul păstrării, este prevăzută o amestecare pneumatică a lui,
numită în ruseşte „Барботаж ” şi realizată cu ajutorul a 3 ventile discrete AY1-
AY3, care monitorizează procesul de suflare a aerului de presiune ridicată. Fiecare
siloz are la fundul său conic o supapă pneumatică de descărcare ABV1-ABV3 şi
un alimentator sau amestecător de ciment şi aer, care asigură o transportare
pneumatică ulterioară prin ţevi a cimentului până la sita de cernere, amplasată
deasupra pompelor „MONJUS”. Ventilele de transportare ale alimentatoarelor
AY10-AY12 sunt comandate de sistemul de automatizare împreună cu ventilele de
amestecare AY1-AY3. Această porţiune de transportare a cimentului la o distanţă
relativ mică poate fi asigurată şi de transportoare cu şnecuri.
244 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
Fig. 2.139. Pompe pneumatice moderne „MONJUS” ale unor companii ruseşti
Introducerea aerului în pompă se efectuează cu ajutorul ventilului AY7, iar
evacuarea lui în timpul încărcării – prin ventilul AY8 (fig. 2.138). Nivelul maxim
248 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
FB(DB)25
FB(DB) 26 FB 50 FC 30
DB 50
OB 1
FB(DB)27
7
SFC0, SFC1
SFC 101
exemplu FB, apare fereastra de definitivare a proprietăţilor dorite ale blocului ales:
numărului FB1, simbolului „Ciment” şi limbajului LAD (fig. 2.142).
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 257
– tabelul de declaraţie a mărimilor variabile, iar în partea dreaptă mai jos de tabel -
dreptunghiurile pentru denumire, comentarii şi circuitul (fragmentul) 1 de
programare (Network 1) (fig. 2.144). Tabelul de declaraţie a mărimilor variabile
este constituit din 2 părţi; partea stângă, destinată pentru mărimi formale, şi partea
dreaptă pentru mărimi reale. Ambele părţi includ mărimile de intrare (IN), de ieşire
(OUT), de intrare / ieşire (IN OUT), statice (STAT) şi temporare (TEMP).
Mărimile temporare nu se memorizează după execuţia funcţiei, de aceea în
blocurile FB/DB nu se utilizează.
Mărimile variabile locale trebuie specificate înainte de faza de programare a
blocului, sau în decursul acesteia, deoarece la elaborarea programului redactorul
LAD/STL/FBD verifică fiecare parametru introdus în Network-uri, căutându-l în
tabelul mărimilor globale constante, sau în tabelul mărimilor variabile locale. În
caz dacă-l găseşte în tabelul mărimilor locale, îi anticipează automat semnul #, iar
dacă-l găseşte în tabelul mărimilor globale, îi ia simbolul în ghilimele. În caz dacă
nu este găsit în ambele tabele, redactorul schimbă culoarea lui în roşu, atenţionând
astfel utilizatorul de comiterea unei greşeli, care trebuie corectată.
260 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
Fig. 2.146. Tabelul de declarare a variabilelor locale ale blocului FB50 MONJUS
Primul fragment (Network 1) al programului blocului FB50 – Startul ciclului
pompei la apariţia semnalului START în limbajele LAD şi STL este arătat în
figura 2.147. Fontul pozitiv (POS în LAD sau FP în STL) al semnalului de Start
268 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
2.148). În limbajul STL codul JNB execută un salt (Jump) în program către reperul
(метка) 001, dacă rezultatul operaţiei logice RLO=0 (#StartCycle(S)=0). Dacă
însă #StartCycle(S)=1, în acumulator se încarcă valoarea 1, care apoi se transferă
în memoria #Sub, unde se salvează (SAVE).
270 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC
de prescriere interioară al lui SP INT (Setpoint Internal) este aplicat în format real,
iar cel de reacţie negativă a variabilei procesului (PV) poate fi aplicat în 2 formate:
real - PV IN sau digital WORD (16 biţi) de la periferia PEW- VP PER.
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 287
.
El se normalizează – PV
NORM - prin înmulţirea cu
coeficientul PV FAC (1)
sau adunarea PV OFF(0) în
scopul acordării zonei de
reglare. În caz de necesitate
diferenţa (eroarea) celor 2
semnale de intrare este
trecută printr-o zonă moartă
DEADB W pentru a exclude
2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC 289
Apelarea blocului SFB 41 se face prin operaţia CALL, care apelează variabila
#PIDInst în fragmentul 2 al programului FB 53, când nu este activată comanda
unui RESTART complet (COM RST=FALSE). Sub această comandă se indică
toţi parametrii formali din figurile 2.159 - 2.160, iar prin semnele := - valorile
reale ale lor (fig. 2.163). Dacă valoarea vreunui parametru este nulă, după semnul
egal nu se indică nimic, de exemplu coeficientul de însumare a semnalului de ieşire
al regulatorului LMN OFF : = .
300 2.4 PROGRAMAREA CONTROLERELOR MODULARE VIPA ŞI SIMATIC