Programarea automatelor programabile folosind limbaje bazate pe blocuri funcţionale.

 

Introducere

 

Limbajele de programare a automatelor programabile (AP) bazate pe blocuri funcţionale (FBD – functional block diagram) fac parte din categoria limbajelor grafice şi sunt normalizate prin standardul IEC 1131-3

Aceste limbaje specifică în mod grafic comportamentul unui program prin intermediul unor funcţii, acestea fiind reprezentate sub forma unor blocuri grafice (numite blocuri funcţionale - BF) interconectate şi care comunică între ele prin intermediul unor semnale. În limbajele evaluate mai multe blocuri funcţionale interconectate pot fi reprezentate printr-un alt bloc ceea ce permite o descriere ierarhizată pe mai multe niveluri.

Pentru a realiza comportamentul general, toate blocurile sunt conectate între ele.

Circulaţia semnalelor în cadrul unei scheme cu FB este unidirecţională şi se face conform următoarelor reguli:

-      semnalele circulă de la intrările schemei către intrările BF sau ieşirile schemei

-      semnalele circulă de la ieşirile BF către intrările celorlalte BF sau către ieşiri.

Evaluarea unui program scris folosind FB se realizează conform următoarelor reguli:

-      un element este executat o dată ce au fost calculate toate semnalele de intrare pentru acel element

-      un element este complet evaluat atunci când au fost calculate toate semnalele de ieşire ale acestuia

-      evaluarea unei scheme cu BF se încheie atunci când toate ieşirile schemei au fost calculate.

 

Automatele programabile din seria ALPHA

 

AP din seria ALPHA permit realizarea unor comenzi flexibile cu aplicaţii în industrie, pentru automatizarea serviciilor proprii unor clădiri sau chiar pentru realizarea unor automatizări casnice.

AP ALPHA acceptă la intrare semnale digitale sau analogice şi furnizează la ieşire semnale digitale. Ele pot fi programate prin intermediul panoului frontal sau folosind programul AL-PCS/WIN-E. Programarea acestor automate se realizează folosind programarea cu blocuri funcţionale.

În continuare, programarea AP folosind blocurile funcţionale este exemplificată pentru cazul AP ALPHA şi pentru limbajul specific acestora.

 

Tipurile de blocuri

 

Într-un program ce utilizează blocuri funcţionale se pot utiliza 5 seturi de elemente:

·       intrări: în funcţie de tipul AP, acesta poate avea 4, 6 sau 12 intrări. Acestea pot fi atât intrări digitale cât şi analogice. Intrările sunt notate cu I01-I06.

·       taste ale panoului frontal: acestea sunt notate cu K01-K08 şi permit introducerea datelor în zona de date a programului, deplasarea prin meniuri şi program, selectează opţiunile de programare sau pot fi folosite ca intrări suplimentare în timpul funcţionării AP.

·       biţii de memorie a sistemului: aceştia por furniza valori predefinite ale semnalelor şi informaţii despre erorile din sistem. Biţii de memorie sunt notaţi cu M01-M05.

·       ieşiri: acestea sunt digitale şi permit comanda elementelor de comutare de tip releu sau tranzitor ce pot fi introduse în schemele electrice de comandă. Acestea sunt notate cu O01-O04.

·       blocurile funcţionale: acestea sunt elementele de bază ale programului. Cu ajutorul lor informaţiile primite de la intrări, taste ale panoului frontal şi biţii de memorie sunt prelucrare fiind elaborate comenzile transmise la ieşirile AP.

Toate aceste elemente, alcătuind o diagramă bloc funcţională, trebuie să fie dispuse pe o placă de bază având intrările în stânga şi ieşirile în dreapta. Acest cadru mai poartă numele de zonă de conexiuni.

Elementele software-lui AL-PCS/WIN-E de programare a AP folosind FB sunt date în Fig. 1.

 

Fig. 1

 

·       Bara de meniu conţine meniurile programului.

·       Bara standard conţine butoanele pentru comenzile standard: “New”, “Open”, “Save”, “Cut”, “Paste”,“Print”, “About”, “Help”, “Zoom” şi “Read from Controller”.

·       Bara imagini conţine butoanele pentru “Import” şi “Export” imagini în fereastra care conţine schiţa sistemului.

·       Bara de desenare conţine butoane pentru comenzi de desenare: “Line”, “Rectangle”, “Oval”, “Thin”, “Medium”, “Thick”, “Line Color”, Brush Color” şi “Align Drawing Objects”.

·       Bara de control conţine butoanele prin care se controlează comunicarea între software-ul de programare şi AP .Conţine butoanele “Write to Controller”, “Verify Controller Data”, “Diagnosis of controller”, “Run Controller”, “Stop Controller”, “Auto FBD Wizard”, “Start/Stop Monitor” şi  “Start / Stop Simulation”.

·       Bara de accesorii conţine BF pentru intrări, ieşiri, funcţii, funcţii logice şi funcţii utilizator:  Input Signals”, “Functions”,“Logic Functions”, “Output Signals” şi “User Functions”.

·       Bara de conexiuni conţine doar butonul pentru selectarea uneltei de conexiune a BF..

·       Bara funcţii utilizator conţine butoanele pentru crearea funcţiilor utilizator: “User Func” şi “User Func Registrationbuttons.

·       Bara de stare – indică setul de BF utilizate curent şi procentul de BF utilizate etc.

 

Table 4.1: Bara de accesorii

Bara de unelte

 

Descriere

Intrări

  

Conţine butoane pentru selectarea diverselor tipuri de elemente de intrare şi biţii sistem.

Funcţii

  

Conţine butoane pentru selectarea unor tipuri de BF altele decât cele corespunzătoare BF logice.

Funcţii logice

Conţine butoane pentru selectarea BF corespunzătoare funcţiilor logice.

Ieşiri

 

Conţine butoane pentru selectarea diverselor tipuri de ieşiri şi biţi de control.

Functii utilziator

 

Conţine butoane pentru selectarea BF definite de utilizator

 

Exemplu de scriere a unui program folosind BF

  1. Se porneşte programul AL-PCS/WIN-E.
  2. Se dă comanda File-New
  3. În fereastra de dialog se aleg parametrii AP: AL Series, 6 Input and 4 Output. Se validează parametri selectaţi apăsând OK.

 

 

  1. Din bara de accesorii se selectează cu ajutorul mouse-ului elementele de intrare (IN) şi dintre acestea se alege tipul buton prin clic cu mouse-ul pe icoana corespunzătoare (Push Switch). În fereastra ce conţine placa de bază (FBD) se plasează butonul în căsuţa corespuzătoare intrării I01 prin clic cu mouse-ul în respectiva căsuţă. Se face dublu clic pe butonul plasat anterior şi în căsuţa de dialog care apare, în zona Comment se scrie "Pornire General".
  2. Se repetă operaţiunea pentru I02-I06 cu următorii parmetrii:

I02: Push Switch; Comment "Oprire General";

I03: Push Switch; Comment "Pornire Antrenare";

I04: Push Switch; Comment "Oprire Antrenare";

I05: Limit Sensor; Comment "Limita Superioara";

I06: Limit Sensor; Comment "Limita Inferioara";

  1. Din bara de accesorii se selectează cu ajutorul mouse-ului elementele de ieşire (OUT) şi dintre acestea se alege tipul motor prin clic cu mouse-ul pe icoana corespunzătoare (Motor). În fereastra ce conţine placa de bază (FBD) se  plasează butonul în căsuţa corespuzătoare ieşirii O01 prin clic cu mouse-ul în respectiva căsuţă. Se face dublu clic pe elementul plasat anterior şi în căsuţa de dialog care apare, în zona Comment se scrie "Motor pompa ulei".
  2. Se repetă operaţiunea pentru O02-O03 cu următorii parametrii:

O02: Motor; Comment "Motor Antrenare";

O03: Light; Comment "Semnalizare ungere";

  1. Din bara de accesorii se selectează cu ajutorul mouse-ului bara de funcţii (FUNC) şi dintre acestea se alege BF de tip bistabil (SET RESET). În fereastra FBD se plasează BF făcând clic în interiorul plăcii de bază (zona verde).
  2. Se selectează bara de conexiuni. Se fac conexiunile între intrări, BF de tip bistabil si ieşiri. Cu ajutorul mouse-ului, ţinând apăsat butonul din stânga al acestuia se uneşte borna de ieşire a intrării IO1 cu intrarea SET a BF de tip bistabil. Se uneşte apoi ieşirea intrării IO2 cu intrarea RESET a BF de tip bistabil. În mod similar se uneşte ieşirea BF de tip bistabil cu borna de intrare a ieşirii O01.
  3.  Se procedează în mod similar pentru a se realiza schema din Fig.2

 Fig. 2

 

În Fig.2 blocurile sunt după cum urmează: B20 – bloc tip DELAY, B19 – bloc tip SET/RESET, B18 – bloc funcţie logică AND (ŞI logic), B22 – bloc funcţie logică OR (SAU logic). Blocurile B18 şi B22 se aleg din bara de accesorii selectând setul de funcţii logice (LOGI).

Întârzierea blocului B20 se configurează făcând dublu clic pe icoana corespunzătoare. În câmpul On Operation Delay se trece valoarea 50 care corespunde unei întârzieri t=50x100 ms=5s.

Schema din Fig.2 corespunde comenzii unei maşini de găurit care are în componenţă un motor care antrenează o pompă de ulei pentru sistemul de ungere şi un motor de antrenare a burghiului. În această schemă funcţionarea motorului de antrenare este condiţionată de atingerea unei anumite presiuni a uleiului în sistemul de ungere. Aceasta presupune ca motorul pompei să fie pornit în avans faţă de motorul de antrenare cu cel puţin 5 secunde. Becul conectat la ieşirea O03 semnalizează funcţionarea pompei de ulei.

Simularea funcţionării programului

Pentru simularea funcţionării programului se apasă icoana Start/Stop Simulation din bara de control sau se selectează din meniu comanda Controller-Simulation-Start.

Activarea intrărilor se realizează făcând clic pe căsuţele I01-I06 corespunzătoare.

În modul simulare pentru toate ieşirile BF este precizată starea în care acestea se află: activ=ON, inactiv=OFF. Căile active la un moment dat sunt precizate cu culoarea roşie iar cele inactive cu culoare albastră.

Procedeu experimental

 

1. Realizaţi o schemă de comandă care să poată fi implementată folosind un AP Alpha cu 6 intrări şi 4 ieşiri şi care să realizeze comanda a trei motoare conform următoarelor condiţii:

-  motorul al doilea porneşte după 5 secunde după pornirea primului motor;

-  motorul al treilea porneşte după 10 secunde după pornirea celui de al doilea motor

-  o lampa de semnalizare avertizează situaţia în care doar unul din cele trei motoare sunt în stare de funcţionare.

 

2. Realizaţi o schemă de comandă care să poată fi implementată folosind un AP Alpha cu 6 intrări şi 4 ieşiri şi care să realizeze comanda pornirii unui motor în ambele sensuri de rotaţie. Schema nu trebuie să permită comanda simultană a motorului pentru pornirea în ambele sensuri de rotaţie. Pornirea în celălalt sens de rotaţie nu trebuie permisă decât după 5 secunde de la oprirea motorului pentru a permite acestuia să se oprească liber.