Sunteți pe pagina 1din 195

UNIVERSITATEA DIN BACĂU

FACULTATEA DE INGINERIE

Culea George

INFORMATICĂ INDUSTRIALĂ
Note de curs - laborator

Editura Alma Mater Bacău


2007
1 INTRODUCERE

Dezvoltarea rapidă şi complexă a societăţii a dus inevitabil la o sporire


însemnată a volumului de informaţii care tind să aglomereze şi să blocheze canalele
informaţionale. Pe de altă parte, nevoia de informaţie pentru o cunoaştere operativă şi o
dirijare conştientă a dezvoltării societăţii, este din ce în ce mai mare. Rolul tehnologiei
informaţiei (Information Technology-IT) este tocmai de rezolvare a acestei contradicţii
dintre creşterea volumului de informaţii şi setea de informaţii.
Pentru a se lua decizii rapide şi optime este necesară o sporire a operativităţii, în
colectarea, prelucrarea şi prezentarea informaţiilor precum şi o valorificare superioară a
acestora. Această cerinţă nu poate fi satisfăcută în condiţiile unui volum din ce în ce mai
mare de informaţii decât prin folosirea mijloacelor şi tehnicilor specifice tehnologiei
informaţiei
Tehnologia Informaţiei este definită de ITAA (Information Technology
Association of Anerica) ca fiind ştiinţa ce se ocupă cu studiul proiectării, dezvoltării,
implementării sau organizării sistemelor informaţionale. Sistemele informaţionale au
două componente distincte şi anume software şi hardware.
Scopul IT este de a utiliza sistemele de calcul şi softul asociat pentru a converti
stoca, procesa, transmite şi prelua informaţia în condiţii de securitate.
În condiţiile lumii moderne, când în orice domeniu se cere o cunoaştere rapidă,
complexă şi multilaterală a realităţii, în scopul luării unor decizii operative, oportune şi
fundamentate pe cerinţele legilor obiective ce acţionează în societate, ajutorul IT ca
instrument al conducerii, este incontestabil. Introducerea tehnologiei informaţiei în
ştiinţă, economie şi societate constituie un proces inevitabil, fiind definită de
informatica aplicată
Prin metodele moderne de care dispune, informatica aplicată constituie un mijloc
de modelare şi corelare optimă a factorilor de producţie, asigurând creşterea nemijlocită
a eficienţei economice generale, dar şi pe fiecare întreprinzător în parte.
În procesele industriale complexe, variaţia rapidă a numeroşilor parametri,
precum şi abaterea acestora de la limitele admise, pot fi urmărite şi sesizate operativ,
numai cu ajutorul sistemelor de calcul performante.
Informatica constituie un factor de economisire a resurselor materiale de energie
şi muncă. Punând la dispoziţia oricărui sistem de producţie informaţii complete şi
operative asupra tuturor condiţiilor în care îşi desfăşoară activitatea se pot stabili
dimensiuni optime privind capacităţile de producţie, piaţa de aprovizionare, piaţa de
desfacere, costurile de producţie, rentabilitatea, etc. contribuind astfel la eficientizarea
activităţii.
Accesul larg la cuceririle ştiinţei şi tehnicii moderne constituie, astăzi, nu numai
o condiţie a dezvoltării, a progresului economic, dar şi un drept al tuturor popoarelor,
dreptul de a cunoaşte şi a comunica.

3
Promovarea utilizării informaticii, ca element central al tehnologiei informaţiei,
în cele mai variate aspecte ale activităţii sociale, se manifestă ca factor dinamizator, de
vitalizare şi progres al societăţii.
Progresul ştiinţific în domeniul circuitelor integrate a influenţat în mod deosebit
tehnica de calcul. Se conturează tendinţa cunoscută sub denumirea de informatică
distribuită, aceasta constând în descentralizarea sistemelor de prelucrare automată a
datelor. Se construiesc astfel, echipamente electronice de calcul ieftine dar capabile să
execute toate operaţiile implicate în procesul de prelucrare în punctele generatoare de
date. Se creează reţelele de calculatoare cu posibilităţi multiple de interconectare.
Informatica distribuită este rezultatul integrării dintre calculatoare şi sistemele de
comunicaţie în vederea folosirii superioare a resurselor fizice şi logice ale
calculatoarelor.
Tehnologia informaţiei reunind cercetarea, proiectarea, folosirea şi întreţinerea
sistemelor de automatizare a prelucrării datelor – tinde să devină o infrastructură
generalizată. Aceasta se va realiza atât prin încorporarea de elemente informatice –
hardware şi software – în produse industriale şi de uz casnic, cât mai ales prin folosirea
tehnologiilor informatice în asistarea, reglarea şi controlul proceselor tehnico-
productive, a celor creative şi de conducere.
Automatizarea flexibilă, proiectarea asistată de calculator, roboţii industriali,
maşinile cu comandă numerică, aparatura de măsură şi control integral automatizată,
gestiunea producţiei cu ajutorul calculatorului electronic, transferul electronic de
fonduri etc. dinamitează pur şi simplu principii tehnico-economice consacrate,
asigurând totodată o bază nouă, mai productivă şi mai eficientă de activitate.
Dintre componentele informaticii aplicate, informatica industrială are un rol
hotărâtor în creşterea productivităţii muncii prin introducerea celor mai moderne soluţii
de automatizare flexibilă. Informatica industrială se orientează atât pe componentele
soft (programe pentru control industrial) cât şi pe echipamentele hardware pentru
conducerea proceselor. Cursul de Informatică industrială va prezenta în special modul
de configurare şi programare al controlerelor programabile utilizate în conducerea
proceselor industriale.

1.1 Procese tehnologice

Evoluţia economică actuală se caracterizează printr-o puternică dezvoltare a


tehnologiei informaţionale, materializată prin apariţia sistemelor de calcul din ce în ce
mai performante, realizarea de aplicaţii software complexe şi crearea de noi
echipamente şi tehnologii în general.
Această dezvoltare a permis introducerea pe scară largă a soluţiilor de
automatizare moderne. Putem defini automatizarea într-un sens general, prin ansamblul
măsurilor tehnice luate în vederea diminuării sau eliminării participării umane în sfera
proceselor de producţie. În cadrul proceselor de producţie putem evidenţia procese
tehnologice şi procese informaţionale.
Prin proces tehnologic se va înţelege succesiunea operaţiilor efectuate asupra
materiilor prime, semifabricatelor, subproduselor, cu scopul obţinerii unor produse cu
4
un înalt grad de prelucrare. Operaţiile sunt efectuate în instalaţii tehnologice şi implică
transfer de masă şi energie. Procesul informaţional este caracterizat de ansamblul
operaţiilor de achiziţie, prelucrare, stocare şi transfer de informaţii necesare desfăşurării
procesului tehnologic.
Procesele tehnologice pot fi clasificate în funcţie de continuitatea fluxului de
masă şi energie în: procese discrete şi procese continue.
Procesele industriale discrete sunt procese ce se desfăşoară pe anumite etape,
într-o anumită ordine secvenţială, acţiunile caracteristice acestor procese având loc la
anumite momente de timp. Un exemplu de proces industrial discret îl reprezintă
ansamblul operaţiilor efectuate pe o linie automată de prelucrare, ambalare, etc.
Procesele continue se caracterizează printr-un flux continuu de masă şi energie.
Câteva din exemplele de procese continue sunt date de procesele din industria chimică,
petrochimică, în care se controlează diverşi parametrii, cum ar fi: presiunea, aciditatea,
concentraţia. Aceşti parametrii sunt urmăriţi în mod continuu.
Automatizarea proceselor de producţie a fost impusă de efortul general al
producătorilor industriali de atingerea unor productivităţi sporite, de utilizare superioară
a resurselor, de îmbunătăţire a calităţii şi fiabilităţii produselor, de micşorare a costurilor
de producţie, de îmbunătăţire a condiţiilor de muncă.
Aplicarea strategiei de automatizare se va face în funcţie de volumul de
producţie (producţie de masă, producţie de serie sau serie mică), ţinând cont de eficienţa
economică a investiţiei, în condiţiile asigurării unei flexibilităţi cât mai ridicate, astfel
încât să facă faţă la schimbările rapide ale cerinţelor pieţei.
Flexibilitatea permite adaptarea rapidă a sistemelor de producţie la o serie de
modificări ale tehnologiei de fabricaţie, necesare realizării unor produse noi sau
îmbunătăţite. Gradul de flexibilitate poate varia în limite foarte largi de la un sistem la
altul, el fiind stabilit în funcţie de specificul producţiei, corelat cu eficienţa economică a
realizării acestuia.
În ţara noastră se remarcă în ultima perioadă, preocuparea unui număr din ce în
ce mai mare de întreprinderi cu profil de producţie, pentru găsirea unor soluţii de
retehnologizare prin adoptarea unor soluţii moderne de automatizare. Cele mai multe
dintre soluţiile de automatizare flexibilă implică utilizarea controlerelor programabile,
ce au o largă aplicabilitate în domeniul industrial.

1.2 Conducerea proceselor

Conducerea unui proces tehnologic impune în primul rând, stabilirea unui


obiectiv al conducerii care fixează de fapt destinaţia funcţională a procesului respectiv.
Materializarea conducerii implică de asemenea, posibilitatea intervenţiei asupra
procesului şi posibilitatea cunoaşterii stării curente prin mărimi de ieşire şi respectiv,
mărimi de intrare. Poate fi realizată manual, automat sau semiautomat. Conducerea
manuală se caracterizează prin elaborarea şi aplicarea comenzilor de către un operator
uman, iar conducerea automată presupune efectuarea acestor operaţii de către un
echipament de conducere.
În general, conducerea proceselor poate fi descrisă de următoarea schemă bloc:
5
PT

E
E I
PO SC
I
Figura 1.1

PO – panou operator SC – sistem de conducere


PT – proces tehnologic
I – intrări în SC E – ieşiri din SC

Orice proces tehnologic automat sau semiautomat presupune existenţa panoului


de comandă (panou operator) (PO). Chiar dacă procesul e complet automatizat, trebuie
să existe un minimum de comenzi (ex., comanda de oprire şi de pornire a sistemului).
Cu cât sistemul de conducere va fi mai perfecţionat, cu atât panoul operator va fi mai
simplu. Pe panoul operator pe lângă elementele de comandă se pot afla şi elemente de
semnalizare.
Procesul tehnologic poate fi comandat prin intermediul mărimilor de ieşire din
sistemul de conducere.
Intrările în echipamentul de conducere sunt mărimi analogice sau digitale şi au
rolul de a furniza informaţii din procesul tehnologic şi de la panoul operator. Intrările
din procesul tehnologic pot fi semnale ce provin de la: senzori (senzori de proximitate,
senzori de prezenţă, senzori optici), limitatoare de cursă, contactele unor relee, butoane
sau comutatoare, traductoare sau de la alte echipamente de conducere.
Aceste mărimi pot fi semnale digitale Sd sau semnale analogice Sa (de la
traductoare), în curent sau tensiune.

Figura 1.2

Senzorul de proximitate este un dispozitiv care sesizează prezenţa sau absenţa


unui obiect în apropierea lui. Senzorii de proximitate se pot clasifica în funcţie de raza
de acţiune şi natura materialului la care sunt sensibili aceştia.

6
Dacă este acţionat, senzorul va schimba valoarea logică a ieşirii. Acţionarea
senzorului se realizează când este un obiect în apropierea sa.

1.3 Sisteme hardware pentru automatizare


Existenţa a numeroase tipuri de aplicaţii ce utilizează echipamente de control şi
comandă automată, a condus la necesitatea realizării unor echipamente automate, care
să poată fi utilizate pentru o gamă largă de procese.
Caracteristica de a putea fi utilizat la automatizarea unei game foarte largi de
procese este dată de flexibilitatea ridicată. Flexibilitatea echipamentului de conducere
este reprezentată prin gradul de aplicabilitate a unei soluţii de automatizare.
În funcţie de analiza procesului ce urmează a fi automatizat şi elementele pe care
le solicită beneficiarul, se alege o anumită variantă de automatizare. Pentru alegerea
soluţiei de automatizare se va ţine cont şi de:
− gradul în care echipamentul permite dezvoltarea în continuare a aplicaţiei;
− consecinţele utilizării unor echipamente complexe (înfiinţarea unui service
specializat, specializarea operatorilor);
− preţul de cost (costul investiţiei);
− timpul de amortizare.
Echipamentele de automatizare se pot clasifica în două categorii:
− echipamente realizate în logică cablată;
− echipamente realizate în logică programată.
Variantele de implementare a unui sistem de conducere în logică cablată sunt
reprezentate de soluţiile bazate pe: tehnică releistică, selectoare pas cu pas, circuite
logice combinaţionale, automate secvenţiale şi microsisteme specializate.
Variantele de implementare a unui sistem de conducere în logică programată
sunt reprezentate de soluţiile bazate pe: controlere programabile (automate
programabile), microcontrolere, calculatoare de proces.
Soluţiile în logică cablată sunt indicate pentru aplicaţii reduse, având un număr
mic de intrări şi ieşiri. În cazul în care există un număr mare de intrări / ieşiri, dacă se
utilizează soluţiile de automatizare în logică cablată, se va ajunge la scheme complexe,
ceea ce va presupune fiabilitate scăzută şi depanare dificilă, datorită numărului mare de
componente.
Valoarea echipamentelor de conducere creşte odată cu complexitatea lor şi
performanţele pe care le deţin.
La complexităţi ridicate ale proceselor de producţie este indicat să se utilizeze
controlere programabile sau calculatoare de proces.
Calculatoarele de proces pot fi calculatoare personale dotate cu interfeţe pentru
proces, fiind prevăzute cu carcase având un grad de protecţie ridicat.
Aceste interfeţe de proces realizează conversia semnalelor din proces în semnale
utilizate de calculator. Cele mai cunoscute sunt plăcile de achiziţie date.
Calculatorul de proces, fiind amplasat într-un mediu industrial, va fi dotat cu o
tastatură fiabilă, protejată de praf şi cu cheie de acces.
Conectarea calculatorului la proces se va realiza astfel:

7
I – intrări PT –proces tehnologic
E - ieşiri PAD – placă achiziţie date
Figura 1.3

Calculatorul va funcţiona pe baza unui program care va realiza taskurile de


automatizare.
Comanda ieşirilor se va realiza de către calculator pe baza programului
implementat şi a valorilor mărimilor de intrare.
Spre deosebire de echipamentele realizate în logică cablată, cele în logică
programată au o flexibilitate foarte mare, putând fi utilizate pentru o gamă largă de
procese.
Dintre toate soluţiile prezentate, cele mai utilizate variante de automatizare sunt
cele cu controlerele programabile, deoarece preţul lor este relativ mic şi satisfac
cerinţele unei game foarte largi de procese, atât discrete, cât şi continue.
Controlerul programabil (automatul programabil) reprezintă o structură flexibilă,
având o puternică interfaţare cu procesul.
Acesta este un dispozitiv electronic ce permite comanda unui proces tehnologic
sub controlul unui program implementat, cu ajutorul unui limbaj specializat.
În funcţie de complexitatea controlerelor, acestea pot realiza diverse funcţii:
− funcţii logice;
− funcţii aritmetice;
− funcţia de generare a ieşirilor şi citire a intrărilor;
− funcţii de memorare;
− funcţii de comunicare;
− funcţii de temporizare, contorizare şi generare de impulsuri;
− funcţii de conversie analog-numerică şi numeric- analogică;
− funcţii de măsurare şi adaptare de semnal;
− funcţii de poziţionare (comandă pe axă a unui mecanism);
− funcţii de reglare continuă P, PI, PID;
− funcţii de programare grafică.

8
1.4 Structura controlerului programabil

Un controler programabil (automat programabil), din punct de vedere structural


şi funcţional, este asemănător cu un calculator numeric. În cazul controlerului
programabil, aceasta este capabil să interpreteze un număr relativ mic de instrucţiuni,
necesare pentru implementarea funcţiilor unui proces automatizat. Elemente principale
ce compun un controler programabil sunt:
ƒ unitatea centrală;
ƒ modulul de intrări/ieşiri logice;
ƒ modulul de intrări/ieşiri analogice;
ƒ modulul de interconectare cu reţeaua;
ƒ modulul de legătură cu PC pentru programare şi comunicare;
ƒ modulul de memorie RAM, EEPROM;
ƒ modulul de memorie externă;
ƒ ceasul de timp real.
Dacă numărul de intrări/ieşiri oferite de controlerul programabil este mic faţă de
necesităţile unei anumite aplicaţii, este posibilă mărirea numărului de intrări/ieşiri prin
adăugarea de extensii locale. Pentru aplicaţii complexe este necesar să se utilizeze
conectarea în reţea a mai multor controlere programabile de acelaşi tip sau de tipuri
diferite, cu condiţia ca ele să fie interconectabile la aceeaşi reţea.
Structura controlerului programabil este prezentată în figura următoare.

Module Echipament de
extensibile programare

Uce
UM
Module Module
de intrare de ieşire

UE UC

CPU

Proces
controlat

Figura 1.4
9
UE – unitate de execuţie
UC – unitate de comandă
Uce – unitate centrală
P – procesor sau CPU
UM - unitate de memorie
MI – module de intrare
ME – module de ieşire
EP – echipament de programare
CP – controler programabil
UE+ UC = P = CPU
P +M = Uce
Uce + MI + ME +EP = CP

Pentru a putea funcţiona, controlerul programabil trebuie configurat


corespunzător de utilizator, prin intermediul unui limbaj specializat.
Controlerele programabile pot prelucra informaţia digitală (la nivel de bit, byte
sau cuvânt) sau analogică (pe 10 – 32 biţi), putând fi: încorporate în comenzi numerice
sau ca echipamente individuale.
La nivel convenţional, arhitectura unui un controler programabil va fi definită de
cvadruplul:
CP < MI , ME ,RG, I >
RG – registre generale (RIC – registrul instrucţiunii curente,
RA – registru acumulator)
I – setul de instrucţiuni

Registrele generale sunt utilizate pentru stocarea diferitelor variabile de stare.


Informaţiile din proces sunt preluate folosind modulele de intrare. Modulele de
ieşire generează comenzile către echipamentele de execuţie (contactoare, electrovalve)
sau către elementele de semnalizare. Schimbul de informaţie dintre module se realizează
prin intermediul magistralelor de date, de adrese şi a magistrale de control.
Unitatea centrală asigură stocarea programului, a datelor şi realizează
prelucrarea automată a acestora pe baza interpretării programului dat.
Unitatea de memorie are funcţia de stocare a datelor iniţiale, a programului, a
rezultatelor intermediare, a variabilelor sistem şi a imaginilor intrărilor şi ieşirilor
curente.
Unitatea de execuţie asigură sub controlul unităţii de comandă, operaţiile logice
şi aritmetice asupra datelor preluate din memorie, de la modulele de intrare sau din
registrul acumulator, rezultatele fiind returnate în unitatea de memorie sau în registru
acumulator.

10
1.5 Funcţionarea controlerului programabil

Controlerul programabil are o funcţionare clasică. Fiecare ciclu de funcţionare


începe cu citirea registrelor-imagine ale mărimilor de intrare, urmată de parcurgerea
instrucţiunilor conţinute în programul utilizator, ce are drept rezultat modificarea
corespunzătoare a registrelor-imagine ale mărimilor de ieşire. Comenzile logice rămân
neschimbate atât timp cât variabilele ce le determină rămân neschimbate. Înainte de a
reîncepe un nou ciclu de funcţionare, controlerul programabil parcurge o etapă de
autosupraveghere şi de testare a funcţiilor ce concură la buna funcţionare a acestora.
Controlerul programabil preia mărimile de intrare din procesul controlat prin
modulul de intrare şi le prelucrează conform programului înscris în unitatea de memorie
pentru a genera ieşirile, ce reprezintă comenzi către proces.
Unitatea de comandă citeşte şi decodifică instrucţiunea curentă, lansând în
execuţie prin unitatea de execuţie UE, operaţiile curente. Valorile mărimilor de
intrare/ieşire vor fi actualizate la fiecare scanare a programului.
Comenzile unităţii centrale sunt transformate de modulele de ieşire în semnale
electrice la parametrii solicitaţi de proces.
Programul unui proces controlat este compus dintr-o combinaţie specifică de
instrucţiuni, proprii fiecărei aplicaţii.
În general, timpul de procesare al programului este foarte scurt (zeci sau sute de
milisecunde, depinzând direct proporţional de mărimea programului) faţă de constantele
de timp ale procesului. Dacă în anumite aplicaţii acestea au acelaşi ordin de mărime, se
impune utilizarea unei funcţii de alarmă, care permite întreruperea procesării ciclice a
programului atunci când o anumită intrare îşi modifică starea.
Echipamentul de programare poate fi integrat sau extern controlerului
programabil, fiind dispozitivul cu ajutorul căruia se editează, se compilează şi se
transferă programele în unitatea de memorie.
În cazul când echipamentul de programare e extern, el poate fi reprezentat de o
consolă de programare sau de un calculator personal, dotat cu soft de programare,
testare şi transfer.
După ce programul utilizator este finalizat, va fi transferat în memoria
controlerului programabil şi rămâne rezident în el.
Limbajele de programare sunt diverse şi pot fi grupate astfel:
ƒ limbaje ce utilizează o listă de instrucţiuni (asemănătoare limbajului de
asamblare), ce sunt recunoscute de controlerul programabil. Marea majoritate
a controlerelor programabile permit acest mod de programare;
ƒ limbaje ce utilizează programarea grafică, ce se poate prezenta fie sub forma
unor scheme cu porţi logice, fie sub forma unor scheme ce folosesc funcţii
logice predefinite.
Structura hardware şi modul de programare fac extrem de simplă scoaterea unui
controler programabil dintr-o aplicaţie şi introducerea în alta, prin reconectarea
corespunzătoarea a terminalelor de intrare/ieşire şi conceperea unui nou program
11
utilizator. Această calitate a controlerelor programabile le conferă o mare flexibilitate în
utilizare.
Controlerele programabile pot realiza conversii analog / numerice şi numeric
/analogice, operaţii aritmetice şi logice, operaţii de salt, memorare şi transfer, funcţii de
temporizare, contorizare şi generare de impulsuri, în unele cazuri chiar operaţii specifice
limbajelor de nivel înalt (Pascal, C++ ş.a. ). Controlerele programabile se pot conecta la
serverul central prin interfaţă serială RS 232 sau RS 485.

12
2 TIPURI DE CONTROLERE PROGRAMABILE
2
Astăzi, există foarte mulţi producători de controlere programabile pe plan
mondial, cum ar fi firmele: Siemens, Horner Europe, Wieland Electric, SERRA, ABB,
Rockwell Automation, Rextroth – Electric, Profichip, Omniflex, Schneider
Telemecanique, Klockner Moeller, GE Fanuc Automation, Omron, Hitachi, Matsushita
Electric Works, Crouzet Automatismes, Advantech, Mitsubishi automation, Amot, TEC
Automatismes, FEAG, Unitronics, National Instruments şi Allen Bradley. În România
s-au produs controlerele programabile AP 101, AP 201, AP micro, iar în prezent se
produc controlerele mPLC în variantele open şi compact, la ICE Felix.

2.1 Controlere SIMATIC

Controlerele programabile realizate de firma Siemens pot fi împărţite în 5


categorii
1. SIMATIC TI505 - este un controler programabil, prevăzut cu o combinaţie
specială între aplicaţiile de control buclă-închisă, buclă-deschisă şi funcţii matematice
complexe, pentru o varietate foarte largă de procese inginereşti.
Performanţele echipamentului :
- module inteligente I/O;
- control distribuit.
Programarea echipamentelor PLC se realizează cu SIMATIC TISOFT şi
SIMATIC APT. SIMATIC APT foloseşte tehnologia CASE ( Computer-Aided
Software Engineering ).

2. SIMATIC S5 - sunt utilizate în controlul buclelor-închise, pentru poziţionare,


numărare, controlul valvelor, etc.
Programarea se realizează cu STEP 5/TISOFT, simplu şi rapid. Cu acelaşi
program se poate genera documentaţia şi se poate testa.
Este un instrument ideal pentru achiziţia şi prelucrarea datelor din proces. În
plus, oferă două posibilităţi de conectare :
ƒ conectare point to point, de la un CPU la altul;
ƒ conectarea prin protocolul Ethernet, PROFIBUS sau SINEC N, ce permite
alegerea unui număr mare de controlere programabile.

Controlerul programabil SIMATIC este prezentat în figura 2.1.


13
Figura 2.1 Controler programabil SIMATIC

3. SIMATIC S7
Sunt realizate în trei variante: S7-200 un controler de mici dimensiuni folosit în
automatizări ale unor procese mai simple (obiecte casnice de exemplu), S7-300 este un
automat pentru automatizări medii, iar S7-400 reprezintă soluţia pentru
automatizări complexe. Un astfel de controler este format din unitatea centrală şi
modulele de I/O. Celelalte componente din soluţia SIMATIC pentru automatizări,
cum ar fi (C7, DP, C7, HMI, NET), completează controlerul programabil,
reprezentând o consolă specializată de programare, module de I/O distribuite - pentru o
comandă la distanţă- modul pentru conectare în reţea etc.
Limbajul acestui controler este STEP7, fiind utilizat pentru configurarea
componentelor SIMATIC, pentru a le atribui parametri şi nu în ultimul rând, pentru a le
programa. Instrumentul software pentru control este reprezentat de SIMATIC
Manager.
Principalele activităţi realizate de STEP7 sunt:
− configurarea hardware-ului - ceea ce reprezintă aranjarea modulelor,
atribuirea de adrese, precum şi setarea proprietăţilor acestora;
− configurarea parametrilor de comunicare;
− scrierea de programe utilizator pentru controlerul programabil într-unul
dintre cele 3 moduri: Ladder Logic (LAD, diagrame de contacte), Function
Block Diagram (FBD, diagrame de blocuri funcţionale) sau Statement List
(STL, listă de instrucţiuni), precum şi testarea on line a acestora pe
controler.
Principala cerinţă pentru limbajul de programare a unui controler programabil
este aceea de a fi uşor de înţeles şi utilizat în aplicaţii de conducere a proceselor. Acest
lucru implică nevoia unui limbaj înalt pentru a furniza comenzi foarte apropiate de
funcţiile cerute de către un inginer automatist, dar fără a fi complex şi a necesita un
timp de învăţare mare.
Există mai multe limbaje şi metode de programare care pot fi utilizate în cazul
programării controlerelor din familia SIMATIC după cum satisfac una dintre cerinţele
14
programatorilor. Trei dintre acestea (LAD, FBD şi STL) sunt incluse în pachetul
STEP7, celelalte putând fi achiziţionate ca pachete adiţionale.
Mediul STEP7 include un editor pentru cele trei moduri de programare. LAD
şi FBD sunt limbaje grafice, în timp ce STL se bazează pe listă de instrucţiuni.
LAD sau diagramele Ladder au reprezentat cea mai obişnuită metodă de
descriere a circuitelor logice cu relee, fiind utilizate iniţial pentru reprezentarea
circuitelor electrice, iar ulterior s-au impus şi la controlere programabile din dorinţa de a
asigura utilizatorului aceleaşi facilităţi.
Spre deosebire de primele două metode, programarea în STL este apropiată
limbajului de asamblare folosit în cazul microprocesoarelor. Programul în acest caz
apare sub forma unei liste de instrucţiuni, fiecare linie definind funcţia care urmează
să fie realizată şi, dacă este cazul, o adresă de la care se apelează un modul.
Programul poate fi editat în oricare dintre modurile alese existând posibilitatea şi
de a transfera rutinele dintr-un tip de programare în altul. Cele trei moduri nu presupun
doar o procesare la nivel de bit a informaţiei, existând posibilitatea de manipulare şi la
nivel de octet, cuvânt etc. Pentru task-urile mai complexe există posibilitatea folosirii
funcţiilor matematice, de conversie, deplasare, a salturilor.
Soluţia SIMATIC pune la dispoziţie şi pachete software opţionale care pot
extinde facilităţile standard din STEP7.
Toate datele care oferă soluţia de automatizare sunt colectate împreună într-un
proiect. Acesta va fi creat utilizând STEP7. Datele sunt structurate ierarhic. Următorul
nivel după proiect este reprezentat de „staţii”, care conţin una sau mai multe unităţi
centrale cu un program utilizator. Pot fi utilizate comenzi de meniu, care inserează
obiecte noi, care pot fi deschise pentru a fi configurate.
Programele după ce sunt editate, pot fi testate. Testarea acestora se poate face
după încărcarea lor pe controlerul programabil sau pe softul de testare PLCSIM. După
testarea softului acesta este încărcat într-o memorie EPROM şi se generează
documentaţia proiectului utilizând DOCPRO. Proiectul poate fi salvat sub forma unui
fişier comprimat.
Un echipament de automatizare SIMATIC conţine un controler
programabil din această familie şi module de I/O.
Componentele controlerului programabil-SIMATIC S7 sunt:
− rac de montare;
− unitatea centrală – (înmagazinează şi execută programul utilizator, atribuie
parametri modulelor, realizează comunicaţia între dispozitivul de programare,
module, staţii adiţionale prin intermediul magistralei);
− module de interfaţă;
− module de I/O;
− module funcţionale – (realizează diverse funcţii care nu pot fi „acoperite”
de către unitatea centrală);
− procesor pentru comunicare - folosit în momentul în care se doreşte
conectarea în reţea.
Acest controler utilizează două tipuri de magistrale: una pentru transmiterea
spre/ dinspre modulele de I/O, respectiv una pentru comunicarea rapidă cu un volum
mai mare de date între unitatea centrală şi celelalte module. Modulele de I/O pot fi
locale sau distribuite.

15
La ora actuală se folosesc trei familii de unităţi centrale pentru
automatizări SIMATIC: S7-200, S7-300 şi S7- 400.
S7-200 utilizează limbajul de programare STEP7 Micro, fiind destinat
automatizărilor de dimensiuni reduse. Poate avea mai multe module de extindere,
existând posibilitatea de conectare în reţea. Numărul de module de I/O poate fi stabilit
astfel încât să satisfacă cerinţele legate de proces. O interfaţă de tipul punct cu punct
permite conectarea mai multor unităţi centrale (până la 31), precum şi conectarea cu
alte controlere din familia SIMATIC.
S7-300 este controlerul destinat automatizărilor medii, având aceleaşi
caracteristici ca şi S7-200. Oferă în plus, posibilitate de instalare a sursei de
alimentare pe şina centrală. Sloturile sunt numerotate: 1 pentru sursă (chiar dacă
lipseşte), 2 pentru unitate centrală, 3 - modul de interfaţă, 4-11 - module de I/O.
Echipamentul este prevăzut cu module pentru lucru în mediu cu condiţii ostile
(temperaturi foarte ridicate sau scăzute, vibraţii).
S7-400 este controlerul destinat automatizări complexe, având o mai mare
capacitate de procesare a informaţiei, posibilitatea de conectare a două unităţi
centrale la aceeaşi sursă şi capacitate de multiprocesare.
Componentele din standardul SIMATIC S7-300/400 permit un sistem redundant
de automatizare în cazul proceselor lente, astfel că o staţie poate prelua controlul
procesului în cazul în care o altă staţie (master de exemplu) cade. În timpul acestei
perioade toate semnalele din proces sunt conservate.

4. SIMATEC M7 - deţine performanţe superioare faţă de controlerele


anterioare, prin adăugarea unei platforme software deschisă, care-i conferă următoarele
avantaje :
- performanţe ridicate de integrare pe calculator;
- software puternic pentru PLC;
- facilităţi în comunicaţii;
- are acelaşi aspect şi acelaşi mediu de programare cu un calculator.

5. SIMATEC C7 - 620 - este un sistem compact, compatibil şi complet, care


combină controlul memoriei programabile cu facilităţile oferite de panoul operator, ceea
ce a condus la un sistem de control cu dimensiuni minime, la un preţ de cost foarte
scăzut.

Panouri operator Simatic – OP

Fac parte din categoria echipamentelor pentru vizualizare si modificare de


parametri. Sunt robuste, au afişaj alb-negru sau color, alfanumeric sau grafic, construite
in tehnologia cu cristale lichide si tastatura cu membrana. Panourile OP se programează
cu software-ul industrial ProTool. Oferta merge de la simple panouri cu butoane si
becuri la panouri inteligente cu Touch-Screen si procesor Pentium. Toate se conectează
serial.

Panourile operator OP3, OP7 si OP17 sunt făcute pentru operare si monitorizare
confortabila a mai multor domenii de aplicaţie, incluzând, de exemplu, construcţii de
maşini, împachetare si aer condiţionat. Sunt foarte uşor de configurat si controlat. OP3
16
este făcut special pentru conectare la SIMATIC S7, iar OP7 si OP17 au o gama larga de
facilitaţi de conectare.
Panourile OP3, OP7 si OP17 sunt potrivite pentru folosirea directa pe
dispozitive, cat si in birouri.
Caracteristicile esenţiale sunt:
- grad de protecţie IP 65
- dimensiuni reduse in adâncime
- 128 KB (OP3, OP7) sau 256 KB ( OP17) memorie pentru configurarea
datelor in EPROM, deja integrata.
- afişaj uşor de citit

Panouri operator pot fi:


- panouri cu afişaj alfanumeric: OP3, OP7, OP17,
- panouri cu afişaj grafic: OP25, OP35, OP37
- panouri tactile: SIMATIC TP170; SIMATIC TP270
- sistem de vizualizare a procesului: COROS LB-B

Panourile operator OP170 si OP270 sunt proiectate pentru operare si


monitorizare confortabil[. Ele permit o reprezentare grafica realista a dispozitivului sau
fabricii monitorizate. Domeniile de aplicaţie includ, printre altele, inginerie mecanica,
electrica si aparatura.

2.2 Controlerul modular PS 416

Printre echipamentele produse de firma Klockner Moeller se numără :


- controlere compacte PS- 101, 201, 401, PS3, PS 306;
- extensii descentralizate EM4, LE4;
- controlere modulare PS 416.

Structura controlerului modular PS 416 este prezentată în figura următoare.

17
POW CPU AIN AIO INP OUT CNT ... OUT NET NET COM
400 400 400 400 400 400 200 400 230 200 200

BGT 400

Figura 2.1b Structura controlerului modular PS 416

POW 400 - modul de alimentare (230 V), cu separare galvanică;


BGT 400 - rack pentru montarea modulelor;
CPU 400 -unitate centrală cu SRAM 512K, interfaţă SUCONET K, interfaţă de
programare şi interfaţă PCM CIA pentru cartelă memorie;
AIN 400 - modul cu 8 intrări analogice, rezoluţie pe 12 biţi;
AIO 400 - modul cu 4 intrări analogice şi 4 ieşiri analogice;
OUT 400 - modul cu 16 ieşiri de 500 mA, digitale, optocuplate;
OUT 410 - modul cu 8 ieşiri de 2 A, de tip tot sau nimic, optocuplate;
INP 400 - modul cu 16 intrări de tip tot sau nimic, optocuplate;
CNT 200 - modul cu contorizare cu incrementare sau decrementare;
NET 230 - modul de interfaţă de reţea PROFIBUS;
NET 200 - modul de interfaţă de reţea;
COM 200 - modul de comunicaţie serială.

2.3 Controlere programabile OMRON

Seria C de Controlere Programabile OMRON oferă unor multitudini de aplicaţii


ultimele inovaţii în domeniu şi o înaltă funcţionalitate, combinată cu o filozofie a
proiectării, ce permite o utilizare uşoară şi un grad înalt de integrare.
De la microcontrolere cu opţiunea integrată de bus master, sau controlere
programabile de înaltă funcţionalitate pentru comanda maşinilor şi până la sistemele
high-end, total modulare, de înaltă performanţă, cu co-procesoare speciale pentru I/O,
seria C oferă o mare putere de acoperire a tuturor aplicaţiilor şi o deosebită flexibilitate,
care se extinde în domeniile informaţiei, controlului şi dispozitivelor specifice ce intră
în componenţa reţelelor industriale ierarhizate.

18
2.3.1 Controlere compacte

ZEN PLC micro

Este cel mai mic controler programabil din gama OMRON


având maxim 34 puncte de intrare / ieşire. El are 300g greutate.

Figura 2.2 ZEN PLC micro

Lungimea maximă a programului este de 96 linii. Înlocuieşte cu succes logica cu


relee, fiind utilizat pentru controlul proceselor simple. Programarea se poate realiza de
la terminalul propriu.

CPM1/CPM1A MICRO PLC

Acest controler are maxim 100 de puncte de intrare / ieşire. Mărimea maximă a
programului este de 2Kword.

Figura 2.3 CPM1/CPM1A MICRO PLC

Acest controler acceptă 91 de instrucţiuni.


Viteza de rulare a programului este de 0,72 microsecunde /instrucţiune.
Acest echipament are: I/O analogice, ieşire în pulsuri de 2kHz şi numărătoare
multiple de mare viteză.

19
2.3.2 Controlere programabile universale

CJ1-M/CJ1-G/CJ1-H

CJ1-M/CJ1-G/CJ1-H este un controler de ultimă generaţie, mic, compact, de


mare viteză (0,02 microsec./instrucţiune), având un număr maxim de 2560 I/O şi o
lungimea maximă a programului de 120Kword. Pentru programare furnizează un set de
400 instrucţiuni. Echipamentul este destinat aplicaţiilor complexe: linii de asamblare,
sisteme de control, sisteme pentru recunoaştere de imagini, etc
Programare este facilă, realizată cu soft-ul Cx-Programmer.

Figura 2.4 CJ1-M/CJ1-G/CJ1-H

Controlerul permite procesare în timp real, pentru aplicaţii cu timp critic.

2.3.3 Automate programabile complexe

PLC high power

Este destinat aplicaţiilor complexe, putând asigura: adaptare semnale de la


senzori, reglare parametri, controlul temperaturii, logică Fuzzy, numărătoare de mare
viteză, funcţii de poziţionare, control PID, controlul mişcării, funcţii voce, timer
analogic, unitate de comunicaţie serială şi un număr mare de intrări/ieşiri (maxim 5120).

Figura 2.5 PLC high power


20
Controlerul PLC high power este un echipament de mare viteză, putând efectua
o instrucţiune în 0,08 microsecunde. Lungimea maximă a programului este de 60K
cuvinte, iar limbajul de programare dispune de 400 instrucţiuni.

2.4 Controlere ABB

Module logice AC010 (Advant Controller 010)

AC010 este o familie de controlere programabile cu funcţii de control, ce pot fi


utilizate uşor la automatizare proceselor mici şi medii.
Pot fi utilizate în aplicaţii specifice de control, cum ar fi: pentru iluminare în
interiorul clădirilor, sisteme de aer condiţionat, pentru maşini automate şi pentru orice
tip de altă aplicaţie de dimensiuni reduse.
Într-un timp relativ scurt, utilizatorul poate să înveţe cum să folosească toate
beneficiile acestor module logice.

Figura 2.6 Module logice AC010

Codurile modulelor logice din familia AC 010 încep cu LM0.


Aceste module pot fi: expandabile, cu display sau fără, cu ceas de timp real,
pentru tensiuni de 12 VDC, 24 VDC sau 240 VAC. Ieşirile pot fi pe relee (R) sau pe
tranzistoare (T). Numărul de intrări/ ieşiri depinde de tipul de modul, putând fi cu: 8
intrări şi 4 ieşiri digitale, 12 intrări şi 6 ieşiri digitale pe relee şi 12 intrări şi 8 ieşiri
digitale pe tranzistoare.
Modulele de expansiune au coduri ce încep cu DX, unde x poate fi: I – pentru
intrări digitale, O – pentru ieşiri digitale şi X – pentru intrări şi ieşiri digitale.
Versiunile de DC pot să primească semnalele analogice la două intrări şi să
evalueze aceste semnale cu opt comparatoare analogice.

21
Figura 2.7 Elementele modului programabil LM0 ...DC...

1 tensiune de alimentare;
2 intrări;
3 buton de ştergere (DEL);
4 tasta ALT;
5 LED Power/Run;
6 conexiune centralizată;
7 etichetă echipament;
8 tastă cursor;
9 tasta OK;
10 tasta ESC;
11 interfaţă (card memorie, cablu PC);
12 ieşiri;
13 LCD.

Displayul permite afişarea:


− starea intrărilor şi ieşirilor;
− starea sistemului;
− diagrama Ladder;
− ceasul sistemului.

22
Cuplaj Intrări Alimentare 24VDC
descentralizat

Power/
Run

Etichetă

Eticheta Ieşiri

Figura 2.8 Elementele modului de expansiune DX ...1

Modulele logice LM0.., precum şi modulele de extensie, prezintă pe panoul


frontal un LED care indică starea alimentării precum şi starea în care se află modulele,
şi anume, STOP (nici un program nu se execută) sau RUN (modulul rulează programul
introdus de către operator).

LED stins Modul nealimentat

LED aprins Modul alimentat, în STOP

Modul alimentat, în RUN (rulare


LED clipitor
program)

Nivele de tensiune pentru intrări:


0V – 5V pentru nivel „0”
15V – 28V pentru nivel „1”

Ieşirile automatului sunt o serie de contacte care pot fi setate „normal închis” sau
„normal deschis” după cum este necesar.
Instalarea controlerului programabil se realizează parcurgând următoarele etape:
− montare;
− conectarea intrărilor;
− conectarea ieşirilor;
− conectarea sursei de alimentare.

23
Intrările modulului comută electronic. Odată conectat un contact pe o intrare,
poate fi folosit ori de câte ori se doreşte în program. La intrări se pot conecta:
limitatoare, butoane de tip ciupercă, actuatoare, etc. Intern, intrarea automatului arată ca
în figura următoare. Trebuie avut în vedere că intrările digitale şi modulul se conectează
la aceeaşi sursă de tensiune, altfel este posibil să nu se detecteze nivelele logice sau pot
apare supratensiuni.

Figura 2.9 Prezentarea internă a intrării în controler

Ieşirile Q ale controlerului funcţionează intern ca nişte contacte izolate.

Figura 2.10
În programul controlerului, bobinele releelor sunt controlate de ieşirile Q1…Qn.
Se pot folosi stările releelor Q în program, pentru acţiona contactele, ce vor putea fi
utilizate în alte secvenţe.
Intrările controlerului se conectează ca în figura de mai jos:

24
Figura 2.11 Conectarea intrărilor

Ieşirile se conectează în modul următor:

Figura 2.12 Conectarea ieşirilor

Ieşirile se folosesc pentru a conecta sarcini cum ar fi: lămpi fluorescente, lămpi
cu incandescenţă, relee, contactori sau motoare.

25
Figura 2.13 Modul de conectarea pentru controlerele LMO

Figura 2.14 Modul de conectarea pentru extensii DX0.

Spre deosebire de intrări, ieşirile pot fi conectate şi la alte surse de alimentare,


decât cea a modulului.

Cu ajutorul softului AC010-PS001 se pot crea şi testa programele pentru


controlerul programabil. Datele se transferă de la PC la automat cu ajutorul unui cablu
de interfaţă special, de tip AC010-TK001.

Modulul poate fi alimentat de la o sursă de alimentare de 24 de volţi curent


continuu, special concepută pentru AC010. Această sursă este de tip SD002:

26
1- borne alimentare: 85 – 265 Vca;
2- borne tensiune de ieşire: 24 Vcc;
3- eticheta aparat;
4- Power LED:
aprins- pornit;
stins- oprit sau defecţiune sursă de alimentare.

2.5 Controlere PACSystem

Gama de controlere programabile PACSystem se numără printre cele mai noi


realizări ale firmei GE Fanuc Automation. Aceasta dispune de o singură unitate de
control şi un mediu de programare universal.
Această abordare revoluţionară asigură o portabilitate multiplă între platformele
hardware pentru a livra o reală convergenţă alternativelor de control. Prin această
soluţie se oferă multe alte avantaje, inclusiv performanţa îmbunătăţită, productivitate
înaltă şi o cale uşoară de adaptare pentru utilizatorii GE Fanuc PLC deja existenţi. Noua
familie GE Fanuc PACSystem conţine un sistem de control integrat total, incluzând o
unitate de control care a câştigat premiul CIMPLICITY Machine Edition pentru
platforme software şi hardware.
Unitatea de control are incorporată o arhitectură standard şi foloseşte un sistem
de operare comercial cunoscut. Sistemul suportă cel mai bine intrări/ieşiri distribuite
prin intermediul protocoalelor standard care includ reţelele: Ethernet, Profibus,
DeviceNet şi Genius.
27
2.6 Controlere programabile ICE Felix

2.6.1 oPLC-336
Controlerul open PLC este un echipament modular, având o unitate centrală
compatibilă IBM PC/AT (80386SX, 40MHz) şi 192 puncte de conexiune la proces (8
module), fiind extensibil până la 336 puncte (14 module), prin adăugarea unui sertar
suplimentar.

Figura 2.15 oPLC-336

Echipamentul dispune de: o consolă de programare PLC ISaGRAF conform


standardului IEC1131-3, interfaţă de comunicaţie serială cu host-ul prin intermediul
unui modul de comunicaţie, protocol de comunicaţie MODBUS - 32K şi memorie RAM
nevolatilă.

2.6.2 Microcontroler logic programabil mPLC-32


Echipamentul are o unitate centrala 386SX/40MHz şi o configuraţie modulară:
maxim 4 module (32 intrări/ieşiri), fiind extensibil la 64 puncte de I/O prin adăugarea
unui modul mPLC-32E. Echipamentul dispune de: consolă de programare PLC
ISaGRAF conform standardului IEC1131-3, interfaţă de comunicaţie serială RS 485,
protocol de comunicaţie cu server SCADA MODBUS şi 32K memorie RAM nevolatilă.

28
Figura 2.16 Microcontroler logic programabil mPLC-32

Varianta mPLC-32D are afişare cu cristale lichide (2x16 caractere) şi tastatură


cu membrană (configurabilă la cerere).

2.6.3 Module de I/O pentru mPLC-32

Modul de intrări analogice MAI -18

MAI-18 este un modul de intrări analogice pentru calculatorul mPLC-32, capabil


să execute conversii A/N pe 12 biţi, pentru 8 canale de intrare. Toate intrările sunt
diferenţiale, izolate galvanic faţă de calculator şi între ele.
Transmiterea semnalelor între circuite se face prin optocuploare. Fiecare modul are 8
canale de intrare identice, programabile la +/-10 mA sau +/-20mA, printr-un strap.

Modul de ieşiri analogice MAO -12

MAO-12 este un modul de ieşiri analogice pentru OPEN PLC-ul mPLC-32,


capabil să execute conversii N/A pe 12 biţi, pentru 2 canale de ieşire.
Toate ieşirile sunt diferenţiale, izolate galvanic faţă de calculator şi între ele.
Transmiterea semnalelor între circuite se face prin optocuploare.
Fiecare modul are 2 canale de ieşire identice, programabile individual la 0/10mA sau
0/20mA prin strap-uri.

Modul de intrări numerice MDI-18

Modulul MDI-18 este un modul de intrări numerice pentru calculatorul mPLC-


32. Numărul canalelor de intrare este 8, fiind izolate galvanic, atât între ele, cât şi faţă
de logica modulului. Tensiunea de intrare este în domeniul 0-24V. Modulul
semnalizează orice schimbare de stare a intrărilor, printr-o întrerupere către unitatea
centrală. El are încorporată logica necesară pentru filtrarea software a intrărilor. Starea
intrărilor poate fi urmărită cu ajutorul unui afişaj cu LED-uri aflat pe modul.
29
Modul de ieşiri numerice MDO-18

Modulul MDO-18 este un modul de ieşiri numerice pe relee.


Semnalul de ieşire maxim, care poate fi debitat pe o sarcină rezistivă, este de 24V/2A.
Ieşirile sunt protejate prin siguranţe rapide şi au înglobată o diodă de protecţie,
fiind din acest motiv, polarizată. De asemenea, modulul este protejat faţă de comenzi
accidentale, primirea comenzilor fiind validată în prealabil de o secvenţă de program
specială. Starea ieşirilor poate fi urmărită prin intermediul unui afişaj cu opt LED-uri.

Modul de intrări de tip impuls MFI-18

Modulul MFI-18 este un modul de intrări de tip impuls, provenind de la contoare


electrice. Amplitudinea semnalului de intrare este 12V, iar frecvenţa maximă este
400Hz. Tensiunea de intrare în domeniul 0-3V este interpretată ca 0L, iar cea în
domeniul 9-12V ca 1L. Modulul poate memora 65.535 impulsuri. Valori mai mari se
pot memora la nivelul software-ului de aplicaţie.

30
3 CONTROLERUL COMPACT PS 4-201-MM 1
3

3.1 Descrierea echipamentului

SUCO control PS 4-201-MM 1 este un controler compact, produs de firma


Klockner Moeller. Acest controler programabil este un echipament compact, cu
multiple facilităţi pentru automatizare largă şi medie a taskurilor, cum ar fi: control,
reglare, monitorizare, operare, calcul, poziţionare, măsură, comunicaţii, etc.
Controlerul PS 4-201-MM 1 (figura 3.1) are opt intrări şi opt ieşiri numerice.
Acest număr poate fi crescut dacă se utilizează module de extensie cuplate în reţea, cu
soft de tip SUCOnet K sau SUCOnet K1. Modulele din reţea pot fi conectate până la o
distanţă de maximum 600 m.
Programele utilizator sunt introduse cu ajutorul unui mediu de programare
instalat pe un calculator, cu instrucţiuni din limbajul de programare standard (IL), prin
unitatea de interfaţă programabilă.
Controlerul are prin construcţie, următoarele caracteristici standard :
- interfaţă serială RS 485;
- interfaţă serială RS 232;
- 32 K memorie RAM, cu posibilitate de extindere la 64 K RAM;
- 128 K memorie flash EPROM;
- intrări/ieşiri digitale;
- intrare de contorizare şi alarmă;
- două intrări şi o ieşire analogice;
- magistrală paralelă pentru conectarea cu module locale de extensie
LE4;
- procesare pe bit/byte/word;
- funcţiuni aritmetice.

31
24V 0V G

1=Ready 3=NReady
1 2 3 4 2=Run 4=Battery

PRG SUCOnet K

PS4 - 201 - MM1

Figura 3.1 Controlerul PS 4-201-MM 1

1 - acumulator;
2 - buton reset;
3 - conector pentru extensie;
4 - comutator selectare mod de lucru.

Intrările şi ieşirile analogice au variaţia cuprinsă între 0 şi 10 volţi. Rezoluţia


intrării analogice este de 10 biţi (1.024 incremenţi), iar a ieşirii analogice este de 12 biţi
(4.096 incremenţi).
Intrările şi ieşirile numerice sunt izolate galvanic faţă de unitatea centrală de
procesare (UCP) şi pot fi alimentate separat. Fiecare intrare şi ieşire are un led de
indicare a stării în care se află.
Viteza de comunicaţie în reţea este de 187,5 Kbaud pentru distanţe mai mici de
600 m şi 375 Kbaud pentru distanţe mai mici de 300 m. Când se utilizează controlerul
PS 4-201-MM 1 ca modul master, se pot adresa maximum opt module slave, conectate
cu o interfaţă SUCOnet K sau SUCOnet K1, având fiecare posibilitatea conectării locale
a maximum şase module de extensie LE4.
Pornirea echipamentului se poate realiza la cald (warm start) sau la rece (cold
start).
În primul caz variabilele primesc valorile iniţiale, prin acţionarea butonului
RUN-M-SET, iar în cel de-al doilea caz, programul porneşte din punctul în care a
rămas.

32
3.2 Modul de operare

3.2.1 Setarea parametrilor de sistem


Programul utilizator conţine informaţii asupra configurării sistemului PS 4 201
în antetul fişierului sursă *.q42. Aceste date sunt convertite de compilator şi transferate
controlerului.
Setările următoarelor funcţii pot fi făcute sau modificate prin parametrii
sistemului:
ƒ programul de test al memoriei;
ƒ startul comportării după mesajul NOT READY;
ƒ timpul maxim pe ciclu;
ƒ mărimea markerilor activi;
ƒ dimensiunea markerilor păstraţi pentru repornire;
ƒ parolă;
ƒ numărul versiunii programului.
Pentru a seta parametrii sistemului se vor apăsa tastele F1, F3 în ordine, pornind
de la meniul principal.
F1 – Programare
F3 – Editorul parametrilor sistemului
În continuare trebuie să se completeze numele fişierului şi driverul
corespunzător. Se introduce sau se setează numele cerut şi driverele pentru a activa
următorul ecran:
F2 – Parametrii sistemului
Parantezele pătrate conţin valorile setate implicit. După introducerea tuturor
valorilor dorite pentru parametri, se revine prin apăsarea tastei F1, Return. Acum se pot
salva valorile setate.
Opţiunile care pot fi setate sunt prezentate în continuare.
Program check in RUN: compilatorul construieşte o sumă de verificare care este
salvată în programul compilat la o locaţie definită. Dacă se selectează Yes = 1, sistemul
de operare al PS 4 200 verifică programul utilizator, în timpul funcţionării cu acest
algoritm al sumei de verificare. Controlerul este oprit dacă sunt detectate deosebiri între
sumele verificate. Eroarea este introdusă în cuvântul de diagnosticare corespunzătoare
verificării. Setarea implicită este No = 0.
Start after NOT READY: defineşte modul de comportare al controlerului după
NOT READY. Setarea implicită este HALT.
Starea controlerului poate fi setată cu ajutorul unui comutator care are trei
poziţii:
0 – Halt (Stop)
1 – Cold start (pornire la rece)

33
2 – Warm start (pornire la cald)
Maximum cycle time in ms: setarea implicită este de 60 ms. Valoarea maximă a
timpului poate fi 255 ms. Aceste setări nu controlează durata de ciclu al programului
utilizator, ci numai defineşte o limită superioară pentru verificarea defecţiunii. Se
setează o durată de ciclu mai scurtă numai dacă se cunoaşte timpul real de procesare al
programatorului. În acest caz, un timp mai lung de procesare indică o eroare. Selectarea
timpului maxim pentru ciclare depinde de tipul şi lungimea programului utilizator ce a
fost realizat. Dacă durata ciclului este depăşită, bitul ETC este setat în cuvântul de
diagnosticare DSW şi controlerul se schimbă pe HALT.
Active marker range: setarea implicită este MB0 până la MB4096. Acest
parametru setează lungimea memoriei pentru markerii folosiţi în programul utilizator.
Dacă se folosesc markeri în programul utilizator care nu au fost definiţi în setările
implicite, compilatorul va emite un mesaj de eroare corespunzător.
Retentive marker range: în cazul căderii de tensiune, markerii reţinuţi îşi
păstrează stările definite anterior. Sunt, de asemenea, păstrate stările definite în cazul
restartării sistemului de operare. Această lungime a markerului formează o parte a
lungimii markerului activ selectat şi nu se suprapune cu lungimea reţinută la pornirea la
rece.

3.2.2 Editarea programului pentru controlerul


PS4 201 MM1

Editarea programul utilizator poate fi considerată o operaţie specifică pentru


controlerul programabil, acesta conţinând o descriere completă a tuturor secvenţelor de
control.
Pentru a crea un program utilizator, se vor selecta următoarele taste funcţionale,
pornind din meniul principal:
-F1 - programare;
-F2 - programare IL;
-introducerea numelor fişierelor sursă şi de referinţă prin selectarea
căilor directoare;
-F2 - editarea fişierului program.
Pentru fişierul atest.q42 se obţine următorul ecran în care se poate edita
programul (Figura 3.2):

34
Figura 3.2 Fereastra de editare program

Încorporarea fişierului de configurare - este necesară pentru compilare.


Deoarece fişierul de configurare conţine informaţii despre structura fizică de
conectare a controlerului cu modulele de extensie locală sau alte staţii, compilatorul
poate verifica dacă adresarea şi specificaţiile sunt corecte.
Sintaxa pentru această instrucţiune este:
# include “nume_fişier_config.k42”
Această instrucţiune trebuie să fie întotdeauna prima din program.

3.2.3 Compilarea programului

Programul scris trebuie compilat pentru a obţine un program executabil.


Pentru a compila programul se parcurg următoarele etape:
− se selectează F5 Compiler din Meniul de programare.
− se specifică fişierul sursă şi de referinţă cerute prin intermediul unor ferestre
afişate succesiv.
− se specifică prin YES sau NO dacă sunt incluse fişiere de configurare. Dacă
se răspunde cu YES, va trebui să se specifice unul din driver-ele standard (A,
B, C...). Dacă răspunsul este NO, se va cere să se selecteze driver-ul
corespunzător pentru fiecare instrucţiune „include” găsită în timpul
compilării. Răspunsul NO este favorabil numai dacă fişierele „include” sunt
salvate pe discuri diferite.
După ce s-a selectat discul corespunzător prin F1, începe compilarea. Dacă
compilarea este executată fără erori, programul executabil poate fi transferat
35
controlerului. Dacă nu, erorile care sunt listate corespunzător numărului de bloc şi linie,
trebuie să fie rectificate. Un program executabil va fi generat numai dacă toate erorile
au fost rectificate.
După ce programul a fost compilat, acesta numai poate fi decompilat în
programul cod original. Din acest motiv, trebuie salvate următoarele fişiere (copii de
rezervă):
- .q42 - fişierul sursă;
- .z42 - fişierul de referinţă;
- .k42 - fişierul de configurare.

3.2.4 Transferul programului pe controlerul


PS 4-201-MM1
Odată ce compilatorul a convertit programul în cod maşină, acesta poate fi
transferat de pe calculator pe controler.

Înainte de a efectua transferul prin apăsarea tastelor F1, F2, F6 (transfer Drive-
>PLC), plecând din meniul principal, trebuie parcurşi următorii paşi:
ƒ conectarea calculatorului la controler, utilizând cablul de programare ZB 4-
303-KB1;
ƒ alimentarea controlerului cu 24V DC, acesta indicând stările Ready sau Not
Ready;
ƒ se setează selectorul modului de operare S2 a controlerului PS 4 -201-MM1 pe
poziţia 1 (Halt).
La sfârşitul transferului se va da un mesaj de verificare a transferului. Odată ce
transferul programului a fost confirmat, acesta poate fi lansat în execuţie, de la controler
sau de la calculator, din Sucosoft.
Pentru lansarea programului de pe controler, se va poziţiona comutatorul pe
poziţia Run M-SET sau Run, şi apoi se va acţiona butonul de Reset.

3.3 Etapele realizării unei aplicaţii de automatizare cu


controlere programabile

Etapele ce trebuie parcurse pentru realizarea unei aplicaţii de automatizare sunt


următoarele:
1. Descrierea cerinţelor de automatizare, descrierea procesului, stabilirea gradului
de automatizare, descrierea elementelor de acţionare şi a informaţiilor ce vin din
proces. Aceste elemente pot fi date de beneficiarul instalaţiei. Instalaţia poate
exista (fără partea de comandă automată) sau poate fi proiectată de la început
(electric şi mecanic).
36
2. Reprezentarea procesului. Aceasta se poate realiza utilizând metoda Grafcet sau
alte metode.
3. Se va realiza o analiză tehnico-economică. Se realizează o analiză a numărului
de intrări şi ieşiri, a complexităţii operaţiilor şi funcţiilor ce trebuie efectuate. Se
va ţine cont de calificarea personalului şi de posibilitatea asigurării unui service
calificat. În baza acestei analize se va alege un anumit echipament de conducere
(controler).
4. Se va stabili structura hardware a controlerului (compactă sau modulară),
numărul de module pentru numărul de I/O cerute de aplicaţie, necesitatea
conectării în reţea, etc.
5. Realizarea programului.
6. Implementarea programului pe controlerul programabil.
7. Verificarea cerinţelor stabilite la punctul 1 în timpul execuţiei programului. Un
program poate funcţiona fără să respecte cerinţele sau poate avea variante care
nu au fost luate în calcul. Se va analiza orice posibilitate.

3.4 Programarea Controlerului PS4 201 MM1

3.4.1 Etapele realizării unui program

Programul pentru controlerul programabil este realizat dintr-o secvenţă de


instrucţiuni ce descriu operaţiile ce dorim să se efectueze. Este compus din directivele
preprocesor şi blocuri de program, la sfârşitul programului principal având instrucţiunea
EP – sfârşit program. În mod uzual, se utilizează directiva preprocesor:
#include “nume.k42”
unde nume este numele fişierului de configurare.
Fişierul de configurare este realizat înaintea editării programului selectând F1,
F4 (Device Configurator), stabilind partiţia (C, D, E, F) şi directorul în care se
realizează salvarea fişierului, precum şi numele fişierului. Cu F2 se poate realiza
configurarea, iar cu F4 se realizează salvarea. Salvarea se poate realiza cu vechiul nume
F2 - Save old name – definit la început.
Fiecare bloc va fi numerotat cu ajutorul unui număr începând de la 0 reprezentat
pe cinci cifre şi poate avea un anumit comentariu după “ care nu este interpretat de
compilator.
Exemplu:
00000 “Primul program
Crearea unui bloc se realizează cu ajutorul tastei funcţionale F2 – Open Block,
din meniul de editare.
Instrucţiunile din cadrul fiecărui block vor fi numerotate începând de la 1,
utilizând trei câmpuri.
Exemplu:

37
001 EP
Vor fi reprezentate pe un singur rând (excepţie făcând funcţiile).
O instrucţiune este alcătuită dintr-un operator şi un operand. Operandul, în unele
cazuri, poate să lipsească; de exemplu instrucţiunea EP – sfârşit program.
Instrucţiunile specificate de operator (instrucţiuni logice, aritmetice şi de
transfer) vor utiliza ca al doilea operand memoria de lucru numită registru acumulator
(se va nota cu A). Rezultatul operaţiei logice aritmetice sau de încărcare va fi stocat tot
în această memorie A.

Pentru realizarea unui program se parcurg următorii paşi:

1. Se instalează programul SucoSoft pe un calculator compatibil IBM-PC


2. Se setează parametrii de sistem pentru program
3. Se realizează fişierul de configurare F4 – Device – Configurator
4. Se salvează fişierul de configurare cu <nume>.K42
5. Se intră în fereastra de programare F2 – Programare IL
6. Se dă un nume programului şi fişierului de referinţă
7. Editarea fişierului de referinţă
8. Editarea programului
Se deschide fişierul program şi se va începe cu F2 – deschidere de bloc
Un bloc va avea un cod de 5 cifre.
Prima instrucţiune va fi directiva de includere a fişierului de configurare.
0000 eticheta comentarii
#include „nume.k42”
………………………..

9. După terminare, se salvează programul


10. În fişierul de referinţă <nume>.Z42, se pot asocia anumite simboluri pentru
operatorii din program (intrări, ieşiri, memorii, temporizări, funcţii). Tot aici se
pot introduce diverse descrieri ale variabilelor din program.
11. Compilarea programului.
12. Transferul programului – prin intermediul unui cablu conectat la portul PRG de
la controler, şi la portul COM 1 de la PC.
13. Verificarea programului de pe controler.

3.4.2 Elementele unei instrucţiuni


O instrucţiune este cea mai mică unitate independentă a programului. Aceasta
poate fi scrisă pe o singură linie şi conţine o comandă pentru controler, care nu poate fi
divizată în mai multe unităţi. Secvenţa AND şi funcţiile adiţionale sunt instrucţiuni
tipice.
Instrucţiunea este alcătuită dintr-un operator şi un operand.
Operatorul specifică operaţia ce urmează să fie executată. Aceasta indică
procesorului cum să proceseze operandul în cauză.

38
Operandul este alcătuit din identificatorii operandului şi parametri, şi poate fi
extins dacă este necesar.
Identificatorul specifică tipul operandului în cauză, în timp ce parametrii
specifică exact numărul operandului ce urmează a fi selectat. Pentru aceasta, adresa
operandului este în funcţie de reţea (PS4200, EM4, LE4) şi tipul acestuia word, byte sau
bit.

Softul SUCO S30 recunoaşte următoarele tipuri de operanzi:


ƒ intrări – I
ƒ ieşiri – Q
ƒ markeri – M
ƒ constante – K

3.4.3 Adresarea operanzilor


Sintaxa logică cerută de PS 4 201 pentru adresarea unică a operanzilor este
prezentată în figura 3.3.

Figura 3.3 Sintaxa logică cerută de PS4 201 pentru adresarea unică a
operanzilor
y – depinde de tipul staţiei / modului

Pentru 7 biţi de intrare în modulul 1 (LE) ce aparţine modulului (slave) 1 (EM)


şi care este asigurat la linia 1, sintaxa corectă este: I 1. 1. 1. 0. 7
Pentru adresarea intrărilor (I 0. 0 – I 0. 7) sau ieşirilor (Q 0.0 – 0.7) unei singure
unităţi de bază PS4-201-MM1, se utilizează numai primele două numere.
Intrările respectiv ieşirile tuturor modulelor de extensie trebuie adresate, prin
sintaxa de adresare pe cinci numere. Acelaşi lucru se aplică la adresarea markerilor (în
ambele situaţii). Markerii magistralei paralele (LE – bus marker) pot fi folosiţi pe nivel
orizontal. Aceştia sunt: M 0.0.1.x.y – M0.0.6.x.y (bit, byte, cuvânt). Accesul acestor
markeri necesită mai mult timp pe ciclu decât accesul markerilor unităţii de bază,
deoarece magistrala paralelă trebuie să fie deschisă pentru fiecare acces. Toate celelalte
staţii în linie nu au markeri.

3.4.4 Intrări
Intrările constituie interfaţa dintre mediul extern şi controlerul programabil.
Semnalele externe ajung la PLC prin intrări şi sunt procesate mai departe. Intrările de
bit – sunt specificate de numărul bitului potrivit şi numărul bitului din byte-ul avut în
39
vedere. Intrările de byte sunt identificate de numărul potrivit de byte şi de litera B.
Intrările de cuvânt nu necesită număr de bit şi de punct. Sunt întotdeauna numere pare,
litera W fiind necesară ca extensie.
Intrările analogice
Cele două intrări analogice standard ale PS4 201 nu sunt optocuplate. Numai
valorile analogice cuprinse între 0 şi 10 V c.c. pot fi preluate şi manevrate cu o rezoluţie
de 10 biţi. Programul adresează intrările similar cu forma de adresare a operanzilor
simbolici sau absoluţi. Această adresare se aplică de asemenea, pentru cei doi
potenţiometrii de valoare fixă (setpoint) ai PS4-201-MM1, care pot fi consideraţi ca
două intrări analogice.

Notaţiile pentru intrările analogice sunt:


IAW 0 – potenţiometru de valoare fixă
IAW 2 – potenţiometru de valoare fixă
IAW 4 – terminal
IAW 6 – terminal.

3.4.5 Ieşiri
Semnalele generate de PLC sunt transmise procesului conectat prin ieşiri.
Acestea constituie interfaţa dintre controlerul programabil şi proces.
Ieşirile pot fi de tip bit, byte sau word (cuvânt). Ieşirile de tip byte conţin
numărul de byte şi litera B. Ieşirile de tip word (cuvânt) nu au număr de bit sau punct.
Sunt întotdeauna pare, iar litera W trebuie adăugată.

Ieşirile digitale
Spre deosebire de registrele imagine de intrare, registrele imagine de ieşire au
posibilitatea de citire/scriere. Valorile din registrele imagine pot fi citite de programul
utilizator pentru procesări ulterioare. (scriere: =Q 0.0, citire: =LQ 0.0)

Ieşiri analogice
Echipamentul are o singură ieşire analogică ( 0 – 10 V c.c. ), cu o rezoluţie de 12
biţi (0,4095). Ieşirea analogică este adresată ca un operand simbolic sau absolut.
Exemplu de secvenţă ce furnizează valoarea 4000 la ieşirea QAW0:
L KW 4000
=QAW0

3.4.6 Markeri
Markerii sunt folosiţi pentru a stoca un rezultat intermediar produs în timpul
operaţiei de procesare al PLC-ului. Numărul marker-ilor folosiţi (bit, byte, cuvânt) este
limitat doar de dimensiunea memoriei. Markerii de bit sunt definiţi de numărul de byte
şi de numărul bitului corespunzător, separaţi de punct. Markerii de byte conţin numărul

40
byte-ului şi litera B. Markerii de tip cuvânt sunt întotdeauna pari, iar adresarea trebuie
să conţină litera W.
Lungimea unui marker este liber disponibilă. Când PLC-ul este repornit după o
pornire la rece, markerii situaţi în afara acestei zone sunt întotdeauna resetaţi la 0.
Aceste lungimi pot fi setate în meniul parametrilor sistemului.

3.4.7 Constante
Valorile fixe de referinţă şi de pornire pot fi introduse prin constante. În funcţie
de tipul datei selectate, valorile constante sunt disponibile în următoarele variante:
Bit: K0 şi K1;
Byte: KB –128 … KB0 … KB 127
Word : KW –32768 … KW0 … KW 32767
Limbajul de programare acceptă şi constante scrise în forma hexazecimală (KH).
Acestea sunt disponibile în următoarele variante:
Byte: KHB 0 … KHB FF
Word: KHW 0 … KHW FFFF
Semnul de plus/minus este conţinut de partea cea mai semnificativă a valorii
hexa. Constanta KHW FFFF corespunde constantei zecimale KW–1.

3.4.8 Parametrii funcţiilor bloc


Parametrii funcţiilor bloc pot fi setaţi în orice punct al programului utilizator. În
acest caz, numele şi numărul funcţiei bloc sunt folosiţi împreună cu parametrii avuţi în
vedere, pentru a forma un operand.
Exemplu:
L C25 Q ieşirea Q al modulului contor 25
=CP6 I1 intrarea I1 a comparatorului 6.

Cu acest tip de setare a funcţiilor bloc, intrările funcţiilor bloc pot fi văzute de
către programul utilizator ca ieşiri, adică pot fi citite înapoi, pe când ieşirile funcţiilor
bloc sunt tratate ca intrări. Ieşirile funcţiei bloc pot fi citite numai prin programul
utilizator şi nu pot fi scrise.

3.4.9 Operanzii simbolici


Toţi operanzii (I, Q, M etc.) pot fi adresaţi în program prin indentificatorul de
operand şi parametru sau prin operanzii simbolici. Operanzii simbolici pot fi alcătuiţi
din maxim opt caractere, pe care utilizatorul le poate selecta după necesităţi. Operanzii

41
sunt listaţi în fişierul referinţă şi au asociat un simbol de operand. Aceste simboluri sunt
întotdeauna precedate de apostrof (‘).

Posibile relaţii dintre simboluri şi operanzi:


Tip operand Simbol Operand Programare
Intrări s0 I0.0 L’s0
Markeri HM2 M2.0 L’HM2; =’HM2
Ieşiri y0 Q0.0 =’y0; S ’y0

Negarea operanzilor se realizează prin amplasarea unui N în faţa operandului.


Exemplu: LN Q0.3, încarcă în registrul de lucru valoarea inversată a celui de al patrulea
bit de ieşire, fără a schimba ieşirea curentă Q0.3.

3.4.10 Instrucţiuni

Instrucţiuni de transfer

Instrucţiunea de încărcare
Această instrucţiune are formatul următor:
L operand
Ea are ca efect, încărcare în memoria de lucru (A) a valorii operandului
respectiv.
Numele operandului poate fi:
− numele intrării care se încarcă (L I0.0 - încarcă intrarea I0.0 în acumulator)
− numele unui marker (memorie) care se încarcă (L M0.0 – încarcă memoria
M0.0 în acumulator).
− numele unei constante care se încarcă (L KB 1 – încarcă constanta de tip
byte 1 în acumulator.

Instrucţiunea de încărcare cu valoare negată


LN operand - Ea are ca efect încărcare în memoria de lucru (A), a valorii negate
corespunzătoare operandului respectiv.

Instrucţiunea de încărcare a conţinutului registrului auxiliar


GOR – Această instrucţiune are ca efect încărcarea conţinutului registrului
auxiliar în registrul de lucru şi se utilizează la nivel de byte sau word.
Instrucţiunea de transfer la ieşire (alocare)
Această instrucţiune are formatul:
= operand
Ea are ca efect transferul conţinutului memoriei de lucru la adresa
corespunzătoare operandului.
Operandul poate fi:
− o memorie (marker)
Exemplu
= M0.0 - conţinutul acumulatorului se transferă în memoria M0.0
− sau o ieşire
42
Exemplu
= Q 0.0 - conţinutul acumulatorului se transferă la ieşirea Q0.0.

Instrucţiunea de transfer negat


=N operand
Conţinutul acumulatorului se transferă cu valoare negată la operandul specificat.

Exemplu 1:
Exemplu de program care afişează la ieşirea Q0.0, valoarea logică a intrării I0.0.

L I.0.0.
= Q.00

Instrucţiuni logice

Instrucţiunile logice ce se pot realiza sunt: ŞI, ŞI negat, SAU, SAU NEGAT,
SAU exclusiv, SAU exclusiv negat şi negare.

Instrucţiunea ŞI

A operand – Se efectuează şi logic între acumulator şi operand, iar rezultatul se


depune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.

Exemplu 2

Exemplu de program care afişează la ieşirea Q0.0, valoarea logică a funcţiei


I0.0*I0.1.
L I0.0 Încarcă I0.0 în acumulator
A I0.1 Efectuează I0.0*I0.1 şi păstrează rezultatul în
acumulator
=Q0.0 Transferă conţinutul acumulatorului (I0.0*I0.1)
la ieşirea Q0.0

Instrucţiunea ŞI negat

Această instrucţiune are formatul:


AN operand
Instrucţiunea efectuează şi logic între acumulator şi valoarea negată a
operandului, iar rezultatul se depune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.

Instrucţiunea SAU
O operand
Instrucţiunea efectuează sau logic între acumulator şi operand, iar rezultatul se
depune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.
43
Instrucţiunea SAU negat
ON operand
Instrucţiunea efectuează sau logic între acumulator şi valoarea negată a
operandului, iar rezultatul se depune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.

Instrucţiunea SAU exclusiv


XO operand
Instrucţiunea efectuează sau exclusiv logic între acumulator şi operand, iar
rezultatul se depune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.

Instrucţiunea SAU exclusiv negat


XON operand
Instrucţiunea efectuează sau logic între acumulator şi valoarea negată a
operandului, iar rezultatul se depune în acumulator. Operandul poate fi o intrare, o
memorie (marker) sau o ieşire.

Instrucţiunea de negare
NOT – Instrucţiunea neagă rezultatul stocat în registrul de lucru.

Instrucţiuni de salt

Instrucţiunea de salt necondiţionat

JP etichetă – La întâlnirea acestei instrucţiuni se realizează un salt necondiţionat


în program până la adresa dată de etichetă. Eticheta poate fi specificată la începutul unui
modul, imediat după identificator.

Instrucţiuni de salt condiţionat

JC etichetă - La întâlnirea acestei instrucţiuni se realizează un salt în program


până la adresa dată de etichetă, numai dacă conţinutul registrului acumulator este egal
cu 1. În caz contrar, se execută instrucţiunile următoare.

JCN etichetă - La întâlnirea acestei instrucţiuni se realizează un salt în program


până la adresa dată de etichetă, numai dacă conţinutul registrului acumulator este egal
cu 0. În caz contrar, se execută instrucţiunile următoare.

Ramificaţie condiţională

Formatul ramificaţiei condiţionale este următorul:

44
BX etichetă – La întâlnirea acestei instrucţiuni se evaluează valoarea expresiei
condiţionale (dată de variabila condiţională X). Dacă valoarea expresiei X este adevărat,
se realizează un salt la adresa dată de etichetă.
X – poate fi unul din cei patru biţi ai registrului de stare C (transport), Z (zero),
P/M (plus/minus), V (depăşire), sau una din expresiile E, LT, GT, LE, GE, setate ca
urmare a unei comparaţii.
Instrucţiunile vor avea următoarele semnificaţii:
BB nr etichetă – realizează un salt la adresa dată de etichetă, dacă bitul nr este
1.
BNB nr etichetă – realizează un salt la adresa dată de etichetă, dacă bitul nr este
0.
BC etichetă - realizează un salt la adresa dată de etichetă, dacă bitul de transport
este 1.
BNC etichetă - realizează un salt la adresa dată de etichetă, dacă bitul de
transport este zero.
BP etichetă - realizează un salt la adresa dată de etichetă, dacă bitul de semn
este plus.
BM etichetă - realizează un salt la adresa dată de etichetă, dacă bitul de semn
este minus.
BV etichetă - realizează un salt la adresa dată de etichetă, dacă bitul de depăşire
este 1.
BNV etichetă - realizează un salt la adresa dată de etichetă, dacă bitul de
depăşire este zero.
BE etichetă - realizează un salt la adresa dată de etichetă, dacă termenii
comparaţi prin CMP sunt egali.
BNE etichetă - realizează un salt la adresa dată de etichetă, dacă termenii
comparaţi prin CMP nu sunt egali.
BLT etichetă - realizează un salt la adresa dată de etichetă, dacă relaţia între
termenii comparaţi prin CMP este mai mic (<).
BGT etichetă - realizează un salt la adresa dată de etichetă, dacă relaţia între
termenii comparaţi prin CMP este mai mare (>).
BLE etichetă - realizează un salt la adresa dată de etichetă, dacă relaţia între
termenii comparaţi prin CMP este mai mic sau egal (<=).
BGE etichetă - realizează un salt la adresa dată de etichetă, dacă relaţia între
termenii comparaţi prin CMP este mai mare sau egal(>=).

Instrucţiunea de comparaţie

CMP operand – Compară operandul specificat cu conţinutul registrului de lucru


şi se setează operatorii condiţionali BE, BNE,BLT, BGT, BLE, BGE. Aceşti operatori
condiţionali, care realizează o ramificaţie condiţională, sunt utilizaţi împreună cu CMP.
Biţii condiţionali sunt alteraţi imediat de comparaţie.
Operandul poate fi o intrare, o constantă, o memorie (marker) sau o ieşire de
tipul byte sau word. Datele comparate trebuie să fie de acelaşi tip.

45
Instrucţiuni aritmetice

Instrucţiunea de adunare
ADD operand - Instrucţiunea efectuează adunarea între conţinutul
acumulatorului şi valoarea operandului, iar rezultatul se depune în acumulator. Valoarea
operandului nu este alterată.
Operandul poate fi o intrare, o constantă, o memorie (marker) sau o ieşire de
tipul byte sau word. Valorile implicate în adunare sunt întregi, cu semnul plus sau
minus.
Exemplu:
L MB 3
ADD KB 1
=MB3

Această secvenţă de instrucţiuni realizează MB3=MB3+1.

Instrucţiunea de scădere
SUB operand – Instrucţiunea efectuează scăderea între conţinutul
acumulatorului şi valoarea operandului, iar rezultatul se depune în acumulator. Valoarea
operandului nu este alterată.
Operandul poate fi o intrare, o constantă, o memorie (marker) sau o ieşire de
tipul byte sau word. Valorile implicate în scădere sunt întregi, cu semnul plus sau
minus.
Exemplu:
L MB 1
SUB MB 3
=MB5
Această secvenţă de instrucţiuni realizează MB5=MB1-MB3.

Instrucţiunea de înmulţire
MUL operand – Instrucţiunea efectuează înmulţirea între conţinutul
acumulatorului şi valoarea operandului, iar rezultatul se depune în acumulator. Valoarea
operandului nu este alterată.
Operandul poate fi o intrare, o constantă, o memorie (marker) sau o ieşire de
tipul byte sau word. Valorile implicate în înmulţire sunt întregi, cu semnul plus sau
minus.

Instrucţiunea de împărţire
DIV operand – Instrucţiunea efectuează împărţirea între conţinutul
acumulatorului şi valoarea operandului, iar rezultatul se depune în acumulator. Valoarea
operandului nu este alterată.
Operandul poate fi o intrare, o constantă, o memorie (marker) sau o ieşire de
tipul byte sau word.
La efectuarea operaţiilor aritmetice, biţii condiţionali din registrul de stare sunt
actualizaţi:
C – (bit de transport) va fi egal cu 1 dacă există transport
Z – (zero) – va fi egal cu 1 dacă rezultatul operaţiei este egal cu zero.
46
V – (depăşire) – va fi egal cu 1 dacă avem depăşire, ca urmare a efectuării
operaţiei.
Pentru a nu avea depăşire, variabilele de tip byte trebuie să aibă valori cuprinse
în intervalul –128 , +127, iar variabilele de tip word, în intervalul -32768, +32767.

Instrucţiunea Set
S operand – Instrucţiunea efectuează atribuirea valorii 1 operandului specificat,
dacă conţinutul registrului de lucru este egal cu 1. Operandul trebuie să fie de tip bit.

Instrucţiunea Reset
R operand –Instrucţiunea efectuează atribuirea valorii 0 operandului specificat,
dacă conţinutul registrului de lucru este egal cu 1. Operandul trebuie să fie de tip bit.

Instrucţiunea sfârşit modul


EM – Această instrucţiune marchează sfârşitul modulului program.

Instrucţiunea sfârşit program


EP – Reprezintă sfârşitul logic şi fizic al programului. Instrucţiunea se
amplasează după ultimul pas din programul principal, producând un salt către sistemul
de operare.

3.4.11 Blocuri funcţionale

Blocul funcţional SK (control secvenţial)


Această funcţie utilizează reprezentarea GRAFCET.
Controlul secvenţial dă posibilitatea ca diferitele sarcini să fie executate într-o
anumită ordine, conform reprezentării GRAFCET. Acţiunile prevăzute în funcţia de
control secvenţial sunt executate pas cu pas. Secvenţa unui pas asigură activarea acelui
pas numai dacă pasul anterior a fost dezactivat. Aceasta permite secvenţelor complexe
să fie programate simplu şi clar. Paşii curenţi activi sunt întotdeauna indicaţi în acest fel,
simplificând astfel diagnosticarea erorilor.
Avantajele blocului secvenţial SK:
− structura clară a secvenţelor complexe;
− paşii de cuplare între etape nu trebuie programaţi;
− caracteristici simple de setare şi resetare a paşilor;
− modificările la blocul funcţional SK sunt posibile, fără probleme;
− diagnosticări simple ale erorilor prin programul ce indică paşii activi;
− procesare rapidă a paşilor din secvenţă.
Programarea controlului secvenţial permite reprezentarea grafică sau structurală
a etapelor.
Etapa de start sau iniţială defineşte poziţia iniţială, conţinând condiţiile de start şi
de iniţializare de la începutul procesului. În reprezentarea Grafcet această etapa este
întotdeauna simbolizată printr-un dreptunghi cu linie dublă. Paşii sunt numerotaţi
consecutiv, fiecărui pas fiindu-i asignate anumite acţiuni. Acţiunile sunt executate
numai atunci când etapa corespunzătoare este activă.

47
O caracteristică importantă este aceea că numai un singur pas este activ la un
moment dat, în timp ce ceilalţi sunt ignoraţi. Programul lucrează în pasul curent până
când este executată tranziţia următoare. Numai după execuţia acestei tranziţii,
programul continuă cu procesarea pasului următor.
Cu ramurile de tip SAU, poate fi executat numai un singur pas dintre paşii
programaţi în paralel (o singură linie orizontală). Cu ramurile de tip ŞI pot fi executate
mai multe bifurcaţii paralele, în acelaşi timp (linie dublă orizontală).
O ramură ŞI poate fi sincronizată. Sincronizarea asigură ca tranziţia finală a
secvenţei ŞI să nu fie procesată, până când ultima etapă a ramurilor paralele nu devine
activă.
Sintaxa funcţiei de control secvenţial
SK <Nr. Blocului funcţional> - <Nr. de paşi> - R
(R – numai dacă se cere o funcţie de memorare)
Nr. blocului funcţional: este limitat numai de mărimea memoriei.
Nr. de paşi: 1…99
Adâncimea de cascadare: 8

Timpul de execuţie:
ƒ cu SET = RESET = 0: aproximativ 130 ms
ƒ cu RESET = 1: aproximativ 240 ms
ƒ cu SET = 1: aproximativ 250 ms
ƒ cu SINO invalid: aproximativ 150 ms
ƒ
Reprezentarea va fi următoarea:

SK i - j
[ ] S: S activează funcţia de control secvenţial
[ ] R: R resetează funcţia de control secvenţial şi
activează programul de iniţializare
[b] SINO: SINO defineşte contorul numărului de etapă
[b] ERR: ERR indică starea de eroare
[b] SQNO: SQNO indică numărul etapei care se execută
[ ] TG: TG indică schimbarea numărul etapei de
executat
[$] INIT: INIT numele subprogramului de iniţializare
[$] AC1: AC1 numele etapei 1 (exemplu $START)
[$] AC2: AC2 numele etapei 2
[$] AC3: AC3 numele etapei 3
.
.
[$] ACj: ACj numele etapei j
Subprogramul de iniţializare va stabili numărul primei etape de executat.
$INIT “denumire suprogram
L KB 1 încarcă 1 în registrul de lucru
= SKi SINO transferă numărul etapei (1) ce urmează a se
executa la contorul de etapă
EM sfârşit modul
48
Paşii individuali sunt creaţi de subprograme care conţin acţiuni ce urmează a fi
executate. Condiţiile necesare de trecere la o altă etapă trebuie programate între sfârşitul
unui pas şi începutul altuia. Paşii pot fi executaţi, fie succesiv, fie în paralel sau într-o
anumită ordine permiţând astfel, formarea unor secvenţe complexe necesare realizării
aplicaţiei.
Funcţia de control secvenţial pentru execuţia liniară a paşilor este alcătuită din
următoarele elemente:
ƒ iniţializarea blocului funcţional SK;
ƒ procesarea blocului funcţional SK;
ƒ schema stărilor blocului funcţional.
Iniţializare: Intrarea SINO specifică ce pas (etapă) urmează să fie procesat.
Înainte ca secvenţa pasului să fie apelată pentru prima dată, această intrare trebuie
iniţializată cu numărul primului pas ce urmează a fi procesat. Iniţializarea este cel mai
bine îndeplinită de subprogramul INIT, care rămâne activ atâta timp cât intrarea
RESET=1. Operandul INB 0.0 (indicator pentru primul ciclu după Reset sau după
apăsarea butonului de reset), poate fi folosit pentru intrarea de Reset a funcţiei de
control secvenţial. Intrarea de Reset este setată la 1, în primul ciclu după începerea
programului. Programul INIT asignează intrării SINO, numărul primului pas.
Aceasta iniţializare asigură că blocul funcţional SK cunoaşte numărul primei
etape ce urmează a fi procesată. Valoarea numărătorul de pas SINO va fi schimbată în
funcţie de etapa ce urmează a fi executată. Secvenţa logică a programului utilizator
poate fi scrisă simplu.
Pentru a activa blocul funcţional, intrarea de SET trebuie să fie 1. Aceasta
activează simultan etapa (pasul) definit la intrarea SINO. Dacă ambele intrări S şi R
sunt 1 în acelaşi timp, va fi executat numai subprogramul de iniţializare.

Metoda de reprezentare Grafcet

GRAFCET este o metodă de reprezentare de tip graf, care comportă două tipuri
de noduri: etape şi tranziţii.
Arcele fac legătura între etape şi tranziţii. Pot fi de la etape la tranziţii sau de la
tranziţii la etape.
O etapă poate să aibă două stări, adică să fie activă (reprezentată prin marcaj)
sau inactivă (figura 3.4). Etapa care trebuie să fie activă când sistemul este pus în
funcţiune se numeşte etapă iniţială.

1 - etapă inactivă

2 - etapă activă
.

0 - etapă iniţială

Figura 3.4 Reprezentarea etapelor

49
Tranziţiile sunt reprezentate ca în figura 3.5. Fiecărei tranziţii Ti îi este asociată o
funcţie numită funcţie de receptivitate Ri.
Ri = funcţie logică (variabile de intrare sau/şi de stare)

Ti Ri

Figura 3.5 Reprezentarea tranziţiilor

Dacă sunt mai multe arce care sosesc sau pleacă de la aceeaşi tranziţie,
reprezentarea conţine şi o linie dublă (figura 3.6).

a) joncţiune ŞI
Ti c) Ti Ri
Ri

b) Ti Ri distribuţie ŞI
joncţiune şi
distribuţie ŞI

Figura 3.6 Joncţiuni şi distribuţii ŞI

Când două sau mai multe linii se conectează la aceeaşi etapă, se regrupează
(figura 3.7).

Ti Ti+1
i

i
Ti Ti+1

a) joncţiune SAU a) distribuţie SAU

Figura 3.7 Joncţiuni şi distribuţii SAU

O tranziţie poate să nu aibă etape de intrare sau etape de ieşire. În primul caz
vom avea tranziţie sursă, iar în al doilea - tranziţie finală.
Ansamblul etapelor active la un moment dat, defineşte situaţia la acel moment.
O situaţie corespunde unei stări a sistemului. Evoluţia stării se va face prin efectuarea
tranziţiilor.
50
Acţiunile sunt reprezentate într-un dreptunghi asociat etapelor, acestea putând fi
executate când etapa respectivă este activă (figura 3.8).

i Acţiuni i

Ti Ri

i+1 Acţiuni i+1

Figura 3.8 Reprezentarea acţiunilor


O tranziţie este executabilă dacă următoarele două condiţii sunt îndeplinite:
ƒ toate etapele care preced tranziţia sunt active (se spune că tranziţia este
validă);
ƒ funcţia de receptivitate asociată tranziţiei are valoarea adevărat sau este egală
cu 1.
Execuţia unei tranziţii constă în a dezactiva toate etapele dinaintea tranziţiei şi a
activa toate etapele de după. Aceste operaţii sunt indisociabile şi sunt executate
simultan. Execuţia unei astfel de tranziţii este considerată de durată nulă.
Reguli de execuţie a tranziţiilor:
ƒ toate tranziţiile executabile sunt imediat executate;
ƒ etapa ce este simultan activată şi dezactivată este considerată activă;
ƒ mai multe tranziţii simultan executabile sunt simultan executate.
O variabilă de intrare de durată foarte mică este considerată un eveniment. În
reprezentarea de tip Grafcet este introdusă o variabilă de temporizare t/i/∆ - o variabilă
logică care va fi egală cu 1, dacă a trecut un interval de timp ∆, din momentul ultimei
treceri a etapei i de la starea inactivă la starea activă.
Ca exemplu, pentru secvenţa din figura 3.9.a este prezentat modul de efectuare a
tranziţiilor, prin diagrama din figura 3.9.b.
1
a
0
i
1
b
0
Ti a 1
Xi
0

Xi 1
0
i+1
1 10 s
t/i+1/10 s 0
Ti+1 b 1 20 s
t/i+1/20 s 0

a) b)

Figura 3.9 Diagrama pentru reprezentarea modului de efectuare a tranziţiilor

51
- unde:
ƒ Xi reprezintă starea etapei i, iar Xi+1 reprezintă starea etapei i+1;
ƒ t/i+1/10s şi t/i+1/20s sunt variabile de temporizare raportate la etapa i+1;
ƒ a şi b - funcţii de receptivitate.
Acţiunile pot fi împărţite în două categorii: acţiuni de nivel impulsiv şi acţiuni de
nivel (pot fi condiţionate sau necondiţionate).
Acţiunile de nivel sunt definite numai pentru situaţii stabile.
Acţiunile impulsive au durată foarte scurtă şi realizează schimbarea unei
variabile sau contorizarea unei mărimi.
Pentru sistemul modelat, aceste acţiuni pot fi ieşiri. Funcţia de receptivitate
poate fi un eveniment extern sau un eveniment şi o condiţie.

Macroetape şi pseudo-macroetape

Macroetapele şi pseudo-macroetapele sunt utilizate pentru descrierea sistemelor


complexe. Acestea permit detalierea separată a unor părţi din GRAFCET.

5
M30

Figura 3.10 Reprezentarea macroetapei

Macroetapa are numai o intrare şi o ieşire. Execuţia unei tranziţii înainte de


macroetapă conduce la activarea etapei de intrare din descrierea macroetapei.
Pseudo-macroetapa - reprezintă o parte din GRAFCET, care este reprezentată
concentrat.

ii Acţiuni i

Figura 3.11 Reprezentarea pseudo-macroetapei

Acţiunile sunt reprezentate de acţiunile ce aparţin etapelor ce intră în descrierea


pseudo-macroetapei.

52
Bloc funcţional TR
Temporizator cu întârziere la anclanşare

Sintaxa: apelare:
TR <Numărul blocului> - S (baza de timp)

Reprezentare:
TR7-S
[ ] S: start şi set
[ ] R: reset
[ ] STOP: întrerupere pentru timer
[W] I: setează valoarea temporizării
[ ] EQ: ieşirea temporizării
[W] Q: valoarea timpului rămas în unităţi ai bazei de timp
Baza de timp poate fi în ms (milisecunde) sau s (secunde).
Dacă intrarea „S” este 1, ieşirea „EQ” o urmează, întârziată de timpul „T”, unde:
T= (valoarea temporizării)*(baza de timp).

Bloc funcţional TF – Temporizator cu întârziere la revenire

Reprezentare:
TF7-ms-R
[ ] S: start şi set
[ ] R: reset
[ ] STOP: întrerupere pentru timer
[W] i: setează valoarea timpului
[ ] EQ: ieşirea de control
[W] Q: valoarea timpului rămas în ms

Ieşirea temporizării EQ se setează High pe frontul crescător al mărimii S.


Dacă intrarea „S” trece în Low, ieşirea „EQ” o urmează, întârziată de timpul „T”
(1), unde T = (factorul de întârziere)*( baza de timp).
Timpul setat ar trebui întotdeauna să fie mai mare decât timpul ciclului pentru a
asigura detectarea întârzierii. Ieşirea „Q” arată timpul trecut, în unităţi din baza de timp
selectată. Măsurarea timpului poate fi întreruptă printr-un semnal „H” la intrarea
„STOP”; adică timpul de întârziere „T” este extins cu durata egală cu timpul cât intrarea
„STOP” este în HIGH. Ieşirea EQ urmăreşte ieşirea S numai dacă intrarea STOP este
LOW, când intrarea de set este HIGH. Cronometrul este resetat la starea iniţială dacă
intrarea „R” este HIGH.

53
Bloc funcţional TGEN
Generator de impulsuri

Sintaxă:
TGEN<bloc nr.>
S: Start şi set
I: Perioada semnalului în ms (L KW 400, pentru 400ms)
P: Ieşirea pulsului
baza de timp este în milisecunde; nu necesită nici o specificaţie.

3.4.12 Structura generală a unui program


Structura generală a unui program va fi următoarea:
00000 START “denumire
#include “***.k42” (denumire fişier de configurare)
EM
00001
.
. subprograme
.
00xxx END “ denumire
EP

3.5 Module externe EM 4

Modulele externe EM 4-... asigură intrările şi ieşirile la distanţă în interiorul


configuraţiei, cu control descentralizat. Modulul extern colectează datele şi informaţiile
din proces şi le transmite prin reţea la master, unde sunt procesate. Modulele externe pot
avea o interfaţă de reţea SUCOnet k, k1 sau k/k1. Ele sunt divizate în două grupuri:
− dispozitive compacte;
− dispozitive expandabile (cu dezvoltare ulterioară).
Dispozitivele compacte (seria EM 4 100) furnizează un număr fix al intrărilor şi
ieşirilor. Nu sunt expandabile.
Cu dispozitivele seria EM 4 200 (expandabile) este posibilă folosirea modulelor
de expansiune, pentru a adapta numărul de intrări/ieşiri la cerinţele procesului. În acest
caz, EM 4 este o singură staţie pe operare, cu reţea pe fiecare dispozitiv sau în
combinaţie cu modulul LE4.
Din această serie fac parte următoarele echipamente:
ƒ EM 4-101-DD1 - modul de intrări ieşiri digitale
8 intrări digitale
6 ieşiri digitale
2 intrări sau ieşiri digitale
24 V DC

54
ƒ EM 4-111-DR1 - modul de intrări ieşiri digitale
8 intrări digitale
6 ieşiri pe relee
230 V DC
ƒ EM 4-101-AA2 - modul de intrări ieşiri analogice
8 intrări analogice
4 ieşiri analogice
rezoluţie 8-12 biţi
24 VDC
ƒ EM 4-201-DD2 - modul de intrări digitale
16 intrări digitale
24 VDC
Modulele externe folosite în reţeaua SUCOnet k/k1 depind de controlerul master
implicat şi de interfaţa pentru magistrală. Seriile de controlere master PS 3, PS 4 100,
PS 306, PS 316 şi PS 4-401-MMx suportă protocolul SUCOnet k1. Cu aceste controlere
master pot fi folosite numai modulele externe cu o interfaţă de magistrală SUCOnet k1.
Controlerul master PS 4-201-MMx, extensiile locale LE (LE 4-501-BS1),
precum şi cartelele master PS 416-CPU-400 şi PS 416-NET-400, pot adresa modulele
externe prin ambele protocoale, SUCOnet k1 sau SUCOnet k, bazându-se pe interfaţa
de magistrală a dispozitivului conectat. Modulele EM 4-101-DD1 şi EM 4-111-DR1 au
o interfaţă SUCOnet k1. Interfeţele SUCOnet k1 sau k pot fi selectate numai pentru
modulele EM 4-101-AA2 şi EM 4-201-DX2. Selectarea modului de conectare se
realizează cu ajutorul comutatoarele S2 şi S3 ale modulului extern (figura 3.12). Pentru
SUCOnet k se setează comutatorul 6 al blocului comutator S2 pe OFF, iar pentru
SUCOnet k1, se setează comutatorul 6 al blocului comutator S2 pe ON.
Numărul modulelor externe ce pot fi conectate (EM 4) depinde de masterul
utilizat.
În figura 3.12 este prezentat aspectul general al unui modul extern.
2 3

1
4

9
8
7
4

6 5 3
Figura 3.12 Modul extern EM 4
55
1. indicator de stare
2. tensiune de alimentare
3. conector
4. indicator pentru starea intrărilor, ieşirilor
5. switch S2 pentru codificarea adreselor/modul de operare
6. switch S1 pentru rezistenţele de capăt a magistralei
7. interfaţă SUCOnet K1
8. interfaţă SUCOnet K
9. switch S3 pentru configurarea intrărilor şi ieşirilor, precum şi la setarea
formatului SBI sau PS 3 (valabil pentru EM 4-101-AA2 şi EM 4-201-
DX2).

Indicatorul de stare - oferă informaţii despre starea modulului extern şi a


extensiilor locale conectate.
Comutatorul S2 dă posibilitatea setării adresei modului extern, precum şi a
protocolului interfeţei SUCOnet k1/k.
Comutatorul S1 este folosit pentru activarea/dezactivarea rezistenţei de capăt,
atunci când modulul extern este prima staţie sau ultima de pe linie.
Conectorii SUCOnet k1/k sunt utilizaţi pentru cuplarea la câmpul magistralei.
Pentru setarea rezistenţelor de capăt de magistrală se folosesc comutatoarele 1 şi
2 de pe blocul de comutatoare S1. Acestea trebuie setate pe ON, la dispozitivele
localizate la începutul şi sfârşitul reţelei.
Pentru a accesa modulele EM 4 - se setează adresa necesară prin intermediul
comutatoarelor 1 la 5 a blocului de comutatori S2 de pe echipament. Aceste module pot
fi configurate când sunt folosite împreună cu masterele PS 4-201-MM1 şi PS 416.
Configuraţia nu este posibilă cu alte controlere programabile.
Pentru configurarea modulelor EM 4- se utilizează softul SUCOsoft LIB/CFG
versiunea 1.0. Acest soft asigură posibilitatea realizării unor structuri diferite de
conectare a echipamentelor, conform cu aplicaţiile implementate.
Setarea formatului PS3 / SBI depinde de tipul controlerului master cu care este
conectat modulul extern (EM 4-201-DX2 sau EM 4-101-AA2). Dacă controlerul
principal este din seria PS3 sau PS4 100, modulul trebuie setat în modul PS3. Pentru
controlerele principale PS 306, PS 316, PS 4-201-MM1 sau PS 416, modulul extern
trebuie setat la formatul SBI.
Pentru formatul PS3 se setează comutatorul 7 al blocului de comutatoare S2 pe
OFF.
Pentru formatul SBI se setează comutatorul 7 al blocului de comutatoare S2 pe
ON.
Indicatorul de stare este format din trei leduri. Ledul de tensiune (Power) indică
dacă modulul este operaţional. Ledul de magistrală (Bus) indică următoarele situaţii
diferite ale magistralei:
Oprire (HALT)
Transfer pe magistrală oprit. În acest mod, ledul nu este aprins. Conectarea la
magistrală este fără eroare. Oricum, nu există un schimb activ de trimitere şi primire de
informaţii pe magistrală.
Execuţie (RUN)

56
Când modulul este în starea de execuţie, ledul este aprins. Conectarea la
magistrală este fără erori şi are loc schimbul de date.
EROARE DT
În această fază, ledul pâlpâie. Aceasta indică că a avut loc o eroare de transfer de
informaţie. Modulul nu poate fi accesat de către master. Acest lucru se poate datora unei
greşeli de software sau hardware (o greşeală de conectare magistrală).
Pentru modulul extern EM 4 - 101 - DD1 pot fi folosite două ieşiri ca intrări,
dacă e setat comutatorul 7 din blocul S2 pe poziţia ON. În acest caz avem 10 intrări şi 6
ieşiri; ieşirile Q.6 şi Q.7 sunt configurate ca intrări. Dacă comutatorul 7 din blocul S2 e
setat pe poziţia OF, vor fi 8 intrări şi 8 ieşiri.
În cazul modulului extern EM 4-101-AA2, setarea rezoluţiei de intrare se
realizează din comutatorul 2 din S3, astfel: pentru o rezoluţie a conversiei pe 8 biţi - se
setează comutatorul 2 al blocului de comutatoare S3 pe OFF, iar pentru o rezoluţie a
conversiei pe 12 biţi – se setează comutatorul 2 al blocului de comutatoare S3 pe ON.
Tensiunea de ieşire poate fi setată cu ajutorul comutatorul 5 al blocului de comutatoare
S3.
ƒ pentru tensiunea +10V/-10V – se setează comutatorul 5 al blocului de
comutatoare S 3 pe OFF.
ƒ pentru tensiunea 0...10 V – se setează comutatorul 5 al blocului de
comutatoare S 3 pe ON.

3.6 Reţele cu SUCOnet K

Sistemele cu magistrală SUCOnet K1 au fost dezvoltate de Klockner Möller


pentru transmisiile de date cu viteză mărită, de la senzori sau traductori, la controlerul
logic programabil. SUCOnet K1 utilizează o procedură de acces la magistrală tip
master/slave, cu poli ciclici. Unul din participanţi va avea funcţia de master, iar celelalte
vor avea funcţii de slave.
Echipamentele care-şi utilizează programele proprii, pot îndeplini de asemenea,
funcţia de slave. Master-ul (de ex., PLC ), este singurul participant activ din magistrală.
El studiază toţi participanţii pasivi (slave) din magistrală, într-un ciclu fixat. Un slave
primeşte de la master o formă de cerere (telegramă), conţinând 6 bytes de date.
Ca răspuns, slave-ul trimite înapoi 7 bytes de date. Aceste telegrame sunt
cunoscute sub denumirea de „telegrame lungi”. Utilizatorul poate oricând să
preselecteze formatul „telegramă scurtă”, pentru achiziţionarea răspunsului mai rapid.
În acest mod, master-ul schimbă doar 2 bytes cu toţi slaves. Procedura de acces folosită
este cunoscută sub denumirea de „funcţionare master/slave, cu ciclarea polilor”.
Timpul de acces, timpul ciclu-pol (T-pol ) este calculabil, utilizând următoarea
formulă:
( T-pol ) ( µs ) = n * K+ ( m + s ) * Z
în care :

57
n - nr de participanţi;
m - nr de caractere în telegrama master;
s - nr de caractere în telegrama slave;
K - ( 810 µs ) constantă de timp fixată;
Z - constantă de timp (70 µs ), pentru transferul unui caracter,
incluzând timpul de oprire la 187,5 bit /s.

Această relaţie determină timpul necesar master-ului să se adreseze tuturor


participanţilor şi timpul care se scurge înainte ca un slave să poată fi adresat din nou.

În acord cu această formulă, timpul pol-ciclu de adresare pentru un singur


participant individual este de 1,5 ms.

Exemple de interconectare cu staţii SUCOnet K

Structură generală de reţea cu controlere programabile, în care modulele externe


EM cu extensii locale LE, PS3 sunt utilizate ca slave:

PS 4
100 serie

EM 4 LE 4 LE 4 LE 4 LE 4

PS 3

MMI

MMI - afişaj racordat la SUCOnet K


Figura 3.13 Exemplu de reţea SUCOnet K cu controler programabil
PS 4 MM1
58
Reţea de controlere programabile cu master PS4 201 MM1

PS 4 LE 4 LE 4 LE 4 LE 4 . . .
201
LE 4

PS 4
201 EM 4 LE 4

PS 4 LE 4 . . .
201
LE 4

PS 3

EM 4 LE 4 LE 4 LE 4

Figura 3.14 Reţea SucoNet K cu master PS4 201 MM1

59
4 CONTROLERE PROGRAMABILE TWIDO

4.1 Introducere
4
Controlerele Twido sunt realizate de firma Schnaider, fiind produse în două
variante: compacte şi modulare.
Controlerul compact este disponibil cu: 10 intrări/ieşiri, 16 intrări/ieşiri şi 24
intrări/ieşiri.
Controlerul modular este disponibil cu 20 intrări/ieşiri şi 40 intrări/ieşiri.
Se pot extinde numărul de intrări/ieşiri pe care le are disponibile controlerul cu
ajutorul modulelor de extensie. Acestea sunt: module cu 14 intrări/ieşiri digitale sau de
tip releu şi module cu 4 intrări/ieşiri analogice.
Este posibil de asemenea, să adăugăm numeroase componente la controlerul de
bază, cum ar fi: cartuş de memorie, cartuş pentru ceasul de timp real, adaptoare de
comunicaţie, modul extensie pentru comunicaţie (numai pentru controlere modulare),
modul de afişare (numai pentru controlere compacte), modul extensie pentru afişare
(numai pentru controlere modulare), modul simulare intrări, cablu de programare,
cabluri de intrări/ieşire digitale, sistem de cablare TeleFast cu interfaţă de intrare şi
ieşire.

4.2 Variante de controlere programabile Twido


Controlerele Twido sunt realizate în diverse variante. Tabelul următor prezintă
variantele de controlere Twido:
Număr
Tip Tipul Tip intrări Sursă
Cod intrări/
controler punctelor şi ieşiri alimentare
ieşiri
Compact 6 Intrări 24 Vcc
TWDLCAA10DRF 100/240 Vca
10 I/O 4 Ieşiri Releu
Compact 9 Intrări 24 Vcc
TWDLCAA16DRF 100/240 Vca
16 I/O 7 Ieşiri Releu
Compact 14 Intrări 24 Vcc
TWDLCAA24DRF 100/240 Vca
24 I/O 10 Ieşiri Releu

60
12 Intrări 24 Vcc
Modular
TWDLMDA20DUK Transistor 24 Vcc
20 I/O 8 Ieşiri
sink
12 Intrări 24 Vcc
Modular
TWDLMDA20DTK Transistor 24 Vcc
20 I/O 8 Ieşiri
source
12 Intrări 24 Vcc
Modular Releu
TWDLMDA20DRT 6 Ieşire 24 Vcc
20 I/O Tranzistor
2 Ieşire
source
24 Intrări 24 Vcc
Modular
TWDLMDA40DUK Tranzistor 24 Vcc
40 I/O 16 Ieşire
sink
24 Intrări 24 Vcc
Modular
TWDLMDA40DTK Transistor 24 Vcc
40 I/O 16 Ieşiri
source
Figura 4.1 Variante de controlere Twido

4.3 Module de extensie

4.3.1 Module de extensie pentru intrări/ieşiri digitale


Există diferite tipuri de module de extensie pentru intrări/ieşiri digitale, produse
pentru controlerele Twido. Tabelul următor prezintă tipurile de module de extensie
intrări/ieşiri digitale, disponibile pentru această gamă de controlere.

Tip Tipul Tip intrări Tip de


Cod Puncte
modul punctelor şi ieşiri terminal

Module de intrare

Intrare 8 TWDDDI8DT 8 Intrări 24 Vcc Terminal


puncte detaşabil
Intrare 16 TWDDDI16DT 16 Intrări 24 Vcc Terminal
puncte detaşabil
Intrare 16 TWDDDI16DK 16 Intrări 24 Vcc Conector
puncte
Intrare 32 TWDDDI32DK 32 Intrări 24 Vcc Conector
puncte

61
Tip Tipul Tip intrări Tip de
Cod Puncte
modul punctelor şi ieşiri terminal

Module de ieşire

Ieşire 8 TWDDD08UT 8 Ieşiri Tranzistor Terminal


puncte sink detaşabil
Ieşire 8 TWDDD08TT 8 Ieşiri Tranzistor Terminal
puncte sursă detaşabil
Ieşire 8 TWDDRA8RT 8 Ieşiri Releu Terminal
puncte detaşabil
Ieşire 16 TWDDRA16RT 16 Ieşiri Releu Terminal
puncte detaşabil
Ieşire 16 TWDDDO16UK 16 Ieşiri Tranzistor Conector
puncte sink
Ieşire 16 TWDDDO16TK 16 Ieşiri Tranzistor Conector
puncte sursă
Ieşire 32 TWDDDO32UK 32 Ieşiri Tranzistor Conector
puncte sink
Ieşire 32 TWDDDO32TK 32 Ieşiri Tranzistor Conector
puncte sursă

Module mixte

Intrare 4 TWDDMM8DRT 4 Intrări 24 Vcc Terminal


puncte/ 4 Ieşiri Releu detaşabil
Ieşire 4
puncte
Intrare 16 TWDDMM24DRF 16 Intrări 24 Vcc Terminal
puncte/ 8 Ieşiri Releu nedeta-
Ieşire 8 şabil
puncte

Figura 4.2 Tipuri de module de extensie pentru intrări/ieşiri


digitale

62
4.3.2 Module de extensie pentru intrări/ieşiri analogice

Tabelul următor prezintă modulele de extensie pentru intrări/ieşiri analogice:

Număr Tip Tip


Tip modul Cod Descriere
canale canal terminal
2 intrări nivel TWDAMI2HT 2 Intrări 12 biţi 0-10 V, 4- Terminal
înalt 20 mA detaşabil
1 ieşire nivel TWDAM01HT 1 Ieşire 12 biţi 0-10 V, 4- Terminal
înalt 20 mA detaşabil
2 intrări nivel TWDAMM3HT 2 Intrări 12 biţi 0-10 V, 4- Terminal
înalt/1 ieşire 1 Ieşire 20 mA detaşabil
2 intrări nivel TWDALM3LT 2 Intrări 12 biţi 0-10 V, 4- Terminal
jos/1 ieşire 1 Ieşire 20 mA, sondă cu detaşabil
nivel înalt rezis-tenţă,
termocuplu

Figura 4.3 Modulele de extensie pentru intrări/ieşiri analogice

4.4 Cabluri pentru controlere Twido


Tipurile de cabluri disponibile pentru controlerele Twido sunt prezentate în
tabelul următor.

Nume cablu Cod


Cabluri de programare
Cablu de programare PC – controler TSXPCX1031
Cablu de comunicaţie Mini-DIN - cablaj liber TSXCX100
Cabluri de I/O digitale
Cablu de 3 metri cu conector pentru controler TWDFCW30M
Cablu de 5 metri cu conector pentru controler TWDFCW50M
63
Cablu de 3 metri cu conector pentru modulul extensie de TWDFCW30K
intrări\ieşiri
Cablu de 5 metri cu conector pentru modulul de extensie de TWDFCW50K
intrări\ieşiri
Sistem de cablare TeleFast cu interfeţe I/O
Kit de cablare, base TeleFast 16 intrări, cablu de un metru TWDFST16D10
Kit de cablare, base TeleFast 16 intrări, cablu de 2m TWDFST16D20
Kit de cablare, base TeleFast 16 ieşiri, cablu de 1m TWDFST16R10
Kit de cablare, base TeleFast 16 ieşiri, cablu de 2 m TWDFST16R20
Kit de cablare, base TeleFast releu 16 intrări/16 ieşiri, cablu 1 m TWDFST20DR10
Kit de cablare, base TeleFast releu 16 intrări/16 ieşiri, cablu de 2 TWDFST20DR20
m

4.5 Caracteristicile controlerelor Twido

4.5.1 Caracteristici principale

Caracteristicile principale ale controlerelor Twido sunt descrise în tabelul


următor:

Parametru Descriere
Durată scanare Normal (ciclic) sau periodic (constant) (2 la 150 ms)
program
Timp de execuţie 0,14 µs la,9 µs pentru o instrucţiune
Capacitate memorie Date : 1500 cuvinte, 128 biţi memorie TWDLCAA10DRF,
TWDLCAA16DRF, 256 biţi toate celelalte controlere
Parametru Descriere
Capacitate memorie Program :
Controler compact 10 I/O : 700 instrucţiuni
Controler compact 16 I/O : 2000 instrucţiuni
Controlere compacte 24 I/O şi modulare 20 I/O : 3000
instrucţiuni
Controlere modulare 20 I/O releu şi 40 I/O : 6000 instrucţiuni
(cu un cartuş 64 Ko)

64
4.5.2 Caracteristicile comunicaţiei

Controlerele Twido sunt dotate cu un port serial sau cu un port secundar


facultativ, utilizat pentru servicii în timp real sau de gestiune a sistemelor. Serviciile în
timp real furnizează funcţii de distribuţie a datelor, la sfârşitul schimbului de date cu
perifericele externe. Serviciile de gestiune a sistemului, gestionează şi configurează
controlerul prin softul Twido
Unul din porturile seriale este utilizat pentru aceste servicii, dar numai portul
serial 1 este dedicat pentru comunicaţia cu softul Twido.
Pentru furnizarea acestor servicii, sunt disponibile trei protocoale pe fiecare
controler: legătură la distanţă (RTU şi ASCII), Modbus şi ASCII.
Figura următoare prezintă o arhitectură de comunicaţie cu trei protocoale.

Figura 4.4 Arhitectură de comunicaţie cu trei protocoale.

Protocolul legătură la distanţă

Protocolul legătură la distanţă este o magistrală master/slave de mare viteză,


concepută pentru a transmite o cantitate mică de date între controlerul master şi şapte
controlere slave. Aplicaţia sau datele de intrare/ieşire sunt transferate în funcţie de
configuraţia controlerului la distanţă. O combinaţie de tipuri de controlere la distanţă,
este posibilă cu mai multe controlere de intrări/ieşiri şi mai multe module de extensie.

Protocoale Modbus

Protocolul Modbus este un protocol master/slave, ce permite unui master, să


ceară răspunsuri de la slave-uri sau de a acţiona în funcţie de cerere. Masterul se poate
adresa fiecărui slave sau poate să lanseze un mesaj spre ansamblul slave-urilor. Slave-
urile returnează mesajul răspuns, individual pentru fiecare.
Modul master Modbus

65
Modul master Modbus permite controlerului să lanseze o transmisie de
interogare Modbus, cu aşteptarea răspunsului de la slave-ul Modbus.
Modul slave Modbus
Modul slave Modbus permite controlerului să răspundă la interogările unui
master Modbus. Este un mod de comunicaţie implicit, dacă comunicaţia nu este
configurată.

Protocoale ASCII

Protocolul ASCII permite controlerului să comunice cu un periferic simplu, cum


ar fi o imprimantă.

4.6 Controlere modulare TWDLMDA20DRT şi


TWDLMDA40DUK

4.6.1 Caracteristici

Figura 4.5 Controlerul TWDLMDA20DRT

Controlerul TWDLMDA20DRT cu 20 de intrări/ieşiri, (figura 4.5) are


următoarele caracteristici:
− dispune de 12 intrări digitale, 6 ieşiri pe relee şi 2 ieşiri pe tranzistoare;
66
− are un conector de intrare analogic în tensiune;
− este dotat cu un punct de reglare analogic;
− are un port serial integrat;
− are un bloc terminal pentru cablare;
− acceptă până la şapte module extensie de I/O;
− acceptă două tipuri de cartuşe de memorie facultativ (32Ko sau 64 Ko);
− acceptă un modul extensie de afişare facultativ sau un modul extensie de
comunicaţie facultativ.

Imaginea următoare prezintă componentele unui controler modular cu 40 I/O


TWDLMDA40DUK.

Figura 4.6 Controlerul TWDLMDA40DUK

1 – punct de reglare analogic


Controlerele TWDLMDA20DRT şi TWDLMDA40DUK dispun de un punct de
reglare analogic. Elementul de reglare analogic poate fi reglat la o valoare cuprinsă între
0 şi 1024. Această valoare este memorată într-un cuvânt sistem şi este actualizată la
fiecare ciclu.

În figura următoarea sunt prezentate elementele componente ale controlerelor


modulare.

67
Figura 4.7 Componentele controlerelor modulare

1. Capac de acces
2. Conector extensie
3. Punct de reglare analogic
4. Port serial 1
5. Cartuş memorie
6. Borne de alimentare 24 Vcc
7. Conector de intrare analogic în tensiune
8. Leduri
9. Conectori intrări/ieşiri
10. Conector de comunicaţie (nu este prezent în figură; se află în partea din
stânga a controlerului)

Toate controlerele modulare au o intrare analogică în tensiune. Intrarea


analogică în tensiune poate conecta un semnal analogic cu o variaţie de tensiune
cuprinsă între 0 şi 10 Vcc. Tensiunea analogică este convertită într-o valoare cuprinsă
între 0 şi 512 şi este memorată într-un cuvânt sistem.

4.6.2 Modul de cablare a controlerului TWDLMDA20-DRT

Modul de cablare al intrărilor şi ieşirilor al controlerului TWDLMDA20-DRT


este prezentat în figura următoare:

68
Figura 4.8 Modul de cablare al intrărilor şi ieşirilor

Punctele de ieşire 0 şi 1 sunt de tip tranzistor, toate celelalte fiind de tip releu.
Terminalele COM nu sunt conectate toate intern.

4.6.3 Cablul pentru interfaţa serială TSX PCX 1031

Cablul TSX PCX 1031 asigură legătura între controler (Twido, Nano, Micro,
Premium) şi diferitele echipamente cu interfaţă serială RS231.
Este un cablu de comunicaţie multifuncţional, care integrează conversia
semnalelor RS 485 în semnale RS232.
Diferitele funcţii ale modului serial sunt definite de poziţia comutatorului,
accesibil deasupra carcasei convertorului.
Funcţiunile realizate prin reglarea comutatorului sunt prezentate în tabelul
următor:

69
Poziţie
Semnal Semnal
comuta Funcţiunea
/ DPT RTS
-tor
0 TER MULTI – Legătură în mod punct cu
punct sau multipunct. Forţează conectorul
terminal în mod stăpân, protocolul este 1 DA
implicit (înlocuieşte cablul TSX PCU
1031).
1 OTHER MULTI – Legătură în mod
multipunct. Înlocuieşte cablul TSX PCD 0 DA
1030)
2 TER DIRECT – Legătură în mod punct cu
punct. Forţează conectorul terminal în mod
stăpân, protocol implicit (înlocuieşte cablul 1 NU
TSX PCX 1030, întreruptor în poziţia
master şi TSX PCU 1030)
3 OTHER DIRECT - Legătură în mod punct
cu punct. Pentru alte tipuri de comunicaţie
definite prin configuraţia controlerului 0 NU
(înlocuieşte cablul TSX PCX 1030,
întreruptor în poziţia slave).

4.7 Modulul de intrări/ieşiri analogice TWDAMM3HT


Acest modul de intrări/ieşiri analogice poate fi ataşat oricărui controler din gama
Twido, cu excepţia controlerelor compacte cu 10 şi 16 intrări/ieşiri. Prezintă două
puncte de intrare şi un punct de ieşire.
Modulul de intrări/ieşiri analogice este reprezentat de figura următoare.

Figura 4.9 Modulul de intrări/ieşiri analogice


70
1. led indicator alimentare
2. clemă prindere
3. conector extensie
4. conector intrări/ieşiri analogice

Specificaţii pentru intrări analogice

Semnalele de intrare pot fi în tensiune, cu variaţii cuprinse între 0 şi 10V DC sau


în curent, cu variaţii între 4 şi 20mA DC. Intrările sunt diferenţiale, având o rezoluţie de
12 biţi (4096 incremenţi).

Specificaţii pentru ieşirea analogică


Ieşirea analogică poate fi în tensiune, cu variaţii cuprinse între 0 şi 10V DC sau
în curent, cu variaţii între 4 şi 20mA DC. Ieşirea analogică are o rezoluţie de 12 biţi
(4096 incremenţi).
Modul de cablare al modulului TWDAMM3HT este dat în figura următoare:

Figura 4.10 Cablarea modulului TWDAMM3HT

71
4.8 Funcţii speciale ale controlerelor Twido

Programarea controlerelor Twido poate fi realizată cu ajutorul programului


Twido Soft V3.0. Acest program oferă utilizatorului o interfaţă prietenoasă pentru
editarea programelor în mai multe moduri.

Figura 4.11 Interfaţa Twido Soft V3.0.

Intrarea RUN/STOP

Constituie o funcţie specială putând fi afectată la toate intrările ale controlerului.


La pornire, dacă această funcţie este configurată, starea controlerului este
definită prin intrarea RUN/STOP.
Dacă intrarea RUN/STOP este în starea 0, controlerul este în mod STOP.
Dacă intrarea RUN/STOP este în starea 1, controlerul este în mod RUN.
În timpul pornirii controlerului, frontul crescător al stării intrării RUN/STOP
comută controlerul pe RUN.
Controlerul se opreşte dacă intrarea RUN/STOP este trecută pe 0. Dacă intrarea
RUN/STOP este pe 0, o comandă RUN dată de un PC conectat va fi ignorată de
controler.

72
Ieşirea de stare a controlerului

Ieşirea de stare a controlerului este o funcţie specială, care poate fi atribuită


uneia din ieşirile %Q0.0.1 şi %Q0.0.3. La pornire, dacă n-a fost detectată nici o eroare,
ieşirea de stare a controlerului trece în 1. Această funcţie poate fi utilizată în circuitele
de securitate externe, pentru control (Ex., pentru controlul alimentării controlerului).

Intrarea de memorare a stării

Intrările de memorare a stării sunt o funcţie specială, care poate fi atribuită uneia
din intrările %I0.0.2, până la %I0.05. Această funcţie permite să se memoreze toate
impulsurile de o durată inferioară timpului de scanare a controlerului. Impulsurile
trebuie să fie >1ms.

Numărare rapidă (FC)

Controlerul programabil are două tipuri de numărătoare rapide: (FC) şi cinci


numărătoare rapide (VFC):
− un numărător cu incrementare cu frecvenţă maximă de 5 KHz;
− un numărător cu decrementare cu frecvenţă maximă de 5 KHz;
− un numărător cu incrementare/decrementare cu frecvenţă maximă de 20
KHz;
− un numărător cu incrementare/decrementare, bifazic, cu frecvenţă maximă de
20 KHz;
− un numărător cu incrementare cu frecvenţă maximă de 20 KHz;
− un numărător cu decrementare cu frecvenţă maximă de 20 KHz;
− un frecvenţmetru cu frecvenţă maximă de 20 KHz.

4.9 Programatoare ciclice

Configurarea programatoarelor ciclice impune parcurgerea următoarelor etape:


− Se stabileşte un număr pentru programator în zona %DR. Pentru controlerul
Twido 20DRT avem la dispoziţie 8 programatoare.
− Se stabileşte simbolul variabilei.
− Se stabilesc numărul de paşi. Paşii neutilizaţi apar în gri. La ieşiri se asociază
fiecărui bit un bit fizic sau un bit de memorie, pentru logica de comandă.
Toate ieşirile %Q trebuie să aibă I/E valide pentru configuraţia hardware şi
nu pot fi I/E de expansiune.

73
− Se selectează căsuţele prin bifare, pentru a activa biţii a căror valoare a fost
setată în ieşiri. Atunci când un pas este executat, biţii logici definiţi în ieşiri
sunt activaţi dacă căsuţa selectată corespunde pasului care a fost selecţionat.
− Se selecţionează precedentul sau următorul pentru a trece de la un element la
altul, fără a închide fereastra de dialog.
− Se apasă pe OK pentru a valida valorile selecţionate sau pe anulare pentru a
închide fereastra de dialog fără modificarea configuraţiei.

4.10 Editor de simboluri


Editorul de simboluri se utilizează pentru a crea şi administra simbolurile
utilizate într-un program. Poate fi vizualizat în mod local şi conectat, dar nu poate fi
disponibil în mod Monitor.
Tabelul de simboluri se compune din coloane pentru simboluri, identificatori şi
comentarii.
Se va utiliza acest editor pentru a asocia variabilelor utilizate într-un program
nume uşoare de recunoscut. Utilizarea simbolurilor permite verificări rapide ale
programului şi simplifică considerabil faza de dezvoltare şi testare a unei aplicaţii. Se
pot defini simboluri, cu ajutorul editorului înainte, în timpul sau după realizarea
programului.

Reguli pentru definirea simbolurilor


Un simbol poate conţine: maxim 32 caractere, literele A-Z, cifre sau linii _, fără
spaţii sau caractere speciale. Nu se va realiza diferenţa între literele mari şi cele mici.
Crearea unui simbol
Pentru a crea un simbol, se parcurg următorii paşi:
− Se deschide editorul pentru simboluri;
− Se face clic pe o celulă Simbol liberă, cu butonul din stânga mouse-ului, apoi
se scrie numele unei variabile sau al unui obiect;
− Se apasă pe tasta Enter şi se deschide o casetă de dialog, în care avem
posibilitatea să stabilim simbolul, identificatorul şi comentariul asociat.

4.11 Limbajul lista de instrucţiuni

Un program scris în limbaj listă de instrucţiuni, este constituit dintr-o serie de


instrucţiuni executate secvenţial de controler. Fiecare instrucţiune este reprezentată
printr-o singură linie de cod şi este compusă din trei elemente: număr de linie, codul
instrucţiunii şi operanzi.

74
Codul instrucţiunii este un simbol reprezentând un operator ce indică operaţia ce
urmează efectuată.
Există două tipuri de instrucţiuni de bază:
• Instrucţiuni de test
• Instrucţiuni de acţiune. Acestea permit să efectueze acţiunile autorizate,
deoarece condiţiile de test sunt satisfăcute.

Un operand este un număr, un cod sau un simbol, reprezentând o valoare ce


poate fi prelucrată în interiorul unei instrucţiuni. O instrucţiune poate avea între zero şi
trei operanzi.
Operanzii pot reprezenta următoarele elemente:
• Intrări/ieşiri al controlerului;
• Funcţii sistem predefinite cum ar fi, temporizări sau contorizări;
• Operaţii aritmetice, logice, de comparare şi numerice;
• Variabile interne ale controlerului.
Instrucţiunile nu posedă decât un operand explicit, celălalt fiind implicit.
Operandul implicit corespunde registrului acumulator.
O instrucţiune execută operaţia specificată între acumulator şi operandul
explicit, rezultatul fiind depus în acumulator, înlocuind vechea valoare. Instrucţiunea
NOT nu are un operand explicit, ci numai inversează

4.11.1 Instrucţiuni pe acumulator

Instrucţiuni de test

Tabelul următor descrie instrucţiunile de test.


Element
Operator grafic Operaţie efectuată
corespondent
LD În acumulator se încarcă valoarea operandului
LDN În acumulator se încarcă valoarea negată a operandului
În acumulator se încarcă valoarea 1, atunci când este
LDR
detectată o variaţie pe front crescător a operandului
În acumulator se încarcă valoarea 1, atunci când este
LDF
detectată o variaţie pe front descrescător a operandului
În acumulator se încarcă rezultatul operaţiei logice ŞI,
AND dintre valoarea precedentă a acumulatorului şi valoarea
operandului
În acumulator se încarcă rezultatul operaţiei logice ŞI,
ANDN dintre valoarea precedentă a acumulatorului şi valoarea
negată a operandului
În acumulator se încarcă rezultatul operaţiei logice ŞI,
ANDR dintre valoarea precedentă a acumulatorului şi valoarea
detecţiei frontului crescător al operandului
75
În acumulator se încarcă rezultatul operaţiei logice ŞI,
ANDF dintre valoarea precedentă a acumulatorului şi valoarea
detecţiei frontului descrescător al operandului
În acumulator se încarcă rezultatul operaţiei logice
OR SAU, dintre valoarea precedentă a acumulatorului şi
valoarea operandului

AND( Logică AND (nivele de paranteze)

OR( Logică SAU (opt nivele de paranteze)

XOR,
XORN,
SAU exclusiv
XORR,
XORF
MPS
MRD Comutare între bobine
MPP
N - Negaţie (NOT)

Instrucţiuni pe acţiuni

Tabelul următor descrie instrucţiunile pe acţiuni.

Element
Operator grafic Operaţie efectuată
corespondent
ST Operandul asociat ia valoarea din acumulator

STN Operandul asociat ia valoarea negată din acumulator


Operandul asociat este setat pe 1, atunci când valoarea
S
din acumulator este 1.
Operandul asociat este setat pe 0, atunci când valoarea
R
din acumulator este 1.
Se realizează un salt la o secvenţă având eticheta
JMP
specificată.
SRn Se realizează un salt la începutul unui subprogram.

RET Revenire dintr-un subprogram.

76
END Sfârşit de program.

ENDC Sfârşit de program condiţionat cu un rezultat logic 1.

ENDCN Sfârşit de program condiţionat cu un rezultat logic 0.

Instrucţiuni pe blocuri funcţionale

Tabelul următor descrie instrucţiunile pe blocuri funcţionale.

Element
Operator grafic Operaţie efectuată
corespondent
Sunt instrucţiuni de funcţionare pentru fiecare
bloc funcţional.
Temporizatoare,
O formă structurată este utilizată pentru a
contorizatoare,
racorda direct intrările şi ieşirile blocului.
registre, etc.
Remarcă: Ieşirile blocurilor funcţionale nu pot
fi conectate unele cu altele.

Utilizarea parantezelor

În instrucţiunile logice AND şi OR, parantezele permit specificarea


divergenţelor. Parantezele sunt asociate instrucţiunilor în maniera următoare:
Deschiderea parantezelor este asociată unei instrucţiuni AND sau OR.
Închiderea parantezelor corespunde unei instrucţiuni cerute pentru fiecare
paranteză deschisă.
Schema următoare prezintă utilizarea parantezelor într-o instrucţiune AND:
AND(...).

77
Figura 4.12 Exemplu de utilizare a parantezelor într-o instrucţiune
AND

Schemele următoare ilustrează utilizarea parantezelor într-o instrucţiune OR:


OR(...).

Figura 4.13

Modificatori

Tabelul următor prezintă modificatorii ce pot fi asociaţi parantezelor:

Modificator Funcţiune Exemplu


N Negare AND(N sau OR(N
F Front descrescător AND(F sau OR(F
R Front crescător AND(R sau OR(R
[ Comparaţie
Figura 4.14 Modificatori

Exemple de secvenţe cu paranteze imbricate

Schemele următoare ilustrează imbricarea parantezelor.

78
Figura 4.15

Figura 4.16

Instrucţiuni cu stivă

Instrucţiunile cu stivă permite tratarea comutării între bobine. Instrucţiunile


MPS, MRD şi MPP utilizează o zonă de stocare temporală, numită stivă. Această stivă
poate stoca un maxim de opt expresii logice.
Aceste instrucţiuni nu pot fi utilizate într-o expresie cuprinsă între paranteze.

Descrierea instrucţiunilor cu stivă

Tabelul următor descrie trei instrucţiuni cu stivă.

Instrucţiune Descriere Funcţiune


Stochează rezultatul ultimei instrucţiuni
Abreviere de la
logice (conţinutul registrului acumulator) pe
MPS Memory Push
nivelul superior al stivei. Aceasta are ca efect
(Salvare în stivă)
decalarea celorlalte valori ale stivei în jos.
Abreviere de la Citeşte valoarea stocată pe nivelul superior al
MRD Memory Read (Citire stivei şi o transferă în acumulator.
din stivă)
Abreviere de la Citeşte valoarea stocată pe nivelul superior al
MPP Memory Pop stivei şi o transferă în acumulator şi
(Extragere din stivă) deplasează celelalte valori din stivă în sus.
79
Exemple de instrucţiuni pe stivă

Schema următoare ilustrează modul de utilizare a instrucţiunilor cu stiva.

Exemple de secvenţe cu instrucţiuni pe stivă

Schema următoare ilustrează funcţionarea stivei.

80
4.12 Programarea cu ajutorul
reprezentării Grafcet
Instrucţiunile Grafcet din TwidoSoft oferă o metodă simplă de conversie a
secvenţelor de control.
Numărul maxim de etape Grafcet depinde de tipul de controler Twido. Numărul
de etape ce pot fi activate simultan este limitat de numărul total de etape.
Pentru controlerele TWDLCAA10DRF şi TWDLCAA16DRF se dispun de
etape de la 1 la 62. Etapele 0 şi 63 sunt rezervate pentru prelucrarea anterioară şi
posterioară. Pentru toate celelalte controlere sunt disponibile etapele de la 1 la 95.

4.12.1 Instrucţiuni Grafcet


Tabelul următor prezintă toate instrucţiunile şi elementele cerute pentru
programarea unei reprezentări Grafcet.
Reprezentare Transcrierea în limbaj Funcţiune
grafică TwidoSoft
=*= i Lansare etapă iniţială.
Activează etapa i, după ce a fost
#i
dezactivată etapa curentă.
Lansare etapă i şi validare tranziţie
-*- i
asociată.
Dezactivează etapa curentă fără
#
activarea altei etape.
Dezactivează etapa i şi etapa
#Di
curentă.
Lansează prelucrarea posterioară şi
=*= POST
termină prelucrarea secvenţială.
Bit asociat etapei i. Poate fi testat şi
%Xi scris (numărul maxim de etape
depinde de controler).
LD %Xi, LDN %Xi
AND %Xi,
ANDN %Xi, Testează activitatea etapei i.
OR %Xi, ORN %Xi
XOR %Xi, XORN %Xi
S %Xi Activează etapa i.

R %Xi Dezactivează etapa i.

81
Exemple Grafcet

Secvenţă liniară

Secvenţe simultane

82
Secvenţă divergentă

4.12.2 Descrierea structurii unui program Grafcet

Un program TwidoSoft Grafcet se derulează în trei faze:


83
− Prelucrarea anterioară;
− Prelucrarea secvenţială;
− Prelucrarea posterioară.

Prelucrarea anterioară presupune administrarea următoarelor situaţii:


− reluări de alimentare;
− defectări;
− schimbări în modul de funcţionare;
− pre-poziţionarea etapelor Grafcet;
− logică de intrare.
Frontul crescător al intrării %I0.6 setează pe 1 bitul %S21.

Prelucrarea anterioară începe din prima linie a programului şi se termină la


întâlnirea primei instrucţiuni de tipul ”=*=” sau „-*-”.
Trei biţi sistem sunt dedicaţi controlului Grafcet: %S21, %S22 şi %S23. Fiecare
bit sistem este setat pe 1 (dacă este necesar) de aplicaţie, în perioada prelucrării iniţiale.
La sfârşitul prelucrării, funcţia asociată este executată de sistem şi bitul sistem este fixat
pe 0.

Bit sistem Nume Descriere


Iniţializare Toate etapele active sunt dezactivate şi etapele
%S21
Grafcet iniţiale sunt activate.
Reiniţializare
%S22 Toate etapele sunt dezactivate.
Grafcet
Acest bit trebuie setat pe 1, dacă elementele %Xi
sunt explicit scrise prin aplicaţie. Dacă acest bit este
Prepoziţionarea
%S23 menţinut pe 1, pe perioada iniţializării, fără
Grafcet
schimbarea explicită a elementelor %Xi, Grafcetul
este îngheţat.

84
4.12.3 Prelucrarea secvenţială
Prelucrarea secvenţială este executată pe baza unui graf având următoarele
elemente caracteristice:
− Etape
− Acţiuni asociate etapelor
− Tranziţii
− Condiţii de efectuare a tranziţiilor.
Exemple

Prelucrarea secvenţială se termină prin execuţia instrucţiunii “=*=POST” sau


prin sfârşitul programului.
Prelucrarea posterioară
Prelucrarea posterioară administrează elementele următoare:
− Comenzile de prelucrare secvenţială pentru fixarea ieşirilor
− Blocarea ieşirilor specifică securităţii.
Exemplu

85
4.12.4 Acţiuni asociate etapelor Grafcet
Un program Grafcet TwidoSoft oferă două moduri de programare a acţiunilor
asociate etapelor:
− în secţiunea de prelucrare posterioară;
− în lista de instrucţiuni.
Asocierea acţiunilor în prelucrarea posterioară
Este preferabil să se programeze acţiunile în secţiunea de prelucrare posterioară
a unei aplicaţii Grafcet. Se pot utiliza instrucţiunile în limbaj listă, de instrucţiuni SET şi
RESET sau programul schemă de contacte pentru lansarea etapelor Grafcet (%Xi)
Exemplu

Asocierea acţiunilor plecând de la o aplicaţie

Se pot programa acţiunile asociate etapelor, sub formă de listă de instrucţiuni sau
sub formă de reţea schemă de contacte:
Exemplu :

4.12.5 Descrierea instrucţiunilor şi funcţiilor

Tabelul următor descrie tipurile de operanzi utilizaţi în instrucţiuni:

86
Operand Descriere
0/1 Valoare 0 sau 1
%I Intrare în controler
%Q Ieşire din controler
%M Bit intern %Mi
%S Bit sistem %Si
%X Bit etapă %Xi
%BLK.x Bit bloc funcţional (Exemplu %TMi.Q)
%•:Xk Bit cuvânt (Exemplu %MWi:Xk)
[ Expresie de comparare (Exemplu [%MWi<1000])

4.12.6 Blocuri funcţionale standard


Blocurile funcţionale elementare pot realiza funcţii simple ca de exemplu,
temporizare sau contorizare.
Imaginea următoare prezintă un exemplu de bloc funcţional de contorizare:

Obiecte bit

Obiectele bit corespund ieşirilor din blocuri. Instrucţiunile logice de test pot
utiliza aceşti biţi prin următoarele metode:
• direct (exemplu, LD E) dacă sunt legaţi de blocuri printr-o programare
reversibilă.
• specificând tipul de bloc (exemplu, LD %Ci.E)
Intrările sunt accesibile sub forma instrucţiunilor

Obiecte cuvânt
Obiectele cuvânt corespund:

87
• parametrilor de configurare a blocului: Programul poate accesa anumiţi
parametri (parametrii de preselectare).
• valorilor curente: exemplu %Ci.V, valoarea de contorizare curentă.

Obiecte bit şi obiecte cuvânt accesibile

Tabelul următor descrie obiectele bit şi obiectele cuvânt ale blocurilor


funcţionale la care programul are acces.

Acces în
Dome- Tip
Bloc funcţional Simbol Descriere Adresaremod
niu (i) obiect
scriere
Valoare curentă %TMi.V Nu
Cuvânt Valoare de
%TMi.P Da
Temporizator %TMi 0 - 127 preselectare
Ieşirea
Bit %TMi.Q Nu
temporizatoru-lui
Cuvânt Valoare curentă %Ci.V Nu
Valoare de
%Ci.P Da
preselectare
Ieşire pentru
Bit depăşirea ca %Ci.E Nu
Contorizator %Ci 0 - 127
valoare inferioară
Ieşire predefinită
%Ci.D Nu
atinsă
Ieşire pentru
%Ci.F Nu
depăşire
Figura 4.17

Pentru programarea blocurilor funcţionale standard, se aplică una din


următoarele metode:
• Instrucţiuni pe blocuri funcţionale (exemplu, BLK %TM). Această metodă
reversibilă de programare în limbaj Ladder (schemă de contacte) permite
executarea operaţiilor asupra blocului, într-o singură poziţie din program;
• Instrucţiuni specifice (exemplu, CU %Ci): Această metodă nereversibilă permite
executarea operaţiilor asupra intrărilor în bloc, în mai multe locuri din program
(exemplu, linia 100 CU %C1, linia 174 CD %C1, linia 209 ld %C1.D).

4.12.7 Programarea reversibilă

Pentru o programare reversibilă se utilizează instrucţiunile BLK, OUT_BLK şi


END_BLK.
88
BLK: indică începutul blocului.
OUT_BLK: utilizată pentru cablarea directă a ieşirilor din bloc.
END_BLK: indică sfârşitul blocului.

Un exemplu de programare reversibilă a unui bloc cu funcţie de contorizare, cu


ieşire conectată, este prezentat în figura următoare.

Exemplu fără ieşire conectată

Un exemplu de programare reversibilă a unui bloc cu funcţie de contorizare fără


ieşire conectată (figura 4.18).

Figura 4.18
Numai instrucţiunile de test şi de intrare pot fi plasate între instrucţiunile BLK şi
OUT_BLK sau între BLK şi END_BLK dacă OUT_BLK nu a fost programat.

89
4.12.8 Blocul funcţional temporizator (%TMi)
Există trei tipuri de blocuri cu funcţie de temporizator:
• TON (Timer On-Delay) Temporizator la anclanşare;
• TOF (Timer Off-Delay) Temporizator la revenire;
• TP (Timer - Pulse) Temporizator – puls. Acest tip de temporizator permite
crearea de impulsuri de o durată precisă.
Exemplul următor prezintă un bloc cu funcţie de temporizare la anclanşare:

Figura 4.19

Parametrii
Blocurile cu funcţie de temporizator au următorii parametrii:
Parametru Etichetă Descriere
Numărul 0 la 63: TWDLCAA10DRF şi TWDLCAA16DRF
%TMi
temporizatorului 0 la 127 pentru toate celelalte controlere.
TON • întârziere la anclanşare
Tip TOF • întârziere la declanşare
TP • puls
Bază de timp TB 1 min (implicit), 1 s, 100 ms, 10 ms, 1 ms
Cuvânt cu incremenţi de la 0 la %TMi.P, atunci când
temporizare este lansată. Poate fi citită şi testată, dar nu
Valoare curentă %TMi.V
poate fi scrisă de program. %TMi.V poate fi modificată
utilizând editorul de tabele de animaţie.
0 – 9999 - Cuvânt care poate fi citit, testat şi scris de
Valoare
%TMi.P program. Valoarea implicită este 9999. Perioada sau
preselectată
temporizarea generată este egală cu %TMi.P x TB.
Y : Da, valoare %TMi.P de preselectare. Poate fi
Editor de tabele modificată cu ajutorul editorului de tabele de animaţie.
Y/N
de animaţie N : Nu, valoarea %TMi.P de preselectare. Nu poate fi
modificată.
Intrare de Porneşte temporizatorul pe frontul crescător (tip TON
IN
validare sau TP) sau descrescător (tip TOF).
Ieşirea Bitul asociat %TMi.Q est setat pe 1 în funcţie de
Q
temporizatorului temporizarea executată: TON, TOF sau TP
Figura 4.20

90
Cu cât valoarea preselectată este mai mare cu atât temporizatorul va fi mai
precis.

Temporizator la revenire TOF

Acest temporizator permite întârzierea revenirii ieşirii cu o valoare programată.


Diagrama următoare ilustrează modul de lucru al temporizatorului TOF.

Figura 4.21

Funcţionarea temporizatorului TOF

Tabelul următor descrie funcţionarea temporizatorului TOF.

Faza Descriere
Valoarea curentă %TMi.V ia valoarea 0 pe un front crescător în intrarea
1
IN, chiar dacă temporizarea este în curs de desfăşurare.
Bitul de ieşire %TMi.Q trece în 1, atunci când un front crescător este
2
detectat la intrarea IN.
3 Temporizarea este demarată pe un front descrescător al intrării IN.
Valoarea curentă %TMi.V creşte până la %TMi.P, prin incrementarea cu o
4
unitate la fiecare pulsaţie a bazei de timp TB.
Bitul de ieşire %TMi.Q este resetat la 0 atunci când valoarea curentă atinge
5
valoarea dată de %TMi.P.

91
Temporizator la anclanşare TON

Acest temporizator permite întârzierea anclanşării ieşirii cu o valoare


programată.

Diagrama următoare ilustrează modul de lucru al temporizatorului TON.

Funcţionarea temporizatorului TOF

Tabelul următor descrie funcţionarea temporizatorului TOF.

Faza Descriere
1 Temporizatorul porneşte pe un front crescător al intrării IN.
Valoarea curentă %TMi.V creşte până la %TMi.P, prin incrementarea cu o
2
unitate la fiecare pulsaţie a bazei de timp TB.
Bitul de ieşire %TMi.Q trece în 1, atunci când valoarea curentă atinge
3
valoarea %TMi.P.
Bitul de ieşire %TMi.Q păstrează valoarea 1, cât timp valoarea de intrării
4
IN este 1.
Atunci când un front descrescător este detectat la intrarea IN,
5 temporizatorul se opreşte, chiar dacă el nu a atins valoarea %TMi.P şi
%TMi.V este setat pe 0.

Temporizator cu pulsuri TP

Acest temporizator permite generarea de impulsuri de o durată ce poate fi


programată.
Diagrama următoare ilustrează modul de lucru al temporizatorului TP.

92
Funcţionarea temporizatorului TP
Tabelul următor descrie funcţionarea temporizatorului TP.

Faza Descriere
Temporizatorul porneşte pe un front crescător al intrării IN. Valoarea
1
curentă %TMi.V este setată pe 0 dacă temporizatorul nu a fost încă pornit.
2 Bitul de ieşire %TMi.Q trece în 1, atunci când temporizatorul este pornit.
Valoarea curentă %TMi.V creşte de la 0 la %TMi.P, prin incrementarea cu
3
o unitate la fiecare pulsaţie a bazei de timp TB.
Bitul de ieşire %TMi.Q este setat 0, atunci când valoarea curentă atinge
4
valoarea %TMi.P.
Valoarea curentă %TMi.V este setată pe 0, atunci când valoarea %TMi.V
5
este egală cu %TMi.P şi intrarea IN reprimeşte valoarea 0.
Temporizatorul nu poate fi trecut în 0. Atunci când valoarea %TMi.V este
6 egală cu %TMi.P şi intrarea IN reprimeşte valoarea 0, %TMi.V este setat
pe 0.

4.12.9 Programarea şi configurarea temporizărilor

Figura următoare reprezintă un bloc funcţional de temporizare.

93
Configurarea temporizărilor

Parametrii următori trebuie stabiliţi în momentul configurării:


− Tipul temporizării: TON, TOF sau TP;
− Baza de timp (TB): 1 min, 1 s, 100 ms, 10 ms sau 1 ms;
− Valoarea preselectată (%TMi.P): 0 la 9999;
− Reglare DA/NU.

Tabelul următor prezintă o serie de cazuri specifice de programare şi configurare


a blocurilor de temporizare.

Caz specific Descriere


Forţează valoarea curentă în zero. Setează
Efectul unei reporniri la rece
ieşirea %TMi.Q pe 0. Valoarea de preselectare
(%S0=1)
reia valoarea setată în momentul configurării.
Nu are nici un efect asupra valorii curente şi a
Efectul unei reporniri la cald valorii de preselectare a temporizatorului.
(%S1=1) Valoarea curentă nu este modificată pe
perioada căderii tensiunii de alimentare.
Oprirea controlerului nu provoacă îngheţarea
Efectul opririi controlerului
valorilor curente.
Saltul peste un bloc temporizator nu provoacă
îngheţarea acestuia. Temporizatorul va
continua incrementarea până când este atinsă
valoarea de preselectare (%TMi.P). În acest
Efectul unui salt în program punct, starea bitului (%TMi.Q) alocat ieşirii Q
a blocului temporizator, este modificată. Pe
această perioadă de timp, ieşirea asociată,
conectată direct la ieşirea blocului, nu este nici
activată, nici scanată de controler.
Este recomandabil să nu se testeze bitul
Testarea bitului %TMi.Q
%TMi.Q decât o singură dată în program.
Modificarea valorii de preselectare cu ajutorul
Efectul modificării valorii de unei instrucţiuni sau a unei setări nu va avea
preselectare %TMi.P efect decât la următoarea activare a
temporizatorului.
94
Temporizatoare cu bază de timp de 1ms

Baza de timp de 1ms nu este disponibilă decât cu primele cinci temporizatoare.


Patru cuvinte sistem, %SW76, %SW77, %SW78 şi %SW79, pot fi utilizate pentru
măsurarea timpului. Aceste patru cuvinte sunt decrementate la fiecare milisecundă, într-
o manieră individuală, de către sistem, dacă au o valoare pozitivă.
Este posibil să se creeze un temporizator multiplu, încărcând succesiv unul din
aceste cuvinte sau testând valorile intermediare. Valorile negative ale acestor patru
cuvinte nu vor fi modificate. Un temporizator poate fi blocat fixând bitul 15 pe valoarea
1. Deblocarea va putea fi realizată repunând pe zero acest bit.

Exemplu de programare

Exemplul următor ilustrează modul de programare al unui bloc funcţional.

Blocul funcţional de contorizare

Blocul funcţional de contorizare (%C) permite contorizarea prin incrementare


sau decrementare a evenimentelor. Aceste două operaţii se pot realiza simultan.
Figura următoare prezintă un bloc funcţional de contorizare.

95
Figura 4.22

Parametrii blocului funcţional de contorizare

Blocul funcţional de contorizare posedă următorii parametri:


Parametru Etichetă Semnificaţie
Numărul
%Ci De la 0 la 127
contorizatorului
Valoarea cuvântului este incrementată sau
decrementată în funcţie de intrările (sau de
instrucţiuni) CU şi CD. Aceasta poate fi citită şi
Valoare curentă %Ci.V
testată, dar nu poate fi scrisă de program. Se
utilizează editorul de date pentru a modifica
valoarea %Ci.V.
Valoare de 0 ≤ %Ci.P ≤ 9999. Cuvântul poate fi citit, testat şi
%Ci.P
preselectare scris (valoare implicită: 9999).
Y : Da, valoarea de preselectare poate fi modificată
Editarea utilizând Y/N cu ajutorul editorului de date.
editorul de date N : Nu, valoarea de preselectare nu poate fi
modificată cu ajutorul editorului de date.
Reset intrare R În starea 1 : %Ci.V = 0.
Setarea intrării S În starea 1 : %Ci.V = %Ci.P.
Intrare de
Creşte valoarea %Ci.V cu o unitate pe frontul
incrementare a CU
crescător.
numărătorului
Intrare de
Descreşte valoarea %Ci.V cu o unitate pe frontul
decrementare a CD
crescător.
numărătorului
Bitul asociat %Ci.E este egal cu 1, atunci când
Ieşire de depăşire valoarea de decrementare %Ci.V trece de la 0 la
E
decrementare 9999 (este setat 1 atunci când %Ci.V atinge 9999 şi
este refăcut zero, dacă decrementarea continuă).
Ieşirea atinsă Bitul asociat %Ci.D este egal cu 1, când %Ci.V este
D
predefinită egal cu %Ci.P.
Ieşire de depăşire F Bitul asociat %Ci.F este egal cu 1, când valoarea

96
incrementare (Full) %Ci.V trece de la 9999 la 0 (este setat pe 1 atunci
când %Ci.V atinge 0 şi este repus pe zero, dacă
numărătorul continuă incrementarea).

Funcţionarea blocului

Tabelul următor descrie principalele etape ale operaţiilor de numărare prin


incrementare şi decrementare.

Operaţie Acţiune Rezultat


Un front crescător apare la
Valoarea curentă %Ci.V este
Contorizare intrarea CU (sau instrucţiunea
mărită cu o unitate.
CU este activată).
Valoarea curentă %Ci.V este
Bitul de ieşire „preselectare
egală cu valoarea de
atinsă” %Ci.D trece în 1.
preselectare %Ci.P.
Bitul de ieşire %Ci.F (depăşire
Valoarea curentă %Ci.V trece
contorizare prin incrementare)
de la 9999 la 0.
trece în 1.
Bitul de ieşire %Ci.F (depăşire
Dacă numărarea continuă. contorizare prin incrementare)
este repus pe 0.
Un front crescător apare la
Numărare prin intrarea de decrementare CD Valoarea curentă %Ci.V este
decrementare (sau instrucţiunea CD este diminuată cu o unitate.
activată).
Valoarea curentă %Ci.V trece Bitul de ieşire %Ci.E (depăşire
de la 0 la 9999. decrementare) trece în 1.
Bitul de ieşire %Ci.F (depăşire
Dacă decrementarea continuă. decrementare) este repus pe
zero.
Pentru utilizarea simultană a funcţiilor de incrementare şi
Contorizare decrementare (sau pentru a activa cele două instrucţiuni CD şi
incrementare/ CU), intrările CU şi CD trebuie să fie comandate simultan. Aceste
decrementare două intrări sunt apoi scanate. Dacă valoarea lor este egală cu 1,
valoarea curentă nu va fi modificată.
Forţează trecerea în 0 a valorii
Trecerea intrării R în 1 (sau %Ci.V. Ieşirile %Ci.E, %Ci.D
Reset
instrucţiunea R este activată). şi %Ci.F sunt aduse pe 0.
Intrarea de reset este prioritară.
Dacă intrarea S este 1 (sau dacă
Valoarea curentă %Ci.V ia
instrucţiunea S este activată) şi
Set valoarea %Ci.P şi ieşirea %Ci.D
intrarea de reset R este 0 (sau
este trecută în 1.
instrucţiunea R este inactivă).

97
Programarea şi configurarea numărătoarelor

Exemplul următor prezintă un contorizator ce permite numărarea a maximum


5000 de articole. Fiecare impuls pe intrarea %I1.2 (atunci când bitul %M0 este1)
incrementează valoarea contorizatorului %C8 cu o unitate, până la valoarea preselectată
finală (bit %C8.D = 1). Contorizatorul este resetat de intrarea %I1.1.
Figura următoare prezintă un bloc cu funcţie de contorizare.

Configurare
Următorii parametri trebuie să fie stabiliţi în momentul configurării:
− Valoarea de preselectare (%Ci.P): fixată la 5000 în acest exemplu;
− Reglare: Da.
Exemplu de numărător incrementare/decrementare:

98
4.12.10 Funcţia PWM

Blocul funcţional (%PWM) (puls cu modulare) generează un semnal


dreptunghiular modulat la ieşirea dedicată (%Q0.0.0 sau %Q0.0.1). Blocul %PWM
poate de asemenea să varieze lărgimea semnalul şi raportul ciclic. Această funcţie este
realizată numai de automatele care au primele două ieşiri pe tranzistori.
Sunt două blocuri disponibile: %PWM0 care utilizează ieşirea dedicată %Q0.0 şi
%PWM1 care utilizează ieşirea dedicată %Q0.1. Blocurile funcţionale %PLS împart
aceleaşi ieşiri dedicate. Pentru fiecare bloc se va stabili una dintre aceste două funcţiuni.

Figura 4.23 Descrierea blocului PWM Diagrama de timp

Parametrii blocului funcţional PWM sunt:


TB – bază de timp – 0,142ms, 0,57ms, 1s (implicit)
%PWM.P – preselectarea perioadei –
ƒ 0<%PWM.P<=32767, cu o bază de timp de 10ms sau 1s.
ƒ 0<%PWM.P<=255, cu o bază de timp de 0,57ms sau 1,42ms.
99
%PWM.R raport ciclic- această valoare dă procentajul semnalului în starea 1 pe
durata unei perioade. Durata lui Tp este egală cu Tp=T*(%PWMi.R/100). %PWM.R
este specificat în programul utilizator. Acest cuvânt controlează durata modulatiei.
Valoarea implicită este 0 iar valorile superioare lui 100 sunt considerate ca fiind
egale cu 100.
IN-intrarea blocului generator de puls- În starea 1, pulsul modulat este generat
la canalul de ieşire dedicat. În starea 0, ieşirea este trecută în zero.

Gama perioadelor. Valoarea de preselectare şi baza de timp pot fi modificate în


momentul configurării. Aceşti parametrii sunt utilizaţi pentru a fixa perioada
semnalului T=%PWMi.P * TB. Obinerea unui raport jos necesită ca valoarea selectată
%PWMi.P să fie mai mare. Gama perioadelor disponibile:
0,142 ms la 36,5 ms cu un pas de 0,142 ms (27,4 Hz la 7
kHz)
0,57 ms la 146 ms cu un pas de 0,57 ms (6,84 Hz la1,75
kHz)
10 ms la 5,45 min cu un pas de 10 ms
1 s la 9,1 ore cu un pas de 1 s
Modul de funcţionare. Frecvenţa semnalului de ieşire este reglată în momentul
configurării, selectând baza de timp şi valoarea preselectată %PWM.P. Modificarea
raportului ciclic % PWMi.R în program permite modularea duratei semnalului. Figura
următoare reprezintă o diagramă de impulsuri pentru un bloc PWM cu diferite rapoarte
ciclice.

Figura 4.24

În exemplul următor durata semnalului este modificată prin program în funcţie


de intrările %I0.0 şi %I0.1 ale controlerului.
Dacă %I0.0.1 şi %I0.0.2 sunt setate pe 0, raportul %PWM0.R est setat pe 20
% şi durata semnalului în starea 1 este atunci egală cu 20 % x 500 ms = 100 ms.
Dacă %I0.0.0 est setat pe 0 şi %I0.0.1 est setat pe 1, raportul %PWM0.R est
setat pe 50 % (durată de 250 ms).
Dacă %I0.0.0 şi %I0.0.1 sunt setate pe 1, raportul %PWM0.R este setat pe 80
% (durată de 400 ms). Secvenţa de programare este următoarea

100
Figura 4.25
Blocul funcţional PID. Funcţiunea PID este o funcţie specifică limbajului
TwidoSoft.
Ea permite programarea a unui număr de maxim 14 bucle de reglare PID într-un
mod foarte uşor.
Funcţionarea unei bucle de reglare presupune trei faze distincte:
achiziţia de date – măsurile pot proveni de la senzorii din proces sau de la
variabilele interne ale controlerului

execuţia aloritmului de reglare PID. furnizarea comenzilor adaptate la


caraateristica elementelor de execuţie prin ieşirile PWM sau analogice.
Timpul de execuţie a unei bucle PID este de 0,4 ms.
Introducerea parametrilor generali a regulatorului PID se face utilizând fereastra
următoare:

101
Figura 4.26 Fereastră de introducere a parametrilor PID

Este posibil de asemenea să se reprezinte evoluţia ieşirii

102
Figura 4.27 Evoluţia ieşirii

4.13 Programarea ceasului de timp real (RTC) pe


controlerul Twido

Ceasul de timp real – RTC – face posibilă actualizarea şi citirea timpului real. Se
poate citi şi menţine astfel data compusă din ziua, luna, anul şi ziua din săptămână şi ora
compusă din ora, minut, secunda.
Pentru a citi aceşti parametri trebuie o secvenţă de iniţializare a RTC – ului, o
secvenţă de actualizare a datei şi a orei, o secvenţă de citire coordonată cu o setare
corespunzătoare a biţilor de sistem ce permit citirea.
RTC în sine este funcţia unui cartuş de circuite conectat la un controller
modular. Controlerele compacte având cel mai adesea RTC încorporat în structură.
Acest cartuş poartă numele de TWDXCPRTC.
Instalarea fizică a acestui cartuş se face astfel:
- se deschide capacul protector(1) al controllerului modular ;
- se înlătură capacul ce obturează locul unde va fi plasat cartuşul ;
- se inserează cartuşul în locul rămas liber şi se apasă până se aude un clic ;
- se închide capacul protector .
103
TWDXCPRTC

TWDMDA20DRT
Odată instalat fizic cartuşul urmează iniţializare acestuia prin intermediul
TWIDOSoft mediul de programare al controllerului. Pentru aceasta se procedează
astfel:
- se apelează caseta „ Controller Operations” aceasta din PLC > Check PLC
această accesare se poate face numai când controllerul este conectat la
calculator şi pornit

Figura 4.28
104
- din această casetă se apelează Set Time pentru actualizarea datei în
momentul conectării la controller.

Figura 4.29

- tot din caseta de dialog se poate apela pe urmă fereastra de configurare a


constantei RTC –ului. În această caseta se va trece valoarea înscrisă pe
eticheta ataşată cartuşului, orice altă valoare ducând la funcţionare incorectă
a cartuşului.

Aceste configurări mai ales cea a constantei de corecţie a RTC – ului trebuie
făcută cel puţin o singură dată la instalarea RTC- ului, setarea datei şi a orei putându-se
face pe urmă prin programul transferat de TWIDOSoft.

4.13.1 Programare RTC- ului

Se poate face prin intermediul biţilor de sistem, care stabilesc condiţiile şi


circumstanţele apelării, şi mai ales a cuvintelor de sistem care conţin valorile
parametrilor RTC - ului.
Pentru programare RTC- ului se folosesc următorii biţi de sistem :
o %S50 – pentru actualizarea datei şi a orei;
o %S51 – pentru stabilirea dacă valorile datei şi orei sunt corecte,
funcţionale;
o %S52 – pentru verificarea unei erori a RTC –ului;

105
o %S59 – pentru activarea posibilităţii de incrementare / decrementare
a parametrilor temporali ai RTC – ului.

De asemenea pentru valorile efective ale datei şi orei se folosesc


următoarele cuvinte de sistem :
- %SW49, pentru stabilirea zilei din săptămână;
- %SW50, pentru stabilirea secundei;
- %SW51, pentru stabilirea orei şi minutului;
- %SW52, pentru lună şi ziuă;
- %SW53, pentru secol şi an;
- %SW54, pentru aflarea secundelor la ultima întrerupere a funcţionării
controllerului;
- %SW55, pentru aflare minutelor şi a orei în aceeaşi situaţie;
- %SW56, pentru aflare lunii şi a anului idem;
- %SW57, pentru aflare anului, idem;
- %SW59, pentru stabilirea incrementării sau decrementării timpului curent
prin acţionare bitului de sistem %S59;
- %SW60, pentru stabilirea valorii corecţiei RTC – ului;

Descrierea pe larg a biţilor de sistem

Bitul %S50 setat pe :


- 0, permite citirea datei şi a orei;
- 1, permite iniţializarea datei şi a orei.
Este setat de utilizator şi trecut pe zero de sistem. Parametrii RTC – ului
sunt actualizaţi pe frontul descrescător al bitului.

Bitul %S51 setat pe :


- 0, data şi ora sunt corecte;
- 1, data şi ora trebuie iniţializate de către utilizator deoarece valorile curente
nu sunt valide.
De asemenea acest bit este setat şi atunci când data şi ora nu au fost
configurate, bateria este slăbită, sau constanta de corecţie a RTC – ului nu este
corectă.
Trecerea din 1 spre 0 duce la actualizarea constantei RTC – ului.

Bitul %S52 setat pe :


- 0, data şi ora curente sunt corecte;
- 1, data şi ora trebuie iniţializate sau constanta de corecţie nu a fost introdusă.
Valorile acestui bit sunt stabilite de sistem, ele putând fi numai citite de
către utilizator.

Bitul %S59 setat pe:


- 0, incrementare sau incrementarea este dezactivată;
- 1, incrementare sau decrementarea este activată şi se face pe frontul
crescător al biţilor din cuvântul de sistem %SW59.
106
Valorile acestui bit se stabilesc şi se modifică numai de către utilizator.

Descrierea pe larg a cuvintelor de sistem

Valorile efective păstrate în cuvintele de sistem pentru parametrii temporali ai


RTC – ului sunt în format BCD adică fiecare cifră zecimală este păstrată pe 4 biţi şi nu
binar normal. Valorile cifrelor de la 0 la 9 sunt codate binar pe cei 4 biţi din cuvânt, în
ordine, restul valorilor neavând semnificaţie, de unde saltul cu 7 înregistrat de valorile
codate în BCD de fiecare dată când incrementarea depăşeşte cifra 9.Astfel încât în
cuvântul de sistem se pot păstra exact 4 cifre în format BCD. Notaţiile care vor urma nu
vor marca poziţii zecimale şi poziţii ale cifrelor în format BCD.

%SW49:
- stabileşte ziua din săptămână, ziua de luni este prima numerotată şi are
valoare 1.

%SW50:
- în formatul - 00SS -. Păstrează numărul curent al secundelor;

%SW51:
- în formatul – HHMM- Păstrează ora (HH) şi minutul (MM), ora este în
formatul de la 0 la 23.

%SW52:
- în formatul – LLZZ – Păstrează luna (LL) şi ziua din lună (ZZ).

%SW53:
- în formatul – SSAA – Păstrează secolul (SS) şi anul din secol(AA).

Prin aceste cuvinte se pot modifica parametrii temporali ai RTC – ului


prin
setarea mai întâi a bitului %S50 şi care la revenirea în zero conduce la
actualizarea efectivă a parametrilor temporali.

%SW54, %SW55, %SW56, %SW57 corespunzători cuvintelor %SW50,


%SW51, %SW52 şi respectiv %SW53, şi având acelaşi format specifică data şi ora
ultimei opriri sau întreruperi a funcţionării a microcontrolerului. Sunt setate de către
sistem şi pot fi doar citite de utilizator.

%SW59 stabileşte o incrementare sau decrementare a parametrilor


temporali fiind activat de bitul %S59. Această operaţie de modificare se face pe frontul
crescător a bitului din cuvânt. Acest cuvânt poate fi modificat şi citit de către utilizator.

107
În tabelul următor sunt specificaţi biţii corespunzători parametrilor temporali
modificaţi.

Incremetare Decrementare Parametru temporal


Bit Bit modificat
0 8 Ziua din săptămână
1 9 Secunda
2 10 Minutul
3 11 Ora
4 12 Ziua din lună
5 13 Luna
6 14 Anul din secol
7 15 Secolul

%SW60 permite modificarea constantei de corecţie a RTC – ului. Modificabilă


liber de către utilizator. Pentru actualizarea valorii bitul %S51 trebuie setat.
Constanta de corecţie este păstrată pe un întreg fără semn şi ia valori de la 0 la
127.

În lucrul cu formatul BCD în care sunt primite şi setate aceste cuvinte se pot
folosi pentru uşurarea utilizării instrucţiunile BTI (din BCD în binar) şi ITB (din binar
în BCD) pentru simplificarea structurii programului.

Ex. [%MW0:=BTI(%MW10)] , care transformă valoarea în BCD din %MW10


în
valoare în binar asociată variabilei %MW0.

Programul următor iniţializează data şi ora ultimelor 30 de secunde din anul


2007 la conectarea intrării 1 a controllerului. Apoi prin Animation Editor(Ctrl + F7) se
pot citi valorile orei şi datei transformate din BCD în binar la fiecare noua modificare.

LD 1
R %S50
LDR %I0.0.1
(* SETEZ ZIUA - DUMINICA *)
[ %SW49 := 7 ]
(* SETEZ SECUNDA - 30*)
[ %MW10 := 30 ]
[ %SW50 := ITB( %MW10 ) ]
(* SETEZ ORA - 23:59 *)
[ %MW11 := 2359 ]
[ %SW51 := ITB( %MW11 ) ]
(* SETEZ DATA - 31.12.2007 *)
[ %MW12 := 1231 ]

108
[ %SW52 := ITB( %MW12 ) ]
[ %MW13 := 2007 ]
[ %SW53 := ITB( %MW13 ) ]
S %S50
LD 1
(* TRANSFORM VALORILE TEMPORALE DIN BCD IN BINAR*)
[ %MW0 := BTI( %SW49 ) ]
[ %MW1 := BTI( %SW50 ) ]
[ %MW2 := BTI( %SW51 ) ]
[ %MW3 := BTI( %SW52 ) ]
[ %MW4 := BTI( %SW53 ) ]
END

4.14 Comunicare serială ASCII


Comunicarea ASCII pentru controlere Twido se realizează în două etape:
- configurarea portului serial al echipamentului Twido;
- scrierea şi încărcarea programului pentru comunicaţie serială.

4.14.1 Configurarea portului serial


Configurarea portului serial se face pentru fiecare aplicaţie în parte şi în funcţie
de modulele instalate pe controlerul modular.
În cazul de faţă se va lucra cu un modul serial gen TWDNOZ232D, care oferă
un port serial suplimentar având standardul de comunicaţie RS-232. Controlerul
modular TWDLMDA20DRT are în stare simplă un port serial nedetaşabil cu standardul
RS-485 care este folosit pentru programarea controllerului. Totuşi acest port când cablul
de programare este nefolosit poate funcţiona şi în mod MODBUS sau ASCII, în celălalt
caz funcţionează implicit şi neconfigurabil în mod Remote Link.
Ne vom referi doar la configurarea modulului TWDNOZ232D. Această
configurare se poate face prin meniuri sau prin program.

Configurarea prin meniuri se face astfel:


- instalare modulului în program se face prin dialogul „Aplication Browser”, ce se
găseşte în partea stângă a ferestrei programului. Se face clic dreapta pe
„Hardware”,apare un meniu numit „Add option…”, pe care se face clic. Apare o
fereastră de dialog prin care se selectează adăugarea modulului TWDNOZ232D
dintr-o listă de posibilităţi.

109
Figura 4.30

- odată adăugat modulul poate fi configurat prin clic dreapta pe subramura


Port2,de pe ramura Hardware. Din meniul deschis se alege „Edit controller
comm setup”.
- imediat după selectare apare dialogul „Controller Communications Setup” în
care
se fac toate configurările dorite ale portului.

Figura 4.31

110
- se alege tipul comunicaţiei care poate fi Modbus / Remote Link / ASCII, vom
alege ASCII.
- vom configura viteza comunicaţiei 1200 / 2400 / 4800 / 9600 / 19200 / 38400,
vom alege 9600.
- pentru alege lăţimea benzii de comunicaţiei vom accesa Data Bits şi dintre 7 şi 8
vom alege pe 8.
- în privinţa verificării erorii vom alege fără paritate din opţiunile None / Even /
Odd.
- vom alege numărul de biţi de stop la 1 dintre valorile 1 şi 2.
- vom alege un timp convenabil de aşteptare pentru semnal serial în baza de timp
de 100ms.
- Pentru configurări de fineţe apăsam butonul „Advanced…”

Figura 4.32

- apare caseta de dialog „Advanced settings” din care alegem opţiunile care
favorizează recepţia cea mai potrivită a secvenţei de date dorite.
- aceasta a fost configurarea prin meniuri.

111
Configurarea prin biţii şi cuvintele de sistem

Se foloseşte bitul %S104 care se setează după ce în cuvintele %SW104 şi


%SW106
s-a stabilit configuraţia.(Asemănător bitul %S103 şi cuvintele %SW103 şi
%SW105 pentru portul 1)
Cuvântul %SW104 are următoare structură:
- biţii 0-2 viteza comunicaţiei 0 – 1200 baud, 1 – 2400, 2 – 4800, 3 – 9600, 4 –
19200, 5 – 38400;
- bitul 3 se alege între RTS – 0 şi CTS – 1;
- biţii 4-5 paritatea : 0 – fără, 1 – impar, 2 – par;
- bitul 6 , nr. de biţi de stop : 0 pentru un bit de stop, 1 pentru doi biţi de stop;
- bitul 7, nr. de biţi de date : 0 pentru 7 biţi, 1 pentru 8 biţi;
- biţii 8-15, pentru stabilirea caracterului de sfârşit de transmisie.

Cuvântul %SW106 are următoarea structură:


- biţii 0-7 pentru configurarea aşteptării răspunsului în multipli de 100ms;
- biţii 8-15 pentru setarea lungimii cadrului de depăşire a timpului în ms.

4.14.2 Programarea portului serial


Pentru a programa portul serial se foloseşte instrucţiunea EXCHx în
combinaţie cu o serie de mesaje %MSG şi cuvântul %SW64 pentru codul de eroare. De
asemenea se foloseşte un tampon pentru scrierea şi citirea datelor de la portul serial.

Mesajele %MSG au următoarea sintaxă:


%MSGx.y , unde:
x este numărul portului: 1 pentru portul nedetaşabil, 2 pentru portul modular, 3
pentru ETHERNET.
y este tipul mesajului : -R- pentru resetare , -D- semnalizarea stării comunicaţiei,
-E- stabilirea tipului erorii de comunicare.

%MSG2.R setat pe 1 determină reiniţializarea comunicării %MSG2.E este


trecut pe 0 şi %MSG2.D pe 1. Este utilizat şi pentru oprirea unei comunicaţii în
desfăşurare.

%MSG2.D este setat pe 1 dacă:


- s-a terminat transmisie blocului de date;
- s-a terminat recepţia prin primirea caracterului de sfârşit de recepţie;
- s-a produs o eroare ce a întrerupt funcţionarea;
112
- s-a resetat modulul.
- … şi 0 pentru o comunicaţie în derulare.

%MSG2.E este setat dacă este detectată vreo eroare altfel este 0, comunicaţia a
decurs corect.
El detectează următoarele erori :
- comandă greşită;
- tampon configurat incorect;
- recepţie caracter incorect(din cauza proastei configurări a vitezei, a parităţii etc.)
- tamponul pentru recepţie este plin (neînnoit)

Cuvântul %SW64 păstrează codul de eroare a ultimei comunicaţii


seriale. Este
folosit în combinaţie cu instrucţiunea EXCH2 pentru portul 2.
Semnificaţia codurilor de eroare este:
- 0, nici o eroare;
- 1, numărul de octeţi de transmisie e prea mare (peste 250);
- 2, tabela de transmisie e prea mică;
- 3, zona tampon prea mică;
- 4, tabela de recepţie a fost depăşită;
- 5, a expirat timpul de aşteptare;
- 6, transmisie în desfăşurare;
- 7, comandă greşită în tampon ;
- 8, portul ales este neconfigurat sau indisponibil;
- 9, eroare de recepţie;
- 10, nu se poate folosi %KW pentru recepţie;
- 11, nr. de octeţi specificaţi a fi transmişi mai mare ca spaţiul disponibil în
tampon;
- 12, nr. de octeţi a fi recepţionaţi mai mare ca spaţiul disponibil în tampon;
- 13, controllerul a oprit procesare instrucţiunii EXCH.

Instrucţiunea EXCH poate fi folosită pentru transmisie, transmisie şi recepţie,


doar recepţie. Ea are următoarea sintaxă:

EXCHx %MWi:L , unde:


- x este numărul portului, 2 în cazul ales;
- i este adresa blocului de cuvinte de memorie;
- L este numărul maxim de cuvinte în zona tampon, maxim 121;
- Trebuie îndeplinită condiţia i+L≤255.

Zona tampon sau tabela de comunicaţie are următoarea structură :


Nr. Semnificaţie octet Semnificaţia octet
Cuvântului superior inferior
0 Comanda Lungime transmisie
1 Rezervat=0 Rezervat=0
2 Bitul 1 transmis Bitul 2 Transmis

113
…. …. …
n Bitul 2n-1 transmis Bitul 2n transmis
Bitul 1 recepţionat Bitul 2 recepţionat
n+1
… … …
Bitul 2p-1
p Bitul 2p recepţionat
recepţionat

Cuvintele 0,1 formează tabela de comandă.


Cuvintele 2...n formează tabela de transmisie.
Cuvintele n+1…p formează tabela de recepţie.

Comanda poate avea următoarele valori:


- 0, numai transmisie;
- 1, transmisie şi recepţie;
- 2, doar recepţie.

Lungimea transmisiei poate fi de maxim 250 de octeţi. La recepţie dacă este cerută
lungimea şirului receptat este suprascrisă în acest octet.(Octetul de lungime transmisie)
Pentru numai transmisie zona tampon poate fi şi de tipul %KW.

Exemplu de program.
LD 1
[ %MW10 := 16#0200 ]
[ %MW11 := 16#0000 ]
LD 1
AND %MSG2.D
[ EXCH2 %MW10:6 ]
LD %MSG2.E
ST %Q0.0.0
LD [ %SW64 = 0 ]
ST %Q0.0.1
END

Programul doar recepţionează opt octeţi.


Dacă este eroare se setează ieşirea %Q0.0.0
Dacă nu este eroare, codul de eroare este 0, se setează ieşirea %Q0.0.1
Se repetă recepţionarea pe o perioadă indefinită.
Pentru recepţionare se folosesc cuvintele %MW12,%MW13,%MW14 şi
%MW15.
Tabela de comandă este constituită din cuvintele %MW10 şi %MW11.

114
4.15 Funcţiile matematice ale controlerului TWIDO

Controllerul TWIDO, în special modelul TWDLMDA20DRT, prezintă pe lângă


funcţii aritmetice specifice modelelor mai vechi şi funcţii în virgulă mobilă şi desigur
acceptă tipuri de date necesare operării cu aceste funcţii. Pentru a putea opera cu aceste
funcţii dar şi pentru a extinde precizia funcţiilor aritmetice deja disponibile sau introdus
tipul de dat %MDx, dublu cuvânt (doubleword) şi tipul de date cu virgula mobilă (float)
%MFx. Desigur pe lângă locaţii de memorie ce pot fi scrise şi citite mai există şi
constante gen %KDx, %KFx. Aceste constante indiferent de tipul lor ocupă aceeaşi
zonă de memorie cu constantele de tip mai vechi %KWx ,constante cuvânt, şi desigur şi
variabilele de memorie sunt organizate în acelaşi mod. Astfel apare o problemă de
gestionare a variabilelor şi constantelor folosite astfel încât spaţiul ocupat să nu se
suprapună. Iată o organizare a zonei de memorie şi a modului cum sunt alocate
variabilele de memorie %MDx, %MFx şi %MWx:

Indecşi pari Indecşi impari Cuvinte de


memorie
%MF0 / %MD0 %MW0
%MF1 / %MD1 %MW1
%MF2 / %MD2 %MW2
%MF3 / %MD3 %MW3
%MF4 / %MD4 %MW4
%MF5 / %MD5 %MW5
%MF6 / %MD6 %MW6
%MF7 / %MD7 %MW7
%MF8 / %MD8 %MW8
%MF9 / %MD9 %MW9
%MF10 / %MD10 %MW10
%MF11 / %MD11 %MW11
%MF12 / %MD12 %MW12
%MF13 / %MD13 %MW13
……….

Se observă că %MFx,%MDx şi %MWx ocupă acelaşi spaţiu de memorie. În


consecinţă pentru a folosi cât mai judicios aceste variabile este de preferat să se

115
folosească ori numai indecşii pari ori numai cei impari(pentru %MFx şi %MDx ) pentru
a nu apărea suprapuneri sau pentru a nu se lăsa spaţii libere în utilizarea memoriei.
Aceeaşi organizare a memoriei este specifică şi constantelor.

4.15.1 Domeniul de utilizare a diferitelor tipuri de variabile


de memorie

Pentru %MWx se poate opera cu valori întregi în intervalul -32768…+32767.


Pentru %MDx se poate opera cu valori între -2147483648 şi +2147483647.
Pentru %MFx există următoarele intervale de valori -3.402824e+38 şi
-1.175494e-38 sau 1.175494e-38 şi 3.402824e+38.
Atât %MDx, cât şi %MFx ocupă un spaţiu de memorie de 4octeţi(32 de biţi), pe
când %MWx ocupă un spaţie de numai 2 octeţi(16 biţi).
O observaţie importantă când se lucrează cu %MFx este că atunci când se
urmăreşte obţinerea preciziei trebuie evitate valorile foarte mari a le exponentului
organizând judicios operaţiile de înmulţire şi împărţire astfel încât să se evite valorile cu
exponent mare şi cel mult să se atingă valori de mărimi medii. Aceasta deoarece pentru
partea fracţionară sunt disponibile doar 23 de biţi ce pot fi deplasaţi înainte şi înapoi faţă
de virgulă pierzându-se astfel zecimale importante.

4.15.2 Funcţii matematice specifice controlerului TWIDO


Aceste funcţii pot fi împărţite în:
- funcţii aritmetice („ + ”, „ - „ , „ * ”,” / „, „REM”, „INC”, „DEC”, „ABS”)
- funcţii algebrice („SQRT”, „LOG”, „LN”, „ TRUNC”, „EXP”, „EXPT”)
- funcţii trigonometrice („ SIN”, „COS”, „TAN”, „ASIN”, „ACOS”,
„ATAN”, „DEG_TO_RAD”, „RAD_TO_DEG”)
- funcţii auxiliare de conversie de tip („ INT_TO_REAL”, „
DINT_TO_REAL”, „REAL_TO_INT”, „REAL_TO_DINT”, „BTI”, „ITB”)

Observaţii:
- fiecare funcţie are operatori de un anumit tip;
- funcţiile trigonometrice inverse întorc o valoare în radiani într-un anumit
interval (ASIN –π/2 ….π/2, ACOS 0… π, ATAN –π/2 ….π/2)
- operatorii aritmetici lucrează cu operanzi de acelaşi tip, ori cuvânt ,ori dublu
cuvânt ori float, pentru a utiliza valori asociate unor tipuri diferite trebuind
făcută mai întâi o conversie;
- orice valoare directă într-o expresie cu operanzi de tip float chiar dacă este
fără zecimale se adaugă neapărat un „.0” pentru a fi recunoscută ex.:
[%MF1:=%MF2+10] - Greşit!!!
116
[%MF1:=%MF2+10.0] – Corect!!!
- o expresie în care se folosesc cuvinte nu poate utiliza decât cuvinte de
memorie sau constante sau valori directe nu şi intrări analogice %IW0.0 ce
pot fi folosite doar într-o expresie de atribuire astfel :
[%MF40:=INT_TO_REAL(%IW0.0)] – Greşit!!

[%MW10:=%IW0.0] Corect!!!
[%MF40:=INT_TO_REAL(%MW10)]

- funcţia ABS poate fi folosită doar cu operatori de tip dublu cuvânt sau float.

Funcţii Nume funcţie + Sintaxa Utilitate


matematice
Aritmetice OP1:=OP2 + OP3 Adunare
OP1:=OP2 - OP3 Scădere
OP1:=OP2 * OP3 Înmulţire
OP1:=OP2 / OP3 Împărţire
OP1:=OP2 REM OP3 Aflare rest
INC OP1 Incrementare
DEC OP2 Decrementare
OP1:=ABS(OP2) Valoare absolută
Algebrice OP1:=SQRT(OP2) Rădăcină pătrată
OP1:=LOG(OP2) Logaritm în baza 10
OP1:=LN(OP2) Logaritm natural
OP1:=TRUNC(OP2) Valoare întreagă
OP1:=EXP(OP2) Exponenţial natural
OP1:=EXPT(OP2,OP3) Putere a unui întreg OP3 la un
real OP2
Trigonometri OP1:=SIN(OP2) Sinus
ce OP1:=COS(OP2) Cosinus
OP1:=TAN(OP2) Tangenta
OP1:=ASIN(OP2) Arc sinus
OP1:=ACOS(OP2) Arc cosinus
OP1:=ATAN(OP2) Arc tangenta
OP1:=DEG_TO_RAD(OP2) Din grade -OP2 în radiani -OP1
OP1:=RAD_TO_DEG(OP2) Din radiani -OP2 în grade -OP1
Conversie tip OP1:=INT_TO_REAL(OP2) Din întreg – OP2 în real –OP1
OP1:=REAL_TO_INT(OP2) Din real – OP2 în întreg –OP1
OP1:=DINT_TO_REAL(OP2) Din dublu cuvânt în real
OP1:=REAL_TO_DINT(OP2) Din real în dublu cuvânt
OP1:=BTI(OP2) Din format BCD în binar
OP1:=ITB(OP2) Din format binar în BCD

117
Erorile de calcul sunt semnalate în bitul de sistem %S18 ce este setat pentru:
- depăşirea intervalului de lucru al tipului de variabilă;
- împărţirea la zero;
- rădăcină pătrată dintr-un număr negativ;
- conversie din BCD a unei valori cu format eronat;

Odată descoperită eroarea acest bit poate fi adus din nou la 0 pentru verificare
unei noi operaţii. Pentru a afla tipul erorii la operaţiile cu float se foloseşte cuvântul de
sistem %SW17.

118
5 ÎNDRUMAR DE LABORATOR
LUCRAREA 1

5.1 Descriere controlerului PS4 201 MM1 şi a


simulatorului. Utilizarea mediului de programare
SucoSoft

Descrierea echipamentului

SUCO control PS 4-201-MM 1 este un controler compact, produs de firma


Klockner Moeller.
Controlerul PS 4-201-MM 1 (figura 3.1) are opt intrări şi opt ieşiri numerice.
Acest număr poate fi crescut dacă se utilizează module de extensie cuplate în reţea, cu
soft de tip SUCOnet K sau SUCOnet K1. Modulele din reţea pot fi conectate până la o
distanţă de maximum 600 m.
Programele utilizator sunt introduse cu ajutorul unui mediu de programare
instalat pe un calculator, cu instrucţiuni din limbajul de programare standard (IL), prin
unitatea de interfaţă programabilă.

24V 0V G

1=Ready 3=NReady
1 2 3 4 2=Run 4=Battery

PRG SUCOnet K

PS4 - 201 - MM1

Figura 4.33 Controlerul PS 4-201-MM 1

1 - acumulator;
2 - buton reset;
3 - conector pentru extensie;
119
4 - comutator selectare mod de lucru.

Intrările şi ieşirile analogice au variaţia cuprinsă între 0 şi 10 volţi. Rezoluţia


intrării analogice este de 10 biţi (1.024 incremenţi), iar a ieşirii analogice este de 12 biţi
(4.096 incremenţi).
Intrările şi ieşirile numerice sunt izolate galvanic faţă de unitatea centrală de
procesare (UCP) şi pot fi alimentate separat. Fiecare intrare şi ieşire are un led de
indicare a stării în care se află.

Modul de operare

Setarea parametrilor de sistem


Programul utilizator conţine informaţii asupra configurării sistemului PS 4 201
în antetul fişierului sursă *.q42. Aceste date sunt convertite de compilator şi transferate
controlerului.
Pentru a seta parametrii sistemului se vor apăsa tastele F1, F3 în ordine, pornind
de la meniul principal.
F1 – Programare
F3 – Editorul parametrilor sistemului
În continuare trebuie să se completeze numele fişierului şi driverul
corespunzător. Se introduce sau se setează numele cerut şi driverele pentru a activa
următorul ecran:
F2 – Parametrii sistemului
Parantezele pătrate conţin valorile setate implicit. După introducerea tuturor
valorilor dorite pentru parametri, se revine prin apăsarea tastei F1, Return. Acum se pot
salva valorile setate.
Opţiunile care pot fi setate sunt prezentate în continuare.
Program check in RUN: compilatorul construieşte o sumă de verificare care este
salvată în programul compilat la o locaţie definită. Dacă se selectează Yes = 1, sistemul
de operare al PS 4 200 verifică programul utilizator, în timpul funcţionării cu acest
algoritm al sumei de verificare. Controlerul este oprit dacă sunt detectate deosebiri între
sumele verificate. Eroarea este introdusă în cuvântul de diagnosticare corespunzătoare
verificării. Setarea implicită este No = 0.
Start after NOT READY: defineşte modul de comportare al controlerului după
NOT READY. Setarea implicită este HALT.
Starea controlerului poate fi setată cu ajutorul unui comutator care are trei
poziţii:
0 – Halt (Stop)
1 – Cold start (pornire la rece)
2 – Warm start (pornire la cald)
Maximum cycle time in ms: setarea implicită este de 60 ms. Valoarea maximă a
timpului poate fi 255 ms. Aceste setări nu controlează durata de ciclu al programului
utilizator, ci numai defineşte o limită superioară pentru verificarea defecţiunii. Se
setează o durată de ciclu mai scurtă numai dacă se cunoaşte timpul real de procesare al
programatorului. În acest caz, un timp mai lung de procesare indică o eroare. Selectarea
timpului maxim pentru ciclare depinde de tipul şi lungimea programului utilizator ce a

120
fost realizat. Dacă durata ciclului este depăşită, bitul ETC este setat în cuvântul de
diagnosticare DSW şi controlerul se schimbă pe HALT.
Active marker range: setarea implicită este MB0 până la MB4096. Acest
parametru setează lungimea memoriei pentru markerii folosiţi în programul utilizator.
Dacă se folosesc markeri în programul utilizator care nu au fost definiţi în setările
implicite, compilatorul va emite un mesaj de eroare corespunzător.
Retentive marker range: în cazul căderii de tensiune, markerii reţinuţi îşi
păstrează stările definite anterior. Sunt, de asemenea, păstrate stările definite în cazul
restartării sistemului de operare. Această lungime a markerului formează o parte a
lungimii markerului activ selectat şi nu se suprapune cu lungimea reţinută la pornirea la
rece.

Editarea programului pentru controlerul PS4 201 MM1

Editarea programul utilizator poate fi considerată o operaţie specifică pentru


controlerul programabil, acesta conţinând o descriere completă a tuturor secvenţelor de
control.
Pentru a crea un program utilizator, se vor selecta următoarele taste funcţionale,
pornind din meniul principal:
-F1 - programare;
-F2 - programare IL;
-introducerea numelor fişierelor sursă şi de referinţă prin selectarea
căilor directoare;
-F2 - editarea fişierului program.
Pentru fişierul atest.q42 se obţine următorul ecran în care se poate edita
programul (Figura 3.2):

Figura 4.34 Fereastra de editare program


Încorporarea fişierului de configurare - este necesară pentru compilare.

121
Deoarece fişierul de configurare conţine informaţii despre structura fizică de
conectare a controlerului cu modulele de extensie locală sau alte staţii, compilatorul
poate verifica dacă adresarea şi specificaţiile sunt corecte.
Sintaxa pentru această instrucţiune este:
# include “nume_fişier_config.k42”
Această instrucţiune trebuie să fie întotdeauna prima din program.

Compilarea programului

Programul scris trebuie compilat pentru a obţine un program executabil.


Pentru a compila programul se parcurg următoarele etape:
− se selectează F5 Compiler din Meniul de programare.
− se specifică fişierul sursă şi de referinţă cerute prin intermediul unor ferestre
afişate succesiv.
− se specifică prin YES sau NO dacă sunt incluse fişiere de configurare. Dacă
se răspunde cu YES, va trebui să se specifice unul din driver-ele standard (A,
B, C...). Dacă răspunsul este NO, se va cere să se selecteze driver-ul
corespunzător pentru fiecare instrucţiune „include” găsită în timpul
compilării. Răspunsul NO este favorabil numai dacă fişierele „include” sunt
salvate pe discuri diferite.
După ce s-a selectat discul corespunzător prin F1, începe compilarea. Dacă
compilarea este executată fără erori, programul executabil poate fi transferat
controlerului. Dacă nu, erorile care sunt listate corespunzător numărului de bloc şi linie,
trebuie să fie rectificate. Un program executabil va fi generat numai dacă toate erorile
au fost rectificate.
După ce programul a fost compilat, acesta numai poate fi decompilat în
programul cod original. Din acest motiv, trebuie salvate următoarele fişiere (copii de
rezervă):
- .q42 - fişierul sursă;
- .z42 - fişierul de referinţă;
- .k42 - fişierul de configurare.

Transferul programului pe controlerul PS 4-201-MM1

Odată ce compilatorul a convertit programul în cod maşină, acesta poate fi


transferat de pe calculator pe controler.

Înainte de a efectua transferul prin apăsarea tastelor F1, F2, F6 (transfer Drive-
>PLC), plecând din meniul principal, trebuie parcurşi următorii paşi:
ƒ conectarea calculatorului la controler, utilizând cablul de programare ZB 4-
303-KB1;
ƒ alimentarea controlerului cu 24V DC, acesta indicând stările Ready sau Not
Ready;

122
ƒ se setează selectorul modului de operare S2 a controlerului PS 4 -201-MM1 pe
poziţia 1 (Halt).
La sfârşitul transferului se va da un mesaj de verificare a transferului. Odată ce
transferul programului a fost confirmat, acesta poate fi lansat în execuţie, de la controler
sau de la calculator, din Sucosoft.
Pentru lansarea programului de pe controler, se va poziţiona comutatorul pe
poziţia Run M-SET sau Run, şi apoi se va acţiona butonul de Reset.

Etapele de urmat in cadrul lucrării:

1. Recunoaşterea butoanelor de pe panoul dispozitivului


2. Se conectează cablul de programare între calculator (COM1) şi cupla de
programare de la PLC.
3. Se alimentează controlerul cu 24v CC.
4. Se studiază modul de comutare între diferite regimuri de lucru.
5. Se va testa simulatorul de intrări digitale.
6. Familiarizarea cu mediul de programare al controlerului (SucoSoft) şi modul
de instalare
7. Stabilirea configuraţiei hardware.
8. Se va configura sistemul F4 (limba, imprimanta şi interfaţa)
9. Configurarea parametrilor de sistem
10. Realizarea fişierului de configurare pentru cazul lucrării de laborator (F4-
device- Configurator) si salvarea acestuia.

123
LUCRAREA 2

5.2 Utilizarea instrucţiunilor logice şi de transfer pentru


programarea controlerului PS 4 201 MM1

Programul pentru controlerul programabil este realizat dintr-o secvenţă de


instrucţiuni ce descriu operaţiile ce dorim să le efectuăm. El este compus din directivele
preprocesor şi blocuri de program la sfârşitul programului principal având instrucţiunea
EP – sfârşit program. În mod uzual obicei se utilizează directiva preprocesor:
#include “nume.k42”
unde nume este numele fişierului de configurare.
Fişierul de configurare este realizat înaintea editării programului selectând F1,
F4 (Device Configurator), stabilind partiţia (C, D, E,F) şi directorul în care se realizează
salvarea fişierului precum şi numele fişierului. Cu F2 se poate realiza configurarea iar
cu F4 se realizează salvarea. Salvarea se poate realiza cu vechiul nume F2 - Save old
name – definit la început.
Fiecare bloc va fi numerotat cu ajutorul unui număr începând de la 0 reprezentat
pe cinci cifre şi poate avea un anumit comentariu după “ care nu este interpretat de
compilator.
Exemplu:
00000 “Primul program
Crearea unui bloc se realizează cu ajutorul tastei funcţionale F2 – Open Block,
din meniul de editare.
Instrucţiunile din cadrul fiecărui block vor fi numerotate începând de la 1
utilizând trei câmpuri.
Exemplu:
001 EP
Ele vor fi reprezentate pe un singur rând (excepţie făcând funcţiile).
O instrucţiune este alcătuită dintr-un operator şi un operand. Operandul în unele
cazuri poate să lipsească exemplu instrucţiunea EP – sfârşit program.
Operaţiile descrise de operator (operaţii logice, aritmetice şi de transfer) vor
utiliza ca al doilea operand memoria de lucru numită acumulator (se va nota cu A).
Rezultatul operaţiei logice aritmetice sau de încărcare va fi stocat tot în această memorie
A.

Instrucţiuni de transfer

Instrucţiunea de încărcare
Această instrucţiune are formatul următor:
L operand
Ea are ca efect încărcare în memoria de lucru A a operandului respectiv.
124
Nume operand poate fi:
numele intrării care se încarcă (L I0.0 - încarcă intrarea I0.0 în acumulator)
numele unui marker (memorie) care se încarcă (L M0.0 – încarcă memoria M0.0
în acumulator).
numele unei constante care se încarcă (L KB 1 – încarcă constanta de tip byte 1
în acumulator.
Instrucţiunea de încărcare cu valoare negată
LN operand - Ea are ca efect încărcare în memoria de lucru A a valorii negate
corespunzătoare operandului respectiv.

Instrucţiunea de încărcare a conţinutului registrului auxiliar


GOR – Această instrucţiune are ca efect încărcarea conţinutului registrului
auxiliar în registrul de lucru şi se utilizează la nivel de byte sau word.

Instrucţiunea de transfer la ieşire (alocare)


Această instrucţiune are formatul:
= operand
Ea are ca efect transferul conţinutului memoriei de lucru la adresa
corespunzătoare operandului.
Operandul poate fi o memorie (marker) –
= M0.0 - conţinutul acumulatorului se transferă în memoria M0.0
sau o ieşire
= Q 0.0 - conţinutul acumulatorului se transferă la ieşirea Q0.0.

Instrucţiunea de transfer negat


=N operand
Conţinutul acumulatorului se transferă cu valoare negată la operandul specificat

Exemplu 1:

Să se realizeze un program care afişează la ieşirea Q0.0 valoarea logică a intrării


I0.0.

L I.0.0.
= Q.00

Instrucţiuni logice

Instrucţiunile logice ce se pot realiza sunt: ŞI, SI negat, SAU, SAU NEGAT,
SAU exclusiv, SAU exclusiv negat şi negare.

Instrucţiunea ŞI
A operand – Se efectuează şi logic între acumulator şi operand iar rezultatul se
depune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.

125
Exemplu 2:

Să se realizeze un program care afişează la ieşirea Q0.0 valoarea logică a


funcţiei I0.0*I0.1.
L I0.0 Încarcă I0.0 în acumulator
A I0.1 Efectuează I0.0*I0.1 şi păstrează rezultatul în acumulator
=Q0.0 Transferă conţinutul acumulatorului (I0.0*I0.1) la ieşirea
Q0.0

Instrucţiunea ŞI negat

AN operand - Se efectuează şi logic între acumulator şi valoarea negată a


operandului iar rezultatul se depune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.

Instrucţiunea SAU
O operand - Se efectuează sau logic între acumulator şi operand iar rezultatul se
dune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.

Instrucţiunea SAU negat


ON operand - Se efectuează sau logic între acumulator şi valoarea negată a
operandului iar rezultatul se dune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.

Instrucţiunea SAU exclusiv


XO operand - Se efectuează sau exclusiv logic între acumulator şi operand iar
rezultatul se dune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.

Instrucţiunea SAU exclusiv negat


XON operand - Se efectuează sau logic între acumulator şi valoarea negată a
operandului iar rezultatul se dune în acumulator.
Operandul poate fi o intrare, o memorie (marker) sau o ieşire.

Instrucţiunea de negare.
NOT – Se neagă rezultatul stocat în registrul de lucru.

Instrucţiunea Set
S operand – Efectuează atribuirea valorii 1 operandului specificat dacă
conţinutul registrului de lucru este egal cu 1. Operandul trebuie să fie de tip bit.

Instrucţiunea Reset
R operand – Efectuează atribuirea valorii 0 operandului specificat dacă
conţinutul registrului de lucru este egal cu 1. Operandul trebuie să fie de tip bit.
126
Instrucţiunea sfârşit modul
EM – Această instrucţiune marchează sfârşitul modulului program.

Instrucţiunea sfârşit program


EP – Reprezintă sfârşitul logic şi fizic al programului. Instrucţiunea se
amplasează după ultimul pas din programul principal producând un salt către sistemul
de operare.

Lucrări experimentale
1. Se vor scrie programele în SucoSoft utilizând instrucţiunile prezentate pentru
următoarele aplicaţii:
• Q0.0=I0.1*I0.3 + I0.2*I0.4 + I0.5
• Partea de pornire/ oprire a unei instalaţii dacă există condiţii de pornire.
START – I0.0
STOP – I0.3
COPO – I0.5
INSTF – Q0.2
INSTF=(START* COPO+INSTF)*STOP
• Se va realiza fişierul de referinţă şi se vor introduce simbolurile
următoare: START – I0.0, STOP – I0.3, COPO – I0.5, INSTF – Q0.2
• Se va rescrie programul utilizând simboluri
2. Se vor verifica programele şi se vor transfera pe PLC.
3. Se vor simula programele şi se vor nota observaţiile.

127
LUCRAREA 3

5.3 Utilizarea instrucţiunilor aritmetice şi de salt pentru


programarea controlerului PS 4 201 MM1

Instrucţiuni de salt

Instrucţiunea de salt necondiţionat


JP etichetă – La întâlnirea acestei instrucţiuni se realizează un salt necondiţionat
în program până la adresa dată de etichetă. Eticheta poate fi specificată la începutul unui
modul imediat după identificator.

Instrucţiuni de salt condiţionat


JC etichetă - La întâlnirea acestei instrucţiuni se realizează un salt în program
până la adresa dată de etichetă, numai dacă conţinutul registrului acumulator este egal
cu 1. În caz contrar se execută instrucţiunile următoare.
JCN etichetă - La întâlnirea acestei instrucţiuni se realizează un salt în program
până la adresa dată de etichetă, numai dacă conţinutul registrului acumulator este egal
cu 0. În caz contrar se execută instrucţiunile următoare.

Ramificaţie condiţională

BX etichetă – La întâlnirea acestei instrucţiuni se evaluează valoarea expresiei


condiţionale (dată de variabila condiţională X). Dacă valoarea expresiei X este adevărat
se realizează un salt la adresa dată de etichetă.
X – poate fi unul din cei patru biţi ai registrului de stare C (transport), Z(zero),
P/M (plus/minus), V(depăşire). sau una din expresiile E, LT, GT, LE, GE. setate ca
urmare a unei comparaţii.
Instrucţiunile vor avea semnificaţiile următoare:
BB nr etichetă – realizează un salt la adresa dată de etichetă dacă bitul nr este 1.
BNB nr etichetă – realizează un salt la adresa dată de etichetă dacă bitul nr este
0.
BC etichetă - realizează un salt la adresa dată de etichetă dacă bitul de transport
este 1.
BNC etichetă - realizează un salt la adresa dată de etichetă dacă bitul de
transport este zero.
BP etichetă - realizează un salt la adresa dată de etichetă dacă bitul de semn este
plus.
BM etichetă - realizează un salt la adresa dată de etichetă dacă bitul de semn
este minus.

128
BV etichetă - realizează un salt la adresa dată de etichetă dacă bitul de depăşire
este 1.
BNV etichetă - realizează un salt la adresa dată de etichetă dacă bitul de
depăşire este zero.
BE etichetă - realizează un salt la adresa dată de etichetă dacă termenii
comparaţi prin CMP sunt egali.
BNE etichetă - realizează un salt la adresa dată de etichetă dacă termenii
comparaţi prin CMP nu sunt egali.
BLT etichetă - realizează un salt la adresa dată de etichetă dacă relaţia între
termenii comparaţi prin CMP este mai mic (<).
BGT etichetă - realizează un salt la adresa dată de etichetă dacă relaţia între
termenii comparaţi prin CMP este mai mare (>).
BLE etichetă - realizează un salt la adresa dată de etichetă dacă relaţia între
termenii comparaţi prin CMP este mai mic sau egal (<=).
BGE etichetă - realizează un salt la adresa dată de etichetă dacă relaţia între
termenii comparaţi prin CMP este mai mare sau egal(>=).

Instrucţiunea de comparaţie

CP operand – Compară operandul specificat cu conţinutul registrului de lucru şi


se setează operatorii condiţionali BE, BNE,BLT, BGT, BLE, BGE. Aceşti operatori
condiţionali care realizează o ramificaţie condiţională sunt utilizaţi împreună cu CP.
Biţii condiţionali sunt alteraţi imediat de comparaţie.
Operandul poate fi o intrare, o constantă, o memorie (marker) sau o ieşire de
tipul byte sau word. Datele comparate trebuie să aibă acelaşi tip.

Instrucţiuni aritmetice

Instrucţiunea de adunare
ADD operand - Se efectuează adunarea între conţinutul acumulatorului şi
valoarea operandului iar rezultatul se depune în acumulator.Valoarea operandului nu
este alterată.
Operandul poate fi o intrare, o constantă, o memorie (marker) sau o ieşire de
tipul byte sau word. Valorile implicate în adunare sunt întregi cu semnul plus sau minus.

Exemplu
L MB 3
ADD KB 1
=MB3

Această secvenţă de instrucţiuni realizează MB3=MB3+1.

Instrucţiunea de scădere
SUB operand - Efectuează scăderea între conţinutul acumulatorului şi valoarea
operandului iar rezultatul se depune în acumulator. Valoarea operandului nu este
alterată.
129
Operandul poate fi o intrare, o constantă, o memorie (marker) sau o ieşire de
tipul byte sau word. Valorile implicate în scădere sunt întregi cu semnul plus sau minus.
Exemplu
L MB 1
SUB MB 3
=MB5
Această secvenţă de instrucţiuni realizează MB5=MB1-MB3.

Instrucţiunea de înmulţire
MUL operand - Efectuează înmulţirea între conţinutul acumulatorului şi
valoarea operandului iar rezultatul se depune în acumulator. Valoarea operandului nu
este alterată.
Operandul poate fi o intrare, o constantă, o memorie (marker) sau o ieşire de
tipul byte sau word. Valorile implicate în înmulţire sunt întregi cu semnul plus sau
minus.

Instrucţiunea de împărţire
DIV operand - Efectuează împărţirea între conţinutul acumulatorului şi valoarea
operandului iar rezultatul se depune în acumulator. Valoarea operandului nu este
alterată.
Operandul poate fi o intrare, o constantă, o memorie (marker) sau o ieşire de
tipul byte sau word.

La efectuarea operaţiilor aritmetice biţii condiţionali din registrul de stare sunt


actualizaţi:
C – (bit de transport) va fi egal cu 1 dacă există transport
Z – (zero) – va fi egal cu 1 dacă rezultatul operaţiei este egal cu zero.
V – (depăşire) – va fi egal cu 1 dacă ca urmare a efectuării operaţiei avem
depăşire.
(Pentru variabilele de tip byte vom avea valori fără depăşire în intervalul –128 ,
+127 iar pentru variabilele de tip word în intervalul –32768, +32767.)

Lucrări experimentale
1. Se vor realiza programele pentru exemplele prezentate anterior.
2. Se va realiza un program care va analiza intrările analogice: IAW4 şi IAW6
şi va genera ieşirea Q 0.0 dacă IAW4>IAW6, ieşirea Q0.1 dacă
IAW4=IAW6 şi ieşirea Q0.2 dacă IAW4<IAW6.
3. Se va compila programul şi se va transfera pe controlerul programabil.
4. Se va simula folosind simulatorul pentru intrări analogice.
5. Se va realiza acelaşi program dar utilizând intrările prescrise IAW0 şi IAW2.
6. Se va realiza un program care va memora numărul de acţionări a intrării I0.0
(trecere din 0 în 1) utilizând instrucţiuni aritmetice. Pentru memorare se va
utiliza markerul MW0.
7. Programul va fi compilat şi transferat pe controlerul programabil.
8. Se va vizualiza ON LINE conţinutul memoriei MW0, intrând in modul
TEST – F2 şi apoi STATUL DISPLAY IL F4.

130
LUCRAREA 4

5.4 Realizarea aplicaţiilor utilizând temporizări şi


generatoare de impulsuri

Bloc funcţional TR

Temporizator cu întârziere la anclanşare

Sintaxa: apelare:
TR <Numărul blocului> - S (baza de timp)

Reprezentare:
TR7-S
[ ] S: start şi set
[ ] R: reset
[ ] STOP: întrerupere pentru timer
[W] I: setează valoarea temporizării
[ ] EQ: ieşirea temporizării
[W] Q: valoarea timpului rămas în unităţi ai bazei de timp
Baza de timp poate fi în ms (milisecunde) sau s (secunde).
Dacă intrarea „S” este 1, ieşirea „EQ” o urmează, întârziată de timpul „T”, unde:
T= (valoarea temporizării)*(baza de timp).
Modul în care lucrează această temporizare este prezentat în diagramele
următoare.
S
1

0 t
EQ
1

0 t
T

131
S
1

0 t
EQ

0 t
T

Pentru T > durata setării temporizării (S) ieşirea EQ rămâne 0.


Dacă se acţionează intrarea de STOP atunci la T se adăuga şi timpul cât e STOP.

Bloc funcţional TF

Temporizator cu întârziere la revenire

Reprezentare:
TF7-ms-R
[ ] S: start şi set
[ ] R: reset
[ ] STOP: întrerupere pentru timer
[W] i: setează valoarea timpului
[ ] EQ: ieşirea de control
[W] Q: valoarea timpului rămas în ms

Ieşirea temporizării EQ se setează High pe frontul crescător al mărimii S.


Dacă intrarea „S” trece în Low, ieşirea „EQ” o urmează, întârziată de timpul „T”
(1), unde T = (factorul de întârziere)*( baza de timp).
Timpul setat ar trebui întotdeauna să fie mai mare decât timpul ciclului pentru a
asigura detectarea întârzierii. Ieşirea „Q” arată timpul trecut, în unităţi din baza de timp
selectată. Măsurarea timpului poate fi întreruptă printr-un semnal „H” la intrarea
„STOP”; adică timpul de întârziere „T” este extins cu durata egală cu timpul cât intrarea
„STOP” este în HIGH. Ieşirea EQ urmăreşte ieşirea S numai dacă intrarea STOP este
LOW, când intrarea de set este HIGH. Cronometrul este resetat la starea iniţială dacă
intrarea „R” este HIGH.

132
S
1

0u t
EQ

0 T t

Dacă se acţionează intrarea de STOP atunci la T se adăuga şi timpul cât e STOP.

Bloc funcţional TGEN

Generator de impulsuri

Sintaxă:
TGEN<bloc nr.>
S: Start şi set
I: Perioada semnalului în ms (L KW 400, pentru 400ms)
P: Ieşirea pulsului
baza de timp este în milisecunde; nu necesită nici o specificaţie.

Modul de funcţionare a generatorului este dată de diagrama următoare.

T
I va reprezenta perioada T a semnalului.

Lucrări experimentale
1. Se va implementa o temporizare la anclanşare având ieşirea la Q0.0 şi fiind
activată de I0.0
2. Se va simula programul şi se vor da diferite valori pentru temporizări.

133
3. Se va implementa o temporizare la revenire având ieşirea la Q0.2 şi fiind
activată de I0.2
4. Se va simula programul şi se vor da diferite valori pentru temporizări.
5. Se va simula programul şi se vor da diferite valori pentru temporizări. Se va
analiză efectul butonului de STOP – I0.1
6. Se va implementa un generator de impulsuri pe ieşirea Q0.3 având perioada
de 400ms. Setarea se va realiza prin intrarea I0.5.
7. Program pentru semnalizare avarie
Daca semnalul de avarie AV- I0.2 este 1 el va activa lampa de semnalizare E1-
Q0.1. Dacă durata acestui semnal este mai mare de 2s va intra în funcţiune
lampa cu funcţionare intermitentă E2 – Q0.2 (perioadă 400ms).

134
LUCRAREA 5

5.5 Realizarea aplicaţiilor pe baza reprezentării Grafcet


utilizând funcţii de control secvenţial

Metoda de reprezentare Grafcet

GRAFCET este o metodă de reprezentare de tip graf, care comportă două tipuri
de noduri: etape şi tranziţii.
Arcele fac legătura între etape şi tranziţii. Pot fi de la etape la tranziţii sau de la
tranziţii la etape.
O etapă poate să aibă două stări, adică să fie activă (reprezentată prin marcaj)
sau inactivă (figura 4.35). Etapa care trebuie să fie activă când sistemul este pus în
funcţiune se numeşte etapă iniţială.

1 - etapă inactivă

2 - etapă activă
.

0 - etapă iniţială

Figura 4.35 Reprezentarea etapelor

Tranziţiile sunt reprezentate ca în figura 3.5. Fiecărei tranziţii Ti îi este asociată o


funcţie numită funcţie de receptivitate Ri.
Ri = funcţie logică (variabile de intrare sau/şi de stare)

Ti Ri

Figura 4.36 Reprezentarea tranziţiilor

Dacă sunt mai multe arce care sosesc sau pleacă de la aceeaşi tranziţie,
reprezentarea conţine şi o linie dublă.

135
a) joncţiune ŞI
Ti c) Ti Ri
Ri

b) Ti Ri distribuţie ŞI
joncţiune şi
distribuţie ŞI

Figura 4.37 Joncţiuni şi distribuţii ŞI

Când două sau mai multe linii se conectează la aceeaşi etapă, se regrupează
(figura 4.38).
Ti Ti+1
i

i
Ti Ti+1

a) joncţiune SAU a) distribuţie SAU

Figura 4.38 Joncţiuni şi distribuţii SAU

O tranziţie poate să nu aibă etape de intrare sau etape de ieşire. În primul caz
vom avea tranziţie sursă, iar în al doilea - tranziţie finală.
Ansamblul etapelor active la un moment dat, defineşte situaţia la acel moment.
O situaţie corespunde unei stări a sistemului. Evoluţia stării se va face prin efectuarea
tranziţiilor.
Acţiunile sunt reprezentate într-un dreptunghi asociat etapelor, acestea putând fi
executate când etapa respectivă este activă (figura 4.39).

i Acţiuni i

Ti Ri

i+1 Acţiuni i+1

Figura 4.39 Reprezentarea acţiunilor


136
O tranziţie este executabilă dacă următoarele două condiţii sunt îndeplinite:
ƒ toate etapele care preced tranziţia sunt active (se spune că tranziţia este
validă);
ƒ funcţia de receptivitate asociată tranziţiei are valoarea adevărat sau este egală
cu 1.
Execuţia unei tranziţii constă în a dezactiva toate etapele dinaintea tranziţiei şi a
activa toate etapele de după. Aceste operaţii sunt indisociabile şi sunt executate
simultan. Execuţia unei astfel de tranziţii este considerată de durată nulă.

Reguli de execuţie a tranziţiilor:


ƒ toate tranziţiile executabile sunt imediat executate;
ƒ etapa ce este simultan activată şi dezactivată este considerată activă;
ƒ mai multe tranziţii simultan executabile sunt simultan executate.
O variabilă de intrare de durată foarte mică este considerată un eveniment. În
reprezentarea de tip Grafcet este introdusă o variabilă de temporizare t/i/∆ - o variabilă
logică care va fi egală cu 1, dacă a trecut un interval de timp ∆, din momentul ultimei
treceri a etapei i de la starea inactivă la starea activă.
Ca exemplu, pentru secvenţa din figura 4.40.a este prezentat modul de efectuare
a tranziţiilor, prin diagrama din figura 4.40.b.

1
a
0
i
1
b
0
Ti a 1
Xi
0

Xi 1
0
i+1
1 10 s
t/i+1/10 s 0
Ti+1 b 1 20 s
t/i+1/20 s 0

a) b)

Figura 4.40 Diagrama pentru reprezentarea modului de efectuare


a tranziţiilor

- unde:
ƒ Xi reprezintă starea etapei i, iar Xi+1 reprezintă starea etapei i+1;
ƒ t/i+1/10s şi t/i+1/20s sunt variabile de temporizare raportate la etapa i+1;
ƒ a şi b - funcţii de receptivitate.
Acţiunile pot fi împărţite în două categorii: acţiuni de nivel impulsiv şi acţiuni de
nivel (pot fi condiţionate sau necondiţionate).
Acţiunile de nivel sunt definite numai pentru situaţii stabile.

137
Acţiunile impulsive au durată foarte scurtă şi realizează schimbarea unei
variabile sau contorizarea unei mărimi.
Pentru sistemul modelat, aceste acţiuni pot fi ieşiri. Funcţia de receptivitate
poate fi un eveniment extern sau un eveniment şi o condiţie.

Macroetape şi pseudo-macroetape

Macroetapele şi pseudo-macroetapele sunt utilizate pentru descrierea sistemelor


complexe. Acestea permit detalierea separată a unor părţi din GRAFCET.

5
M30

Figura 4.41 Reprezentarea macroetapei

Macroetapa are numai o intrare şi o ieşire. Execuţia unei tranziţii înainte de


macroetapă conduce la activarea etapei de intrare din descrierea macroetapei.
Pseudo-macroetapa - reprezintă o parte din GRAFCET, care este reprezentată
concentrat.

ii Acţiuni i

Figura 4.42 Reprezentarea pseudo-macroetapei

Acţiunile sunt reprezentate de acţiunile ce aparţin etapelor ce intră în descrierea


pseudo-macroetapei.

Blocul funcţional SK (control secvenţial)

Această funcţie utilizează reprezentarea GRAFCET.


Controlul secvenţial dă posibilitatea ca diferitele sarcini să fie executate într-o
anumită ordine, conform reprezentării GRAFCET. Acţiunile prevăzute în funcţia de
control secvenţial sunt executate pas cu pas. Secvenţa unui pas asigură activarea acelui
pas numai dacă pasul anterior a fost dezactivat. Aceasta permite secvenţelor complexe
să fie programate simplu şi clar. Paşii curenţi activi sunt întotdeauna indicaţi în acest fel,
simplificând astfel diagnosticarea erorilor.
Avantajele blocului secvenţial SK:
− structura clară a secvenţelor complexe;
− paşii de cuplare între etape nu trebuie programaţi;
− caracteristici simple de setare şi resetare a paşilor;
− modificările la blocul funcţional SK sunt posibile, fără probleme;
138
− diagnosticări simple ale erorilor prin programul ce indică paşii activi;
− procesare rapidă a paşilor din secvenţă.
Programarea controlului secvenţial permite reprezentarea grafică sau structurală
a etapelor.
Etapa de start sau iniţială defineşte poziţia iniţială, conţinând condiţiile de start şi
de iniţializare de la începutul procesului. În reprezentarea Grafcet această etapa este
întotdeauna simbolizată printr-un dreptunghi cu linie dublă. Paşii sunt numerotaţi
consecutiv, fiecărui pas fiindu-i asignate anumite acţiuni. Acţiunile sunt executate
numai atunci când etapa corespunzătoare este activă.
O caracteristică importantă este aceea că numai un singur pas este activ la un
moment dat, în timp ce ceilalţi sunt ignoraţi. Programul lucrează în pasul curent până
când este executată tranziţia următoare. Numai după execuţia acestei tranziţii,
programul continuă cu procesarea pasului următor.
Cu ramurile de tip SAU, poate fi executat numai un singur pas dintre paşii
programaţi în paralel (o singură linie orizontală). Cu ramurile de tip ŞI pot fi executate
mai multe bifurcaţii paralele, în acelaşi timp (linie dublă orizontală).
O ramură ŞI poate fi sincronizată. Sincronizarea asigură ca tranziţia finală a
secvenţei ŞI să nu fie procesată, până când ultima etapă a ramurilor paralele nu devine
activă.

Sintaxa funcţiei de control secvenţial

SK <Nr. Blocului funcţional> - <Nr. de paşi> - R


(R – numai dacă se cere o funcţie de memorare)

Nr. blocului funcţional: este limitat numai de mărimea memoriei.


Nr. de paşi: 1…99
Adâncimea de cascadare: 8

Timpul de execuţie:
ƒ cu SET = RESET = 0: aproximativ 130 ms
ƒ cu RESET = 1: aproximativ 240 ms
ƒ cu SET = 1: aproximativ 250 ms
ƒ cu SINO invalid: aproximativ 150 ms
ƒ
Reprezentarea va fi următoarea:

SK i - j
[ ] S: S activează funcţia de control secvenţial
[ ] R: R resetează funcţia de control secvenţial şi
activează programul de iniţializare
[b] SINO: SINO defineşte contorul numărului de etapă
[b] ERR: ERR indică starea de eroare
[b] SQNO: SQNO indică numărul etapei care se execută
[ ] TG: TG indică schimbarea numărul etapei de
executat
[$] INIT: INIT numele subprogramului de iniţializare
139
[$] AC1: AC1 numele etapei 1 (exemplu $START)
[$] AC2: AC2 numele etapei 2
[$] AC3: AC3 numele etapei 3
.
.
[$] ACj: ACj numele etapei j

Subprogramul de iniţializare va stabili numărul primei etape de executat.


$INIT “denumire suprogram
L KB 1 încarcă 1 în registrul de lucru
= SKi SINO transferă numărul etapei (1) ce urmează a se
executa la contorul de etapă
EM sfârşit modul

Paşii individuali sunt creaţi de subprograme care conţin acţiuni ce urmează a fi


executate. Condiţiile necesare de trecere la o altă etapă trebuie programate între sfârşitul
unui pas şi începutul altuia. Paşii pot fi executaţi, fie succesiv, fie în paralel sau într-o
anumită ordine permiţând astfel, formarea unor secvenţe complexe necesare realizării
aplicaţiei.
Funcţia de control secvenţial pentru execuţia liniară a paşilor este alcătuită din
următoarele elemente:
ƒ iniţializarea blocului funcţional SK;
ƒ procesarea blocului funcţional SK;
ƒ schema stărilor blocului funcţional.
Iniţializare: Intrarea SINO specifică ce pas (etapă) urmează să fie procesat.
Înainte ca secvenţa pasului să fie apelată pentru prima dată, această intrare trebuie
iniţializată cu numărul primului pas ce urmează a fi procesat. Iniţializarea este cel mai
bine îndeplinită de subprogramul INIT, care rămâne activ atâta timp cât intrarea
RESET=1. Operandul INB 0.0 (indicator pentru primul ciclu după Reset sau după
apăsarea butonului de reset), poate fi folosit pentru intrarea de Reset a funcţiei de
control secvenţial. Intrarea de Reset este setată la 1, în primul ciclu după începerea
programului. Programul INIT asignează intrării SINO, numărul primului pas.
Aceasta iniţializare asigură că blocul funcţional SK cunoaşte numărul primei
etape ce urmează a fi procesată. Valoarea numărătorul de pas SINO va fi schimbată în
funcţie de etapa ce urmează a fi executată. Secvenţa logică a programului utilizator
poate fi scrisă simplu.
Pentru a activa blocul funcţional, intrarea de SET trebuie să fie 1. Aceasta
activează simultan etapa (pasul) definit la intrarea SINO. Dacă ambele intrări S şi R
sunt 1 în acelaşi timp, va fi executat numai subprogramul de iniţializare.

Lucrări experimentale

1. Să se realizeze reprezentarea grafcet a unui proces secvenţial alcătuit din


trei etape. In prima etapă este făcută ieşire Q0.1. Din această etapă se
poate trece în etapa a doua, dacă este activată intrarea I0.2. În etapa a

140
doua se realizează ieşirea Q0.2. Din această etapă se poate trece în etapa
a treia dacă este activată intrarea I0.3. În etapa a treia se realizează ieşirea
Q0.3. Din această etapă se poate trece în prima etapă dacă este activată
intrarea I0.1. La activarea butonului de STOP-I0.0 se opreşte procesul.
2. Se va edita programul folosind funcţia de control secvenţial şi se va
compila.
3. Se va transfera programul, se va simula şi se va testa comportarea
acestuia la diverse combinaţii ale intrărilor.

141
LUCRAREA 6

5.6 Realizarea programului pentru automatizarea unui


proces ciclic secvenţial

Tema lucrării – Realizarea programului PLC pentru următoarea aplicaţie.


Procesul ce constituie obiectul acestei aplicaţii este alcătuit dintr-o etapă iniţială
şi din opt etape ce se desfăşoară secvenţial şi ciclic.
Pornirea secvenţei ciclice se poate realiza prin acţionarea butonului de START,
dacă sunt îndeplinite condiţiile de pornire CP. Oprirea instalaţiei se realizează dacă este
acţionat butonul STOP, indiferent de etapa în care se află. Duratele în care sunt active
etapele sunt egale şi luate astfel încât, să poată acoperi efectuarea acţiunilor cu timpul
de execuţie cel mai mare. Pentru a nu se folosi opt temporizări şi pentru a putea controla
timpul de desfăşurare a fiecărei etape, se utilizează un semnal dreptunghiular (N), de
perioadă constantă, ce permite trecerea de la o etapă la alta, atunci când se detectează un
front crescător sau descrescător.
Din figura următoare se poate observa că, pe perioada unei etape palierul
semnalului este constant. În etapa 1 N=1, în etapa 2 N=0, în etapa 3 N=1 şi aşa mai
departe. Se observă că succesiunea etapelor este 1, 2, 3, 4, 5, 6, 7, 8, după care se repetă
(1,2, ...).

Figura 4.43 Semnal de comutare a etapelor

Semnalul dreptunghiular se va realiza cu ajutorul funcţiei TGENi disponibilă în


Sucosoft. Activarea funcţiei se realizează prin acţionarea butonului START, iar
semnalul generat este transferat în memoria (de tip bit) M0.0.

Lucrări experimentale
1. Realizarea schemei Grafcet pentru procesul prezentat

142
Reprezentarea Grafcet a procesului

Simbolurile utilizate în reprezentarea Grafcet au următoarea semnificaţie:


1. A1 Acţiuni etapa 1
2. A2 Acţiuni etapa 2
3. A3 Acţiuni etapa 3
4. A4 Acţiuni etapa 4
5. A5 Acţiuni etapa 6
6. A7 Acţiuni etapa 7
7. A8 Acţiuni etapa 8
8. N Semnal comutare etape
9. START Pornire proces ciclic
10. CP Condiţii de pornire
11. STOP Oprire proces ciclic

143
2. Realizarea programului pentru controlerul programabil cu ajutorul funcţiei
de control secvenţial plecând de la reprezentarea Grafcet a procesului.

Programul pentru controlerul programabil PS4 201 MM1 ce permite


automatizarea acestui proces este următorul:
" Printout of file: e:luc.q42 Date: 21. 3. 5"

00000 "
001 #include "luc.k42"
002 SK0 -9 Funcţie de control
secvenţial
003 [ ] S: 'START Pornire proces ciclic
004 [ ] R: 'STOP Oprire proces ciclic
005 [b] SINO:
006 [b] ERR:
007 [b] SQNO:
008 [ ] TG:
009 [$] INIT: $INI
010 [$] AC1: $E0
011 [$] AC2: $E1
012 [$] AC3: $E2
013 [$] AC4: $E3
014 [$] AC5: $E4
015 [$] AC6: $E5
016 [$] AC7: $E6
017 [$] AC8: $E7
018 [$] AC9: $E8
019 TGEN0 Funcţie generator de
semnal dreptunghiul
020 [ ] S: 'START Pornire proces ciclic
021 [w] I: KW 600
022 [ ] P: M 0.0 Semnal comutare etape
023 EP
00001 $INI "iniţializare
001 L KB 1
002 = SK0 SINO Funcţie de control
secvenţial
003 EM
00002 $E0 "Etapa 0
001 L 'START Pornire proces ciclic
002 A 'CP Condiţii de pornire
003 AN 'STOP Oprire proces ciclic
004 A 'N Semnal comutare etape
005 JCN END
006 L KB 2
007 = SK0 SINO Funcţie de control
secvenţial
00003 END "
001 EM

00004 $E1 "


001 L K 1
002 = Q 0.0 Acţiuni etapa 1
003 =N Q 0.7 Acţiuni etapa 8
004 LN 'N Semnal comutare etape
005 AN 'STOP Oprire proces ciclic
144
006 JCN END
007 L KB 3
008 = SK0 SINO Funcţie de control
secvenţial
00005 END "
001 EM

00006 $E2 "


001 L K 1
002 = Q 0.1 Acţiuni etapa 2
003 =N Q 0.0 Acţiuni etapa 1
004 L 'N Semnal comutare etape
005 AN 'STOP Oprire proces ciclic
006 JCN END
007 L KB 4
008 = SK0 SINO Funcţie de control
secvenţial
00007 END "
001 EM

00008 $E3 "


001 L K 1
002 = Q 0.2 Acţiuni etapa 3
003 =N Q 0.1 Acţiuni etapa 2
004 LN 'N Semnal comutare etape
005 AN 'STOP Oprire proces ciclic
006 JCN END
007 L KB 5
008 = SK0 SINO Funcţie de control
secvenţial
00009 END "
001 EM

00010 $E4 "


001 L K 1
002 = Q 0.3 Acţiuni etapa 4
003 =N Q 0.2 Acţiuni etapa 3
004 L 'N Semnal comutare etape
005 AN 'STOP Oprire proces ciclic
006 JCN END
007 L KB 6
008 = SK0 SINO Funcţie de control
secvenţial
00011 END "
001 EM

00012 $E5 "


001 L K 1
002 = Q 0.4 Acţiuni etapa 5
003 =N Q 0.3 Acţiuni etapa 4
004 LN 'N Semnal comutare etape
005 AN 'STOP Oprire proces ciclic
006 JCN END
007 L KB 7
008 = SK0 SINO Funcţie de control
secvenţial
00013 END "
001 EM
145
00014 $E6 "
001 L K 1
002 = Q 0.5 Acţiuni etapa 6
003 =N Q 0.4 Acţiuni etapa 5
004 L 'N Semnal comutare etape
005 AN 'STOP Oprire proces ciclic
006 JCN END
007 L KB 8
008 = SK0 SINO Funcţie de control
secvenţial
00015 END "
001 EM

00016 $E7 "


001 L K 1
002 = Q 0.6 Acţiuni etapa 7
003 =N Q 0.5 Acţiuni etapa 6
004 LN 'N Semnal comutare etape
005 AN 'STOP Oprire proces ciclic
006 JCN END
007 L KB 9
008 = SK0 SINO Funcţie de control
secvenţial
00017 END "
001 EM

00018 $E8 "


001 L K 1
002 = Q 0.7 Acţiuni etapa 8
003 =N Q 0.6 Acţiuni etapa 7
004 L 'N Semnal comutare etape
005 AN 'STOP Oprire proces ciclic
006 JCN END
007 L KB 1
008 = SK0 SINO Funcţie de control
secvenţial
00019 END "
001 EM
3. Se vor utiliza simboluri în program specificate în continuare.

Fişierul de referinţă va conţine următoarele elemente.

Symbol Operand M/B Terminal Operand comment

A1 Q 0.0 Acţiuni etapa 1


A2 Q 0.1 Acţiuni etapa 2
A3 Q 0.2 Acţiuni etapa 3
A4 Q 0.3 Acţiuni etapa 4
A5 Q 0.4 Acţiuni etapa 5
A6 Q 0.5 Acţiuni etapa 6
A7 Q 0.6 Acţiuni etapa 7
A8 Q 0.7 Acţiuni etapa 8
N M 0.0 Semnal comutare etape
SK0 Funcţie de control
secvenţial

146
GN TGEN0 Funcţie generator de
semnal dreptunghiul
START I 0.0 Pornire proces ciclic
CP I 0.3 Condiţii de pornire
STOP I 0.5 Oprire proces ciclic

4. Se va compila programul şi se va transfera pe PLC


5. Se va simula şi se vor da valori diferite pentru perioada semnalului. Perioada
semnalului se va citi de la intrarea analogică IAW0. Reglarea perioadei
semnalului se va realiza din potenţiometrul P1 disponibil pe controler.

147
LUCRAREA 7

5.7 Automatizarea operaţiilor de dozare, ambalare şi


etichetare a pastelor făinoase cu controlere PS4

Lucrarea de laborator constă în realizarea programului pentru PLc în SucoSoft


pentru următoarea aplicaţie.
Aplicaţia prezintă o soluţie de automatizare a operaţilor de dozare, ambalare şi
etichetare a pastelor făinoase scurte. Sistemul de automatizarea a fost conceput pentru o
structură mecanică propusă pentru efectuarea acestor operaţii.
Sistemul a fost conceput ca o maşină automată pentru dozare, ambalare şi
etichetare (figura 3.27).
Secvenţele de operaţii efectuate sunt următoarele:
A. Antrenare ambalaj. Antrenarea ambalajului se realizează până la
sesizarea ambalaj pregătit sau poziţie de prindere, dacă nu exista
deja ambalaj pregătit.
B. Pregătire ambalaj. Această operaţie se realizează numai la pornirea
maşinii, dacă nu există deja ambalaj pregătit (pungă). Folia pentru
ambalaj este antrenată până în poziţia de oprire (prindere). Se
fixează folia, se lipeşte, (lipitură pe două nivele), iar în continuare
se taie. În acest fel s-a pregătit partea de jos a pungii. Ambalajul
este antrenat până la sesizarea ambalaj pregătit.
C. Dozarea. Se eliberează dozatoarele 1 şi 2, iar la atingerea greutăţii
G2, se închide dozatorul 2. Dozatorul 1 va permite o încărcare mai
lentă şi implicit o dozare mai precisă. La atingerea greutăţii G1
(greutatea dorită), se închide şi dozatorul G1.
D. Ambalarea. Se fixează folia şi se lipeşte, (lipitură pe două nivele).
E. Etichetarea. Se acţionează dispozitivul de etichetare şi se taie între
cele două rânduri de lipituri
F. Evacuarea. Se acţionează dispozitivul de evacuare. După această
operaţie se continuă cu repetarea ciclică a etapelor A, C, D, E, F.

148
Figura 4.44 Maşină automată pentru dozare, ambalare şi etichetare
1 – dozator 1
2 – rolă antrenare ambalaj
3 – dozator 2
4 – folie ambalaj
5 – dispozitiv de măsurare a greutăţii
6 – paste făinoase ambalate
Pornirea maşinii se realizează prin acţionarea butonului de Start, iar oprirea prin
acţionarea butonului de Stop sau Avarie.

Lucrări experimentale

1. Se va realiza schema Grafcet a procesului.

149
2. Se vor stabili numărul de intrări şi ieşiri necesare pentru controlul procesului.
3. Se va realiza fişierul de configurare specificând elementele hardware
utilizate. Pentru această aplicaţie se poate utiliza un modul master PS4 201
MM1 şi un modul slave LE 116-XD1.

150
PC
PS4 - 201-MM1 LE 116-XD1

Figura 4.45
3. Stabilirea valorii măsurate (greutatea)
Măsurarea greutăţii se realizează cu ajutorul unui traductor de greutate care
furnizează un semnal cuprins între 0 şi 10V proporţional cu greutatea măsurată.
Precizia măsurării este dată de cei 10 biţi pe care se realizează conversia intrării
analogice.
10v
Precizia de măsurare Pm = 10 = 9,76mV
2
Intrarea analogică IAW4 va fi în funcţie de valoarea greutăţii măsurate.
Greutăţii G2 (la care se închide dozatorul 2) îi va corespunde o valoare de 7V,
iar lui G1 o valoare de 8V.
Valoarea hexa corespunzătoare pentru G2 va fi:
210
7∗ = 717 = 2CDH
10
Valoarea hexa corespunzătoare pentru G1 va fi:
210
8∗ = 819 = 333H
10
4. Realizare fişier de referinţă. Fişierul de referinţă va cuprinde elementele din
tabloul următor.

Simbol Operand Comentariu


RUN I 0.0 Execuţie program
START I 0.1 Pornire instalaţie
PO I 0.3 Poziţie oprire
CTAI I 0.4 Confirmare tăiere
CEVAC I 0.5 Confirmare evacuare
PET I 0.7 Poziţie etichetare
STOP I 0.6 Oprire instalaţie
AP I 0.0.1.0.0 Ambalaj pregătit
MG IAW4 Măsurare greutate
AR Q 0.0 Antrenare rolă ambalaj
D1 Q 0.1 Deschidere dozator 1
D2 Q 0.2 Deschidere dozator 2

151
PRIND Q 0.3 Prindere ambalaj
LIP Q 0.4 Lipire
TAI Q 0.5 Tăiere pungă
ETIC Q 0.6 Etichetare ambalaj
EVAC Q 0.7 Evacuare produs ambalat
M 0.0 Memorarea primului ciclu
T1 M 0.1 Ieşire temporizare prindere
T2 M 0.2 Ieşire temporizare lipire
CS SK0 Funcţie de control secvenţial
TP TR0 Temporizare prindere
TL TR1 Temporizare lipire

5. Realizarea programului şi compilarea lui în SUCO soft S30-S4-200.

" Printout of file: e:it.q42 Date: 21. 3. 5"

00000 "Maşina automata de dozare, ambalare si etichetare


001 # include "it.k42"
002 SK0 -9
003 [ ] S: 'RUN Execuţie program
004 [ ] R: 'STOP Oprire instalaţie
005 [b] SINO:
006 [b] ERR:
007 [b] SQNO:
008 [ ] TG:
009 [$] INIT: $I
010 [$] AC1: $1
011 [$] AC2: $2
012 [$] AC3: $3
013 [$] AC4: $4
014 [$] AC5: $5
015 [$] AC6: $6
016 [$] AC7: $7
017 [$] AC8: $8
018 [$] AC9: $9
019 TR0 -S Temporizare prindere
020 [ ] S: 'PRIND Prindere ambalaj
021 [ ] R: 'LIP Lipire
022 [ ] STOP:
023 [w] I: KW 5
024 [ ] EQ: M 0.1 Ieşire temporizare
prindere
025 [w] Q:
026 TR1 -S Temporizare lipire
027 [ ] S: 'LIP Lipire
028 [ ] R: 'TAI Taiere punga
152
029 [ ] STOP:
030 [w] I: KW 4
031 [ ] EQ: M 0.2 Ieşire temporizare
lipire
032 [w] Q:
033 EP

00001 $I "iniţializare
001 L KB 1
002 = SK0 SINO
003 EM

00002 $1 "
001 L K 1
002 = M 0.0 Memorare primul ciclu
003 L 'START Pornire instalaţie
004 A 'AP Ambalaj pregătit
005 AN 'STOP Oprire instalaţie
006 JCN END
007 L KB 2
008 = SK0 SINO
00003 END "
001 EM

00004 $2 "
001 L K 1
002 = 'AR Antrenare rola ambalaj
003 =N 'EVAC Evacuare produs
ambalat
004 L 'PO Poziţie oprire
005 AN 'STOP Oprire instalaţie
006 JCN END
007 L 'AP Ambalaj pregătit
008 JC ET1
009 L M 0.0 Memorare primul ciclu
010 JCN END
011 L KB 5
012 = SK0 SINO
013 JP END
00005 ET1 "
001 L KB 3
002 = SK0 SINO
00006 END "
001 EM

00007 $3 "
001 L K 1
002 = 'D1 Deschidere dozator 1
003 = 'D2 Deschidere dozator 2
004 L 'MG Măsura greutate
005 CP KHW 2CD
006 BLT END
007 L KB 4
008 = SK0 SINO
00008 END "
001 EM

00009 $4 "
153
001 L K 0
002 = 'D2 Deschidere dozator 2
003 L 'MG Măsura greutate
004 CP KHW 333
005 BLT END
006 L KB 5
007 = SK0 SINO
00010 END "
001 EM

00011 $5 "
001 L K 0
002 = 'D1 Deschidere dozator 1
003 =N 'PRIND Prindere ambalaj
004 L M 0.1 Ieşire temporizare
prindere
005 AN 'STOP Oprire instalaţie
006 JCN END
007 L KB 6
008 = SK0 SINO
00012 END "
001 EM

00013 $6 "
001 L K 1
002 =N 'PRIND Prindere ambalaj
003 = 'LIP Lipire
004 L M 0.2 Ieşire temporizare
lipire
005 AN 'STOP Oprire instalaţie
006 JCN END
007 L KB 7
008 = SK0 SINO
00014 END "
001 EM

00015 $7 "etichetare
001 L K 1
002 =N 'LIP Lipire
003 = 'ETIC Etichetare ambalaj
004 L 'PET Poziţie etichetare
005 AN 'STOP Oprire instalaţie
006 JCN END
007 L KB 8
008 = SK0 SINO
00016 END "
001 EM

00017 $8 "
001 L K 1
002 =N 'ETIC Etichetare ambalaj
003 = 'TAI Taiere punga
004 L 'CTAI Confirmare taiere
005 AN 'STOP Oprire instalaţie
006 JCN END
007 L KB 9
008 = SK0 SINO
00018 END "
154
001 EM

00019 $9 "
001 L K 1
002 =N 'TAI Taiere punga
003 = 'EVAC Evacuare produs ambalat
004 L 'CEVAC Confirmare evacuare
005 AN 'STOP Oprire instalaţie
006 JCN END
007 L KB 2
008 = SK0 SINO
00020 END "
001 EM

6. Transferul programului şi simularea acestuia.

155
LUCRAREA 8

5.8 Programarea controlerelor programabile pe baza


diagramelor Ladder

Elementele de programare ale limbajului orientat pe scheme cu


contacte
Scrierea unui program în limbajul orientat pe scheme de contacte (Ladder Diagram –
LD) presupune desenarea unei diagrame (diagramă LD) similare unei scheme electrice cu
contacte. Elementele componente ale diagramei LD modelează funcţionarea elementelor
unei scheme cu contacte. De aceea interpretarea funcţionării diagramei LD este similară
interpretării schemelor electrice cu contacte.
Elementele de bază utilizate pentru scrierea unui program în limbaj LD sunt
contactele, bobinele, temporizatoarele, numărătoarele şi blocurile funcţionale (funcţiile).

Contactele

Contactele sunt elemente de programare care modelează contactele aparatelor


electrice de comutaţie. Ca şi în cazul acestora din urmă, contactele pot fi de tip n.d. şi n.î.
(Fig.1).
IN001 IN002 IN003

a) b)
Fig.1 Contacte: a) n.d., b) n.î. (două
i t )
În cadrul unui program LD, contactele pot fi asociate intrărilor AP, ieşirilor PLC sau
unor variabile interne. La intrări pot fi conectate dispozitive care au două stări de
funcţionare cum ar fi contactele auxiliare ale contactoarelor şi releelor, contactele n.î. sau
n.d. ale butoanelor de comandă, limitatoarelor de cursă, detectoarelor de mărimi fizice,
elementelor de protecţie, ieşirile digitale ale unor aparate de măsură, protecţie sau
comandă, ieşirile digitale ale altor PLC sau sisteme de comandă etc.
Pe lângă contactele obişnuite, unii producători pun la dispoziţia programatorilor şi
alte elemente de programare corespunzătoare intrărilor AP, întâlnite, îndeosebi, în cazul
circuitele numerice, cum ar fi intrări cu memorie (latch), intrări active pe frontul crescător
sau active pe frontul descrescător.

Bobinele
Bobinele sunt elemente de programare care modelează funcţionarea bobinele
contactoarelor şi releelor electromagnetice. Ca şi în cazul bobinelor din schemele electrice,
bobinele din programele LD pot avea două stări: alimentate sau nealimentate. Ele pot fi

156
asociate ieşirilor automatului dar şi unor variabile interne modelând astfel releele auxiliare
din cadrul schemelor electrice cu contacte.
Fiecare ieşire este de asemenea identificată în mod unic, modul de identificare
diferind de la un producător la altul. Fiecărei ieşiri i se asociază o singură bobină şi unul
sau mai multe contacte ce pot fi utilizate în schemă în mod asemănător contactelor
auxiliare ale contactoarelor şi releelor.
La aceste ieşiri pot fi conectate dispozitive care au două stări de funcţionare cum ar fi
bobinele contactoarelor sau releelor, elemente de semnalizare acustică sau luminoasă,
sarcini de putere mică, intrările digitale ale unor aparate de măsură, protecţie sau comandă,
intrările digitale ale altor PLC sau sisteme de comandă etc.
În Fig.2 sunt date simbolurile folosite pentru reprezentarea bobinelor. Având în
vedere că bobinele sunt asociate ieşirilor şi că acestea pot fi negate, putem întâlni ca
element de programare în limbajul LD, bobina negată (Fig.2b). Într-un automat, fiecare
ieşire este identificată în mod unic, identificarea fiind diferită de la producător la
producător. Fiecărei ieşiri i se asociază unul sau mai multe contacte având acelaşi
identificator şi care pot fi folosite în diagrama LD.
OUT 001 OUT 002 OUT 003

a) b)
Fig.2 Bobine: a) normală (două variante), b)
ă

Temporizatoarele
Temporizatoarele sunt elemente de programare care modelează funcţionarea releelor
de timp şi a contactelor temporizate. Ele sunt utilizate pentru a realiza acţiuni întârziate sau
ce durează un anumit interval de timp. Producătorii de PLC furnizează atât funcţii
elementare de temporizare cât şi funcţii mai complexe. În acest fel, temporizatoarele
utilizate în programele LD au o flexibilitate şi o funcţionalitate mult mai mare decât
temporizatoarele utilizate în schemele electrice.
Temporizatoarele simple permit realizarea unei acţiuni întârziate cu un anumit
interval de timp ce poate fi programat. Funcţiile de temporizare mai complexe au în vedere
obţinerea unor temporizări variabile, funcţie de anumite condiţii care apar la un moment
dat.
În cadrul programelor LD, un temporizator are o structură de tipul celei din Fig.3.

Ieşire
Validare
Nr. temporizator

Baza de timp

Iniţializare Valoarea
prestabilită

Fig.3 Structura unui temporizator.

157
Fiecare temporizator din schemă este identificat în mod unic, modul de identificare
fiind diferit de la un producător la altul.
Materializarea temporizatoarelor în PLC se realizează utilizând circuite numărătoare.
Ca urmare, indicarea temporizării se va face precizând numărul de incremente de timp pe
care temporizato rul îl va număra (valoarea prestabilită) şi durata unui increment (baza de
timp). În cazul în care implementarea limbajului permite utilizarea unor baze de timp
diferite pentru temporizatoare diferite, trebuie precizat pentru fiecare temporizator această
bază de timp. Valorile uzuale pe care le poate avea baza de timp sunt 0,01s; 0,1s sau 1s.
În cazul în care baza de timp este aceeaşi pentru toate temporizatoarele, precizată în
manualul de programare a AP, aceasta este omisă. Ca urmare, valoarea prestabilită poate fi
exprimată în unităţi de timp (s).
Temporizatoarele au cel puţin o intrare de iniţializare, la activarea căreia începe
temporizarea şi o ieşire. În unele variante, acestea sunt prevăzute şi cu o intrare de validare
şi încă o ieşire care reprezintă negata primei ieşiri.

Numărătoarele
Numărătoarele sunt elemente de programare care poate primi o serie de impulsuri
care sunt analizate în cadrul programului LD pentru a detecta numărul de apariţii ale unor
evenimente cum ar fi: numărul de paşi efectuaţi de un motor pas cu pas, numărul de
conectări-deconectări ale unui aparat. Numărul acestor evenimente poate fi comparat cu
anumite valori prestabilite şi în funcţie de rezultatul acestor comparaţii pot fi luate anumite
decizii şi date comenzile corespunzătoare.
Există mai multe tipuri de numărătoare, printre cele mai uzuale fiind: numărătoarele
unidirecţionale, crescătoare sau descrescătoare şi numărătoarele bidirecţionale care pot
număra atât descrescător cât şi crescător.
În cadrul programelor LD, un numărător are o structură de tipul celei din Fig.4.

Ieşire
Numărare
Nr. numărător

Ieşire negată

Iniţializare Valoare
prestabilită

Fig.4. Structura unui


ă ăt
Fiecare numărător din schemă este identificat în mod unic, modul de identificare
fiind diferit de la un producător la altul. Pentru fiecare numărător se precizează valoarea
prestabilită, aceasta reprezentând valoarea maximă pe care o va număra numărătorul după
care va activa ieşirea.
Numărătorul are cel puţin două intrări, una de numărare şi una de iniţializare (la
activarea acesteia numărătorul începe să numere impulsurile sosite la intrarea de numărare)
şi o ieşire. Alte variante de numărătoare sunt prevăzute şi cu o intrare de validare şi o ieşire
care reprezintă negata primei ieşiri.

158
Blocurile funcţionale
Pentru materializarea unor funcţii mai complexe menite să uşureze scrierea
programelor în limbaj LD sunt utilizate blocuri funcţionale. Aceste blocuri modelează
diverse categorii de funcţii dintre care cele mai utilizate sunt următoarele: funcţii de
încărcare a unor constante numerice, funcţii aritmetice, funcţii logice pe 8 sau 16 biţi,
funcţii de conversie a informaţiei din diferite formate (binar, BCD, Gray etc), funcţii de
tratare a întreruperilor, funcţii pentru detectarea fronturilor crescătoare sau descrescătoare a
semnalelor, funcţii pentru realizarea controlerelor şi secvenţiatoarelor, funcţii pentru
actualizarea rapidă a intrărilor şi ieşirilor, funcţii pentru comanda numărătoarelor de mare
viteză.
De obicei, formatul şi modul de funcţionare a blocurilor funcţionale diferă de la un
automat la altul, fiind specific fiecărui producător în parte. Prin intermediul standardului
IEC 61131-3 şi a altor iniţiative recente se caută standardizarea unor astfel de blocuri astfel
încât ele să aibă nu numai aceeaşi interfaţă dar şi acelaşi comportament, diferenţa fiind
dată numai de modul în care acestea sunt materializate pentru fiecare automat în parte.
Standardul are drept scop şi asigurarea că aceste blocuri funcţionale pot fi utilizate,
folosind aceeaşi interfaţă în oricare alt limbaj din cele 4 adoptate.

Restricţii în scrierea programelor orientate pe scheme de contacte


Atunci când se realizează scrierea unui program LD pentru un automat programabil
concret, trebuie să se ţină seama de limitările pe care pachetul de programe le poate avea.
Limitări importante pe care le pot avea pachetele de programe ce utilizează limbajul
LD sunt cele legate de formatul diagramei care materializează schema cu contacte. O parte
din aceste limitări ţin de proprietăţile intrinseci ale limbajului; altele sunt specifice
diferitelor programe comerciale şi sunt datorate soluţiilor tehnice adoptate de firmele
producătoare pentru implementarea diverselor elemente ale limbajului. O parte a acestor
limitări sunt prezentate în continuare:
a) o bobină trebuie să fie alimentată întotdeauna prin intermediul unui
contact;
b) bobina trebuie să fie introdusă întotdeauna la capătul din dreapta al
liniei;
c) toate contactele trebuie să fie pe direcţie orizontală;
d) numărul contactelor pe o linie de alimentare a unei bobine este limitat
prin program;
e) un grup de contacte poate alimenta o singură bobină;
f) realizarea buclelor poate fi realizată într-un singur mod sau poate să nu
fie permisă;
g) sensul curentului prin circuit este de la stânga la dreapta diagramei.
De obicei manualele de utilizare ale programelor conţin toate informaţiile necesare
pentru ca utilizatorul să poată scrie programul în formatul acceptat de PLC.

Transcrierea schemelor electrice cu contacte


Scrierea unui program în limbajul LD poate fi realizată într-un mod simplu pornind
de la schema electrică cu contacte al unui circuit care ar îndeplini aceeaşi funcţie. Ceea ce
trebuie să facă programatorul este să transpună schema respectivă folosind elementele de
programare ale limbajului. Pentru acest lucru el va trebui să parcurgă următoarele etape:
• definirea listei dispozitivelor conectate la intrările şi ieşirile AP,
159
• atribuirea unor identificatori de intrare şi de ieşire acestor dispozitive,
• trasarea diagramei LD,
• indicarea conexiunilor la PLC a elementelor de comandă.

Scrierea programului în diagrame LD pentru controlerul


programabil Mitsubishi FX -2N -5A

Editarea programului se va realiza în mediul de programare MELSECMEDOC


FX/WIN versiunea 3.20. Pornirea programului se realizează făcând dublu clic pe icoana

.
Pentru crearea unui fişier nou se execută comanda File->New şi se va deschide
fereastra PLC type settings cu ajutorul căreaia se stabileşte tipul de PLC. Se va selecta
FX2N ca în figura următoare.

Figura

După ce se dă OK în fereastra PLC type settings se deschid două ferestre de


programare: una utilizând instrucţiuni iar următoare diagrame Ladder
În Fig. 8 se indică principalele elemente ale ferestrei de scriere a programului de
aplicaţie. Pentru aceasta avem la dispoziţie comenzile din bara de meniuri (accesibile
direct sau prin intermediul unor combinaţii ale tastelor funcţionale - scurtături) şi bare de
butoane.

Scriere programului cu ajutorul diagramelor Ladder


Elementele programului de aplicaţii sunt introduse între cele două bare de
alimentare.

Introducerea contactelor

160
Fig Elementele ferestrei de editare a programului de aplicaţiei în mediul de
programare MELSEC-MEDOC FX/WIN

Contact normal deschis: se utilizează butonul corespunzător sau tasta funcţională F5


meniul TOOLS şi apoi Contact.
Contact normal închis: se utilizează butonul corespunzător din bara de butoane sau
tasta funcţională F6.
În ambele cazuri apare fereastra de dialog Input device (Fig. 9) unde trebuie
introdus operandul respectiv.

Fereastra de introducere a operandului

Dacă se face clic pe Reference va apare o fereastră de dialog care ne permite


alegerea tipului de operand folosit.

Acesta poate indica o intrare (X000, X001 ... X005), o ieşire (Y000...Y003), un
element de temporizare (T000...T00n), element auxiliar (M000...M00n), elemente ale
blocurilor funcţionale.

161
Fereastra Device details

Introducerea bobinelor
Pentru introducerea bobinelor se utilizează butonul corespunzător sau tasta
funcţională F7. Ca şi în cazul contactelor va apare fereastra de dialog Input device în care
trebuie precizat indicatorul bobinei (Y000...Y003).
Introducerea temporizatoarelor
Pentru introducerea temporizatoarelor se utilizează acelaşi buton şi aceeaşi tastă
funcţinală utilizată pentru bobine. În fereastra de dialog Input device, pe lângă indicatorul
temporizatorului (T000...T00n) trebuie indicată şi valoarea temporizării sub forma Km,
unde m este valoarea temporizării în milisecunde.
Introducerea numărătoarelor
Pentru introducerea numărătoarelor (contoarelor) se utilizează acelaşi buton şi
aceeaşi tastă funcţinală utilizată pentru bobine. În fereastra de dialog Input device, pe
lângă indicatorul numărătorului (C000...C00n) trebuie indicată şi valoarea numărătorului
pentru care bobina este activată sub forma Km.
Introducerea funcţiilor speciale
Pentru introducerea funcţiilor speciale se utilizează butonul corespunzător sau tasta
funcţională F8. Ca urmare apare fereastra de dialog Input instruction (Fig. 10) unde
trebuie introduse mnemonicul funcţiei precum şi parametrii acestora. Fiecare instrucţiune
are lista ei proprie de parametri acestea fiind date în manualul de programare a familiei
Mitsubishi FX de PLC.

Fig.10 Fereastra Input instruction

Conversia şi verificarea programului

162
Pentru a putea fi transferat în memoria PLC, programul de aplicaţie scris folosind
limbajul LD trebuie convertit în formatul recunoscut de PLC. Pentru aceasta se execută
comanda Tools -> Convert.
Programul poate fi verificat dacă este corect executând comanda Option ->
Program check. În acest caz va apare dialogul următor.

Dialogul Syntax error check

Salvarea programului
Programul de aplicaţie poate fi salvat folosind comanda File -> Save as. Numele
fişierului trebuie sa respecte convenţia de nume pentru fişierele sistemului de operare MS-
DOS.
Transferul programului
Pentru transferul programului pe PLC se va selecta PLC -: Transfers şi apoi Write.

Lucrări experimentale
1. Se va instala şi lansa programul MELSECMEDOC FX/WIN.
2. Se vor scrie programele pe baza diagramelor LD pentru PLC pentru următoarele
aplicaţii:
• Y000=X001*X003 + X002*X004 + X005
• Partea de pornire/ oprire a unei instalaţii dacă există condiţii de pornire.
START – X000
STOP - X001
COPO – X005
INSTF – Y002
INSTF=(START* COPO+INSTF)*STOP
• Program pentru semnalizare avarie

163
• Daca semnalul de avarie AV este 1 el va activa lampa de semnalizare
E1. Dacă durata acestui semnal este mai mare de 2s va intra în
funcţiune hupa (H) şi va iniţia secvenţa de avarie (SAV).
Intrări
AV-X000
START – X001
STOP- X002
Ieşiri
E1- Y000
H-Y001
SAV-Y002
3. Se vor verifica programele şi se vor transfera pe PLC.
4. Se vor simula programele şi se vor nota observaţiile.

164
LUCRAREA 9

5.9 Descrierea echipamentului TWDLMDA20DRT şi


utilizarea mediului de programare TwidoSoft

5.9.1 Caracteristici

Figura 4.46 Controlerul TWDLMDA20DRT

Controlerul TWDLMDA20DRT cu 20 de intrări/ieşiri, (figura 4.5) are


următoarele caracteristici:
− dispune de 12 intrări digitale, 6 ieşiri pe relee şi 2 ieşiri pe tranzistoare;
− are un conector de intrare analogic în tensiune;
− este dotat cu un punct de reglare analogic;
− are un port serial integrat;
− are un bloc terminal pentru cablare;
− acceptă până la şapte module extensie de I/O;
− acceptă două tipuri de cartuşe de memorie facultativ (32Ko sau 64 Ko);
− acceptă un modul extensie de afişare facultativ sau un modul extensie de
comunicaţie facultativ.

Controlerele TWDLMDA20DRT şi TWDLMDA40DUK dispun de un punct de


reglare analogic. Elementul de reglare analogic poate fi reglat la o valoare cuprinsă între
165
0 şi 1024. Această valoare este memorată într-un cuvânt sistem şi este actualizată la
fiecare ciclu.

În figura următoarea sunt prezentate elementele componente ale controlerelor


modulare.

Figura 4.47 Componentele controlerelor modulare

11. Capac de acces


12. Conector extensie
13. Punct de reglare analogic
14. Port serial 1
15. Cartuş memorie
16. Borne de alimentare 24 Vcc
17. Conector de intrare analogic în tensiune
18. Leduri
19. Conectori intrări/ieşiri
20. Conector de comunicaţie (nu este prezent în figură; se află în partea din
stânga a controlerului)

Toate controlerele modulare au o intrare analogică în tensiune. Intrarea


analogică în tensiune poate conecta un semnal analogic cu o variaţie de tensiune
cuprinsă între 0 şi 10 Vcc. Tensiunea analogică este convertită într-o valoare cuprinsă
între 0 şi 512 şi este memorată într-un cuvânt sistem.

Modul de cablare a controlerului TWDLMDA20-DRT

Modul de cablare al intrărilor şi ieşirilor al controlerului TWDLMDA20-DRT


este prezentat în figura următoare:
166
Figura 4.48 Modul de cablare al intrărilor şi ieşirilor
Punctele de ieşire 0 şi 1 sunt de tip tranzistor, toate celelalte fiind de tip releu.
Terminalele COM nu sunt conectate toate intern.

Utilizarea mediului de programare TwidoSoft


La lansarea programului se deschide o fereastră ca în figura următoare:

167
Pentru a realiza un program trebuie să creăm un fişier nou selectând din meniul
File – New , ce va deschide o fereastră de dialog Functional Level Management în care
vom selecta Automatic şi nelul dorit după care dăm Ok. Ca urmare se va deschide
următoarea fereastră de lucru.

Această fereastră permite editarea programului.

Pentru a realiza un program mai întâi trebuie precizată structura hardware de


care dispunem TWDLMDA20-DRT şi TWDAMM3HT. Pentru a reliza acest lucru se
face clic dreapta pe TWDLMDA40DTK şi se selectează Change Base Controler. Pentru
a adăuga un modul se face clic dreapta pe Expansion Bus şi va apare Add a module.

168
Programul poate fi editat în mai multe feluri (liste de instrucţiuni, diagrame
Ladder sau blocuri funcţionale). Selectarea modului de lucru se poate face accesând
meniul contextual Program.

169
După scriere programul se poate vizualiza erorile analizând programul (Analyze
program). Conectarea la controler se poate realiza din meniul PLC sau făcând clic pe
iconul , bineînţeles dacă există cablul TSX PCX 1031 conectat între PLC şi portul
serial al calculatorului.
Tot din meniul PLC se poate lansa în execuţie selectând RUN.

Lucrări experimentale

1. Se va verifica modul de cablare a simulatorului.


2. Se vor identifica compnentele controlerului.
3. Se instala cablul de programare între calculator şi PLC.
4. Se va instala şi lansa programul TwidoSoft.
5. Se crea un fişier nou şi se va configura pe structura hardware existentă un
modul TWDLMDA20-DRT şi unul TWDAMM3HT
6. Se va salva fişierul.
7. Se vor vedea modalităţile de editare a programelor.
8. Se vor crea simbolurile START pentru %I0.0, STOP pentru %I0.0 şi OK
pentru %Q0.0
Pentru a crea un simbol, se parcurg următorii paşi:
− Se deschide editorul pentru simboluri;
− Se face clic pe o celulă Simbol liberă, cu butonul din stânga mouse-ului, apoi
se scrie numele unei variabile sau al unui obiect;
− Se apasă pe tasta Enter şi se deschide o casetă de dialog, în care avem
posibilitatea să stabilim simbolul, identificatorul şi comentariul asociat.

170
LUCRAREA 10

5.10 Programarea controlerului Twido cu ajutorul


instrucţiunilor de bază

Un program scris în limbaj listă de instrucţiuni, este constituit dintr-o serie de


instrucţiuni executate secvenţial de controler. Fiecare instrucţiune este reprezentată
printr-o singură linie de cod şi este compusă din trei elemente: număr de linie, codul
instrucţiunii şi operanzi.
Codul instrucţiunii este un simbol reprezentând un operator ce indică operaţia ce
urmează efectuată.
Există două tipuri de instrucţiuni de bază:
• Instrucţiuni de test
• Instrucţiuni de acţiune. Acestea permit să efectueze acţiunile autorizate,
deoarece condiţiile de test sunt satisfăcute.

Un operand este un număr, un cod sau un simbol, reprezentând o valoare ce


poate fi prelucrată în interiorul unei instrucţiuni. O instrucţiune poate avea între zero şi
trei operanzi.
Operanzii pot reprezenta următoarele elemente:
• Intrări/ieşiri al controlerului;
• Funcţii sistem predefinite cum ar fi, temporizări sau contorizări;
• Operaţii aritmetice, logice, de comparare şi numerice;
• Variabile interne ale controlerului.
Instrucţiunile nu posedă decât un operand explicit, celălalt fiind implicit.
Operandul implicit corespunde registrului acumulator.
O instrucţiune execută operaţia specificată între acumulator şi operandul
explicit, rezultatul fiind depus în acumulator, înlocuind vechea valoare. Instrucţiunea
NOT nu are un operand explicit, ci numai inversează. Setul de instrucţiuni de bază este
prezentat în continuare.

Element
Operator grafic Operaţie efectuată
corespondent
LD În acumulator se încarcă valoarea operandului
În acumulator se încarcă valoarea negată a
LDN
operandului
În acumulator se încarcă valoarea 1, atunci
LDR când este detectată o variaţie pe front crescător
a operandului

171
În acumulator se încarcă valoarea 1, atunci
LDF când este detectată o variaţie pe front
descrescător a operandului
În acumulator se încarcă rezultatul operaţiei
AND logice ŞI, dintre valoarea precedentă a
acumulatorului şi valoarea operandului
În acumulator se încarcă rezultatul operaţiei
ANDN logice ŞI, dintre valoarea precedentă a
acumulatorului şi valoarea negată a operandului
În acumulator se încarcă rezultatul operaţiei
logice ŞI, dintre valoarea precedentă a
ANDR
acumulatorului şi valoarea detecţiei frontului
crescător al operandului
În acumulator se încarcă rezultatul operaţiei
logice ŞI, dintre valoarea precedentă a
ANDF
acumulatorului şi valoarea detecţiei frontului
descrescător al operandului
În acumulator se încarcă rezultatul operaţiei
OR logice SAU, dintre valoarea precedentă a
acumulatorului şi valoarea operandului

AND( Logică AND (nivele de paranteze)

OR( Logică SAU (opt nivele de paranteze)

XOR,
XORN,
SAU exclusiv
XORR,
XORF
MPS
MRD Comutare între bobine
MPP
N - Negaţie (NOT)
ST Operandul asociat ia valoarea din acumulator
Operandul asociat ia valoarea negată din
STN
acumulator
Operandul asociat este setat pe 1, atunci când
S
valoarea din acumulator este 1.
Operandul asociat este setat pe 0, atunci când
R
valoarea din acumulator este 1.
Se realizează un salt la o secvenţă având
JMP
eticheta specificată.
SRn Se realizează un salt la începutul unui
172
subprogram.
RET Revenire dintr-un subprogram.
END Sfârşit de program.
Sfârşit de program condiţionat cu un rezultat
ENDC
logic 1.
Sfârşit de program condiţionat cu un rezultat
ENDCN
logic 0.

Lucrări experimentale

1. Se vor scrie programele în SucoSoft utilizând instrucţiunile prezentate pentru


următoarele aplicaţii:
• %Q0.0=%I0.1*%I0.3 + %I0.2*%I0.4 + %I0.5
• Partea de pornire/ oprire a unei instalaţii dacă există condiţii de pornire.
START – %I0.0
STOP – %I0.3
COPO – %I0.5
INSTF – %Q0.2
INSTF=(START* COPO+INSTF)*STOP
• Se va realiza fişierul de referinţă şi se vor introduce simbolurile
următoare: START – %I0.0, STOP – %I0.3, COPO – %I0.5, INSTF –
%Q0.2
• Se va rescrie programul utilizând simboluri
2. Se vor verifica programele şi se vor transfera pe PLC.
3. Se vor simula programele şi se vor nota observaţiile.

173
LUCRAREA 11

5.11 Funcţii speciale pentru Twido şi blocuri de


temporizare

Programarea controlerelor Twido poate fi realizată cu ajutorul programului


Twido Soft V3.0. Acest program oferă utilizatorului o interfaţă prietenoasă pentru
editarea programelor în mai multe moduri.

Figura 4.49 Interfaţa Twido Soft V3.0.

Intrarea RUN/STOP
Constituie o funcţie specială putând fi afectată la toate intrările ale controlerului.
La pornire, dacă această funcţie este configurată, starea controlerului este
definită prin intrarea RUN/STOP.
Dacă intrarea RUN/STOP este în starea 0, controlerul este în mod STOP.
Dacă intrarea RUN/STOP este în starea 1, controlerul este în mod RUN.
În timpul pornirii controlerului, frontul crescător al stării intrării RUN/STOP
comută controlerul pe RUN.
Controlerul se opreşte dacă intrarea RUN/STOP este trecută pe 0. Dacă intrarea
RUN/STOP este pe 0, o comandă RUN dată de un PC conectat va fi ignorată de
controler.
174
Ieşirea de stare a controlerului
Ieşirea de stare a controlerului este o funcţie specială, care poate fi atribuită
uneia din ieşirile %Q0.0.1 şi %Q0.0.3. La pornire, dacă n-a fost detectată nici o eroare,
ieşirea de stare a controlerului trece în 1. Această funcţie poate fi utilizată în circuitele
de securitate externe, pentru control (Ex., pentru controlul alimentării controlerului).

Intrarea de memorare a stării


Intrările de memorare a stării sunt o funcţie specială, care poate fi atribuită uneia
din intrările %I0.0.2, până la %I0.05. Această funcţie permite să se memoreze toate
impulsurile de o durată inferioară timpului de scanare a controlerului. Impulsurile
trebuie să fie >1ms.

Numărare rapidă (FC)


Controlerul programabil are două tipuri de numărătoare rapide: (FC) şi cinci
numărătoare rapide (VFC):
− un numărător cu incrementare cu frecvenţă maximă de 5 KHz;
− un numărător cu decrementare cu frecvenţă maximă de 5 KHz;
− un numărător cu incrementare/decrementare cu frecvenţă maximă de 20
KHz;
− un numărător cu incrementare/decrementare, bifazic, cu frecvenţă maximă de
20 KHz;
− un numărător cu incrementare cu frecvenţă maximă de 20 KHz;
− un numărător cu decrementare cu frecvenţă maximă de 20 KHz;
− un frecvenţmetru cu frecvenţă maximă de 20 KHz.

Temporizator la revenire TOF

Acest temporizator permite întârzierea revenirii ieşirii cu o valoare programată.


Diagrama următoare ilustrează modul de lucru al temporizatorului TOF.

Figura 4.50

175
Funcţionarea temporizatorului TOF

Tabelul următor descrie funcţionarea temporizatorului TOF.

Faza Descriere
Valoarea curentă %TMi.V ia valoarea 0 pe un front crescător în intrarea
1
IN, chiar dacă temporizarea este în curs de desfăşurare.
Bitul de ieşire %TMi.Q trece în 1, atunci când un front crescător este
2
detectat la intrarea IN.
3 Temporizarea este demarată pe un front descrescător al intrării IN.
Valoarea curentă %TMi.V creşte până la %TMi.P, prin incrementarea cu o
4
unitate la fiecare pulsaţie a bazei de timp TB.
Bitul de ieşire %TMi.Q este resetat la 0 atunci când valoarea curentă atinge
5
valoarea dată de %TMi.P.

Temporizator la anclanşare TON

Acest temporizator permite întârzierea anclanşării ieşirii cu o valoare


programată.

Diagrama următoare ilustrează modul de lucru al temporizatorului TON.

Funcţionarea temporizatorului TOF

Tabelul următor descrie funcţionarea temporizatorului TOF.

Faza Descriere
1 Temporizatorul porneşte pe un front crescător al intrării IN.
Valoarea curentă %TMi.V creşte până la %TMi.P, prin incrementarea cu o
2
unitate la fiecare pulsaţie a bazei de timp TB.
Bitul de ieşire %TMi.Q trece în 1, atunci când valoarea curentă atinge
3
valoarea %TMi.P.
176
Bitul de ieşire %TMi.Q păstrează valoarea 1, cât timp valoarea de intrării
4
IN este 1.
Atunci când un front descrescător este detectat la intrarea IN,
5 temporizatorul se opreşte, chiar dacă el nu a atins valoarea %TMi.P şi
%TMi.V este setat pe 0.

Lucrări experimentale
1. Se va seta intrarea I.03 ca fiind intrare de RUN.
2. Se va implementa o temporizare la anclanşare având ieşirea la %Q0.0 şi
fiind activată de %I0.0
3. Se va simula programul şi se vor da diferite valori pentru temporizări.
4. Se va implementa o temporizare la revenire având ieşirea la %Q0.2 şi fiind
activată de %I0.2
5. Se va simula programul şi se vor da diferite valori pentru temporizări.
6. Se va simula programul şi se vor da diferite valori pentru temporizări.
7. Program pentru semnalizare avarie
Daca semnalul de avarie AV- %I0.0 este 1 el va activa lampa de semnalizare
E1- %Q0.1. Dacă durata acestui semnal este mai mare de 2s va intra în
funcţiune semnalizarea de avarie E2 – %Q0.2 (perioadă 400ms).

177
LUCRAREA 12

5.12 Programarea cu ajutorul reprezentării Grafcet a


controlerului Twido

Instrucţiunile Grafcet din TwidoSoft oferă o metodă simplă de conversie a


secvenţelor de control.
Numărul maxim de etape Grafcet depinde de tipul de controler Twido. Numărul
de etape ce pot fi activate simultan este limitat de numărul total de etape.
Tabelul următor prezintă toate instrucţiunile şi elementele cerute pentru
programarea unei reprezentări Grafcet.
Reprezentare Transcrierea în limbaj Funcţiune
grafică TwidoSoft
=*= i Lansare etapă iniţială.
Activează etapa i, după ce a fost
#i
dezactivată etapa curentă.
Lansare etapă i şi validare tranziţie
-*- i
asociată.
Dezactivează etapa curentă fără
#
activarea altei etape.
Dezactivează etapa i şi etapa
#Di
curentă.
Lansează prelucrarea posterioară şi
=*= POST
termină prelucrarea secvenţială.
Bit asociat etapei i. Poate fi testat şi
%Xi scris (numărul maxim de etape
depinde de controler).
LD %Xi, LDN %Xi
AND %Xi,
ANDN %Xi, Testează activitatea etapei i.
OR %Xi, ORN %Xi
XOR %Xi, XORN %Xi
S %Xi Activează etapa i.

R %Xi Dezactivează etapa i.

Exemple Grafcet

Secvenţă liniară
178
Secvenţe simultane

Secvenţă divergentă

179
Structura unui program Grafcet
Un program TwidoSoft Grafcet se derulează în trei faze:
− Prelucrarea anterioară;
− Prelucrarea secvenţială;
− Prelucrarea posterioară.
Prelucrarea anterioară presupune administrarea următoarelor situaţii:
− reluări de alimentare;
− defectări;
− schimbări în modul de funcţionare;
− pre-poziţionarea etapelor Grafcet;
− logică de intrare.
Frontul crescător al intrării %I0.6 setează pe 1 bitul %S21.

Prelucrarea anterioară începe din prima linie a programului şi se termină la


întâlnirea primei instrucţiuni de tipul ”=*=” sau „-*-”.
Trei biţi sistem sunt dedicaţi controlului Grafcet: %S21, %S22 şi %S23. Fiecare
bit sistem este setat pe 1 (dacă este necesar) de aplicaţie, în perioada prelucrării iniţiale.
La sfârşitul prelucrării, funcţia asociată este executată de sistem şi bitul sistem este fixat
pe 0.
180
Bit sistem Nume Descriere
Iniţializare Toate etapele active sunt dezactivate şi etapele
%S21
Grafcet iniţiale sunt activate.
Reiniţializare
%S22 Toate etapele sunt dezactivate.
Grafcet
Acest bit trebuie setat pe 1, dacă elementele %Xi
sunt explicit scrise prin aplicaţie. Dacă acest bit este
Prepoziţionarea
%S23 menţinut pe 1, pe perioada iniţializării, fără
Grafcet
schimbarea explicită a elementelor %Xi, Grafcetul
este îngheţat.

Prelucrarea secvenţială
Prelucrarea secvenţială este executată pe baza unui graf având următoarele
elemente caracteristice:
− Etape
− Acţiuni asociate etapelor
− Tranziţii
− Condiţii de efectuare a tranziţiilor.
Exemple

Prelucrarea secvenţială se termină prin execuţia instrucţiunii “=*=POST” sau


prin sfârşitul programului.
Prelucrarea posterioară
Prelucrarea posterioară administrează elementele următoare:
− Comenzile de prelucrare secvenţială pentru fixarea ieşirilor
− Blocarea ieşirilor specifică securităţii.
Exemplu

181
Acţiuni asociate etapelor Grafcet
Un program Grafcet TwidoSoft oferă două moduri de programare a acţiunilor
asociate etapelor:
− în secţiunea de prelucrare posterioară;
− în lista de instrucţiuni.
Asocierea acţiunilor în prelucrarea posterioară
Este preferabil să se programeze acţiunile în secţiunea de prelucrare posterioară
a unei aplicaţii Grafcet. Se pot utiliza instrucţiunile în limbaj listă, de instrucţiuni SET şi
RESET sau programul schemă de contacte pentru lansarea etapelor Grafcet (%Xi)
Exemplu

Asocierea acţiunilor plecând de la o aplicaţie


Se pot programa acţiunile asociate etapelor, sub formă de listă de instrucţiuni sau
sub formă de reţea schemă de contacte:
Exemplu :

182
Desfăşurarea lucrării

Lucrarea îşi propune realizarea unui program pentru controlerul Twido ce


permite automatizarea următorului proces ciclic secvenţial
Procesul ce constituie obiectul acestei aplicaţii este alcătuit dintr-o etapă iniţială
şi din opt etape ce se desfăşoară secvenţial şi ciclic.
Pornirea secvenţei ciclice se poate realiza prin acţionarea butonului de START,
dacă sunt îndeplinite condiţiile de pornire CP. Oprirea instalaţiei se realizează dacă este
acţionat butonul STOP, indiferent de etapa în care se află. Duratele în care sunt active
etapele sunt egale şi luate astfel încât, să poată acoperi efectuarea acţiunilor cu timpul
de execuţie cel mai mare. Pentru a nu se folosi opt temporizări şi pentru a putea controla
timpul de desfăşurare a fiecărei etape, se utilizează un semnal dreptunghiular (N), de
perioadă constantă, ce permite trecerea de la o etapă la alta, atunci când se detectează un
front crescător sau descrescător.
Din figura următoare se poate observa că, pe perioada unei etape palierul
semnalului este constant. În etapa 1 N=1, în etapa 2 N=0, în etapa 3 N=1 şi aşa mai
departe. Se observă că succesiunea etapelor este 1, 2, 3, 4, 5, 6, 7, 8, după care se repetă
(1,2, ...).

Figura 4.51 Semnal de comutare a etapelor

Semnalul dreptunghiular se poate realiza cu ajutorul funcţiei %PLSi, disponibilă


în Twido Soft. Activarea funcţiei se realizează prin acţionarea butonului de START,
când există condiţii de pornire.

Lucrări experimentale

1. Realizarea reprezentării Grafcet a procesul.


2. Definirea simbolurilor conform tabelului următor.

Operand Simbol Comentariu


%Q0.0.1 A1 Acţiuni etapa 1
%Q0.0.2 A2 Acţiuni etapa 2
%Q0.0.3 A3 Acţiuni etapa 3
%Q0.0.4 A4 Acţiuni etapa 4
%Q0.0.5 A5 Acţiuni etapa 5
%Q0.0.6 A6 Acţiuni etapa 6
%Q0.0.7 A7 Acţiuni etapa 7
183
%Q0.1.0 A8 Acţiuni etapa 8
%I0.0.3 CP Condiţii de pornire
%I0.0.7 IP Intrare puls - N din Grafcet
%M0 M0 Copie semnal
%Q0.0.0 PULS Ieşire puls
%PLS0 SN Semnal de comutare între etape
%I0.0.0 START Pornire proces ciclic
%I0.0.5 STOP Oprire proces ciclic

Reprezentarea Grafcet a procesului


Simbolurile utilizate în reprezentarea Grafcet au următoarea semnificaţie:
A1 Acţiuni etapa 1
A2 Acţiuni etapa 2

184
A3 Acţiuni etapa 3
A4 Acţiuni etapa 4
A5 Acţiuni etapa 6
A7 Acţiuni etapa 7
A8 Acţiuni etapa 8
N Semnal comutare etape
START Pornire proces ciclic
CP Condiţii de pornire
STOP Oprire proces ciclic

3. Realizarea programului în TwidoSoft.


4. Transferul programului pe controler şi simularea acestuia.

185
LUCRAREA 13

5.13 Automatizarea operaţiilor de dozare, ambalare şi


etichetare a pastelor făinoase cu controlere Twido

Lucrarea îşi propune realizarea unei soluţii de automatizare cu controlere Twido


a aplicaţiei prezentată în lucrarea 7.
Aplicaţia prezintă o soluţie de automatizare a operaţilor de dozare, ambalare şi
etichetare a pastelor făinoase scurte. Sistemul de automatizarea a fost conceput pentru o
structură mecanică propusă pentru efectuarea acestor operaţii.
Sistemul a fost conceput ca o maşină automată pentru dozare, ambalare şi
etichetare.
Secvenţele de operaţii efectuate sunt următoarele:
G. Antrenare ambalaj. Antrenarea ambalajului se realizează până la
sesizarea ambalaj pregătit sau poziţie de prindere, dacă nu exista
deja ambalaj pregătit.
H. Pregătire ambalaj. Această operaţie se realizează numai la pornirea
maşinii, dacă nu există deja ambalaj pregătit (pungă). Folia pentru
ambalaj este antrenată până în poziţia de oprire (prindere). Se
fixează folia, se lipeşte, (lipitură pe două nivele), iar în continuare
se taie. În acest fel s-a pregătit partea de jos a pungii. Ambalajul
este antrenat până la sesizarea ambalaj pregătit.
I. Dozarea. Se eliberează dozatoarele 1 şi 2, iar la atingerea greutăţii
G2, se închide dozatorul 2. Dozatorul 1 va permite o încărcare mai
lentă şi implicit o dozare mai precisă. La atingerea greutăţii G1
(greutatea dorită), se închide şi dozatorul G1.
J. Ambalarea. Se fixează folia şi se lipeşte, (lipitură pe două nivele).
K. Etichetarea. Se acţionează dispozitivul de etichetare şi se taie între
cele două rânduri de lipituri
L. Evacuarea. Se acţionează dispozitivul de evacuare. După această
operaţie se continuă cu repetarea ciclică a etapelor A, C, D, E, F.

Pornirea maşinii se realizează prin acţionarea butonului de Start, iar oprirea prin
acţionarea butonului de Stop sau Avarie.

Lucrări experimentale

1. Se va realiza schema Grafcet a procesului.


2. Se vor stabili numărul de intrări şi ieşiri necesare pentru controlul procesului.

186
Se va configura fişierul creat specificând elementele hardware utilizate.
În varianta în care se utilizează controlere TWIDO ale firmei Schnaider, prolema
de automatizare poate fi rezolvată utilizând un modul master TWDLMDA20DRT şi un
modul slave de intrări ieşiri analogice, TWDAMM3HT.

Figura 4.52 Structura hardware cu controlere TWIDO

3. Stabilirea valorii măsurate (greutatea)


Măsurarea greutăţii se realizează cu ajutorul unui traductor de greutate, care
furnizează un semnal cuprins între 0 şi 10V, proporţional cu greutatea măsurată.
Precizia măsurării este dată de cei 12 biţi (4096 incremenţi), pe care se
realizează conversia intrării analogice.
10v
Precizia de măsurare Pm = 12 = 2,44mV .
2
Intrarea analogică %IW1.0 va fi în funcţie de valoarea greutăţii măsurate.
Greutăţii G2 (la care se închide dozatorul 2) îi va corespunde o valoare de 7V,
iar lui G1 o valoare de 8V.
Valoarea hexa corespunzătoare pentru G2 va fi:
212
7∗ = 2867 = B33H .
10
Valoarea hexa corespunzătoare pentru G1 va fi:
212
8∗ = 3277 = CCCH .
10
4. Se vor definii simboluri conform tabelului următor

Operand Simbol Comentariu


%I0.0.11 AP Ambalaj pregătit
%Q0.0.0 AR Antrenare rolă ambalaj
187
%I0.0.5 CEVAC Confirmare evacuare
%I0.0.2 CLIPIRE Confirmare lipire
%I0.0.4 CTAI Confirmare tăiere
%Q0.0.6 ETIC Etichetare ambalaj
%Q0.0.7 EVAC Evacuare produs ambalat
%Q0.0.1 ID1 Închidere dozator 1
%Q0.0.2 ID2 Închidere dozator 2
%Q0.0.4 LIP Lipire
%IW0.1.0 MG Măsurare greutate conţinut
%I0.0.10 PA Prezenţă ambalaj
%I0.0.7 PET Poziţie etichetare
%I0.0.3 PO Poziţie oprire
%Q0.0.3 PRIND Prindere ambalaj
%I0.0.8 RDET Revenire dispozitiv etichetare
%I0.0.6 REVE Revenire dispozitiv evacuare
%I0.0.0 RUN Execuţie program
%I0.0.1 START Pornire instalaţie
%I0.0.9 STOP Oprire instalaţie
%Q0.0.5 TAI Tăiere pungă
%TM1 TL Temporizare lipire
%TM0 TP Temporizare prindere

5. Realizarea programului şi analizarea lui în TwidoSoft.

Programul pe baza schemei Grafcet, pentru controlul acestui proces este


prezentat în continuare.
Lista de instrucţiuni

=*= 1
LD %I0.0.1
AND %I0.0.10
AND %I0.0.11
#2

=*= 2
LD %I0.0.3
AND %I0.0.11
#3
LD %I0.0.3
ANDN %I0.0.11
AND %M0
ANDN %I0.0.9
#5

=*= 3
188
LD [ %IW0.1.0 >= 2867 ]
#4

=*= 4
LD [ %IW0.1.0 >= 3277 ]
#5

=*= 5
LD %TM0.Q
ANDN %I0.0.9
#6

=*= 6
LD %TM1.Q
ANDN %I0.0.9
#7

=*= 7
LD %I0.0.7
#8

=*= 8
LD %I0.0.4
AND %I0.0.6
ANDN %I0.0.9
#9

=*= 9
LD %I0.0.5
AND %I0.0.9
#2

LD %X1
ST %M0
LD %X2
ST %Q0.0.0
LD %X3
ST %Q0.0.1
ST %Q0.0.2
LD %X4
ST %Q0.0.2
LD %X5
ST %Q0.0.3
IN %TM0
LD %X6
ST %Q0.0.4
IN %TM1
189
LD %X7
ST %Q0.0.6
LD %X8
ST %Q0.0.5
LD %X9
ST %Q0.0.7
END

190
6 BIBLIOGRAFIE

[1] Culea George – Comanda arzătoarelor cazanelor cu combustibil mixt, gaz –


păcura cu ajutorul automatelor programabile – Volum CNEI"96, Optimizarea
regimurilor de funcţionare şi modernizarea instalaţiilor energetice, 31oct.-2nov.
1996, Baca, Editura Plumb, ISBN 973-9150-77-2;
[2] Culea George - Modelarea şi simularea echipamentelor staţiilor electrice în
vederea prevenirii unor regimuri de avarie - Contract 22 din 1998 cod CNCSU
214;
[3] Culea George – Sisteme de conducere a proceselor industriale realizate cu
automate programabile - Volum Politici energetice pentru o dezvoltare durabilă -
Simpozion Internaţional ELECTRO"96, Chişinău 15-17 oct., 1996;
[4] Florin Gh. Filip, Boldur Bărbat – Informatica industrială – Editura Tehnică
1999;
[5] Frank D. Petruzella, Programable Logic Controller, Glencoe McGraw Hill,
2004, ISBN 0078298520
[6] Garz Dunning, Introduction to Programmable Logic Controllers, Delmar
Thomson Learning, 2001, ISBN 0766817687
[7] Nebaja Matic, Introduction to PLC controllers,
[8] René David, Hassane Alla - Du Grafcet aux réseaux de Petri - Hermès, Paris,
1992;
[9] *** - Automation View - 1997, NI, Volumul 2;
[10] *** - Catalog - Siemens 2004;
[11] *** - Catalog - OMRON 2004;
[12] *** - Catalog - Twido , Schneider Telemecanique 2004;
[13] *** User Interface Software and documentation - SUCOsoft – S30-S 4-200-GB,
Klockner Moeller
[14] *** SUCOcontrol PS 4-201-MM 1 Programming, DOK9026-GB, Sucos
Automation, Klockner Moeller

191
CUPRINS

1 INTRODUCERE ............................................................................... 3
1.1 Procese tehnologice.................................................................................................................4

1.2 Conducerea proceselor...........................................................................................................5

1.3 Sisteme hardware pentru automatizare ...............................................................................7

1.4 Structura controlerului programabil....................................................................................9

1.5 Funcţionarea controlerului programabil ...........................................................................11

2 TIPURI DE CONTROLERE PROGRAMABILE ............................. 13


2.1 Controlere SIMATIC...........................................................................................................13

2.2 Controlerul modular PS 416................................................................................................17

2.3 Controlere programabile OMRON ....................................................................................18


2.3.1 Controlere compacte.......................................................................................................19
2.3.2 Controlere programabile universale................................................................................20
2.3.3 Automate programabile complexe..................................................................................20

2.4 Controlere ABB ....................................................................................................................21

2.5 Controlere PACSystem ........................................................................................................27

2.6 Controlere programabile ICE Felix....................................................................................28


2.6.1 oPLC-336 .......................................................................................................................28
2.6.2 Microcontroler logic programabil mPLC-32 ..................................................................28
2.6.3 Module de I/O pentru mPLC-32.....................................................................................29

3 CONTROLERUL COMPACT PS 4-201-MM 1 ............................... 31


3.1 Descrierea echipamentului ..................................................................................................31

3.2 Modul de operare .................................................................................................................33


3.2.1 Setarea parametrilor de sistem........................................................................................33
3.2.2 Editarea programului pentru controlerul.........................................................................34
PS4 201 MM1..........................................................................................................................34
3.2.3 Compilarea programului.................................................................................................35
3.2.4 Transferul programului pe controlerul............................................................................36
PS 4-201-MM1........................................................................................................................36
192
3.3 Etapele realizării unei aplicaţii de automatizare cu controlere programabile................36

3.4 Programarea Controlerului PS4 201 MM1........................................................................37


3.4.1 Etapele realizării unui program.......................................................................................37
3.4.2 Elementele unei instrucţiuni ...........................................................................................38
3.4.3 Adresarea operanzilor.....................................................................................................39
3.4.4 Intrări ..............................................................................................................................39
3.4.5 Ieşiri................................................................................................................................40
3.4.6 Markeri ...........................................................................................................................40
3.4.7 Constante ........................................................................................................................41
3.4.8 Parametrii funcţiilor bloc................................................................................................41
3.4.9 Operanzii simbolici.........................................................................................................41
3.4.10 Instrucţiuni....................................................................................................................42
3.4.11 Blocuri funcţionale .......................................................................................................47
3.4.12 Structura generală a unui program................................................................................54

3.5 Module externe EM 4...........................................................................................................54

3.6 Reţele cu SUCOnet K...........................................................................................................57

4 CONTROLERE PROGRAMABILE TWIDO ................................... 60


4.1 Introducere ...........................................................................................................................60

4.2 Variante de controlere programabile Twido .....................................................................60

4.3 Module de extensie ...............................................................................................................61


4.3.1 Module de extensie pentru intrări/ieşiri digitale .............................................................61
4.3.2 Module de extensie pentru intrări/ieşiri analogice..........................................................63

4.4 Cabluri pentru controlere Twido........................................................................................63

4.5 Caracteristicile controlerelor Twido...................................................................................64


4.5.1 Caracteristici principale ..................................................................................................64
4.5.2 Caracteristicile comunicaţiei ..........................................................................................65

4.6 Controlere modulare TWDLMDA20DRT şi TWDLMDA40DUK .................................66


4.6.1 Caracteristici...................................................................................................................66
4.6.2 Modul de cablare a controlerului TWDLMDA20-DRT .................................................68
4.6.3 Cablul pentru interfaţa serială TSX PCX 1031...............................................................69

4.7 Modulul de intrări/ieşiri analogice TWDAMM3HT .........................................................70

4.8 Funcţii speciale ale controlerelor Twido.............................................................................72

4.9 Programatoare ciclice ..........................................................................................................73

4.10 Editor de simboluri ............................................................................................................74

4.11 Limbajul lista de instrucţiuni ............................................................................................74


4.11.1 Instrucţiuni pe acumulator ............................................................................................75

4.12 Programarea cu ajutorul reprezentării Grafcet ..............................................................81


4.12.1 Instrucţiuni Grafcet.......................................................................................................81
4.12.2 Descrierea structurii unui program Grafcet ..................................................................83

193
4.12.3 Prelucrarea secvenţială .................................................................................................85
4.12.4 Acţiuni asociate etapelor Grafcet..................................................................................86
4.12.5 Descrierea instrucţiunilor şi funcţiilor ..........................................................................86
4.12.6 Blocuri funcţionale standard.........................................................................................87
4.12.7 Programarea reversibilă ................................................................................................88
4.12.8 Blocul funcţional temporizator (%TMi) .......................................................................90
4.12.9 Programarea şi configurarea temporizărilor .................................................................93
4.12.10 Funcţia PWM..............................................................................................................99

4.13 Programarea ceasului de timp real (RTC) pe controlerul Twido ................................103


4.13.1 Programare RTC- ului ................................................................................................105

4.14 Comunicare serială ASCII...............................................................................................109


4.14.1 Configurarea portului serial........................................................................................109
4.14.2 Programarea portului serial.........................................................................................112

4.15 Funcţiile matematice ale controlerului TWIDO ............................................................115


4.15.1 Domeniul de utilizare a diferitelor tipuri de variabile de memorie.............................116
4.15.2 Funcţii matematice specifice controlerului TWIDO...................................................116

5 ÎNDRUMAR DE LABORATOR .................................................... 119


5.1 Descriere controlerului PS4 201 MM1 şi a simulatorului. Utilizarea mediului de
programare SucoSoft .............................................................................................................................119

5.2 Utilizarea instrucţiunilor logice şi de transfer pentru programarea controlerului PS 4


201 MM1 .................................................................................................................................................124

5.3 Utilizarea instrucţiunilor aritmetice şi de salt pentru programarea controlerului PS 4


201 MM1 .................................................................................................................................................128

5.4 Realizarea aplicaţiilor utilizând temporizări şi generatoare de impulsuri....................131

5.5 Realizarea aplicaţiilor pe baza reprezentării Grafcet utilizând funcţii de control


secvenţial .................................................................................................................................................135

5.6 Realizarea programului pentru automatizarea unui proces ciclic secvenţial ...............142

5.7 Automatizarea operaţiilor de dozare, ambalare şi etichetare a pastelor făinoase cu


controlere PS4.........................................................................................................................................148

5.8 Programarea controlerelor programabile pe baza diagramelor Ladder ......................156

5.9 Descrierea echipamentului TWDLMDA20DRT şi utilizarea mediului de programare


TwidoSoft ................................................................................................................................................165
5.9.1 Caracteristici.................................................................................................................165
Modul de cablare a controlerului TWDLMDA20-DRT ........................................................166

5.10 Programarea controlerului Twido cu ajutorul instrucţiunilor de bază.......................171

5.11 Funcţii speciale pentru Twido şi blocuri de temporizare..............................................174

5.12 Programarea cu ajutorul reprezentării Grafcet a controlerului Twido ......................178


Structura unui program Grafcet .............................................................................................180
Prelucrarea secvenţială ..........................................................................................................181

194
Acţiuni asociate etapelor Grafcet...........................................................................................182
Desfăşurarea lucrării..............................................................................................................183
Lucrarea îşi propune realizarea unui program pentru controlerul Twido ce permite
automatizarea următorului proces ciclic secvenţial .............................................................................183

5.13 Automatizarea operaţiilor de dozare, ambalare şi etichetare a pastelor făinoase cu


controlere Twido.....................................................................................................................................186

6 BIBLIOGRAFIE............................................................................ 191

CUPRINS............................................................................................. 192

195

S-ar putea să vă placă și