Documente Academic
Documente Profesional
Documente Cultură
Etapele iniiale sunt activate cu ajutorul instruciunii OSR. Mici modificri apar atunci
cnd n diagrama Grafcet exist divergene i paralelisme.
n cazul n care dintr-o etap se poate tranzita n diferite alte etape din cauza
existenei mai multor condiii de tranziie, trebuie editat cte o ramur de tip 2
pentru fiecare condiie de tranziie. Starea de activare a unei etape se testeaz cu
instruciunea XIC aplicat bitului asociat etapei.
Dac ulterior activrii unei tranziii urmeaz un paralelism n care mai multe secvene
vor rula simultan, o dat cu dezactivarea etapei curente vor fi activate toate etapele
iniiale ale tuturor secvenelor paralele.
Ieirile digitale pot fi activate i dezactivate att cu instruciunea OTE ct i cu
instruciunile pereche OTL i OTU. Instruciunea OTE se folosete atunci cnd o
aciune este activ numai n etapa curent i va trebui dezactivat o dat cu
dezactivarea etapei. Dac o ieire trebuie s i menin valoarea i n etapele
urmtoare, ea trebuie activat obligatoriu cu instruciunea OTL.
Exemplu
S considerm c avem de controlat un proces a crui diagram Grafcet este
reprezenat n figura:
Identificarea I/O i asocierea biilor cu etapele
diagramei
Presupunnd c pe slotul 1 al automatului se gsete un modul de intrri digitale cu
16 intrri iar pe slotul 3 un modul de ieiri digitale cu 24 ieiri, putem conecta intrrile
i ieirile ctre proces conform tabelului
Asocierea etapelor Grafcet cu bii din fiierul de Bit B3 se poate face conform
tabelului
Scrierea programului Ladder
Bitul B3/0 va fi rezervat instruciunii OSR ca parametru intern.
Etapa 1 va fi activat iniial cu ajutorul instruciunii OSR astfel:
Deoarece n etapa 1 nu au loc aciuni, nu se mai scrie nici o ramur de tip 1 pentru
etap. n schimb, deoarece are loc o divergen pornind din etapa 1, trebuie scrise
dou ramuri de tip 2 pentru cele dou condiii de tranziie ce se exclud:
Scrierea programului Ladder
Pentru tranziia cu condiia i1:
Pentru tranziia cu condiia i2:
Scrierea programului Ladder Etapa 2
Pentru etapa 2 trebuie scrise cele 2 ramuri tipice:
Ramura tip 1
Ramura tip 2
Scrierea programului Ladder Etapa 3
Etapa 3 nu are aciuni asociate, iar tranziia din aceast etap este condiionat de
activarea etapei 103, astfel nct pentru etapa 3 se scrie o singur ramur de tip 2 i
anume:
Aceast ramur este valabil ca ramur de tip 2 i pentru traziia din etapa 103, fiind
suficient editarea ei o singur dat.
Scrierea programului Ladder Etapa 101
Ramura de tip 1:
Ramura de tip 2:
Scrierea programului Ladder Etapa 102
Ramura de tip 1:
Ramura de tip 2:
Mediul de programare Indralogic (Codesys)
Mediul de programare IndraLogic reprezint o soluie complet att
pentru programarea unui automat programabil ct i pentru a realiza o
interfa grafic cu utilizatorul.
Proiectul este mprit n patru zone de interes:
POU: programele ce vor rula pe automat
Data Types: structurile de date complexe declarate de programator
Visualisation: vizualizrile
Resources: resursele implicate.
Conceptul Program Organization Unit (POU)
Reprezint o funcie, un bloc funcional sau un program.
Fiecare POU este constituit dintr-o zon de declaraii i un corp. Acest
corp poate fi scris ntr-unul din limbajele de programare conform IEC care
include IL, ST, SFC, FBD sau LD.
O funcie este un POU a crui ieire este un singur element de date. La
declararea unei funcii trebuie s se hotrasc tipul de date returnat.
Un bloc funcional este un POU a crui rezultat poate fi diferit chiar dac
argumentul de intrare este acelai dar, spre deosebire de o funcie, blocul
nu returneaz o valoare. El poate avea mai multe instane (copii) ce au
comportament particular n funcie de starea lor intern. Fiecare dintre
instane are identificatorul propriu (numele instanei), i o structur de
date ce conine intrrile, ieirile, i variabilele interne. Instanele se
declar local sau global ca variabile unde numele blocului este
identificatorul.
Conceptul Program Organization Unit (POU)
Un program este un POU ce poate returna mai multe valori n timpul rulrii.
Programele sunt recunoscute global n proiect. Toate valorile se rein de la ultima
rulare pn la urmtoarea rulare. Programele nu pot fi apelate de ctre o funcie,
i nu pot exista mai multe instane ale aceluiai program. Dac un POU a apelat un
program, valorile interne ale acestuia modificndu-se, acele valori sunt reinute i
folosite la urmtoarea rulare chiar dac programul este apelat i de un alt POU.
Important n aceast categorie este programul denumit PLC_PRG. El este
un program special predefinit, fiind apelat exact o singur dat pe ciclu de
automat. Prima dat cnd se iniiaz un nou proiect, se va deschide o
fereastr de configurare a acestui program.
Conceptul Data Types
Data types este cea de-a doua zon de interes ntr-un proiect IndraLogic, i
reprezint pe lng tipurile de date standard predefinite i pe cele definite specific
de programator. Se pot crea aici structuri, enumeraii i referine.
Conceptul Visualizations
IndraLogic ofer posibilitatea de a face i o interfaa om-main. Aici se
pot trasa obiecte geometrice, tabele de variabile i alte elemente de
desenare n mod offline. Online, elementele desenate i modific
proprietile astfel nct s corespund strilor din automatul
programabil.
Seciunea Resources
Global Variables declararea variabilelor globale ce pot fi folosite n ntreg
proiectul i pentru variabile de reea;
Alarm Configuration configurarea evenimentelor care genereaz alarme
Library manager permite adugarea sau excluderea unor librrii de
funcii, structuri de date, etc.;
Log este un sistem de arhivare a aciunilor pe parcursul unei sesiuni
online;
PLC Configuration este un instrument pentru configurarea elementelor
hardware ale automatului (carduri de intrare, ieire, comunicaie etc.);
Task Configuration permite organizarea programelor n task-uri ce se
vor executa pe automat;
Watch and Recipe Manager utilizat la vizualizarea anumitor variabile i
setarea valorilor implicite ale unor variabile;
Target system settings se folosete pentru a selecta i configura
automatul i proprietile acestuia pe care va rula proiectul
Seciunea Resources
Tipuri de date n IndraLogic
Variabile de tip Bool tipul de variabil boolean poate lua doar dou valori TRUE
sau FALSE.
Variabile de tip Integer. Acest tip de variabil se folosete pentru a memora
numere ntregi cu semn sau fr semn. Ele sunt mprite n urmtoarele categorii:
BYTE numr ntreg fr semn codificat pe opt bii de date;
WORD numr ntreg fr semn codificat pe aisprezece bii de date;
DWORD numr ntreg fr semn codificat pe treizeci i doi de bii de date;
SINT numr ntreg codificat pe opt bii de date cu semn cu valori ntre (-128, 127);
USINT numr ntreg codificat pe opt bii de date fr semn cu valori ntre (0, 255);
INT numr ntreg codificat pe aisprezece bii de date cu semn cu valori ntre (-32768,
32767);
UINT numr ntreg codificat pe aisprezece bii de date fr semn cu valori ntre (0 ,
65535);
DINT numr ntreg codificat pe treizeci i doi de bii de date cu semn cu valori ntre (-
2147483648, 2147483647);
UDINT numr ntreg codificat pe treizeci i doi de bii de date fr semn cu valori ntre
(0, 4294967295).
Tipuri de date n IndraLogic
Variabile de tip Real. Acest tip de variabil se folosete pentru reprezentarea
numerelor n formatul virgul mobil (numere reale) i sunt de dou tipuri:
REAL numere reale codificate pe treizeci i doi de bii de date;
LREAL numere reale codificate pe aizeci i patru de bii de date.
Variabile de tip String. Sunt tipul de variabile n care se poate memora un ir de
caractere. Numrul de caractere, cunoscut drept lungimea acestora se poate seta
la declarare, iar dac acesta nu este definit, implicit se acord 80 de caractere
lungime.
Variabile de tip Time. Acest tip de variabile este folosit pentru reinerea
momentelor de timp. Are rezoluie de milisecund iar intervalul de valori este (0,
49d17h2m47s295ms). Tipurile de tip Time sunt:
TIME
TIME_OF_DAY(TOD)
DATE
DATE_AND_TIME
Ultimele dou tipuri de date sunt tratate intern ca DWORD, timpul fiind redat n
secunde, i nu n milisecunde.
Tipuri de date definite de utilizator
Variabile de tip Array. Aceste variabile sunt folosite pentru declararea
vectorilor i a matricilor. Se pot defini cmpuri de date cu pn la trei
dimensiuni de orice tip de date, predefinite sau definite de utilizator.
Variabile de tip Struct. Acest tip de date reprezint structuri pe care
programatorul le poate implementa, structuri ce pot conine toate tipurile
de date i la rndul lor pot fi grupate n array-uri.
Variabile de tip Pointer. Sunt variabile ce pot indica un pointer ctre orice
tip de date sau bloc funcional chiar i pe cele definite de utilizator. Acest
tip de date se folosete n conjuncie cu funcia ADR pentru a asigna
valoarea dorit.
Variabile de tip Enumeration. Cu ajutorul lor se d posibilitatea
utilizatorului s creeze un numr de string-uri constante ce vor fi
considerate valori ale enumerrii. Important este faptul c acelai string
constant nu poate fi folosit n dou enumerri.
Variabile globale
.
Particulariti Indralogic
Toate programele au aceeai prioritate la execuie, depinznd
numai de setrile impuse de utilizator prin configurarea task-
urilor.
Prin meniul de proprieti se pot seta parametrii de timp ai
unei etape (timpul minim sau maxim ct automatul rmne n
etapa respectiv), opiuni de inserare a unei etape+tranziie,
paralelism sau divergen, proprieti vizuale ale etapei
(nlime, lime, comentarii) i cele legate de aciunile
asociate etapei.
Spre deosebire de proprietile aciunilor din ISaGRAF,
aciunile din IndraLogic sunt de trei tipuri:
Entry Action se execut o singur dat la intrare ntr-o etap;
Action se execut pe tot parcursul etapei la fiecare ciclu;
Exit Action se execut o singura dat la ieirea din etap.
Particulariti Indralogic
Blocuri funionale
R_TRIG. Acest bloc funcional face detecia trecerii unei variabile
booleene de la un nivel low la un nivel high sau de la false la true. Aceast
variabil poate fi o intrare digital sau orice alt variabil boolean
existent. Ieirea acestui bloc va rmne false att timp ct intrarea n
acest bloc este false. Imediat ce intrarea acestui bloc devine true, i
ieirea lui va avea aceeai valoare pentru un ciclu automat, dup care
devine false, pn cnd la intrare se va detecta nc o trecere din false n
true.
Blocuri funionale
CTU. Acest bloc funcional numr impulsurile de la intrare, incrementnd
o valoare de la care se pornete aceast numrare. Blocul funcional are
drept intrri booleene: CU (variabila pe al crui front cresctor se dorete
numrarea, incrementarea valorii counterului fcndu-se cu o singur
unitate la un puls), RESET (variabil care reiniializeaz counterul cu
valoarea 0), intrare de tip integer PV (reprezint valoarea cu care se
compar numrul de pulsuri incrementate), i dou ieiri: Q (variabila de
ieire boolean care devine true cnd valoarea din counter este egal sau
depete valoarea PV) i CV (valoarea actual a counterului).
Blocuri funionale
CTD. Acest bloc funcional decrementeaz o valoare cu o unitate la fiecare
puls, tranziie de la false la true a variabilei de la intrarea sa. El are drept
intrri booleene: CD (variabil pe al crui front descresctor se
decrementeaz valoarea din counter), LOAD (pe frontul cresctor al
acestei variabile se va face ncrcarea counterului cu o valoare
prestabilit), intrare de tip integer PV (valoarea cu care se dorete
iniializarea counterului), ieirea booleana Q (va fi adevarat att timp ct
valoarea counterului este 0) i ieirea de tip integer CV (valoarea actual a
counterului).
Blocuri funionale
CTDU. Acest bloc funcional este o combinaie ntre cele dou, adic
prezint ambele funcii de numrare incremental i decremental,
precum i cele de reset i load. Ieirile lui digitale sunt aceleai ca la cele
dou blocuri prezentate anterior.
Blocul funional TON
TON. Timer On Delay are drept scop ntrzierea cu un anumit timp a unui
semnal digital boolean. El are drept intrri: IN aici se conecteaz
variabila a crei schimbare din false n true se dorete a fi ntrziat, PT
o variabil de tip TIME sau o constant n formatul TIME care spune ct
timp se dorete a fi ntrziat semnalul, iar ca ieiri are Q variabila care va
deveni true dup trecerea timpului PT, precum i ET cea care d
valoarea timpului actual al timerului.
Modul de funcionare presupune c att timp ct intrarea IN este false,
ieirea Q s rmn false. Imediat ce IN devine true, atunci timpul din
timer, ET va ncepe s creasc de ordinul milisecundelor, pn cnd
valoarea sa atinge ceea ce utilizatorul a specificat n PT, dup care va
rmne constant. Dac intrarea IN devine false, timerul se reiniializeaz.
Ieirea Q devine true numai dac IN este true i ET este egal cu PT, altfel
este false.
Blocul funional TON
Graficul ce explic funcionarea acestui bloc
Blocul funional TOF
TOF. Timer Off Delay are o funcionalitate asemntoare. Are aceleai
intrari i ieiri dar face o ntrziere a frontului descresctor al variabilei de
la intrare.
Modul de funcionare presupune c att timp ct intrarea este true
ieirea Q s rmn true. Imediat ce IN devine false, timpul din timer ET
va ncepe s creasc de ordinul milisecundelor pn cnd valoarea sa
atinge ceea ce utilizatorul a specificat n PT, dup care va rmne
constant. Dac intrarea IN devine true, timerul se reiniializeaz.
Ieirea Q devine false numai dac IN este false i ET este egal cu PT, altfel
este true.
TOF
Graficul ce explic funcionarea acestui bloc
Problematica Timpului n IndraLogic
Msurarea timpului n mediul de programare IndraLogic necesit o
abordare diferit de cea din ISaGRAF. Dac se dorete ca automatul s
atepte un timp ntr-o etapa nainte de a efectua tranziia la etapa
urmtoare, utilizatorul nu are acces la variabila de timp local, care
msoar durata ct automatul se afl n acea stare, i de aceea trebuie
gsite alte soluii. Prima soluie provine chiar din proprietile unei etape.
Printre aceste proprieti utilizatorul poate stabili timpul minim ct
automatul trebuie s stea n etapa respectiv.
Dac se dorete ca automatul s stea ntr-o etap un interval de timp
variabil, atunci se folosete o alt metod care se bazeaz pe proprietile
aciunilor din IndraLogic. Dup cum a fost menionat mai sus, sunt trei
tipuri de aciuni: cele care se execut la intrarea ntr-o etap, cele care se
execut la fiecare ciclu att timp ct automatul se afl n acea etap i
cele care se execut la ieirea dintr-o etap. n plus trebuie s se
foloseasc o funcie predefinit a mediului de programare i anume
funcia TIME(). Aceast funcie returneaz n milisecunde timpul care a
trecut de cnd automatul a fost pornit sub forma unei variabile de tip
TIME.
Problematica Timpului n IndraLogic
Modul de folosire este urmtorul: variabila1:=TIME().
Metoda propus presupune memorarea momentului de timp n care se intr n
etapa respectiv (n engleza time stamp) i apoi citirea periodic a funciei
TIME(), pn cnd diferena ntre cele dou momente de timp este egal sau mai
mare cu intervalul de timp. Paii care trebuiesc urmai sunt:
se creaz etapa dorit dac aceasta nu exist deja;
se selecteaz etapa respectiv i se apas butonul din dreapta al mouse-ului;
se alege de acolo Add Entry Action n limbajul ST;
se declar o variabil de timp n care se va memora time stamp-ul de intrare
folosind funcia TIME();
se apas dublu click pe etapa respectiv pentru a se putea introduce aciunile
dorite a se efectua la fiecare ciclu;
se declar o variabil de timp n care se va memora time stamp-ul curent
folosind funcia TIME();
condiia de ieire din etapa este: time-stamp curent time-stamp de intrare
>= variabila de timp.
Problematica Timpului n IndraLogic
Aciune de tipul Entry
Problematica Timpului n IndraLogic
Aciune de tipul Action
Alarme
Alarma este privit ca o condiie special (valoarea unei expresii)
Evenimentul care declaneaz alarma descrie momentul n care o condiie iese
din starea ei normal.
Confirmarea alarmelor: scopul unei alarme este de a atrage atenia supervizorului
asupra unei stri anormale. Se decalneaz anumite aciuni cnd apare o alarm.
Supervizorul trebuie s confirme recepia alarmei pentru ca ea s dispar din list
Alarmele pot avea prioriti
Starea unei alarme:
NORM ( nu e activ)
INTO (abia a aprut)
ACK ( a fost confirmat de ctre user)
OUTOF (alarma a disprut fr s fie confirmat)
Sub-starea: o condiie de alarm poate avea limite:
LO, HI
LOLO, HIHI
Clase de Alarme
Pofi declarate clase de alarme
Clase de Alarme
Tipuri de confirmare:
NO_ACK: Nu e necesar confirmarea
ACK_INTO: Starea INTO a alarmei trebuie confirmat.
ACK_OUTOF: Starea "OUTOF", alarm terminattrebuie confirmat.
ACK_ALL: Ambele stri trebuie confirmate.
Aciuni asociate alarmelor:
Save
Print
Message: apare un text n obicetul de vizualizare ataar alarmei
E-mail
Variable: o variabil din proiect va cpta starea alarmei
Execute: un program va fi executat (ex. Notepad)
Grupuri de alarme
Tipuri de alarme
DIG=0 Alarm digital, activ indat ce expresia devine FALSE.
DIG=1 Alarm digital, activ indat ce expresia devine TRUE.
LOLO Alarm analogic, activ ndat ce valoarea expresiei scade sub valoarea
LOLO. Se poate defini o toleran (Deadband). Ct timp expresia este n
interiorul toleranei nu va fi activat alarma.
LO Corespunztor lui LOLO
HI Alarm analogic, activ ndat ce valoarea expresiei crete peste valoarea
HI. Se poate defini o toleran (Deadband). Ct timp expresia este n interiorul
toleranei nu va fi activat alarma..
HIHI Corespunztor lui HI
DEV- Deviaie de la valoarea int; Alarma se activeaz ndat ce valoarea
expresiei scade sub valoarea definit pt. Alarma de tip DEV- plus procentul
deviaiei. Procentul deviaiei = valoarea int * (deviaia in %) / 100.
DEV+ Deviaie de la valoarea int; Alarma se activeaz ndat ce valoarea
expresiei crete peste valoarea definit pt. Alarma de tip DEV+ plus procentul
deviaiei. Procentul deviaiei = valoarea int * (deviaia in %) / 100
ROC Viteza de variaie pe unitatea de timp; Alarma se activeaz cnd expresia
deviaz puternic fa de valoarea precedent.
Taskuri
Taskurile sunt colecii de programe executate de ctre automatul care ruleaza
aplicaia Indralogic
Un Task este definit de un nume, o prioritate i de un tip ce determin satisfacerea
crei condiii va porni acel task. Aceste condiii pot fi definite de un moment de
timp (ciclic, freewheeling), sau un eveniment intern sau extern, de exemplu
frontul cresctor al unei variabile globale sau o ntrerupere n automatul
programabil.
Dac taskul este executat n ciclul prezent, atunci programele taskului vor fi
procesate pe ntreaga lungime a unui ciclu. Ordinea n care se execut taskurile va
fi determinat de combinaia, de prioritatea i condiiile de pornire.
Proprietile unui Task
Tipurile unui Task
Cyclic: taskul va fi procesat ciclic conform cu perioada de timp declarat
Freecycling: taskul va fi procesat in continuu, adic odat ncheiat va fi
reluat imediat
Triggered by event: taskul va fi pornit doar atunci cnd variabila declarat
n cmpul Event trece din False in True
Triggered by external event: taskul va fi pornit atunci cnd evenimentul
extern, definit n cmpul Event, are loc. Evenimentul depinde de
automatul int i apare sub form de list.
Watchdog: pentru fiecare task poate fi definit un control de timp
(watchdog). Dac taskul depete timpul specificat el va fi oprit din
execuie cu un cod de eroare, dar nu neaprat la prima ntrziere a
taskului, ci in funcie de valoarea parametrului Sensitivity.
Ecrane de vizualizare
n cadrul unui proiect IndraLogic pot fi dezvoltate ecrane de vizualizare a
valorilor unor variabile print-o reprezentare grafic precum i de
introducere a unor date n automatul programabil n timp real cu ajutorul
mouse-ului sau a tastaturii.
Editorul de vizualizri, care este o parte integrant a mediului de
programare, permite utilizarea unor elemente grafice care pot fi
configurate astfel nct s fie conectate la variabilele proiectului prin
intermediul unui dialog corespunztor unui singur element al unei
vizualizri. Parametrii de baz pot fi setai prin activarea unor opiuni, iar
prin introducerea variabilelor procesului se poate obine parametrizarea
dinamic.
Pot fi fi inserate diferite forme geometrice, poze n format bitmap,
fiiere metafile, butoane i chiar alte vizualizri existente.
Ecrane de vizualizare
Editarea proprietilor unui obiect
Editarea proprietilor unui obiect
Standardul de comunicaie OPC
OPC = OLE for Process Control
OPC este un standard de comunicaie n timp real a datelor unui proces de
control ntre dispozitive de control provenind de la diferii productori.
OPC ofer un mecanism de tip server-client prin care datele preluate de la
o surs sunt comunicate oricrei aplicaii client printr-o modalitate
standard.
Clienii obinuii de OPC sunt ecrane de vizualizare sau prorame care
stocheaz date.
Un furnizor poate acum dezvolta un server, reutilizabil, optimizat, care s
menin un mecanism eficient pentru accesul datelor de la sursa de date /
device. Furnizarea, alturi de echipamentul de proces, a unui server cu
interfaa OPC, va permite oricrui client s acceseze sursele de date /
echipamentele respective.
Sistemele moderne de proramare a automatelor proramabile vin cu un
OPC server
OPC are la baz tehnoloia Microsoft OLE COM
Standardul de comunicaie OPC
Relaia dintre client i server
Serverul OPC nu este un subproram pasiv ci un proram executabil care
pornete imediat ce o conexiune este stabilit ntre un client i controller.
Informeaz clientul atunci cnd valoarea sau starea unei variabile s-a
schimbat.
Specificaii OPC: OPC Data Acces
Este primul rup de specificaii OPC
Server-ul OPC Data Access sau OPC DA furnizeaz accesul la datele de
proces de timp real sub forma unei comunicaii continue (nu date istorice)
La nivelul de sus, un OPC DA se compune din urmtoarele obiecte:
Server-ul
Grupul
Item-uri.
Server-ul OPC menine informaii despre obiectul Server i constituie un
container pentru obiectele de tip Group. La rndul lui, un obiect Group
menine informaii leate de el i ofer un mod pentru oranizarea loic
a obiectelor Item.
Grupurile OPC ofer clientului o modalitate pentru oranizarea datelor. De
exemplu, grupul poate reprezenta item-urile pentru operator ntr-un
raport sau ecran particular, care urmeaz a fi citite sau scrise. n fiecare
Grup clientul poate defini unul sau mai multe Item-uri OPC.
Accesul la date
Item-urile OPC reprezint conexiuni cu sursele de date dintr-un server. Un Item
OPC, daca este s fie privit din perspectiva interfeei cu clientul, nu este accesibil
de Clientul OPC ca un obiect. Astfel, toate accesrile ctre Item-urile OPC se fac
prin intermediul Grupului OPC care conine Item-ul respectiv.
Fiecare Item-ul are asociat tripletul:
Valoare
Calitate
Amprent de Timp
Aceste valori sunt trimise
clientului la cererea acestuia
Dac sursa de date nu poate furniza
amprenta de timp, serverul OPC
trebuie s o creeze
OPC Historical Data Access
Server-ul OPC Historical Data Access sau OPC HAD este
folosit pentru colectarea i analiza istoricului cu datele de
proces care de cele mai multe ori sunt stocate n arhivele cu
datele de proces, baze de date, etc. Exist disponibile mai
multe tipuri de servere pentru furnizarea istoricului datelor.
Cele mai importante tipurile de servere HDA sunt:
Servere care furnizeaz un istoric cu date simple datele
din istoric sunt de tipul celor furnizate de server-ul OPC
DA, fiind oferite sub form de triplet [Timp, Valoare,
Calitate].
Servere care furnizeaz date compresate i analize
stocheaz i comprima datele culese de la procese i sunt
capabile s ofere rapoarte cu analiza datelor, cum ar fi:
valori medii, minime i maxime
OPC Alarme i Evenimente
Aceste interfee ofer un mecanism de notificare pentru Clienii OPC n
cazul apariiei alarmelor i evenimentelor specificate. De asemenea,
interfeele ofer servicii care permit Clienilor OPC s determine
evenimentele i condiiile pe care un Server OPC le suport i s obin
starea lor curent.
n OPC, o alarm este o condiie anormal, deci un caz special al unei
condiii. O condiie este o stare definit a Server-ului de Evenimente OPC.
Poate avea urmtoarele condiii asociate: HighAlarm, HighHighAlarm,
Normal, LowAlarm i LowLowAlarm.
Pe de alt parte, un eveniment reprezint o apariie detectat la un
anumit moment, care are o anumit semnificaie. Un eveniment poate s
aibe sau nu asociat o condiie. De exemplu, ndeplinirea condiiilor de
HihAlarm i Normal sunt evenimente care sunt asociate cu aceste
condiii. In schimb, Aciune Operator, Schimbare Confiurare Sistem i
Eroare Sistem sunt exemple de evenimente care nu se enereaz pe baza
unei condiii specifice.
Aplicabilitatea n Sistemele SCADA i DCS
Deci OPC este n primul rnd proiectat pentru accesul la datele unui server din
reea, interfaa OPC poate fi folosit la diferite nivele ale unei aplicaii. La nivelul
cel mai de jos, prin interfaa OPC se pot transfera datele de la echipamentele de
proces la sistemele SCADA sau DCS, sau de la sistemele SCADA sau DCS la aplicaie.
Arhitectura i desinul acestui standard fac posibil construirea unui server OPC
care sa permit unei aplicaii client s acceseze datele de la mai multe servere OPC
furnizate de productori OPC diferii i care ruleaz pe diferite noduri n reea.
Folosirea Interfeelor OPC la Diferite Niveluri
Arhitectura i Componentele OPC
Specificaiile OPC ntotdeauna conin dou seturi de interfee: interfee custom
i interfee automation .
La fel ca toate implementrile COM, arhitectura OPC este un model Client / Server
n care componentele server-ului OPC expun o interfa ctre obiectele OPC.
Arhitectura OPC
O aplicaie client comunic cu serverul OPC prin intermediul interfeelor custom
i automation specificate. Server-ele OPC trebuie s implementeze interfaa
custom i opional poate implementa interfaa automation. Pentru interfaa
automation este disponibil o bibliotec wrapperDLL prin intermediul creia
care se pot conecta clieni la interfaa automation
Arhitectura serverului OPC din Indralogic
Funcionarea serverului OPC din Indralogic
Serverul OPC se bazeaz pe serverul Gateway
Atunci cnd un proiect Codesys este ncrcat ntr-un controller, se poate enera
un fiier de simboluri (.sdb sau .sym) care se transmite serverului Gateway i
controllerului.
Fiierul symbol conine item-uri. Un item (obiect de date) corespunde exact unei
variabile din proiectul Codesys. Variabilele unui controller pot fi accesate prin
intermediul acestor item-uri.
Serverul OPC server solict Gateway-ului s i transmit coninutul fiierului
symbol apoi acesta creaz o list de item-uri, pornind de la informaia
recepionat. Deoarece coninului listei de item-uri este determinat de
accesibilitatea variabilelor din controller, el nu poate fi influenat de un client OPC.
n fiecare caz serverul OPC citete ultimul fiier symbol care a fost ncrcat n
canalul Gateway al unui proiect.
Item-uri de la diferite proiecte, pot fi accesate simultan daca fiierul symbol a fost
furnizat prin acelai canal Gateway.
Lista de item-uri din serverul OPC este actualizat cu date de la controller(e) la
intervale fixe. n comparaie cu accesul direct la controller, citirea i scrierea
variabilelor via liste cache conduce la creterea tipului de acces (max. approx. 1ms
per item).
Funcionarea serverului OPC din Indralogic
Serverul OPC se descurc bine cu maxim 15.000 de item-uri i fiiere symbol de
maxim 1,5 MB
Serverul OPC permite ruparea item-urilor n rupuri:
Publice: furnizate de serverul OPC
Private: furnizate de clientul OPC
Se poate confiura astfel nct serverul OPC poate rupa item-urile (variabile)
conform POU n care sunt utilizate (Cte un rup per POU).
Grupurile private pot fi create din oricare item-uri.
Iniial ele nu influeneaz rupurile din server dar pot fi transformate n rupuri
publice dac e necesar.
Grupurile ar trebui citite consistent din server adic toate variabilele s fie citite
simultan. Este important de tiut c nu e totdeauna posibil chestia asta cu
dispozitive care au buffere limitate de comunicaie.
Este posibil obinerea accesului la un server OPC localizat pe un alt computer din
reea dac este instalat un OPC server local.
Configurarea unui singur controller
Update Rate (ms): Implicit: 200. Reprezint perioada de update a serverului OPC n msec =
perioada ciclic n care toate item-urile sunt citite din controller (aceast informaie e scris
in cache-ul cu care clientul comunic la o perioad diferit).
Public Groups: Implicit: active (tick). Serverul OPC seteaz cte un rup public pentru fiecare
POU precum i pentru variabilele lobale.
Sync Init: Implicit: active (tick). Iniializare sincron: serverul OPC reacioneaz doar cnd
fiierul symbol a fost ncrcat.
Log Events: Implicit: active (tick). Aciunile care au loc pe serverul OPC precum i erorile sunt
stocate ntr-n fiier lo.
Configurarea unui singur controller
Timeout (ms): Dac serverul OPC nu primete feedback de la controller n aceast perioad
de timp se nchide automat.
Number of Tries: Numrul de ncercri pt transferul unui bloc. Dac eueaz va fi produs o
eroare de comunicare..
Buffer Size (Byte): Dimensiunea buffer-ului de comunicaie cu sistemul int. 0 inseamn
nelimita n unele cazuri.
Wait Time (s): Timpul n secunde pe care serverul OPC l ateapt pn cnd controllerul
devine operaional (important n timpul pornirii automate a controller-ului)
Reconnect Time (s): Intervalul de timp n care serverul OPC ncearc repetitiv s se
reconecteze la controller prin ateway.
Serverul Gateway din Codesys
Scopurile serverului Gateway:
Posibilitatea interrii n Codesys a driverelor de comunicaie specifice fr a fi
nevoie de a crea un executabil specific coninnd driverul. Clientul poate dezvolta i
intera drivere fr a fi nevoit s le linkeze n executabilele sale.
Utilizatorul s se poat loa pe dispozitive care nu folosesc reea, spre exemplu pe
port serial RS232.
Aplicaiile utilizator s poat comunica cu controllerul, chiar dac sistemul Codesys
nu este disponibil.
Aplicaiile utilizator s poat folosi o interfa simbolic cu controllerul, fr nevoia
de a utiliza vreun fiier enerat de Codesys
Serverul Gateway este divizat in 3 mari module:
Interfaa client
Procesul server
Driverele de dispozitiv
Modulele Serverului Gateway din Codesys
Magistrale seriale de comunicaie
Caracteristica principal a oricrei maistrale seriale este transmisia
secvenial, bit cu bit, a informaiilor, folosindu-se un numr redus de
semnale (linii de comunicaie).
n contrast, o maistral paralel permite transferul simultan al mai multor
bii (8, 16, 32), folosind n acest scop mai multe linii de date.
n principiu, transmisia serial asiur o vitez de transfer mai redus, n
comparaie cu transmisia paralel, ns este mai economic (numr mai redus
de linii de transmisie), iar distana maxim de transfer este semnificativ mai
mare.
Maistralele seriale pot fi clasificate dup mai multe criterii :
a. dupa modul de sincronizare :
transfer sincron - se utilizeaz un semnal explicit de ceas (de sincronizare) pentru specificarea
momentului n care un bit de data este valid
transfer asincron - nu se utilizeaz semnal de ceas, sincronizarea ntre unitatea emitent i cea
receptoare se face n mod implicit pe baza structurii specifice a datei transmise
Magistrale seriale de comunicaie
b. dup lunimea blocului de date transmis :
transfer pe octet
transfer pe bloc (numr mai mare de octeti)
c. dup numrul de uniti comunicante
transfer serial de tip punct-la-punct : letura se realizeaz ntre dou echipamente
transfer serial multipunct : leatura se realizeaz simultan ntre mai multe
echipamente, din care la un moment dat unul transmite i restul recepioneaz
d. dup direcia de transfer
transfer unidirecional (ntr-un sinur sens)
transfer bidirecional sau full duplex (simultan in doua sensuri)
transfer bidirecional pe o sinur linie sau half duplex (se transmite pe rnd n cele
dou direcii)
e. dupa domeniul de utilizare
maistrale de sistem - folosite pentru interconectarea componentelor unui
microsistem (ex : microcontroller, memorii, convertoare A/D si D/A etc.)
canale de comunicaie serial folosite pentru interconectarea unor echipamente
inteliente (ex : calculatoare, imprimant , consol ) prin leatura punc-la-punct
Reea de comunicaie folosita pentru asiurarea comunicaiei multipunct ntre un set
de echipamente de calcul
Magistrale seriale de comunicaie
Pentru a asiura interoperabilitatea ntre diferite echipamente realizate de diveri
productori, s-au definit o serie de standarde internaionale, care specific :
modul de transmisie a datelor (sincron/asincron),
modul de structurare a datelor transmise (octet, bloc),
viteza de transmisie,
mecanismele de detecie i corecie a eventualelor erori
tipul semnalelor folosite pentru transmisie ( tensiune, curent, tensiune diferenial,
etc.)
mecanismele de sincronizare a echipamentelor comunicante (ex : protocol
XON/XOFF, sincronizare prin semnale explicite, etc.)
tipul de conectori folosii
natura i parametrii fizici ai mediului de transmisie (ex : cablu bifilar torsadat, cablu
coaxial, fibr optic, etc.)
Cele mai cunoscute standarde folosite pentru comunicaia serial sunt : RS 232 (V24),
RS 485, I2C si HDLC/SDLC.
Nivelul fizic al sistemelor de
comunicaie serial asincron
Standardul RS232
Codificarea electric a informaiei este de tip sinle ended, adic informaia este
transmis pe un sinur fir, iar biii 1 si 0 sunt definii prin nivele de tensiune fa de o
referin comun.
Ca nivele de tensiune :
Pentru TX i RX
0 Loic = 3 : 15V (activ)
1 Loic = -3 : -15V (inactiv)
Pentru celelate semnale :
Activ = tensiune pozitiv
Inactiv = tensiune neativ
DCD Data Carrier Detect.
DTR Data Terminal Ready.
DSR Data Set Ready. Raspunsul la DTR
RTS Request To Send cerere de transmisie
CTS Clear To Send este rspunsul la RTS
i indic faptul c receptorul are loc n buffer
i poate prelua efectiv datele.
TXD linia de transmisie
RXD linia de recepie
Caracteristicile Standardului RS232
codificarea informaiilor binare : prin nivele de tensiune sau curent (bucla de
curent) :
1 loic (-3V -15V)
0 loic (+3V-15V)
structura informaiei elementare transmise :
un bit de start (0 loic)
5-8 bii de date
0-1 bit de paritate (paritate par sau impar)
1-2 bii de stop (1 loic)
semnale utilizate pentru transmisia de date i pentru controlul fluxului de date
tipul de conectori folosii (RK 25, mufa i soclu) i poziia semnalelor pe pinii
conectorilor
modul de interconectare a semnalelor la cele dou capete ale unui cablu de
transmisie
viteza de transmisie (110, 300, 600, 1200, 2400, 4800, 9600, 19200 bauds)
reuli de control al fluxului de date (control hardware protocolul DTR/DSR sau
software - protocolul XON/XOFF)
Dezavantaje RS232
Lunimea maxim a liniei de comunicaie este
limitat de modul de transmisie unipolar al
semnalelor RxD i TxD, rezistena liniei influennd
nefavorabil atenuarea semnalului sub limitele
impuse de marinea de zomot a standardului
Viteza de comunicaie scade cu distana i oricum e
mic pentru cerinele industriale
Topoloie strict point to point
Vulnerabilitate mare la perturbaii elecromanetice
Standardul RS485
Pentru medii industriale unde zomotele i interferenele cu reeaua de curent
alternativ sunt mari, a fost imainat un alt standard (EIA-485) cu imunitate mult
mai bun la zomote, funcionnd cu semnale de ieire difereniale pe o lunime
arantat a tronsonului de cablu de 10001200m.
Avantajul suplimentar este posibilitatea interfarii unui numr mare de
echipamente pe linie, 32 pentru standardul iniial sau 64 pn la 256 dac se
reduce cu un factor corespunztor curentul injectat n linie (cu sau din
valoarea iniial standardizat de 60 mA) i implicit lunimea liniei.
Tipul conectorului ce trebuie utilizat pentru interfaare i protocolul software sunt
opiunea utilizatorului.
Sunt standardizate limitele extreme de variaie a semnalelor i parial impedana
receptoarelor, valoarea curentului diferenial injectat n linie i prezena
terminatoarelor rezistive pe linie pentru viteze de comunicaie mari
Conexiunea pe RS485 se realizeaz pe 2 sau 4 fire (full duplex) + un fir de mas,
cele dou fire notate A i B sunt purttoare de semnal.
Valoarea semnalului se calculeaz n funcie de voltajul (diferena de potenial )
dintre liniile A i B, maxim 6V, tipic 5V
n stare inactiv Vb = 5V i Va = 0V
Standardul RS485
Pentru conexiunea ntre dispozitive se utilizeaz cablu torsadat care are o
impedan cam de 100 120 ohmi
Vitezele ajun pn la 35Mbit/s pn la 10m i 120Kbit/s la 1200m
Driverele se pot si n starea de impedan nalt (hih impedance) n cazul
folosirii variantei cu 3 fire
Cicuitul interat SN75176
Unde DE = Data Enable (driverele sunt puse explicit n modul transmisie)
RE Reception Enable
Standardul RS485
Structura posibil a unei linii:
Datorita discontinuitii impendanei cablului de comunicaie pot s apar reflexii
care pot corupe transferul de date daca sunt destul de mari ca amplitudine
La capetele liniilor se utilizeaz terminatoare (100 .. 120 ohmi) pentru evitarea
reflexiilor
Standardul RS485
Dac distana total depaete 1200m se pot folosi repetoare
Standardul RS485
Din punct de vedere structural, dispozitivele se mpart n:
Master (1 sau mai multe)
Slave (mai multe)
Fiecare echipament are o adres n cadrul reelei 485
Implicit toate driverele sunt n starea hih impedance (tri state)
Masterul iniiaz o comunicaie adresnd un dispozitiv Slave
Toate echipamentele primesc datele dar numai Slave-ul adresat rspunde
Dup transmisie automatul driverul trece n tri-state
Master-ul este poziionat central n cadrul reelei
Exist multe protocoale de comunicaie industrial care folosesc ca suport fizic
RS485:
Profibus
Modbus
CAN
Controlul unui celule de fabricaie cu A.P.
Exist 5 posturi de lucru
Controlul unui celule de fabricaie cu A.P.
Cele cinci posturi de lucru sunt constituite n jurul unor roboi
Adept ce pot executa operaii de asamblare/profilare i sunt
organizate dup cum urmeaz:
dou posturi echipate cu roboi articulai orizontal Cobra 600 i
efectueaz:
montarea de piese tip ax, r,l i t.
inspecie video n faza intermediar i final.
dou posturi echipate cu roboi articulai vertical Viper 650 i
maini unealt (CNC) subordonate acestora putndu-se efectua:
montare piese tip ax, l, i, t, i-modificat, aib.
manipularea pieselor brute n vederea prelucrrii pe mainile
unealt subordonate.
inspecie video n faza intermediar i final.
un post de alimentare echipat cu un robot articulat orizontal
Cobra 800 i dou feed-ere de piese tip AnyFeeder i care poate
efectua:
identificarea pieselor vrac din recipientele anyfeeder-elor.
poziionarea acestora pe palete de transport
Descrierea sistemului de transport
Port Paleta: este folosit pentru transportul paletelor, iar pe palete
sunt depozitate piesele asupra crora se fac prelucrrile
Port-paletele(160 x 160 mm) alunec pe suprafaa mediului conveior,
aceasta metod avnd urmtoarele avantaje:
o Poziionare. Paletele sunt poziionate n dreptul staiilor de lucru cu o precizie de
0.05mm atunci cnd sunt folosite uniti de poziionare, permind efectuarea
operaiilor de asamblare de mare precizie.
o Montare. Paletele sunt prevzute cu dispozitive de fixare pentru a securiza
componentele pentru asamblri manuale sau automate. De asemenea, exist
posibilitatea ca pe palete s se monteze dispozitive de identificare a lor i
transport al unor date/informaii folosite pentru coordonarea secvenelor de
asamblare.
o Oprire. Port-paletele pot fi oprite pe band indiferent de orientarea lor pe
conveior.
o Detecia. Senzori montai pe spatele sau lateralul paletelor funcioneaz mpreun
cu conveiorul pentru detecia prezenei paletelor.
Conveiorul longitudinal i Unitatea de transfer
Rolul conveiorului longitudinal este acela de a transporta paletele
ntr-o bucl nchis
Conveiorul transversal este folosit pentru a uni dou benzi paralele
Opritoare i lifturi
De-a lungul benzilor conveioare se afl opritoare pneumatice care pot
opri paletele n diferite puncte, aceste opriri fiind necesare fie pentru
lucru asupra produselor transportate, fie pentru a opri eventualele
ciocniri ntre palete.
Ele au doar o comand de tip boolean: dac aceasta este false
opritorul blocheaz trecerea paletei, dac este true opritorul
permite trecerea nestingherit a paletei.
Pentru a se putea face devierea de pe o banda principal pe una
secundar de deviere se folosesc lifturi pneumatice cu trei stri:
o jos pentru ca paleta s poat trece fr probleme prin dreptul deviaiei
o mijloc pentru ca paleta s se opreasc pe lift i s se fac alinierea cu banda de
deviaie pe care aceasta va intra
o sus paleta s-a aliniat pentru intrarea pe banda secundar de deviere.
Automatul programabil
Comanda elementelor constituente ale sistemului de transport este
efectuat de un automat programabil Bosch-Rexroth seria
IndraControl L40. Automatul are urmtoarea configuraie de module:
5 module de cte 32 intrri digitale
1 modul de 8 intrri digitale
3 module de cte 32 ieiri digitale
Automatul poate fi programat cu ajutorul mediului Indralogic
(Codesys adaptat de Bosch)
Interfeele de comunicaie
Interfaa serial
Interfaa Ethernet
Interfaa RS485: Unitatea central prezint o interfa de tip RS485,
tipul cablului folosit pereche torsadat ecranat. Protoclul
implementat este Profibus
Arhitectura reelei Profibus
Reeaua ProfiBus are drept Master unitatea central IndraControl L40 a crei
adres este configurat automat la valoarea 1.
Module slave:
unitate de extensie Bosh B-IO M-DP, configurat la valoarea arbitrar 3
dou procesoare RFID care comand 4 capete de citire scriere, ale cror adrese sunt
configurate la 12 i 13. Configurarea adreselor profibus ale modulelor slave se face manual cu
ajutorul selectoarelor de adres corespunztoare
Selectoarele de adres ale modulelor Slave
Arhitectura reelei Ethernet
Sistemul de identificare de tip RFID RD i RD/WR
Sistemul de identificare folosit este realizat de firma BALLUFF i este de tipul
BIS-C 600. El este format dintr-un procesor, capete de citire/scriere i pastil-
memorie RFID asupra creia se fac aceste operaii de scriere/citire.
Procesorul BIS C-602-019-650-03-KL2 este conectat cu automatul programabil
prin intermediul interfeei ProfiBus iar legtura cu capetele de citire/scriere se
realizeaz prin cablurile speciale oferite de productor
Senzorii de citire sunt de tipul BIS C 60R -001-08P-PU-10 i ofer pe 8 linii
digitale datele i pe 1 linie digital validitatea acelor date ceea ce conduce la
existena a maxim 256 de coduri valide de identificare RFID (vezi fig)
Sistemul de identificare de tip RFID RD i RD/WR
nscrierea codului paletei corespunztor planificrii produselor se face dup
urmtorul principiu: dei memoria folosit n sistemul de identificare permite
scrierea i citirea a 1023 de octei, senzorii de citire de tipul BIS C-60R-001-
08P-PU-10 nu pot oferi dect o informaie cuprins ntr-un singur octet.
Pentru a evita identificarea greit sau erorile de scriere se folosesc primii trei
octei de pe palet, primul dintre cei trei fiind efectiv codul de indentificare iar
urmtorii doi fiind complementul binar fa de 1.
Magazia de produse
Introducerea paletelor n sistem precum i preluarea i stocarea acestora
dup ce au fost realizate trebuie efectuat n mod automat cu ajutorul unui
robot.
Datorit aplicaiei specifice n care acesta va fi utilizat a fost proiectat o
magazie pentru stocarea produselor i a port-paletelor acestora. Aceasta
conine patru sertare mobile, acionate de patru pistoane pneumatice, pe
fiecare dintre aceste sertare putndu-se poziiona patru palete produs sau
patru port-palete.
Magazia de produse
Aceste palete sunt pe rnd introduse n spaiul de lucru al robotului pentru a
putea fi preluate sau stocate n funcie de necesitate. S-a apelat la aceast
soluie constructiv ntruct anvelopa de lucru a robotului este mult mai mic
dect volumul total ocupat de produse.
Pentru a putea controla dispozitivele mecanice ale magaziei, s-a utilizat un
dispozitiv tip microcontroller. Acesta poate comunica direct cu controllerul
robotului Cartezian prin intermediul interfeei seriale i prin aceasta preia
comenzi n privina sertarului pe care robotul vrea s l acceseze pentru a
poziiona produsul.
Magazia de produse
Arhitectura sistemului de nmagazinare de produse inteligente a fost centrat pe
microcontroller. Acesta are drept intrri digitale informaiile oferite de senzorii
de poziionare a sertarelor, precum i butoanele de comand manual pentru a
da posibilitatea operatorului uman s acceseze paletele. Ieirile digitale ale
acestuia sunt conectate la un display alfanumeric pentru a informa utilizatorul
asupra strilor n care se afl magazia i comenzile electrovalvelor de comand
ale celor patru pistoane. Senzorii i electrovalvele utilizate sunt identice cu cele
care ntr n componena sistemului de transport i care au fost prezentate
anterior.
Structura software din automat
Sistemul are trei regimuri de funcionare:
Manual
Diagnoz
Automat
n regimul manual, operatorul uman are posibilitatea de a porni individual,
elementele constituente ale sistemului de transport, pentru a putea face
verificri de rutin sau a aduce sistemul ntr-o anumit stare dorit.
Regimul de diagnoz permite deplasarea unei palete ntre posturile de lucru,
oprirea acesteia n anumite puncte cheie ale sistemului de transport astfel nct
operatorul s nu fie nevoit s realizeze succesiunea de operaii complicate asupra
elementelor mecanice. Acest regim ofer drept rezultat, att deplasarea paletei
ntre punctele dorite precum i diagnoza a strii de funcionare a ntregului
sistem prin mesaje de confirmare a efecturii operaiilor sau de eroare.
Regimul automat este regimul normal de funcionare. El presupune ca sistemul
de transport s interacioneze cu celelalte componente ale celulei de fabricaie si
s efectueze operaiile necesare deplasrii paletelor-produs ntre posturile de
lucru. De asemenea el trebuie s intermedieze comunicaia ntre planificatorul
global i celul, n cazul unui defect s anune acest lucru i operatorului uman
iar n cazul epuizrii unuia din stocurile de piese al roboilor s declaneze
realimentarea cu piese a robotului respectiv.
Regimul manual
Cnd automatul se afl n regimul manual, el trebuie s permit operatorului uman s
comande individual toate elementele de acionare ale sistemului de transport, pentru a
putea face verificri de rutin sau a aduce sistemul ntr-o anumit stare dorit.
n celelalte regimuri de control ale automatului accesul la resursele conveiorului este
limitat, putnd fi activate doar benzile principale. Strile senzorilor elementelor
constituente ale sistemului de transport pot fi cu uurin monitorizate pentru a
confirma: pornirea/oprirea utilajelor, ridicarea/coborrea mecanismelor de transfer al
paletei de pe o band conveioare pe alta, poziiile paletelor n dreptul elementelor cheie
implicate i poziiile lifturilor (sus/jos/la mijloc).
Comutarea n regimul manual se realizeaz dup pornirea mediului de programare
IndraLogic, iar realizarea conexiunii cu automatul prin apsarea butonului de Login, fie
prin apsarea butonului Manual ntr-un alt ecran de vizualizare, fie prin alegerea
vizualizrii cu numele ModManual ca n figur
Regimul manual
Comenzile elementelor de acionare pot fi mprite n trei categorii:
- comanda motoarelor electrice;
- comanda opritoarelor mecanice;
- comanda lifturilor pneumatice;
Comanda unui motor cu dou sensuri de rotaie a fost implementat cu ajutorul a
dou butoane de comand, cte unul pentru fiecare din cele dou sensuri, care
realizeaz activarea ieirilor digitale corespunztoare. Deoarece schimbarea de
sens a unui motor se face prin inversarea celor trei faze de comand (motoarele
sunt trifazate), activarea simultan a celor dou sensuri duce la scurtcircuit
respectiv la activarea siguranei termice corespunzatoare motorului respectiv.
Fiind o situaie anormal, butoanele sunt interblocate astfel nct, dac unul este
activ, cellalt nu poate fi apsat. Din punct de vedere grafic s-a ales includerea
pe lng litera M i a unei sgei care s indice sensul pe care butonul de
comand al motorului l va activa
Regimul manual
Comanda opritoarelor mecanice presupune activarea unei ieiri digitale care
la rndul ei activeaz o electrovalv pneumatic. Astfel aerul din circuitul
pneumatic intr n opritor, fcnd acest element s coboare i s lase paleta
s treac mai departe pe banda conveioare. Pentru a ridica opritorul trebuie
doar dezactivat ieirea digital care comand electrovalva i aerul va prsi
opritorul acesta ridicndu-se i oprind eventualele palete care circul pe
banda conveioare
n figura de mai sus sunt prezentate mai multe opritoare i martorii
corespunztori lor. Butoanele de comand au fost implementate cu simbolul
de comand o iar martorii lor i schimb culoarea n funcie de opritor (rou
dac opritorul este inactiv i verde dac acesta a cobort lsnd paleta liber).
Regimul manual
Comanda lifturilor cu trei poziii este asemntoare cu cea a motoarelor cu
dou sensuri de rotaie. Au fost realizate dou comenzi digitale care pot activa
dou electrovalve pneumatice.
Dei activarea simultan a dou butoane nu produce scurtcircuit ca n cazul
motorului cu dublu sens a fost implementat acelai mecanism de interblocare
pentru a evita creeare unor tensiuni n circuitul de aer comprimat.
Dac nu e activ nici o comand, liftul rmne n poziia din mijloc. Simbolurile
alese pentru butoane sunt ^ pentru comanda de ridicare a liftului iar v
pentru coborrea acestuia.
n modul manual este util s se tie dac paleta a ajuns n locaiile dorite i de
aceea au fost configurate i elemente grafice care figureaz poziile acestora
Regimul manual
n figura de mai jos este surprins o instan cu trei palete care ateapt n
poziii cheie. Dou dintre acestea se afl n dreptul senzorilor de citire a
codurilor RFID i acestea sunt afiate deasemenea. Dac senzorii inductivi sunt
inactivi, n dreptul poziiei cheie nu se afl nici un element grafic.
Regimul de diagnoz
n regimul de diagnoz sunt testate elementele mecanice ale
sistemului de transport i trebuie s permit operatorului uman
detectarea facil a posibilelor defecte de funcionare.
Pentru a putea mica o palet prin sistemul de transport trebuie
efectuat o succesiune de operaii bine determinate, iar n
funcie de destinaia final dorit a acesteia, aceast succesiune
este diferit.
Regimul de diagnoz a fost implementat pentru a permite fixarea
destinaiilor paletei, aceasta putnd fi oricare din poziiile unde o
palet poate fi oprit, iar apoi pe parcursul traseului operatorul
uman este informat, printr-un mesaj text, asupra poziiilor
intermediare prin care paleta trece.
n cazul n care paleta nu ajunge la destinaie dup un anumit
timp sau nu face tranziia printr-o poziie intermediar suficient
de repede, operatorul uman este informat asupra posibilitii
defectrii sistemului.
Regimul de diagnoz
Comutarea n regimul de diagnoz se realizeaz dup pornirea mediului
de programare IndraLogic, fie prin apasarea butonului Diagnoza ntr-
un alt ecran de vizualizare, fie prin alegerea vizualizrii cu numele
ModDiagnoz.
Interfaa prin care se poate face diagnoza este cea din figura de mai
jos.
Regimul de diagnoz
Procedura care a fost implementat pentru verificarea rutrii paletelor
dintr-un punct n alt punct este urmtoarea:
se pornesc motoarele benzilor principale
se introduce destinaia dorit n chenarul Noua destinaie sub form numeric
se valideaz destinaia
se ateapt ca paleta s ajung n poziia dorit.
Destinaiile se introduc sub forma unor numere acestea fiind aezate n
dreptul fiecrei poziie unde paleta ar putea fi oprit. n exemplul dat se
observ c a fost introdus destinaia 4 care corespunde poziiei de
mijloc pe liftul ce face devierea catre robotul 1.
Odat ce paleta a atins destinaia operatorul este informat printr-un
mesaj text, iar un buton de confirmare a citirii mesajului va aprea pe
ecran. De fiecare dat cnd paleta parcurge o zon de conveior i trece
prin dreptul unei poziii operatorul uman este informat prin mesaj text. n
cazul n care paleta nu parcurge un segment operatorul este informat ca
in figura
Regimul de diagnoz
Regimul automat
Trebuie s asigure primirea datelor de la planificatorul global, s transpun
aceste date n micri ale elementelor de execuie i n plus s detecteze
strile de anormalitate ale sistemului
Problema de control a sistemului de transport pentru rutarea produselor din
pachetul n execuie simultan presupune preluarea datelor de la
planificatorul global (ce ruleaza pe un server de tip IBM xSeries 3500) i
transpunerea lor n comenzi pentru elementele de acionare a conveiorului.
Primul pas de proiectare a constat n alegerea formei sub care se vor reine
datele de la planificator. Paleta produs sufer mai multe operaii, fiecare
dintre acestea necesitnd i o serie de informaii suplimentare: postul la care
operaia se execut, durata operaiei, etc
S-a definit structura standard de forma:
TYPE datemasina :
STRUCT
post: BYTE; (*postul de lucru al robotului codificat numeric*)
operatie: BYTE; (*operaia care va fi efectuata asupra piesei codificata numeric*)
timpmin: WORD; (*timpul minim pe care l ia operaia la postul robotului*)
timpmax: WORD;(*timpul maxim pe care l ia operaia*)
raport: BYTE; (*un raport succint ce specifica succes, failed etc.. *)
END_STRUCT
END_TYPE
Regimul automat
Aceasta structur este repetat pentru fiecare operaie pe care produsul
trebuie s o suporte pentru a fi finalizat iar memorarea acestora se face ntr-o
matrice numit sir_palete.
Ea cuprinde 256 de cmpuri, n care se rein 16 structuri de tipul datamasina,
structura fiind de tipul unei matrici cu 256 de linii a cte 16 coloane, fiecare
element din matrice fiind la rndul su format din cele 5 elemente
constituente ale structurii datamasina.
Pentru a avea acces la un element anume al acestei structuri trebuie s se
precizeze cele dou coordonate (coloana i linia) ale structurii de tipul
datamasina dorite precum i cmpul dorit din structura respectiv.
Linia este dat de numrul/ordinul paletei asupra creia urmeaz s se
execute operaiile iar coloana este indexul operaiei. Pentru a uura accesul la
aceti indeci (256) se memoreaz valorile ntr-un vector denumit sir_index
cu 256 de poziii corespunztoare fiecrei palete/ordin, valoarea regsit aici
indicnd la a cta operaie se afl paleta.
Poziie 1 2 10 256
Index-ul operaiei 5 4 2 1
Regimul automat
Folosind aceast structur automatul programabil are toate datele
necesare pentru a putea ruta prin comenzi de aciuni mecanice o
palet-produs n sistem.
S-a decis ca sistemul de transport s fie mpartit n segmente, fiecare
din ele fiind gestionat de un program propriu care, innd cont i de
starea elementelor din vecintate, d comenzile necesare pentru
transportul paletei n afara propriei arii de aciune, unde va fi preluat
de programul segmentului urmtor.
Produsul poate urmri traseul de pe benzile conveioare principale,
fcnd o bucl sau poate fi deviat ctre cele patru posturi de lucru,
ctre postul de alimentare cu piese sau ctre ieirea din sistem.
La cele cinci locaii unde sunt posibile devieri exist senzori ce pot
identifica codul nscris pe pastila magnetic i n funcie de destinaia
urmtoare traseul paletei va fi sau nu deviat ctre un post robot sau
ieire
Sistemul de identificare a paletelor utilizand
senzori RFID READ
Regimul automat
Odat ce paleta a ajuns n dreptul senzorilor, cel inductiv este activat
iar cel de identificare ncepe citirea automat a identificatorului
paletei. Imediat ce codul unic de identificare a fost citit este pus la
ieirea paralel a senzorului, automatul putndu-l citi pe liniile de
intrare respective (senzorii de identificare sunt conectai direct prin
linii de intrare ieire digital).
Imediat dup citirea codului de identificare, automatul programabil
verific pe baza lui i a structurii de date ce conine ordinele de
producie, care este urmatorul post la care paleta trebuie s ajung.
Dac acesta nu corespunde postului de lucru unde se poate face
devierea, paleta este lasat s treac mai departe ctre urmtoarea
poziie unde ar putea fi deviat (ramne n circuit pn cnd
ntlnete locaia urmtoarei operaii). Dac totui paleta trebuie s
efectueze o operaie la acest post de lucru, atunci se ncepe
interogarea prin interfaa Ethernet a robotului pentru a afla dac se
accepta jobul respectiv. Odat primit acceptul jobului, paleta este
deviat i adus n poziia de lucru, iar acest eveniment este
semnalizat robotului prin liniile de I/E digitale pentru a se putea
ncepe execuia operaiei.
Regimul automat
n exemplul ce urmeaz (Tabel 3.5) o palet se afl pe banda principala n
drum ctre macazul corespunztor robotului 2, iar codul nscris pe pastila
magnetic este cel cu numrul 10. n momentul n care paleta se afla n
dreptul senzorului de citire din faa acestui macaz, codul ei este citit ntr-o
variabil numit Cod_paleta_r2, fcndu-se verificarea dac urmtorul post la
care paleta trebuie s treac este cel al robotului 2 prin accesarea structurii
sir_paleta figurat n tabelul de mai jos, i a vectorului sir_index figurat n
tabelul de mai sus
Pentru a vedea postul la care paleta trebuie s intre se apeleaz structura sub
forma
sir_palete[code_paleta_r2 ,sir_index[code_paleta_r2]].post care n acest caz devine:
sir_palete[10,sir_index[10]].post i nlocuind cu valoarea gsita n tabel:
sir_palete[10,2].post adic ceea ce se gsete n cmpul post din Structura2.
Ordinul Structura1 Structura2 Structura3 Structura16
10 Post = 3
Operaie=2
Timpmin=123
Timpmax=128
Raport=0
Post = 2
Operaie=0
Timpmin=12
Timpmax=18
Raport=0
Post = 255
Operaie=0
Timpmin=0
Timpmax=0
Raport=0
Post = 0
Operaie=0
Timpmin=0
Timpmax=0
Raport=0