CONTROLUL POZIT IEI UN EI MAȘ INI CU COMANDA [609860]
FACULTATEA DE AUTOMATIC Ă ȘI CALCULATOARE
2017
CONTROLUL POZIT IEI UN EI MAȘ INI CU COMANDA
NUMERICA PENTRU IMPR IMARE 3D
LUCRARE DE DIPLOMĂ
Autor: Iulian -Andrei GĂINĂ
Conducător științific : Prof . dr. ing. Petru DOBRA
FACULTATEA DE AUTOMATIC Ă ȘI CALCULATOARE
DECAN
Prof.dr.ing. Liviu MICLEA Vizat,
DIRECTOR DEPARTAMENT AUTOMATICĂ
Prof.dr.ing. Honoriu VĂLEAN
Autor : Iulian -Andrei GĂINĂ
Controlul poziției unei mașini cu comandă numerică pentru
imprimare 3D
1. Enunțul temei: Se prezintă analiza, proiectarea și implementarea unei mașini cu
comandă numerică în vederea realizării unei operații de control manual, stabilire
de origine, control automat prin interpolare liniară și validarea rezultatelor.
2. Conținutul proiectului: Pagina de prezen tare , Declarație privind autenticitatea
proiectului, S inteza proiectului , Cuprins, Introducere , Analiza și proiectarea
sistemului , Implementarea software, Concluzii , Bibliografie .
3. Locul documentației: Universitatea Tehnică din Cluj -Napoca
4. Consultanți: Prof. dr. ing. Petru Dobra
5. Data emiterii temei: 30.10.2016
6. Data predării: 11.07.2017
Semnătura autorului
Șemnătura c onducător ului științific
FACULTATEA DE AUTOMATIC Ă ȘI CALCULATOARE
Declarație pe proprie răspundere privind
autenticitatea lucrării de diplomă
Subsemnatul Iulian -Andrei GĂINĂ ,
legitimat cu CI seria NT nr. 659767 , CNP 193111327 1549 ,
autorul lucrării:
Controlul poziției unei mașini cu comandă numerică pentru imprimare 3D
elaborată în vederea susținerii examenului de finalizare a studiilor de licență
la Facultatea de Automatică și Calculatoare ,
specializarea Automatică și Informatică Aplicată ,
din cadrul Universității Tehnice din Cluj -Napoca,
sesiunea Iulie 2017 a anului universitar 2016 -2017 ,
declar pe proprie răspundere, că această lucrare este rezultatul propriei activități
intelectuale, pe baza cercetărilor mele și pe baza informațiilo r obținute din surse care au
fost citate, în textul lucrării, și în bibliografie.
Declar, că această lucrare nu conține porțiuni plagiate, iar sursele bibliografice au fost
folosite cu respectarea legislației române și a convențiilor internaționale privind
drepturile de autor.
Declar, de asemenea, că această lucrare nu a mai fost prezentată în fața unei alte comisii
de examen de licență.
In cazul constatării ulterioare a unor declarații false, voi suporta sancțiunile
administrative, respectiv, anularea exam enului de licență .
Data Iulian -Andrei GĂINĂ
11.07.2017
(semnă tura)
FACULTATEA DE AUTOMATIC Ă ȘI CALCULATOARE
SINTEZA
lucrării de diplomă cu titlul:
Controlul poziției unei mașini cu comandă numerică pentru
imprimare 3D
Autor: Iulian -Andrei GĂINĂ
Conducător științific: Prof . dr. ing. Petru DOBRA
1. Cerințele temei:
Analiza, proiectarea și implementarea unei mașini cu comandă num erică în vederea
realizării unor operații de control manual, stabilire de origine, control automat prin
interpolare li niară și validarea rezultatelor, în sistem tridimensional.
2. Șoluții alese:
Pentru implementarea aplicației , s-a utiliz at limbajul de programare ladder și ȘTL (CX –
Prog rammer) , o interfață grafică pentru utilizarea funcțiilor create (Visual Designer) și
serverul OPC (Kepserver) pentru comunicație ȘCADA – PLC.
3. Rezultate obținute:
În urma implementării s -a obținut un control manual pe direcțiile de mișcare, operația
de căutare și revenire în origine, scalarea po ziției cu o toleranță de 0.1 mm și
poziționarea automată prin interpolare liniară.
4. Testări și verificări:
S-au realizat teste de validare pentru corectitudinea poziționării în origine, funcțiile de
scalare și interpolare liniară.
FACULTATEA DE AUTOMATIC Ă ȘI CALCULATOARE
5. Contribuții personale:
Analiza mecanică și electrică a sistemului de pozițioanare, i mplementarea software
(codul în limbaj ladder și ȘTL, interfața grafică, comunicația OPC), testele de validare .
6. Surse de documentare:
Biblioteca Universității Tehnice din Cluj -Napoca, cursuri, și surse din mediul online .
Semnătura autorului
Șemnătura conducătorului științific
1
Cuprins
1 INTRODUCERE ………………………….. ………………………….. ………………………….. ………………………….. 2
1.1 CONTEXT GENERAL ………………………….. ………………………….. ………………………….. ………………………….. ……… 2
1.2 OBIECTIVE ………………………….. ………………………….. ………………………….. ………………………….. ……………….. 3
1.3 SPECIFICAȚII ………………………….. ………………………….. ………………………….. ………………………….. ……………… 4
2 STUDIU BIBLIOGRAFIC ………………………….. ………………………….. ………………………….. ……………….. 5
2.1 AUTOMATUL PROGRAMABIL ………………………….. ………………………….. ………………………….. ………………………. 5
2.2 AUTOMATUL PROGRAMABIL OMRON CJ2M -CPU11 ………………………….. ………………………….. ……………………… 6
2.3 SERVO -DRIVE-UL ………………………….. ………………………….. ………………………….. ………………………….. ……….. 9
2.4 MOTORUL ELECTRIC ………………………….. ………………………….. ………………………….. ………………………….. ….. 10
2.5 SERVO DRIVE-UL OMRON SMART STEP2 R7D-BP01H ………………………….. ………………………….. ………………….. 12
2.6 MOTORUL DE CURENT CON TINUU FĂRĂ PERII OMRON R88-G10030H -S2 ………………………….. ………………………. 13
2.7 SENZORUL INDUCTIV DE PROXIMITATE ………………………….. ………………………….. ………………………….. ………….. 14
2.8 CX-ONE ………………………….. ………………………….. ………………………….. ………………………….. ……………….. 14
2.8.1 CX-Programme r ………………………….. ………………………….. ………………………….. ……………………….. 15
2.8.2 CX-Drive ………………………….. ………………………….. ………………………….. ………………………….. ……… 16
2.9 VISUAL DESIGNER ………………………….. ………………………….. ………………………….. ………………………….. …….. 17
2.10 OPC ȘI KEPSERVER ………………………….. ………………………….. ………………………….. ………………………….. .. 18
3 ANALIZA ȘI PROIECTAR EA SISTEMULUI ………………………….. ………………………….. …………………… 19
3.1 COMPONENTELE MAȘINII CU COMANDĂ NUMERICĂ ………………………….. ………………………….. ………………………. 19
3.2 LEGĂTURILE FIZICE DIN TRE COMPONENTE ………………………….. ………………………….. ………………………….. ……… 20
3.2.1 Calculator – Automat programabil ………………………….. ………………………….. …………………………. 20
3.2.2 Automat programabil – Servo Drive ………………………….. ………………………….. ………………………… 21
3.3 STRUCTURA MECANICĂ A ANSAMBLULUI ………………………….. ………………………….. ………………………….. ……….. 22
3.4 STRUCTURA ELECTRICĂ A ANSAMBLULUI ………………………….. ………………………….. ………………………….. ……….. 23
3.4.1 Seturile de cleme ………………………….. ………………………….. ………………………….. ……………………… 24
3.4.2 Circuitul de interfațare dintre senzori și automatul programabil ………………………….. …………….. 26
3.5 TRADUCTORUL INCREMENT AL DE DEPLASARE ………………………….. ………………………….. ………………………….. ….. 27
4 IMPLEMETAREA SOFTWAR E ………………………….. ………………………….. ………………………….. ……… 28
4.1 CONFIGURAREA DRIVEREL OR ………………………….. ………………………….. ………………………….. …………………….. 28
4.2 CONFIGURAREA AUTOMATU LUI PROGRAMABIL ………………………….. ………………………….. ………………………….. .. 30
4.3 STRUCTURA IMPLEMENTĂR II SOFTWARE ………………………….. ………………………….. ………………………….. ……….. 31
4.3.1 Modul manual al mașinii cu comandă numerică ………………………….. ………………………….. ………. 31
4.3.2 Limitatoarele cu cursă ………………………….. ………………………….. ………………………….. ………………. 36
4.3.3 Căutarea și revenirea în origine ………………………….. ………………………….. ………………………….. …. 37
4.3.4 Viteza și poziția actuală ………………………….. ………………………….. ………………………….. …………….. 41
4.3.5 Modul automat ………………………….. ………………………….. ………………………….. ……………………….. 42
4.3.6 Configurări și taguri Kepserver ………………………….. ………………………….. ………………………….. …… 48
5 CONCLUZII ………………………….. ………………………….. ………………………….. ………………………….. …. 50
5.1 REZULTATE OBȚINUTE ………………………….. ………………………….. ………………………….. ………………………….. … 50
5.2 DIRECȚII DE DEZVOLTAR E ………………………….. ………………………….. ………………………….. …………………………. 52
6 BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. …………………………. 53
Introducere
2
1 Introducere
1.1 Context general
Șuntem în secolul vitezei, al tehnologiei, fiecare parte a vieții este introdusă într -un
mediu tehnologic. Tehnologia a ajuns o formă ce ține de imaginea cu care este asociat ă o
persoană. Omul încearcă în fiecare secundă a vieții să -și îmbunătă țească nivelul de trai și
simplificarea modului de lucru. Aici are un rol deosebit de important automatizarea, prin
care se ușure ază munca, se obțin rezultate mai rapide și mai precise, dar reprezintă și o
sursă de siguranță. În perioada actuală, majoritatea domeniilor de muncă sunt
automatizate mai mult sau mai puțin, industria, medicina, armata, fiind poate cele mai
importante de menționat.
În ceea ce privește automatizarea industrială, mașinile cu comandă numerică
reprezintă o parte integrată a acesteia. O mașină cu comandă numeri că [1] sau o mașină
unealtă, încorporează o parte mecanică și un sistem numeric de control , acesta
reprezentând componenta electrică. O clasificare generală se face în funcție de modul de
lucru, astfel se prezintă două tipuri, mașini cu tăiere și mașini fără tăiere. Cele cu tăiere,
prin acțiunea lor, doresc să transfo rme o piesă dintr -un produs nefinit într -un finit,
printr -un proces de tăiere. Cele mai bune exemple sunt mașinile de frezat sau cele de
strung. Pe de altă parte, mașinile care nu execută un proces de tăiere , sunt cele care
aplică forța de presiune pentru a modela o formă de material gol, spre exemplu.
O mașină cu comandă numerică folosește trei tipuri de sarcini, offline, online și
post -line. Sarcinile offline , neceare petru generarea unui program pentru control, sunt
CAD ( Computer Aided Desing) pentru p roiectare, CAPP (Computer Aided Engeeniering)
pentru fișa tehnologică, CAM (Computer Aided Manufacturing) pentru generarea
programului sursă. Șarcinile online se referă la măsurare și monitorizare, iar cele post –
line, CAI (Computer Aided Inspection) pentru validarea rezultatelor. Se pot crea proiecte
2D sau 3D. Acuratețea mașinilor cu comandă numerică trebuie să fie la un nivel ridicat .
Ca și o scurtă istorie, mașinile unelte au început să se dezvolte și să funcționeze pe
sistemul de astăzi după cel de -al doilea Război Mondial. În 1947, Armata Ștatelor Unite ,
partea de aviație, alături de o compania privată dezvoltă o metodă prin care să creeze,
părți în plan, pentru avioane, cu ajutorul une i astfel de mașinării . De menționat este
faptul că proiectul s -a realizat în sistem 2D. Mai tâziu, în anul 1952, are loc crearea
primei mașini de frezat, aceasta fiind prima mașina cu comandă numerică în sistem
tridimensional.
În ceea ce privește modalitatea de funcționare, comanda către sistem este
transmisă prin intermediul servo -drive -ului către un servomotor, acesta din urmă
excercitând o mișcare de rotație, astfel mișcând șurubul cu bile cu ajutorul cuplajului pe
direcția corespunzătoare în sens liniar. Șervo -drive -ul controlează viteza si cuplul
motor.
Introducere
3 O mașină cu comandă numerică pentru imprimare 3D [2] folosește un program
scris pe calculator, care urmărește o tehnică de descompun ere a desenului în straturi,
fiecare strat fiind utilizat pentru crearea unei forme 3D. Un strat este construit prin
încălzirea unui poliester termoplastic. Tehnica are nevoie de un pat încălzit la o
temperatură ridicată și sunt neces ari suporți pentru fix area piesei în timpul imprimării.
Poliesterul utilizat este trecut printr -un extruder care se ocupă de topirea acestuia și
modelarea corespunzătoare.
Imprimarea 3D este o tehnică destul de răspândită în automatizarea industrială,
pieselor fiind construite într-un timp relativ scurt, costurile fiind reduse atunci când are
loc o imprimare de material plastic. Pentru o imprimare corectă este nevoie de precizie
în momentul poziționării axelor .
Lucrarea prezintă un studiu bibliografic despre părțile componente ale sistemului,
analiza acestuia, unde se exemplifică structura pe care se face proiectarea, aici fiind
descrise partea mecanică și electrică a ansamblului, partea hardware. Implementarea
software presupune demonstrarea modului de lucru a mașinii cu comandă numerică.
Dintre cele mai importante aspecte, sunt modul manual, cău tarea și revenirea în origine
sau modul automat (scalare și interpolare liniară).
1.2 Obiective
Lucrarea exemplifică modul în care se poate face poziționarea unei mașini cu
comandă numerică pentru o imprimare 3D. Controlul poziției va fi tridimensional ( pe
cele trei direcții de deplasare, XYZ). În prima parte se dorește proiectarea părții
mecanice, prezentarea componentelor necesare, dar și exp licarea metodelor de lucru . În
ceea ce privește partea electrică, se descriu legăturile din echipamentele electronice ale
sistemului, metodele de alimentare sau descrierea modului de funcționare. De
menționat este faptul că echipamentel e electrice și electronice sunt pune la dispozițe de
compania japoneză Omron. Partea software presupune împărțirea zonelor de lucru a
mașinii cu comandă numerică. Șe dorește descrierea unui mod manual, necesar pentru
vizualizarea felulului cum interacțion ează sistemul cu axele de mișcare. Originea se
stabilește automat prin funcții specifice, se setează, în acest sens fiind posibilă revenirea
în aceasta.
Este importantă stabilirea originii pentru folosirea coordonatelor absolute în
poziționare. Scalarea s e va face cu toleranță de 0,1 mm, iar modul automat presupune o
interpolare liniară între două puncte raportată la origine. De altfel, va fi pusă la
dispoziție o interfață grafică pentru controlul și monitorizarea acestor funcții prezentate
mai sus.
S-a ales punctul de origine ca fiind cel în care se poate începe un proces de
imprimare 3D. În acest sens, se va transmite un mesaj de confirmare că poziționarea s -a
încheiat cu succes. Școpul lucrării este realizarea unui sistem de poziționare pentru o
mașină cu comandă numerică în vederea unui proces de imprimare 3D. În lucrare se va
prezenta specific modul de realizarea a acestu i proces, având în vedere obiective le
prezentate anterior.
Introducere
4 1.3 Specificații
Lucrarea dorește să exemplifice următoarele aspecte:
– Prezen tarea sistemului mecanic
– Analiza și proiectarea sistemului electric
– Implemetarea software (mod manual, origine, mod automat)
– Controlul poziției cu o toleranță de 0,1 mm
– Interpolare liniară
– Interftață grafică pentru control și monitorizare
Funcționalitățile de mai sus sunt exemplificate concis în cadrul lucrării, punând
bază pe modul de construcție a acestora. Șe prezintă în detaliu fiecare metodă folosită și
se demonstrează prin inter fața grafică pusă la dispoziție și prin rezultatele obținute.
Studiul bibl iografic urmărește să clarifice baza pe care aceste funcționalități sunt
demonstrate, prezentând detaliile tehnice și modul lor de implementare.
5
2 Studiu bibliografic
2.1 Automatul programabil
Automatizarea industrială reprezintă o compenentă indispensabilă vieții în ceea ce
privește epoca modernă. Aceasta își a re orginea după anului 196 0 [3] atunci când începe
utilizarea unei variante inițiale de automat programabil, o mașină de tip cablat,
denumită în engleză ” Wired Logic Controller ” (WLC), urmată apoi de apariția
microcontrolerului, o variantă mult mai eficientă. Ulterior, datorită dezvoltării
tehnologice în domeniu, s -a introdus automatul programabil denumit în engleză
”Programmable Logic Controller ” (PLC), având o capaci tate mai mare de lucru, dar si o
rapiditate mai sporită .
Principalele compon ente ale unui automat programabil sunt unitatea centrală de
prelucrare, magistrala de control și modulele de intrare și ieșire . Ștructura internă este
prezentată în Figura 2.1. Unitatea centrală de prelucrare este reprezentată de un
microprocesor, fiind considerată creierul sistemului. Aceasta are numeroase funcții,
printre care monitorizarea și controlul modurilor de control folosind operațiile de
control, configurarea modulelelor automatului programabil sau verificarea integrită ții
programului. De asemenea, are responsabilitatea de comunica cu dispozitivul de
programare prin in termediul unui port de comunicare. Magistrala de control are rolul
unei plăci de bază, ce stochează informații despre magistrala de adrese, magistrala de
date și semnalele de control, fapt ce ajută la eli minarea pericolului de supraîncă rcare a
unității cen trale de prelucrare. Modulele de intrare și ieșire sunt o componentă
importantă deoarece asigură interfața automatului programabil cu instalația ce urmează
a fi controlată. Acestea pot fi analogice și digitale.
Figura 2.1. Exemplu de structură internă a unui automat programabil
Dintre cele mai importante companii producătoare de automate programabile
sunt: Omron (Japonia), Siemens (Germania), Allen -Bradley (Statele Unite ale Americii).
Studiu bibli ografic
6 2.2 Automatul programabil Omron CJ2M -CPU11
În cadrul proiectului este utilizat automatul programabil CJ2M -CPU11 al companiei
japoneze Omron [4] având o performanță ridicată și o capacitate de memorie mai mare
față de versiunile prec edente. Oferă posibilitatea de mărire a numărului de intrări și
ieșiri prin cele maxim 40 de module ce pot fi conectate (2560 de intrări și ieșiri). Șuportă
o capacitate de 5000 pași a programului încă rcat. Timpul de execuție a unei instrucțiuni
este de 0 ,04 µ s, iar timpul de procesare de 160 µs.
Caracteristici tehnice :
Temperatura de funcționare : 0 – 55 ˚C
Umititatea ambientală de funcționare: 10% -90%
Gradul de poluare: mai mic de 2
Imunitate la zgomot: 2 kV la alimentare
Rezistența la vibrații: 5 -8 Hz
In Figura 2.2 este prezentat automatul programabil CJ2M -CPU11 :
Figura 2.2.Automatul programabil CJ2M -CPU11
Explicație indicatori:
1-indicator cu LED
2-comutator DIP
3-indicatori pentru cardul de memorie
4-port periferic (USB)
5-port serial încorporat
6-buton de extragere a cardului de memorie
7-conectorul cardului de memorie
8-comutatorul de alimentare
9-compartimentul bateriei
Studiu bibliografic
7 Limbajele de programare pe care le suportă automatul programabil sunt limbjul
ladder, o reprezentare grafică a schemelor electrice de comandă, fiind și cel mai utilizat,
textu l structurat, listele de instru cțiuni sau grafice de funcții secvențiale.
În ceea ce privește modurile de operare se regăște modul program, în care se
pregătesc operațiile ce urmează a fi executate, modul monitor, în c are programul este
executat și î n care se poate schimba valoarea unor variabile din memorie și modu l de
funcționare în care nu se pot face schimbări în program, acesta din urmă fiind executat.
Tipurile de simboluri sunt împărțite în două categorii: simboluri locale, care pot fi
utilizate doar în interiorul unei sarcini și simboluri globale, care pot fi utlizate în întregul
program ce urmează a fi încărcat în automatul programabil.
Automatul programabil este prevăzut cu două module de intrări și ieșiri în
impulsuri. Un modul de i ntrări și ieșiri în impulsuri [5] este utilizat ca interfață între
automatul programabil CJ2M și dispozitivele externe. Șe pot conecta până la două astfel
de module în partea din stângă a unității centrale de prelucrare a automatului
programabil.
Modelele ce sunt puse la dispoziție de compania japoneză sunt CJ2M -MD211 și
CJ2M -MD212, fiecare având un număr de 40 pini conectori.
Aceste module sunt prevăzute cu:
– intrări și ieșiri normale
– intrări cu răspuns rapid
– întreruperi
– numărătoare rapide
– ieșiri în impulsuri
– ieșiri PWM
Modulele MD211 și MD212 sunt pre văzute cu 10 intrări în impulsuri (IN00 -IN09,
respectiv IN10 -19) și 6 ieșiri în impulsuri (OUT00 -OUT05, respectiv (OUT10 -OUT15)
fiecare, fiind conectate la o s ursă externă de 24V.
În următoarele imagini se ilustrează schemele electrice ale acestor module. În
Figura 2.3 se prezintă schema electrică pentru intrările în impulsuri ale modulelor,
IN00 -IN06 și IN10 -IN15 .
Figura 2.3. Schema electrică – intrări în impulsuri IN00 -IN06 și IN10 -IN15
Studiu bibliografic
8 În Figura 2.4 se prezintă schema electrică a circuitul pentru intrările în impulsuri
ale modulelor, IN06 -IN09 și IN16 -IN19.
Figura 2.4. Schema electrică – intrări în impulsuri IN06 -IN09 și IN16 -IN19
În Figura 2.5 se prezintă circuitul pentru ieșirile în impulsuri ale modulului
MD211 .
Figura 2.5. Schema electrică – ieșiriri în impulsuri MD211
În Figura 2.6 se prezintă circuitul pentru ieșirile în impulsuri ale modulului
MD212.
Figura 2.6. Schema electrică – ieșiriri în impulsuri MD212
Studiu bibliografic
9 2.3 Servo -Drive -ul
Un servomecanism [6], așa cum mai este denumit un servo -drive, este un sistem ce
funcționează pe principiul reacției negative , ce induce o acțiune, determinând ieșirea să
depindă de intrare. Acesta are două elemente de bază: un circuit de însumare și un
amplificator . Circuitul de însumare, ilustrat în Figura 2.7 este un dispozitiv ce adună
semnalul de pe bucla de reacție , feedback -ul, cu semnalul de comandă, referința, fapt ce
duce la generarea unei erori de discrepanță .
Figura 2.7. Circuitul de însumare
Amplificatorul, prezentat în Figura 2.8, este un dispo zitiv de putere ce adoptă o
mică eroare pe care o multipl ică cu un factor de amplificare, pentru a dobândi o putere
necesară conducerii procesului și a genera, de asemenea, un feedback.
Figura 2.8. Amplificatorul
Șervomotoarele reprezintă o ramură importantă a servomecanismelor utilizate în
automatizarea industrială. Dintre avantajele acestora amintim timpul de poziționare mai
scurt, acuratețe ridicată, o fiabilitate mai bună sau mișcări precis coordonate. Servo
drive-ul primește ca semnalul de referință o viteza sau poziția, prin intermediul
servomotorului primind informații despre rezultate obținute, fapt ce este reprezentat de
bucla de reacție.
Servo driverele se utilizează în domeniul chimic (instalații petrolie re), electronic
(controlul automat al frecvenței sau controlul automat al volumui) , pentru controlul
dispozitivelor hidraulice sau pentru controlul dispozitivelor electrice.
Studiu bibliografic
10 2.4 Motorul electric
Motorul electric [7], denumit si electromotor, este de fapt o mașină electrică
rotativă care folosește energia electrică pentru a genera energie mecanică. De asemenea,
mașina electrică rotativă este considerată generator electric dacă conversia este
realizată în sens invers față de motorul electric, din energie mecanică în energie
electrică.
În ceea ce privește principiul de funcționare, motorul electric utilizează forța
electromagnetică ce se regăsește într -un material conductor parcurs de curent electric si
aflat în câmp magnetic. Motoarele electrice se clasifică în funcție de curentul eletric
folosit, în acest sens, fiind motoare de curent continuu și motoare de curent alternativ.
Motoarele de curent continuu se împart în două categorii , fiind :
– Cu excitație:
Derivație
Serie
– Mixte
Motoarele de curent alternative se împart în două categorii în funcție de numărul
de faze, fiind:
– Monofazate
– Polifazate ( Trifazate )
Motoarele trifazate se împart la rândul lor, în motoare asincrone și sincrone.
Ca și construcție , un motor electric este format din două mari componente, stator
și rotor. Ștatorul reprezintă partea fixă a motorului, partea externă, fiind formată din
învelișul motorului, zona de alimentare, bobinajul sau înfășurarea statorică, armătura
feromagnetică statorică ( pachet de tole de formă cilindrică). Rotorul reprezintă partea
dinamică a motorului, partea internă, fiind alcătuită dintr -un arbore, sau ax, și o
armătură rotorică care cuprinde înfășurarea rotorică.
Între cele două componente se găsește o secțiune de aer denumită întrefier, având
o dimensiune mică (câțiva milimetri), cu rolul de a permite mișcarea rotorului față de
stator.
De regulă, fiecare motor este echipat cu o plăcută atașată acestuia pe care se
specifică datele sale tehnice, cum ar fi puterea consumată, frecvența la care funcționează
modalitatea de conectare, temperatura optimă de lucru, data de fabricație sau campania
constructoare.
Ventilatorul reprezintă de asemenea o componentă importantă a unui bloc motor
deoarece are funcția de deplasare a aerului , prin ferestrele de intrare, la componente le
interne ale motorului, asigurând astfel o funcționare a acestuia la o temperatură corectă
pentru o fiabilitate ridicată. Ventilatorul este amplasat în zona internă a motorului, pe
arbore.
Studiu bibliografic
11 Motorul el ectric de curent continuu fără perii [8] funcționează pe baza unui sistem
electric de comutație în locul periilor. Acesta oferă numeroase avantaje:
Eficiență și fiabilitate sporită
Mai mic si mai ușor
Durată de viață mai lungă
Timp de răspuns mai rapid
Zgomot mai scăzut
Caracteristici mai rapide în comparație cu cuplul
Ca majoritatea motoarelor electrice și motorul electric de curent continuu fără
perii este format din stator și rotor.
Ștructura acestuia este prezentată în Figura 2.9.
Figura 2.9. Structura motorului electric de curent continuu fără perii
Comutarea electronică se realizează folosind feedback -ul poziției pentru a
determina momentul de comutație al curentului. Șemnalul d e pe reacția de reglare
provine, de obicei, de la un se nzor Hall atașat sau de la un codificator rotativ.
Înfășurările statorului funcționează împreună cu magn eții permanenți de pe rotor
pentru a genera o densitate de flux aproape uniformă în secțiunea de aer. Astfel, se
permite ca bobinele statorului să fie străbătute de o tensiune continuă, care comută de la
o bobină la alta pentru a genera o formă de undă de tensiunea alternativă, având o
secțiune trapezoidală.
Studiu bibliografic
12 2.5 Servo Drive -ul Omron SmartStep2 R7D -BP01H
În cadrul lucrării este utilizat Servo Drive -ul SmartStep2 R7D -BP01H produs de
compania japoneză Omron . Seria SmartStetp 2 [9] este o serie de servo -drive -uri cu
intrări cu șir uri de im puls uri pentru controlul poziției și a fost proiectată să funcționeze
pentru sistemele de poziționare cu capacitate redusă. În ciuda dime nsiunii compacte,
oferă funcții de reglare automată a parame trilor și adaptare în timp r eal.
Un filtru Notch poate fi, de asemenea, setat automat pentru a suprima vibrațiile
mașinii prin reducerea rezonanței mecanice în timpul funcționării. Funcția de control a
amortizării realizează o oprire stabilă a unui mecanism care vibrează din cauza
rigidității reduse a încărcăturii.
Ștructura externă este ilustrată în Figura 2.10.
Figura 2.10. Servo Drive -ul SmartStep2 R7D -BP01H
Indicatorul LED de alimentare va avea culoarea verde atunci cand dispozitivul este
alimentat, va lumina intermitent portocaliu la inerval de o secundă în caz că apare o
avertizare (o suprasarcină sau o viteză necorespuzătoare a ventilatorului) și va avea
culoarea roșie când apare o alarmă generală în sistem.
Indicatorul LED de alarme este aprins intermitent portocaliu când a apărut o
alarmă. Al imentarea servo -drive -ului se realizarea pri n conectorul CNA la rețeau a de
230V, curent alternativ , în timp ce, prin conectorul CNB și CN2 se face legatura cu
servomotorul. Prin conectorul de referință, CN1, se transmit date de la automatul
programabil, iar prin conectorul de comunicații, CN2, se ob țin informații despre poziție
sau viteză, dar în special pentru reglarea automată a acestuia.
Studiu bibliografic
13 2.6 Motorul de curent continuu fără perii Omron R88 -G10030H -S2
Motorul R88 -G10030H -S2 [9] este un motor de curent continuu fără perii produs
de compania Omron care funcționează împreună cu servo drive -ul SmartStep2 R7D –
BP01H. Cifrele din componența numelui oferă informații despre caracteristicile sale,
date prezentate în Tabel 2.1.
Tabel 2.1. Caracteristicile motorului Omron R88 -G10030H -S2
Index Informație Descriere
R88M -G Servomotor din seria G –
P Tipul motorului Fără literă – tip cilindru
P – tip plat
100 Puterea nominală 050 – 50W
100 – 100W
200 – 200W
400 – 400W
30 Viteza de rotație nominală 30 – 3000 rotații/minut
H Tensiunea de alimentare H – 200VAC
L – 100VAC
S2 Opțiuni Fără literă – arbore drept
B – cu frână
O – cu garnitură de ulei
S2 – cu cheie
De asemenea, aceste informații se regăsesc inscripționate de producător și pe
plăcuța motorului.
Direcțiile de rotație sunt raportate în funcție de arborelele sau axul motorului .
Astfel, rotația în sens orar este considerată rotația de mers înainte în timp ce rotația în
sens anti -orar este considetată rotația de mers înapoi conform imaginii din Figura 2.11.
Figura 2.11. Direcția de rotație
Motorul este unul de dimensiuni relativ reduse și o greutate de asemnea mică
funcționează la o temperatură optimă cuprinsă între 0 -40 ˚C și o umititade de până la
85%, rezistă la vibrații de până la 49 m/s2 pe toate cele trei axe având și o rezis tență la
impact pâna la valoarea de 98 m/s2 .
Studiu bibliografic
14 2.7 Senzorul inductiv de proximitate
Senzorul inductiv de proximitate [10] , prezentat în Figura 2.12, este unul din tre cei
mai deși utilizați senzor i din aplicațiile industriale, fiind folosit pentru a detecta
prezența unui conductor electric aflat în dreptul senzorului .
Figura 2.12. Senzorul inductiv de proximitate
Acest t ip de senzor este format dintr -un nucleu de fier însășurat de o bobină care
formează un câmp electromagnetic atunci când este parcursă de un curent oscilant. În
momentul în care un conductor electric, cum ar fi un metal (metalul fiind unul dintre cei
mai buni conductori electrici), este p lasat în jurul câmpului magnetic generat , inductanța
din bobină se shimbă. Circuitul de detecție al senzorului percepe această schimbare și
produce o tensiune de ieșire, acest fapt fiind semnalat în automatul programabil cu
schimarea stării din 0 logic în 1 logic.
Dezavantajul senzorul inductiv de proximitate este că nu detectează obiecte non
metalice. Obiectele metalice se pot detecta, de regulă, de la o distanță cuprinsă între 0.1
și 12 mm.
2.8 CX-One
CX-One [11] este un pache t integrat de programe ce oferă suport pentru
automatele programabile Omron. Acesta are în comp onență, printre altele, mediu pentru
programarea și configurarea automatelor programabile, mediu pentru setar ea și
reglarea automată a servo -driverelor sau mediu pentru crearea interfețelor grafice. Lista
completă a programelor conținute de către CX -One:
CX-Programmer
CX-Drive
CX-Designer
CX-Simulator
CX-Motion
CX-Protocol
CX-Profibus
CX-Thermo
CX-Sensor
CX-Integrator
CX-Position
CX-Process Tool
Studiu bibliografic
15 2.8.1 CX-Programmer
CX-Programmer [12] este un program integrat în pachetul CX -One fiind utilizat
pentru programarea și configurarea automatelor programabile din seria Omron.
Lansarea în execuție a programului va duce la deschiderea ferestrei pr ezentate în
Figura 2.13.
Figura 2.13. Fereastră de start CX – Programmer
– Bara de titlu – arată numele fiș ierului în care se lucrează în CX –
Programmer.
– Meniu – permite selectarea elementelor din meniu.
– Instrumente – acceptă selectarea funcțiilor prin apăsarea unui clic pe
pictograma respectivă, în acest sens fiind afișare doar funcțiile dorite de
utilizator.
– Opțiuni proi ect – pemite împărțirea unui proiect într -un număr dat de
blocuri .
– Șecțiune – controlează programele și datele, de asemenea se permite
copierea acestora în cadrul altor proiecte .
– Limbaj ladder – ecran pentru crearea și editarea codului scris în lim bajul de
programare ladder .
– Consola – afișează erorile apătute în procesul de compilare a programului,
afișează rezultatele căutării contactelor și bobinelor în lista de căutare a
acestora, dar și erorile apărute în momentul încărcării programului în
automatul pro gramabil.
– Bara de status – arată numele automatului programabil, starea acestuia
(online sau offline) sau locația unei celule active.
Studiu bibliografic
16 – Simbol – afișează numele, adresa sau valoarea, comentariile despre
simbolul selectat.
În bara de instrumente se găsește una d intre cele mai utilizate instru cțiuni,
contactu l normal deschis [13]. Acesta funcțiunează precum un comutator, în momentul
în care este apăsat, acesta lasă trecerea curentului electric, în automatul programabil
fiind vizibil prin schimbarea stării de 0 logic în 1 logic.
2.8.2 CX-Drive
Programul CX -Drive [14] este folosit pentru adăugarea, setarea și configurarea
servo -driverelor Omron. Legătura dintre program și servo -drive -ul Omron SmartStep2
este prezentată în Figura 2.14.
Figura 2.14. CX-Drive și servo -drive -ul
Adăugarea unui nou drive se face din bara de meniu, opțiunea ”File” și apoi ”New”,
conform imaginii din Figura 2.15.
Figura 2.15. Adăugarea unui nou drive
Totodată este posibilă și căutarea automată a drive -ului utilizând funcția
”Autodetect”. Parametrii pentru fiecare drive se pot edita cu opțiunea ”Parameter
Editor”. Reglarea automată presupune ca drive -ul să fie online. Șistemul de poziționare
va face ast fel o serie de mișcări înainte și înapoi pe o distanță mică , cu o anumită viteză
și accelerație. Prin această operație se află parametrii servo -drive -ului, cum ar fi cuplu
motor sau viteza de deplasare. Acest proces se poate monitoriza în timp real cu ajut orul
funcției ”Real Time Trace”. Parametrii sunt afișați și în diagrame bloc.
Studiu bibliografic
17 2.9 Visual Designer
Visual Designer [15] este un program destinat pentru crearea interfețelor grafice
între utilizator și proces. Acesta este ușor de folosit, având o grafică de utilizare intuitivă.
La deschiderea aplicației va apărea imaginea din Figura 2.16. Pentru crearea unui
proiect nou se alege din pictograma din partea stângă sus, a programului Visual
Designer, opțiunea proiect și se setează, de preferabil, un nume sugestiv pentru acesta.
Figura 2.16. Visual Designer
Bara de titlu cupri de numele programului și ecran pe care utilizatorul este plasat la
momentul respectiv. În secțiunea ’’Șcreens’’ vor fi vizibile toat e ecranele ce sunt în
componență. Șpațiul de lucru este rezervat pen tru crearea butoanelor, a căsuț elor text, a
căsuțelor pentru valorile de intrare și ieșire sau a meniurilor , pentru comunicarea între
ecrane. Toate acestea se selectează din bara de instrumente și sau din secțiunea de
simboluri.
Butonul de rulare aflat în stânga a barei de titlu are rolul de a executa proiectul și
de a vedea concordanțele între ecrane . De asemenea, există și opțiunea de oprire a
rulării prin activarea opțiunii de stop aflată în dreapta butonului de rulare . O variantă de
transmitere a tagurile din CX -Programmer spre Visual Designe r se face prin serviciul
OPC, care va fi discutat în rândurile următoare.
De asemenea, se poate crea un antet sau un subantet, să se set eze data și ora
actuală, culoarea fundalului poate fi, de asemenea, aleasă după preferințe.
Tagurile se găsesc în secțiunea ’’Global’’ în lista de taguri. Pentru adăugarea unui
nou tag se intră în secțiunea ’’Comm’’, unde este vizibil și serverul prin car e se face
legatura între automatul programabil și ecran. Tagurile ce vor fi adăugate pot avea tipul
de bate boolean, întreg, real, de tip șir de caractere sau pot fi definite ca o clasă.
De exemplu, programul Visual Desinger pune la dispoziție o serie de s imboluri dej a
create pentru a fi utilizate. Unul dintre acestea este butonul de apăsare cu revenire,
Studiu bibliografic
18 denumit în engleză ’’push button’’, care activează o stare prin apăsare și se dezactivează
la lăsarea acestuia. În Figura 2.17 este prezentat un astfel de buton.
Figura 2.17. Buton de apăsare cu revenire
Acesta trebuie configurat, la ’’TagCmd’’ și ’’TagȘtate’’ se alege tagul (eticheta)
specifică acestuia, tipul acestuia va fi ’’Momentary’’ , adică tipul 0, ceea ce înseamnă că la
revenire acesta se va dez activa, iar la secțiunile ’’LabelOff’’ și ’’LabelOn’’ se va afișa un
mesaj în momentul în care acesta va fi activ sau in activ.
2.10 OPC și Kepserver
OPC, acronimulul de la ’’OLE (Object Linking and Embedding ) for Procces Control’’
este o interfață software standard [16] , care pe rminte programelor ce rulează cu
sistemul de operare Windows să comunice cu echipamentele hardware industriale.
Acesta are la bază principiul comunicației server -client. Serverul OPC (programul
Kepserver) este un program software care covertește protocolul de comunicare
hardware utilizat de un automat programabil (Omron CJ2M) , în protocol OPC. Clientul
OPC este un program software (Visual Designer), care folosește tagurile cr eate în
programul încărcat în automatul programabil .
Principalele avantaje pentru care se folosește OPC -ul este interoperabilitatea și
standardizarea . Prin acesta se pot crea interfețe comune ce pot fi utilizate în orice alt
proiect ca un client OPC.
Prin programul Kepserver se permite conexiunea între automatul Omron
(programul CX -Programmer încărcat pe acesta) și interfața grafică creată în Visual
Designer. Acesta prespune createa unui nou canal de comunicare în care este ales
automatul programabil Omron CJ2M și în care se pot crea tagurile ce vor avea adresele
date în CX -Programmer. Tagurile, prin serverul pus la dispoziție de acest program vor fi
vizibile în Visual Designer pentru a putea fi utilizate. Modalitatea de introducere a
tagurilor [17] , ce vor fi prezentate în capitolul de implemetare a aplicației software , se
face conform manualului de utilizare a companiei Kepwa re.
Analiza și proiectarea sistemului
19
3 Analiza și proiectarea sistemului
În cadrul acestei secțiuni se vor descrie pașii necesa ri în ceea ce privește analiza și
priectarea unei mașini cu comandă numerică în vedere poziționării . Va fi discutat ă
partea mecanică și electric ă a ansamb lului. Mașina cu comandă numerică este
prezentată în Figura 3.1, partea din stânga reprezentând partea elect rică și partea din
drepta, cea mecanică.
Figura 3.1. Mașina cu comandă numerică
3.1 Componentele mașinii cu comandă numerică
În prima part e se ilustreză structura mașinii cu comandă numerică pentru
realizarea poziționării automate, conform imaginii din Figura 3.2.
Explicarea componentelor:
– Calculatorul: utilizat pentru implementarea programului sof tware,
configurarea servo -driverelor și crearea interfețelor grafice; în cadrul
Analiza și proiectarea sistemului
20 proiectulu i s-a folosi laptopul Acces E -15, Windows 7 Ultimate fiind
sistemul de operare pe care acesta lucrează .
– Automatul programabil: utilizat pentru controlul sistemului de poziționare,
programul software implementat pe calculator fiind descărcat în acesta;
ansamblul folosește automatul programabil Omron CJ2M -CPU11 .
– Servo -drive -ul: utilizat pentru controlul motorului; ansamblul folosește trei
servo -drivere Omron SmartStep2 R7D -BP01H pentru controlul celor trei
servomo toare, corespunzătoare sistemului tridimensio nal de deplasare .
– Servomotorul: ulilizator pentru deplasarea șurubului cu bilă pe axul de
șurub în formă de rolă, prin intermediul cuplajului de burduf; ansamblul
folosește motorul de curent continuu fără perii Omron -G10030H -S2
– Traductorul incremental de deplasare, sau encoderul: măsoare viteza de
rotație sau poziția din momentul prezent și transmite acest semnal înapoi la
servo -drive .
– Cuplajul de burduf: este conectat pe un ax de șurub și legat la arborele
motorului, prin acestă conexiune realizându -se mișcarea liniară de
deplasare în momentul funcționării.
Figura 3.2. Componentele mașinii cu comandă numerică
3.2 Legăturile fizice dintre componente
În cadrul acestei secțiuni se identifică legăturile fizice dintre componente , prec um
si protocolul și standardele de comunicație.
3.2.1 Calculator – Automat programabil
Conexiunea dintre calculator și automatul programabil se realizează cu ajutorul
unui port periferic, USB -ul. Cu ajutorul protocolului UȘB se transferă c odul scris pe
calculator în programul CX -Programmer în automatul programabil. De asemenea, cu
ajutorul portului serial, prezentat în Figura 3.3, se realizează conexiunea dintre
Analiza și proiectarea sistemului
21 automatul programabil și interfața grafică creată pe calculator , prin standardul de
comunicație RȘ -232.
Figura 3.3. Portul serial al automatului programabil
În portul serial este introdusă o mufă tată, fiind reprezentată de 9 pini de
conexiune , semnificația acestora fiind prezentată în următoarele rânduri. Pinul 1 este
folosit pentru împământare, fiind o măsură de siguranță necesară în cazul unor
defecțiuni, pinii 2 și 3 sunt folosiți pentr u trimiterea, respectiv primirea datelor. Pinul 4
este utilizat pentru permisiunea de trimitere, în tim p ce pinul 5 are semnificația de zona
de trimitere liberă. Alimentarea electrică (5V) este asigurată prin pinul 6, iar pinul 9,
semnalul de masă (0V). P rin pinul 7 se indică că setul de date este pregătit și prin pinul
8 că terminalul de date este gata de utilizare.
Legătura dintre portul serial al automatului programabil și portul UȘB al
calculatorului se realizează cu ajutorul adaptorului RȘ232 -USB produ s de compa nia
japoneză Omron.
3.2.2 Automat programabil – Servo D rive
Automatul programabil comunică cu fiecare dintre cele trei servo -drivere prin
intermediul modulelor de intrare și ieșire legat e la setul de cleme. Acest aspect va fi
dezolvat ulterior în secțiunea electrică a ansamblului. Cablul ( XW2Z -200J -B32) care face
legatura cu setul de cleme (XW2B -40J6 -9A) și servo -driver , este conectat la terminalul
CN1 al celui din urmă. Pentru exemplific are este pusă la dispoziție Figura 3.4.
Figura 3.4. Conexiunea automat programabil – servo drive
Analiza și proiectarea sistemului
22 3.3 Struc tura mecanică a ansamblului
Pe lângă elementele amintite anterior ( calculator, automat progra mabil, servo
drive sau servomotor) și conexiunile fizice dintre acestea, în cadrul acestei secțiuni este
prezentată în detaliu structura mecan ică a sistemului.
Pentru pozițioanare se folosește sistemul trimimensional. La o vedere din fața
ansamblului, direcția de deplasare înainte -înapoi este reprezentată de axa X, direcția de
deplasare stânga -dreapta este reprezentată de axa Y și direcția de deplasare sus -jos este
reprezentată de axa Z. Fiecare axa este prevăzută cu un motor care realizează o mișcare
de rotație ( în sens orar sau în sens anti -orar), arborele motorului fiind conectat la un
șurub cu bile prin intermediul unui cuplaj cu burduf. În acest mod mișcarea de ro tație a
motorului se transformă în mișcare de translație. Pe de altă parte, sunt conectatați trei
senzori de proximitate inductivi pentru poziționarea în origine a sistemului de axe și
șase limitatoare de cursă, pentru fiecare sens de mers ale celor trei motoare, acestea
fiind montate la ambele capete ale axelor.
Limitatoarele de cursă, în cazul unor erori nedorite, sunt utilizate pentru a opri
motoarele pentru ca deplasarea să nu se realizeze în afa ra zonei de lucru, fiind o măsură
importantă de siguranț ă.
Struc tura mecanică este prezentată în Figura 3.5.
Figura 3.5. Struc tura mecanică a ansamblului
În imaginea precedentă su nt ilustrate părtile ce intră în componența ansamblului
mecanic, axele de mișcare, motoarele, limitatoarele de cursă, senzorii inductivi de
proximitate, precum și zona aproximativă unde sunt plasate aceste componente.
Analiza și proiectarea sistemului
23 3.4 Structura electrică a ansamblului
Pe lângă partea mecanică a ansamblului, partea electrică reprezintă de asemenea o
componenă esențială în vederea fun cționării acestuia. În Figura 3.6 este ilustrat panoul
electric al sistemului .
Figura 3.6. Panoul electric a l mașinii cu comandă numerică
Legăturile dintre componente se realizeză prin setul de cleme. Acesta reprezintă o
variantă pentru ușura rea conexiuni loe electrice dintre dispozitive. În cadrul proiectului
sunt montate do uă seturi de cleme, unul pentru axa X și Y și unul pentru axa Z.
Echipamentele între care exită legatură electrică sunt:
Calculator – Automat programabil
Calculator – Servo Drivere
Șursă Servo Drivere – Servo Drivere
Servo Drivere – Servomotoare
Șursă automat programabil – Module de intrate și ieșire în impulsuri
Module de intrate și ieșire în impulsuri – Servo Drivere
Module de intrate și ieșire în impulsuri – Senzorii inductivi de proximitate
Module de intrate și i eșire în impulsuri – Limitatoarele de cursă
Analiza și proiectarea sistemului
24 O structură simplificată a conexiunilor electrice dintre componente este pre zentată
în Figura 3.7.
Figura 3.7. Structura conexiunilor electrice ale echipamentelor
Echipamentele electrice care sunt integrate în alcătuirea mașinii cu comandă
numerică sunt automatul programabil Omron CJ2M, cu unitatea centrală pe prelucrare
(CPU11), modulele de intrare și ieșire în impulsuri MD211 și 212 și sursa de 24V a
automatului programabil, cele trei servo -drivere Omron SmartStep2 R7D -BP01H cu
sursa lor de aliment are de 230V , cele trei servomotoarele aferente servo -driverelor,
R88 -G10030H -Ș2, toate aceste dispozitive fiind conectate prin cele două seturi de cleme
XW2B -40J6 -9A, la care se adaugă circuitul de interfațare a senzorilor cu automatul
programabil.
3.4.1 Seturil e de cleme
Setul de cleme pentru pentru axa X și Y, descris în Figura 3.8, XW2B -40J6 -9A, este
produs de către compania Omron, având un număr de 40 conectori . Acest set de cleme
este alimentat la o tensiune continuă de 24V ( legătura între pinul 0 și pinul 20), iar la
pinul 19 este conectată împămâ ntarea.
Figura 3.8. Setul de cleme pentru axa X si Y
Analiza și proiectarea sistemului
25 Fiecare servo dri ve al fiecărei axe este prevăzut cu un comutator de închidere și
deschidere, fiind o măsură de sigu ranță în cazul unei funcționări anormale. Acest
comutator, sau contact, are conectat un buton, care, în cazul în care este utilizat, oprește
funcționarea ime diată a motorului axei respective, rezultat al semnalului primit de la
servo drive. În cazul axei X, pentru acest comutator se folosesc pinii 25 și 5, în timp ce
pentru axa Y, se utilizează pinii 34 și 14. Șenzorul inductiv de proximitate are rolul de a
aigura că mașina cu comandă numerică este în punctul de origine respectivei axe.
Contactul senzorului este de tipul normal închis, adică la detectarea unui obiect metalic
în dreptul acestuia, trimite un semnal către automatul programabil, semnal ce anunță că
ansamblul a intrat în zona de proximitate a originii, fapt ce duce la o viteză mai mică a
servomotorului axei respective, viteză setată de către utilizator , până la faza de oprire.
Acest semnal se trimite către automatul programabil prin intermediul unui circuit de
interfațare dintre senzor și automat programabil, prezentat ulterior. Șenzorul inductiv
de proximitate caracteristic axei X se leagă între pinii 24 și 4, iar pentru axa Y între pinii
33 și 13. Limitatoarele de cursă sunt conectate la pinul 22 c u pinul 2, pentru sensul
acelor de ceasornic ( sensul orar) și pinul 23 cu pinul 3, pentru sensul trigonometric
(sensul anti -orar) pentru axa X, în timp ce limitatoarele de cursă sunt conectate la pinul
31 cu pinul 11, pentru sensul acelor de ceasornic ( s ensul orar) și pinul 32 cu pinul 12,
pentru sensul trigonometric (sensul anti -orar) pentru axa Y. Limitatorul de cursă are
rolul de a opri mișcarea servomotorului în sensul de rotație specificat atunci când
întâlnește un astfel de dispozitiv. Ceilalți conectori nu sunt utlizați în cazul mașinii cu
comandă numerică prezentată în lucrare.
Setul de cleme pentru axa Z, XW2B -40J6 -9A, prezentat în Figura 3.9 este identic cu
conexiunile existente și pentru axa X. În componență întră comunatorul pentru senzorul
inductiv de proximitate, cele două limitatoare de cursă, comutatorul pentru servodrive .
Figura 3.9. Setul de cleme pentru axa Z
Analiza și proiectarea sistemului
26 Astfel, pinul:
20-0 – alimentare 24V tensiune continuă
19 – împământare
25-5 – comutator servo drive
24-4 – senzor inductiv de proximitate
23-3 – limitator de cursă, sens anti -orar
22-2 – limitator de cursă, sens orar
3.4.2 Circ uitul de interfațare dintre senz ori și automatul programabil
După cum am amintit anterior, între senzorii de proximitate și automatul
programabil există un circuit format din tre relee Omron G5LE, Figura 3.10, pentru
fiecare axă, care să furnizeze un nivel exact de tensiune, 24V, în automatul programabil
atunci când senzorul detectează un obiect metalic în fața acestuia.
Figura 3.10. Releul Omron G5LE
Structura circuitului de interfaț are este prezentată în Figura 3.11.
Figura 3.11. Circuitul de interfațare senzori – automat programabil
Șursa de tensiune a acestui circuit este una continuă de 24V, în figura precedentă
având denumirea de ”Șursă”. Cele trei circuite interne sunt caracteristici celor 3 relee
Omron G5 LE.
Analiza și proiectarea sistemului
27 Astfel, în momentul când senzorul are în dreptul său un obiect metalic, se
generează un curent electric care circulă între pinul 2 și 5 al releului, acest a fiind
alimentat de la sursă. Î n acest fel , circuitul se deschide între pinul 1 și pinul 4 formând
un circuit închis cu contactele automatului programabil prin seturile de cleme
prezentate anterior. Bornele C1+, C1 -, C2+, C2 -, C3+, C3 – sunt cuplate la aceste seturi de
cleme, iar acestea din urmă, conectate la automatul programabil.
Ca o concluzie, semnalul generat de apariția unui obiect metalic în dreptul
senzorului inductiv de proximitate, trimite un semnal la circuitul de interfațare, iar prin
cele trei relee conectate la setul de cleme se face legatura cu automatul programabil.
Automatul program abil primeș te 0V atunci când senzorul nu detectează niciun obiect
metalic în dreptul său și 24V când se detectează un astfel de obiect. Atunci când mașina
cu comandă numerică se află în dreptul celor 3 senzori, putem afirma că acolo este
originea sistemulu i.
Bornele Ș1, Ș2 și Ș3 sunt utilizate pentru semnalul generat de cei trei senzori
inductivi de proximitate amplasați pe cele trei axe de mișcare, iar prin bornele Ș1+, Ș1 -,
S2+, S2 -, S3+, S3 -, se alimentează acești senzori.
Senzorul specific axei X este montat în sensul direcție de mers conform acelor de
ceasornic a servomotorului , senzorului specific axei Y este montat în sens trigonometric
conform direcției de mers a servomotorului, iar senzorul specific axei Z este montat în
sensul direcție de mers co nform acelor de ceasornic a servomotorului.
Șenzorii inductivi de proximitate sunt de tipul contact normal închis.
3.5 Traductorul incremental de deplasare
Șervomotorul este prevăzut un cu traductor incremental de deplasare. Acesta va
transmite servo -drive -ului respectiv un număr de 2500 de impulsuri pentru fiecare
rotație întregă a motorului. Distanța parcursă de șurubul cu bilă prin intermediul
cuplajului de burduf dintre arborele motorului și axul de șurub, în timpul unui rotații
complete a motorului este d e 5 mm pentru axele X și Y și 3 mm pentru axa Z . Deci, în
momentul în care dorim să setăm viteza, acceletația sau decelerația trebuie să ținem
cont de aceste măsurători pentru a putea verifica corectitudinea poziționării. Accelerația
si decelerația sunt se tate tot sub formă de impulsuri pe secundă în automatul
programabil sub forma unui ciclu program, având o perioadă de 4 ms. Astfel aceste două
valori sunt înțelese de automatul programabil ca fiind valori ale vitezei, care va creste de
la 0 impulsuri până la un număr maxim setat, la execuția fiecărui ciclu program.
Precizia poziționării va fi una de 0,1 mm în partea de poziționare automata, fiind
furnizată ca referință o poziție înmulțită 0,1 mm față de origine, în coordinate absolute.
Traductorul incremental de deplasare este conectat cu servo -drive -ul prin
intermediul unui cablu cu cinci fire, pentru alimentare (două, plus și minus), pentru
semnalul de poziție (două) și unul pentru ecranare.
Implemetarea software
28
4 Implemetarea software
4.1 Configurarea driverelor
Un prim pas în implemetarea aplicației este selectarea si gestionarea driverelor.
Acest pas este realizat cu ajutorul programului CX -Drive inclus în pachetul CX -One al
companiei Omron.
Prin urmare, s -au setat trei drivere. ”Drive1” corespondent motorului pentru
deplasarea pe direcția axei X, ”Drive2” corespondent motorului pentru deplasarea pe
direcția axei Y și ”Drive3” corespondent motorului pentru deplasarea pe direcția axei Z,
conform prezentării din Figura 4.1.
Figura 4.1. Setari drivere
De asemenea, în secțiunea ”Product Information” se pot observa informații despre
servo -drive -ul Omron SmartStep2 R7D -BP01H și despre motorul R88M -G10030H -S ce
funcționează împreună cu acesta.
Implemetarea software
29 În ceea ce privește configurarea acestor drivere, se folosește funcția de reglare
automată integrată în programul CX-Drive, denumită ”Auto -Tune”.
În consecință anumiți parametri se vor modifica, fapt vizibil în Figura 4.2.
Figura 4.2. Parametri Drive1 dupa funcția de reglare automată
Cercurile de culoare negră, aflate in stânga coloanei ce indică indexul parametrului,
arată faptul că valoarea curentă a rămas nemodificată față de valoarea implicită, în
comparație cu cercurile de culoarea roșie care semnalează modificarea par ametrului
respectiv .
De exemplu, valoarea constantei cuplului motor s -a modificat, avand o valoare de
0,65 față de valoarea unitară cât era initial. Prin aceste modificări se doreste ca motorul
să aibă un randament ridicat și un grad de utilizare cât mai îndelungat.
Experimental, s -a ajuns la concluzia că funcția de reglare automata prezintă o
eficiență mai sporită atunci când sistemul funcționeaza cu o rigiditate mai scăzută.
În unele situații, driverele pot furniza așa numitele alarme, ce reprezintă o
funcționare anormală a sistemului, fapt ce duce la blocarea acestuia. Din bara de
instrumente se alege pictograma ”Alarms”, se selectează alarma dorită și apoi butonul
”Clear” după cum se arată în Figura 4.3.
Figura 4.3. Pictograma ”Alarms”
Aceste alarme sunt cauzate, de exemplu, de un exces de curent sau de tensiune,
de o viteză ridicată a motorului sau de o eroare de soft.
Implemetarea software
30 4.2 Configurarea automatului programabil
Configurarea automatul ui programabil pentru implementarea software se face cu
ajutorul programului CX -Programmer. După cum știm automatul programabil utilizat
este CJ2M -CPU11 produs de către compania Omron. Pentru adăugarea și configurarea
automatului programabil se alege din bara de meniu opțiunea ”New”, fapt ce va duce la
deschderea unui noi ferestre , conf orm imaginii din Figura 4.4. În această figură , în
secțiunea ”Device Name”, se scrie un nume dorit, PLC_CJ2M, în secțiunea ”Device Type”
se alege din lista cu toate automatele programabile modelul CJ2M, iar la ”Network Type”
modelul UȘB, folosit pentru comunicarea între calculator și automatul programabil. Prin
apăsarea butonul ”Șettings” din dreptul modelului automatului programabil , duce la
deschiderea unei noi ferestre, cea din partea dreaptă a figurii, unde avem pos ibilitatea să
setăm ce unitatea centrală de prelucrare folosește acesta. Deci, în căsuța ”CPU Type” se
alege din listă CPU11.
Figura 4.4. Configurarea automatului programabil
În fereastra din partea dreapt ă se mai pot vizualiza anumite caracteristici ale
automatului programabil Omron CJ2M -CPU11. Programul încarcat în acest dispozitiv
poate avea o memorie cuprinzând un număr maxim de 5000 pași de execuție, lucru
vizibil în secțiunea ”Total Program Area Șiz e”, dar aceasta poate fi extinsă până la 32000
pași, vizibil în ”Expansion Memory”.
După realizarea acestor specificații se apasă pe rând cele două butoane ”OK”, cel
din dreapta, apoi cel din stânga, astfel se salvează în cadrul programului deschis noile
setări ale automatului proramabil.
Implemetarea software
31 4.3 Structura implementării software
4.3.1 Modul manual al mașinii cu comandă numerică
Acestă secțiune va descrie modul de utilizare a instrucțiunii PLȘ 2(887), prin care
se va realiza deplasarea pe axele de mișcare în funcție de directia dorită. Modul manual
se realizează prin coordonate relative, ceea ce se traduce prin distanț a dintre două
puncte, raportată la ultimul punct în care se află sistemul de po ziționare. Instrucțiunea
PLS2(887), unde 887 reprezint ă codul acesteia, este o instru cțiune de generare a
impulsurilor. Pentru aceasta se folosesc următorii parametrii:
P – port ieșire
M – mod ieșire
S – primul cuvânt al tabelului de setări
F – primul cuvânt al frecvenței de start
Simbolul ladder al ac esteia este ilustrat în Figura 4.5.
Figura 4.5. Simbolulul ladder al instrucțiunii PLS2(887)
Portul de ieșire (notat P) reprezintă specificatorul de port. Prin urmare, pentru
deplasarea motorului pe direcția axei X se folosește valoarea 0000hex, pentru
deplasarea motorului pe direcția axei Y se folosește valoarea 0001hex și pentru
deplasarea motorului pe direcția axei Z se folosește valoarea 0003hex. Cuvântul hex
denotă faptul că valoarea este în sistemul hexazecimal.
Modul de ieșire (notat M) reprezintă modul de lucru al acestei instrucțiuni, fiind
reprezentat printr -un numar hexazecimal pe 16 biți după cum urmează . Bitul 0 este cel
mai puțin semnificativ (dreapta) și bitul 15 cel mai semnificativ (stânga) . Astfel, cei 16
biți sunt împarțiți în patru zone. În prima zonă (bitul 0 -3) se dorește selectarea comenzii
în coordo nate absolute sau în coordonate relative. Valorea hexazecimală 0 corespunde
coordonatelor relative, iar valoarea hexazecimală 1 corespunde coordonatelor absolute.
După cum am spus, vom folosi coordonate relative. În a doua zonă (bitul 4 -7) se alege
sensul de rotație al motorului. Pentru sensul de rotație în sensul acelor de ceasornic se
setează valoarea hexazecimală 0 și pentru sensul trigonometric se setează valoarea
hexazecimală 1. În a treia zonă (bitul 8 -11) se specifică metoda de comandă a motorului.
Valoarea hexazecimală 0 este pentru sensul trigonometric și sensul acelor de ceasornic,
iar valoarea hexazecimală 1 pentru impuls și direcție. Varianta cea din urmă se folosește
doar în cazul coordonatelor absolute, în care poziționarea se face raportată la originea
sistemului de coordonate. În ultima zonă (bitul 12 -15) pot fi specificate 4 valori.
Valoarea hexazecimală 0 semnifică oprirea motorului cu decelerare fără compensare,
valoarea hexazecimală 4 semnifică oprirea motorului cu decelerare cu compensare ,
Implemetarea software
32 valoarea hexazecimală B semnifică oprirea motorului fără decelerare fără compensare și
valoarea hexazecimală C semnifică oprirea motorului fără decelerare cu compensare.
Tabelul de setări (notat Ș) conține rata de accelerație și decelerație, frecvența ți ntă
(maximă) și numărul de impulsuri . Așadar, se vor folosi regiștii din zona de memorie D
(Memory) a automatului programabil, în care vor fi setate valorile dorite. Pe același
principiu se setează și frecvența de strat (notată F) . Pentru poziționarea în modul
manual s -au folosit următorii registrii, conform imaginii din Figura 4.6. O observație
importantă este aceea că acestia trebuie sa fie consecutivi.
Figura 4.6. Regiștrii utilizați pentru modul manual
În momentul execuției instrucțiunii PLȘ2(887), automatul programabil începe să
emită impulsuri pe portul P, cu o frecvență egală cu frecvența de start, aceasta din urmă,
crescând o dată la 4ms cu valoarea sp ecificată la rata de accelerare. Rata de accelerare și
decelerare poate avea o valoare maximă de 655 325 impulsuri/secundă, frecvența țintă
o valoare maximă de 100 000 impulsuri pe secundă, iar numărul de impulsu ri poate
varia între 0 și 2 147 483 647 pentru coordonate relative și pentru coordonate absolute,
între -2 147 483 647 și 2 147 483 647.
Valorile setate trebuie introduse în aceste zone de memorie. Pentru aceasta se
folosește instrucți unea MOV(021), car e transferă informația dintr -o zonă sursă (Ș) spre
o zonă destinație (D). Șimbolul l adder este ilustrat în Figura 4.7.
Figura 4.7. Simbolulul ladder al instrucțiunii MOV(021 )
În zona Ș se va intruduce o valoarea în hexazecimal , iar zona D va fi atribuită unei
zone de memorie D amintite mai sus. Traductorul incremental de deplasare furnizează
la ieșire 2500 de impulsuri pentru o rotație completă a motorului, astfel deplasare în
acea direcție făcându -se pe o distanță de 5 mm (X,Y) și 3 mm (Z) . Așadar pentru setarea
vitezei, accelerației și decelerației se vor face în prealabil următoarele calcule.
Implemetarea software
33 Viteza în rotații pe minut are următoare formulă:
𝑉𝑟=𝑉[𝑖𝑚𝑝𝑢𝑙𝑠𝑢𝑟𝑖
𝑠𝑒𝑐𝑢𝑛𝑑𝑎]
2500 [𝑖𝑚𝑝𝑢𝑙𝑠𝑢𝑟𝑖
𝑠𝑒𝑐𝑢𝑛𝑑𝑎]∗60[𝑠𝑒𝑐𝑢𝑛𝑑𝑒 ] (3.1)
Viteza în milimetrii pe secundă are următoarea formulă:
𝑉𝑚 =𝑉[𝑖𝑚𝑝𝑢𝑙𝑠𝑢𝑟𝑖
𝑠𝑒𝑐𝑢𝑛𝑑𝑎]
2500 [𝑖𝑚𝑝𝑢𝑙𝑠𝑢𝑟𝑖
𝑠𝑒𝑐𝑢𝑛𝑑𝑎]∗5[𝑚𝑚 ] (3.2 )
Accelerația și decelerația în rotații pe secundă la pătrat are următoare formulă:
𝐴𝑟=𝐴[𝑖𝑚𝑝𝑢𝑙𝑠𝑢𝑟𝑖
𝑠𝑒𝑐𝑢𝑛𝑑𝑎 ∗𝑠𝑒𝑐𝑢𝑛𝑑𝑎]
2500 [𝑖𝑚𝑝𝑢𝑙𝑠𝑢𝑟𝑖
𝑠𝑒𝑐𝑢𝑛𝑑𝑎]∗1
0,004 [𝑠𝑒𝑐𝑢𝑛𝑑𝑒 ] (3.3 )
Accelerația și decelerația în milimetrii pe secundă la pătrat are următoare formulă:
𝐴𝑚 =𝐴[𝑖𝑚𝑝𝑢𝑙𝑠𝑢𝑟𝑖
𝑠𝑒𝑐𝑢𝑛𝑑𝑎 ∗𝑠𝑒𝑐𝑢𝑛𝑑𝑎]
2500 [𝑖𝑚𝑝𝑢𝑙𝑠𝑢𝑟𝑖
𝑠𝑒𝑐𝑢𝑛𝑑𝑎]∗1
0,004 [𝑠𝑒𝑐𝑢𝑛𝑑𝑒 ]∗ 5[𝑚𝑚 ] (3.4 )
V reprezintă valoarea vitezei de referință , Vr viteza calculată în rotații pe minut,
Vm, viteza calculată în milimetrii pe secundă. Pe de altă parte A reprezintă accelerația
de referință, iar Ar accelerația calculată în rotații pe secundă la pătrat, Vm, accelerația
calculată în milimetrii pe secu ndă la pătrat. În cadrul secțiuni modului manual , prin
instrucțiunea MOV(021) setăm valorile necesare pentru accelerație, decelerație,
frecvența țintă, numărul de impulsuri și frecvența de start, prezentată în Figura 4.8.
Figura 4.8. Secvența de cod pentru pentru transferul valorilor accelerației și decelerației
Implemetarea software
34 În imaginea precedentă este prezentat modul cum se trasferă valoarea accelerației
20 000 (4E20 în sistemul hexazecimal) în zona de memorie D100 și acceași valoare în
zona de memorie D101, reprezentând valoarea pentru accelerație și decelerație. Valorile
setate pentru toate celelalte zone de memorie sunt prezentate în Tabel 4.1.
Tabel 4.1. Valorile transferate cu ajutorul funcției MOV(021)
Nume Valoare transferată Zona de memorie
Accelerație 20000[impulsuri/secundă /ciclu4(ms) ] D100
Decelerație 20000[impulsuri/secundă /ciclu4(ms) ] D101
Frecvența țintă 5000 [impulsuri/secundă] D102
Număr de impulsuri 200 D104
Frecvența de start 0 [impulsuri/secundă] D110
Frecvența țintă sau viteza, se calculează conform ecuațiile precedente. Deci, viteza
are o valoare de 120 rotații pe minut. Ținând cont de faptul că la 2500 de impulsuri
sistemul de poziționare se deplasează cu 5 mm, la 200 de impulsuri sistemul se
deplasează cu 0,4 mm. Accelerația și decelerația au o valoare de 2000 roțații pe secundă
la pătrat.
Contactul P_On este un contact normal deschis și se activează de fiecare dată când
automatul programabil este în modul RUN, cee a ce duce direct la transferarea valorilor
de mai sus în zonele de memorie aferente.
În continuare vom reveni la instrucțiunea PLȘ2(887). După ce am setat valorile în
zonele de memorie urmează controlul efectiv al poziționării manuale. Astfel s -au creat
șase simboluri prezentate în Tabel 4.2.
Tabel 4.2. Simboluri declarate pentru modul manual
Simbol Adresă Descriere
X_Incrementare CIO2961.00 Deplasare pe axa X – CW
X_Decrementare CIO2960.01 Deplasare pe axa X – CCW
Y_Incrementare CIO2961.02 Deplasare pe axa Y – CW
Y_Decrementare CIO2961.03 Deplasare pe axa Y – CCW
Z_Incrementare CIO2963.02 Deplasare pe axa Z – CW
Z_Decrementare CIO2963.03 Deplasare pe axa Z – CCW
Observație. Acronimul CW reprezintă mișcarea motorului în sens orar și CCW
reprezintă mișcarea motorului în sens antiorar. Adresele sunt specifice por tului de ieșire
pe care se află, CIO reprezentând ie șiri și intrări normale.
Implemetarea software
35 În următoarea f igură, Figura 4.9 este prezentată mișcarea instru cțiunea PLȘ2(887)
specifică mișcării pe axa X în sens ul orar a l motorului.
Figura 4.9. Instruncțiunea PLS2(887) pentru mișcarea motorului în sens orar
Toate cele 6 contacte sunt de tipul normal deschis și funcționează atunci când sunt
în starea 1 logic.
Interfața gra fică este prezentată în Figura 4.10.
Figura 4.10. Interfața grafică pentru modul manual de poziționare
Cele șase butoane sunt de tipul ON/OFF, la fiecare apăsare pe unul din ele se va
face conexiunea cu programul ladder, mai exact cu funția PLȘ2(887). În momentul în
care se apasă pe unul din ele, sistemul de pozițioanare se va deplasa pe acea direcție, cu
valorile setate în zonele de memorie explicate mai sus. Când butonul nu mai este apăsat
ansamblul se oprește instantaneu și la conti nuă din locul unde es te în prezent , la o nouă
apăsare. În cele trei căsuțe se afișează viteza actuală pe fiecare axă.
Implemetarea software
36 4.3.2 Limitat oarele cu cursă
Limitatoarele cu cursă sunt utilizate ca o masură de siguranță în cazul deplasării
mai mult decât este necesar pe axele d e mișcare, împiedicând astfel deteriorarea sau
defecțiunea ansamblului. Astfel, în momentul în care, pe una sau pe toat e cele trei axe,
deplasare se face până la limitatorul specific, acesta trimite un semnal către automatul
programabil, care, la rândul său, comunică servo -drive -ului să oprescă mișcarea
motorului în acel sens. Automatul programabil este prevăzut prin const rucție cu șase
zone de memorie auxiliare (notate A) care opresc mișcarea motorului atunci când
primesc semnal de la limitatorul respectiv, în momentul în care acesta se activează. În
Tabel 4.3 sunt prezentate aceste zone de memorie auxiliare.
Tabel 4.3. Zonele de memorie ale automatului programabil pentru limitatoarele de cursă
Contact normal deschis Zona de memorie auxiliară Descriere
CIO2960.06 A540.08 Șens orar, puls ieșire 0
CIO2960.07 A540.09 Șens antiorar, puls ieșire 0
CIO2960.08 A541.08 Șens orar, puls ieșire 1
CIO2960.09 A541.09 Șens antiorar, puls ieșire 1
CIO2962.08 A543.08 Șens orar, puls ieșire 3
CIO2962.09 A543.09 Șens antiorar, puls ieșire 3
Astfel, s -a creat o funcție bloc (LimitatoareDeCursă) în limbaj ladder unde intrările
sunt contactele normale deschise prezentate în tabelul anterior și ieșirile sunt zonele de
memorie auxiliare, conform imaginii din Figura 4.11.
Figura 4.11. Funcția bloc în limbaj ladde r pentru limitatoarele de cursă
Această funcție bloc este apelată în programul pricipal sub forma unui bloc
funcțional și se activează mereu când automatul programabil este în modul RUN prin
contactul P_On. Blocul funcțional este prezentat în Figura 4.12.
Implemetarea software
37
Figura 4.12 Apelarea funcț iei bloc a limitatoarelor de cursă
În concluzie, în momentul în care ansamblul ajunge la unul dintre limitatoare, se
deschide contactul (contactele acestea sunt setate ca un contact normal închis în setările
automatului programabil) semnalul de 1 logic fiind acum 0 logic, astfel mo torul fiind în
incapabilitatea de a mai continua rotația în acel sens.
4.3.3 Căutarea și revenirea în origine
În această secțiune se dorește exemplificarea modului în care sistemul își caută
originea și modul de revenire în aceasta după ce a fost setată. Pentru a efectua operația
de căutare a punctului de origine și de întoarcere în aceasta se folosește funcția
utilitarului CX -Programmer, ORG(889), unde 889 reprezință codul funcției. Pentru
căutarea originii impulsurile sunt ieșiri ce utilizează metoda specific ată pentru controlul
servomotoarelor, pe baza semnalel or de proximitate și de origine . În ceea ce privește
întoarcerea în origine, sistemul de poziționare este întors la originea prestabilită.
Șemnalele ce indică poziția sunt recepționate de la traductorul incremental de
deplasare. După cum știm, o rotație completă a unui servomotor este generată de 2500
impulsuri, deplasarea fiind realizată pe distanța de 5 mm pentru axa X și Y și 3 mm
pentru axa Z. Ca o idee generală, pentru că utarea originii, fiecare ser vomotor este pornit
la o viteză specificată, accelerată la viteza de căutare de origine și funcționeză la această
viteză până când se detectează poziția de proximitate o orginii, dată prin senzorii
inductivi de proximitate. În acest moment, motorul este de celerat la o viteză redusă de
căutare și se execută mișcarea cu această viteză până când poziția de origine este
detectată, urmând ca motorul să se oprească. Valorile pentru viteză, accelerație,
decelerație se setează manual, folosind setările automatului programabil.
Implemetarea software
38 În meniul de setări a proiectului se face configurarea parametrilor, în secțiunea
modulelor de intrare și ieșire (Șettings – I/O Module – Pulse Outputs and Origin
Searches – Set), prezentată în Figura 4.13.
Figura 4.13. Setări pentru căutare și întoarere în origine
După cum am observat, ieșirea în impulsuri 0 este conectată la motorul pentru
deplasarea pe direcția axei X, ieșirea în impulsuri 1 este conectată la motorul pentru
deplasarea pe direcția axei Y și ieșirea în impulsuri 3 este conectată la motorul pentru
deplasarea pe direcția axei Z. Limitatoarele de cursă funcționează în regim normal
închis. Căutarea se face liniară. Direcția de căutare a originii se face în sens orar la
deplasarea pe axa X și Y, în timp ce direcția de căutare a originii pentru axa Z se f ace în
sens antiorar. Pentru toate cele trei ieșiri în impulsuri s -a ales modul de operare 1, care
este reprezentat de servomotor. Șenzorii inductivi de proximitate sunt utilizați la
căutarea originii în regim normal deschis și se activează de fiecare dată când detectează
sistemul de poziționare în dreptul lor.
În ceea ce privește valorile pentru viteză (high speed), viteza în zona de
proximitate a senzorilor (proximity speed), rata de accelerare (acceleration rate) și rata
de decelerare (deceleration rate ) a căutării de origin sunt prezentate în Tabel 4.4, alături
de viteza țintă (target speed) și rata de accelerare și decelerare a revenirii în origine.
Implemetarea software
39 Tabel 4.4. Valorile parametrilor pentru căutare și întoarcere în origine
Tip Parametru Valoare Observații
Căutare Origine Viteză 2000 [impuluri/secundă] 48[rot/min]
Viteză proximitate 700 [impuluri/secundă] 16,8[rot/min]
Accelerație 200
Decelerație 200
Revenire în Origine Viteză 500 [impuluri/secundă] 12[rot/min]
Accelerație 200
Decelerație 200
Șimbolul ladder al instrucțiunii ORG(889) este ilustrat în Figura 4.14. Aceasta
folosește doi parametrii: portul de ieșire (notat P) și registrul de control (notat C)
Figura 4.14. Simbolulul ladder al instrucțiun ii ORG(889)
Ca și în cazul instruncțiunii PLȘ2(887), P-ul reprezintă specificatorul de port. Prin
urmare, pentru deplasarea motorului pe direcția axei X se folosește valoarea 0000hex,
pentru deplasarea motorului pe direcția axei Y se folosește valoarea 0001hex și pentru
deplasarea motorului pe direcția axei Z se folosește valoarea 0003hex. Cuvântul hex
denotă faptul că valoarea este în sistemul hexazecimal.
Registrul de control , C, este reprezentat pe un număr de 16 biti după cum se
prezintă în Figura 4.15.
Figura 4.15. Registrul de control al funcției ORG(889)
Așadar, pentru căutarea de origine toate cele trei valori ale registrului de control
vor avea valorea 0000hex, iar pentru înt oarcere în origine 1000hex. P entru
specificatorul de port vom folosi valorile în hexazecimal 0000, 0001 și 0003 pentru cele
trei direcții de mișcare.
Implemetarea software
40 Șecvența de cod pentru căutarea punctului de origine de pe axa de mișcare X se
prezintă în Figura 4.16. Analog se procedează și pentru axa Y și Z.
Figura 4.16. Secvența de cod pentru căutarea de origine pe axa X
Contactul normal închis ”ȘetareOrigine” este activ pe tot parcursul secvenței de
căutare a originii și se dezactivează în momentul când se ajunge în origine. Fa ctorul ce îi
transmite dacă se află sau în origine sunt trei flag -uri din zona de memorie auxiliară care
sunt active pe parcursul secvenței de căutare și inactive când se ajunge în origine, după
cum se prezintă în Figura 4.17.
Figura 4.17. Flag -urile pentru zona din afara originii
Aceste flag -uri au adresele A280.05 pentru ieșirea în impulsuri 0, A281.05 pentru
ieșirea în impulsuri 1 și A327.05 pentru ieșirea în impulsuri 3. După ce se ajunge se
ajunge în origine flag-urile devin inactive , originea se setează în puncte le (0,0,0) și se
resetează funcția de căutare de origine.
Pentru funcția de revenire în origine primul b itul (12 -15) al registrului de control
este 1, față de 0 pentru căutarea de origine și sunt prezente trei flag -uri specifice din
zona de memorie auxiliară care anunță dacă sistemul este poziționat în origine, caz în
care este sunt inactive sau sistemul est e în origine, caz în care sunt active, după cum se
prezintă în Figura 4.18. Acestea sunt A280.06, A280.07, A327.06
Figura 4.18. Flag -urile pentru revenirea în origine
Contactele normale deschise ”CautareOrigine” și ”RevenireInOrigine” sunt
contactele care pornesc cele două operații, de căutare și revenire în origine, având ca
adrese două două zone de memorie, D500.00, respectiv D500.02.
Implemetarea software
41 Interfața grafică pentru funcția de căutare și revenire în origine este prezentată în
Figura 4.19. Pentru secvența de căutare orgine se apasă butonul ’’Cautare Origine’’, iar
pentru revenirea în origine se apasă butonul ’’Revenire in Origine’’. Aprinderea led -ului
verde indică faptul că funcțiile și -au îndeplinit obiectul și sistemul se află la punctul de
coordonate (0,0,0).
Figura 4.19. Interfața grafică pentru căutarea și revenirea în origine
4.3.4 Viteza și poziția actuală
Instrucțiunea CX -Programmer PRV(881) , unde 881 este codul funcției, citește
valorea curentă a numărătoarelor ra pide, a ieșirilor în impulsuri și a funcțiilor de
întrerupere. Funcția folosește trei parametrii prezentați alături de simbolul ladder în
Figura 4.20.
Figura 4.20. Instrucțiunea PRV
Portul de ieșire (notat P) reprezintă specificatorul de port. Prin urmare, pentru
deplasarea motorului pe direcția axei X se folosește valoarea 0000hex, pentru
deplasarea motorului pe direcția axei Y se folosește valoarea 0001hex și pentru
deplasarea motorului pe direcția axei Z se folosește valoarea 0003hex. Cuvântul hex
denotă faptul că valoarea este în sistemul hexazecimal.
Al doilea parametru (notat C) reprezintă registrul de contro l. În funcție de portul
de ieșire specificat, 0003hex citește valoarea curentă a vitezei. Pentru poziția curentă se
folosește valoarea hexazecimală 0000.
Al treilea parametru (notat D) este reprezintat de zona de memo rie unde va fi
salvată valoarea și folo sită în interfața grafică.
Implemetarea software
42 În Figura 4.21 este ilustrat modul în care se face crează codul în limbaj ladder și
reprezentarea în interfața grafică .
Figura 4.21. Viteza actuală – codul ladder și reprezentarea în interfața grafică
4.3.5 Modul automat
Modul automat este reprezentat de interpolarea liniară, ce reprezintă o metodă de
legătură între două puncte printr -o dr eaptă ce le unește. Aceasta are la bază principiul
integrării componentelor vitezei, în sistemul de coordonate în plan. Algoritmul are la
bază următorii pași:
– Determinarea axei pe care este cea mai lungă deplasare
– Pe această axa viteza este cea maximă, setată din interfața grafică
– Viteza pe celelalte două axe viteza este reprezentat de raportul distanțelor
pe axa în cauză împărțită la distanța maximă de parcurs
Interpolarea liniară se face în coordonate absolute , deci poziția următorului punct
este calcu lată față de origine. Așadar viteza ce urmează a fi calculată este dată de
raportul dintre distanțelor de parcurs pentru poziționare introduse din interfața grafică
înmulțite cu viteza maximă, conform ecuației de mai jos
𝑉_𝑐𝑎𝑙𝑐 =𝑑𝑖𝑠𝑡 1
𝑑𝑖𝑠𝑡 2∗𝑉_max _𝑠𝑒𝑡 (3.5 )
V_calc este viteza ce va fi calculată pentru axa respectivă , dist1 și dist2 reprezintă
distanțele pe axe ce urmează să fie parcurse, iar V_max_set este viteza ce va fi setată.
Un prim pas în imple mentare este scalarea poziției, în Figura 4.22.
Figura 4.22. Scalarea poziției
Implemetarea software
43 Poziția în mm este setată de pe interfața grafică. Aceasta se înmulțeste cu 50, fiind
factorul pentru precizie de 0,1mm. Acest lucru rezultă din următoarea formulă :
𝑋
2500∗5=0,1 (3.6 )
Formula precedentă este valabilă pentru axa X și Y deoarece pasul șurubului este 5
mm la o rotație completă. În cazul axei Z, pasul șurubului este de 2 mm la o rotație
completă (2500 impulsuri) a servomotorului.
De exemplu, pentru axa X, daca se dorește deplasarea pe distanța de 30 mm (3cm)
în interfața grafică se introduce valoarea de 300.
Codul pentru interpolare liniară este prezentat în Figura 4.23.
Figura 4.23. Codul pentru interpolare liniară
Codul corespunde explicațiilor prezentate la începutul subcapi tolului rezervat
modului automat. Parametrii sunt apelați în programul principal sub forma unui bloc
funcțional în care se apelează funcțiile prezentate mai sus. Pozitia curentă este dată în
programul principal de instrucțiunea PRV(881), prezentată anteri or.
Implemetarea software
44 Șecvența de operații pentru interpolare liniară este ilustrată în Figura 4.24.
Figura 4.24. Secvența de operații pentru interpolare liniară
Comanda este reprezentată de activarea unui contact, un buton de start pentru
poziționare prin interpolare liniară. Inițial sistemul va fi poziționat în origine , deoarece
se vor folosi coordonate absolute, originea fiind referință pentru fiecare punct .
Parametrii vor fi setați în interfața grafică (Poziția X, Poziția Y, Pozitia Z, V iteza maximă)
prin activarea unui buton de ’’Șetare parametrii’’. După ce această operațiune a luat
sfârșit, se verifică po zițiile actuale ale celor 3 axe: valoarea provenită de la instrucțiunea
PRV specifică poziției actuale este transferată către o nouă zonă de memorie, prin
funcția MOV, valoarea ce va fi folosită în cadrul interpolării liniare.
Pozițiile (în mm) ce sunt introduse se scalează conform relațiilor prezentate
anterior, iar viteza maximă (în impulsuri/secundă) care este setată tot din interfaț a
grafică, este referință pentru celelalte viteze pe axe. După ce s -a ajuns la numărul de
impulsuri corespunzător, poziționarea se oprește. Acest fapt este semnalat de trei zone
de memorie auxiliare care se activează în momentul în care numărul de impulsur i a
ajuns la valoarea dorită după scalare. Acestea sunt A280.03 pentru portul de ieșire 0
(axa X), A281.03 pentru portul de ieșire 1 (axa Y) și A327.03 pentru portul de ieșire 3
(axa Z).
Implemetarea software
45 Parametrii reprezentați în blocul din Figura 4.25 sunt reprezentați de o zonă de
memorie (D) specifică explicate în Tabel 4.5.
Figura 4.25. Blocul funcț ional corespunzător interpolării liniare
Tabel 4.5. Zonele de memori e utilizate
Parametru Adresă Tip de dată
PozitieX D30 DINT
PozitieY D32 DINT
PozițieZ D34 DINT
VitezaMaxima D60 DINT
PozitieCurentaX D40 DINT
PozitieCurentaY D42 DINT
PozitieCurentaZ D44 DINT
VitezaTintaX D2 DINT
VitezaTintaY D12 DINT
VitezaTintaZ D22 DINT
NumarImpulsuriX D4 DINT
NumarImpulsuriY D14 DINT
NumarImpulsuriZ D24 DINT
Implemetarea software
46 Adresele zonelor de memorie vor fi transmise prin serverul din Kepserver spre
Visual Designer și vor fi prezentate ulterior. Instrucțiunea PLȘ2(887), unde 887
reprezintă codul acesteia, este o instrucțiune de generare a impulsurilor. Pentru aceasta
se folosesc următorii parametrii:
P – port ieșire
M – mod ieșire
S – primul cuvânt al tabelului de setări
F – primul cuvânt al frecvenței de start
Aceasta a fost prezentată și în capitolul ’’Mod manual’’. Portul de ieșire (notat P)
reprezintă specificatorul de port. Prin urmare, pentru deplasarea motorului pe direcția
axei X se folosește valoarea 0000hex, pentru deplasarea motorului pe direcția axei Y se
folosește valoarea 0001hex și pentru deplasarea motorului pe direcția axei Z se folosește
valoarea 0003hex. Cuvântul hex denotă faptul că valoarea este în sistemul hexazecimal.
Modul de ieșire (notat M) reprezintă modul de lucru al acestei instrucțiuni, fiind
reprez entat printr -un numar hexazecimal pe 16 biți după cum urmează. Bitul 0 este cel
mai puțin semnificativ (dreapta) și bitul 15 cel mai semnificativ (stânga). Astfel, cei 16
biți sunt împarțiți în patru zone. În prima zonă (bitul 0 -3) se dorește selectarea co menzii
în coordonate absolute sau în coordonate relative. Valorea hexazecimală 0 corespunde
coordonatelor relative, iar valoarea hexazecimală 1 corespunde coordonatelor absolute.
După cum am spus, vom folosi coordonate relative. În a doua zonă (bitul 4 -7) se alege
sensul de rotație al motorului. Pentru sensul de rotație în sensul acelor de ceasornic se
setează valoarea hexazecimală 0 și pentru sensul trigonometric se setează valoarea
hexazecimală 1. În a treia zonă (bitul 8 -11) se specifică metoda de comand ă a motorului.
Valoarea hexazecimală 0 este pentru sensul trigonometric și sensul acelor de ceasornic,
iar valoarea hexazecimală 1 pentru impuls și direcție. Varianta cea din urmă se folosește
doar în cazul coordonatelor absolute, în care poziționarea se f ace raportată la originea
sistemului de coordonate. În ultima zonă (bitul 12 -15) pot fi specificate 4 valori.
Valoarea hexazecimală 0 semnifică oprirea motorului cu decelerare fără compensare,
valoarea hexazecimală 4 semnifică oprirea motorului cu decelera re cu compensare,
valoarea hexazecimală B semnifică oprirea motorului fără decelerare fără compensare și
valoarea hexazecimală C semnifică oprirea motorului fără decelerare cu compensare.
Figura 4.26. Instr uncțiunea PLS2 – coordonate absolute, axa X
Implemetarea so ftware
47 Tabelul de setări (notat Ș) conține rata de accelerație și decelerație, frecvența țintă
(maximă) și numărul de impulsuri. Așadar, se vor folosi regiștii din zona de memorie D
(Memory) a automatului programabil, în care vor fi setate valorile dorite. Pe același
principiu se setează și frecvența de strat (notată F).
Pentru zona de memorie de folosesc D0 -D6 pentru axa X, D10 -16 pentru axa Y și
D20 -D26 pentru axa Z.
Interfața grafică pentru modul manual este prezentată în Figura 4.27
Figura 4.27. Interfața grafică pentru modul automat
Șe vor introduce valorile pentru pozițiile pe axa X, Y, Z plus viteza maximă. Prin
interpolare liniară se vor afișa în partea de ”Monitorizare” vitezele la deplasarea pe
axele X, Y și Z, dar și numărul de impulsuri specific. Monitorizarea paramentr ilor pentru
valorile introduse mai sus sunt prezentate în Figura 4.28.
Figura 4.28. Monitorizare parametrii în interf ața Scada
Implemetarea software
48 Ecranul principal al aplicației este prezentat în Figura 4.29.
Figura 4.29. Ecranul principal al aplicației
4.3.6 Configurări și taguri Kepserver
Configurarea programului KEPserverEX 6.2 este prezentată în Figura 4.30
Figura 4.30. Configurare KEPserverEX 6.2
Implemetarea software
49 PLC_Omron este numele canalului Kepserver în care se vor introduce tagurile, iar
COM ID este portul serial de comunicație. Lista de taguri din Kepserver este prezentată
în Figura 4.31.
Figura 4.31. Taguri Kepserver
Aceste taguri vor fi folosite , prin intermediul serverului Kepserver , în programul
Visual Design er în crearea interfeței grafice, fiind metoda de legătură cu programul
încărcat pe automatul programabil
Concluzii
50
5 Concluzii
5.1 Rezultate obținute
Testele de validare se referă la validarea originii, verificarea corectitudinii scalării
și a interpolării liniare.
Validarea originii
Când sistemul de poziționare ajunge în origine, în interfața grafică se aprinde ledul
corespunzător de origine , fapt semnal și de zonele de memorie auxiliare ale automatului
programabil . În Figura 5.1 este semnalată originea, iar în Figura 5.2 este semnalat faptul
că sistemul nu este în origine.
Figura 5.1. Origine
Figura 5.2. În afara originii
Concluzii
51 Validarea scalării
În Figura 5.3 este reprezentat rezultatul în urma scalării poziției. Pentru
deplasarea pe axa X cu 10 cm, cu o precizie de 0,1 mm, este nevoie de un număr 50,000
de impulsuri. După cum am menționat, la o rotație întreagă a servomotorului sistemul
pe axa X se deplasează cu 5 mm. Așadar pentru această deplasare comanda va fi 1000
mm, valoare care se înmulțește cu 50 mm, rezultând o precizie, toleranță de 0,1 mm. Pe
axa Y, pentru o deplasare de 5 cm, servootorul va transmite 25,000 de impulsuri.
Figura 5.3. Scalare pe axa X și Y
Validarea interpolării liniare
Prin interpolare liniară s-au unit două puncte prin linia ce le unește în spațiu.
Pozițiile se descriu în coordonate absolute, deci trebuie ca originea să fie setată. De pe
interfața grafică se setează pozițiile unde se dorește să se ajungă și o viteză maximă,
pentru care se vor adapta și celelalte viteze pe axe prin interpolare liniară. Rezultatul
este ilustrat în Figura 5.4.
Concluzii
52
Figura 5.4. Interpolare liniară
5.2 Direcții de dezvoltare
Aplicația poate fi îmbunătațită printr -o scalare a poziției de 0,01 mm. De asemenea
poate fi integrată comunicația OPC cu servo -drive pentru scriere și citire în Șcada (Visual
Designer). Astfel pot fi accesați parametrii de funcțioanare ale driverelor: cur entul,
tensiunea sau cuplul motor.
Șe mai poate crea un control PI pentru asigurarea erorii staționare la poziție zero.
O altă metodă de implementare pe viitor este crearea unui program CAD -CAM
pentru dezvolatarea unui model 3D.
Bibliografie
53
6 Bibliografie
[1] S.-H. Suh, S. K. Kang, D. -H. Chung și I. Ștroud, „Introduction to NC Șystems,” în
Theory and Design of CNC Systems , Springer, 2008, pp. 3 -14.
[2] Ș. Herle, „Șisteme CAD -CAM [Curs 13],” 11 Februarie 2017. [Interactiv]. Available:
http://rocon.u tcluj.ro/sorin/CNMU_c/C13.pdf. [Accesat 28 Iunie 2017].
[3] „Programmable logic controller,” Institute of Industrial Electronics Engineering
(IIEE), [Interactiv]. Available: http://ewh.ieee.org/sb/iiee/new/misc/pplc.pdf.
[Accesat 25 Iunie 2017].
[4] Omron, „CJ -Șeries CJ2M CPU Units”. Japonia 2017.
[5] Omron, „CJ2M CPU Unit Pulse I/O Module User’s Manual”. Japonia Brevet W486 -E1-
01, 2010.
[6] G. Younkin, Industrial Servo Control Systems: Fundamentals And Applications,
Revised And Applications, vol. Second Edition, New York: Marcel Dekker, Inc, 2002.
[7] I. Făgărășan, G. Ștamatescu, I. Dumitru și N. Arghira , Acționări electrice și
electronic e ale motorului electric – Descriere și experimente practice: Îndrumar de
laborator, București: Conspress, 2012, pp. 9 -19.
[8] J. Zhao și Y. Yu, „Brushless DC Motor Fundamentals – Application Note”. Iulie 2014.
[9] Omron, „ȘmartȘtep2 Șeries User’s Manu al – Șervomotors/Șervo Drives”. Japonia
Brevet I561 -E1-02, 2008.
[10] W. Du, Resistive, Capacitive, Inductive, and Magnetic Sensor Technologies, New
York: CRC Press, 2015, pp. 184 -191.
[11] Omron, „CX -One Introduction Guide”. Japonia Brevet R145 -E1-01.
[12] Omron, „CX -Programmer Introduction Guide”. Japonia Brevet R132 -E1-05, 2013.
[13] Omron, „CX -Programmer Ver. 9 Operation Manual”. Japonia Brevet W446 -E1-19,
2016.
[14] Omron, „CX -Drive Operation Manual”. Japonia Brevet W453 -E1-21, 2013.
[15] Eaton, „Visual Designer v7.0 User Manual & Technical Reference”. Ștatele Unite ale
Americii Brevet MN04803017E, Noiembrie 2010.
Bibliografie
54 [16] „OPC DataHub,” [Interactiv]. Available:
http://www.opcdatahub.com/WhatIsOPC.html. [Accesat 20 Iunie 2017].
[17] Kepware, „KEPȘerverEX V6 – Kepware,” 2017. [Interactiv]. Available:
https://www.kepware.com/en –
us/products/kepserverex/documents/kepserverex -manual/. [Accesat 28 Iunie
2017].
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: CONTROLUL POZIT IEI UN EI MAȘ INI CU COMANDA [609860] (ID: 609860)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
