Salvare măsurători Renishaw într-un fișier text (.CSV)

Sunt situații în care dorim să repetăm o secvență de program de mai multe ori. În fotografia de mai sus, se poate observa un șir de găuri ale căror poziții se doresc verificate iar pozițiile centrelor și a diametrelor lor se doresc înregistrate într-o fișă de măsuratori.

Acest lucru se poate face în mod automat și foarte ușor folosind dispozitivul de control Renishaw Probe și apelând un program ce utilizează subrutine (subprograme).

Iată în continuare, un exemplu de program complex care ne ajută să înregistrăm automat valorile măsurate în timpul ciclului automat, într-un fișier tip text (*.CSV).

Prezentăm modul de lucru pentru centrele de frezat CNC OKUMA. Pentru strung se vor folosi alți parametri și alte subprograme pentru măsurare.

În primul rând să ne reamintim care sunt cele cinci tipuri de fișiere program ISO pe comanda numerică OSP:

  • Programe principale .MIN
  • Fișiere subprogram .SUB
  • Fișiere subprogram ale sistemului .SSB
  • Fișiere program de organizare .SDF
  • Fișiere program ale librăriei .LIB
  • Fișiere program ale constructorului .MSB

Nu intrăm în detalii, pe noi ne interesează programele principale și subprogramele în acest caz de aplicație.

Programele principale încep întotdeauana cu numărul programului, numele începe cu O și este urmat de patru cifre, și se termină cu M02 sau M30.

Fișierele subprogram au extensia SUB. Ele încep cu numele programului și se termină cu RTS.

Pentru a chema un subprogram, în timpul executiei unui program principal, scriem comanda CALL urmată de numele / numărul subprogramului dorit.

Cum funcționează ? analiză cod NC

Program principal

Considerăm că programul de măsurare începe de la coordonatele Z20 X0 Y0. Pentru siguranta in lucru ne vom apropia de aceasta poziție in mod manual. Avem de măsurat prin puncte un cerc cu raza de 50mm la adancimea de măsurare de -15 mm pe axa Z.

De menționat că subrutina de citire palpator crează automat un fișier unde sunt salvate toate datele măsurate, respectiv în cazul nostru fișierul A.MDF

Subprogram scriere cap tabel și nume fișier

Din programul principal se apelează cu CALL un subprogram O1000 (HEADER) care scrie headerul X,Y (cap tabel), iar fișierul în care se scriu datele este pe suportul D: folder MD1 respectiv fișierul E40-REZULT.CSV.

VPRT=15 (Scriere rezultate in D:\MD1\A.MDF)
CALL O1000 (HEADER)

O1000 (header)
FWRITC MD1:E40-REZULT.CSV;A
PUT 'X,Y'
WRITE C
CLOSE C
RTS

Reamintim că funcțiile READ/WRITE și GET/PUT sunt funcții de citire și scriere într-un fisier extern a variabilelor.

Încărcare palpator și inițializare

În continuare programul principal execută selecția sculei de test T100 și M6 schimbă scula, G15 H1 selectarea sistemului de coordonate (modal în acest caz) iar codul G56 HA Z20 compensarea lungimii sculei de măsurat pe axa Z.

T100 M6
G15 H1
G56 HA Z20

Urmează programul principal de măsurat, care pornește sonda Renishaw (dacă VNCOM[3] = 0) cu pauza de jumate de secundă în program G4 F0.5. pentru a avea un timp asigurat de activare a sondei.

Comanda M19 este folosită la mașinile echipate cu mecanism de orientare a arborelui principal. Funcția de orientare oprește arborele principal la o poziție unghiulară specificată.

IF [VNCOM[3] EQ 0] GOTO N11
M127 (Pornire RENISHAW)
G4 F0.5
N11
M19

Deplasarea în punctele de pe cerc

Următoarele 2 grupuri de comenzi (-+- Y PLUS) respectiv (-+- X MINUS) deplasează sonda pe axa Y în minus respectiv pe axa X în plus, pornind de la valorile inițiale declarate în variabilele globale XXI=-3 și YYI =-3 valori transportate apoi în variabile comune VC11=XXI și VC12=YYI. Programul principal apelează subprogramele de măsurare cu CALL OY și CALL OX, de câte 7 ori (Q7) ceea ce are ca efect palparea suprafetelor de pe cerc cu palpatorul si apoi inregistrarea valorilor in fisier punct cu punct.

După cum se vede în grafica de mai jos, noi deplasăm sonda pe un cerc interior reperului de măsurat cu un offset de +/-3 mm fata de pozitia X=0 si Y=0 (XXI=-3, YYI=-3) și măsurăm în 7 puncte consecutive la distanța de 1 mm între ele (desenul explicativ nu reprezintă proporțional distanțele dintre puncte).

orange = coord. mișcare sondă, roșu = puncte de citire

Punctele orange reprezintă coordonatele de deplasare date de programul principal, iar apelarea subprogramului intern de măsurare, duce automat senzorul spre reper până este atins și se înregistrează datele coordonatelor.

(-+- Y MINUS)
VC11=XXI
X=VC11
Y=-PDE-2
Z=ZZ
CALL OY Q7 PP=-PDE
Z20

(-+- X PLUS)
VC12=YYI
Y=VC12
X=PDE+2
Z=ZZ
CALL OX Q7 PP=PDE
Z20

Subprogram de măsurare în puncte

CALL oo10 este apelul la o subrutină de măsurare internă iar PMOD=2 PEI=PP sunt parametrii care se transmit subprogramului de măsurat pentru diferitele moduri de lucru cu sonda palpatoare (Point Face, vezi detalii în manualul OKUMA / Gauging function / Renishaw).

OX (-+- SUB Masurare X)
CALL OO10 PMOD=1 PEI=PP (POINT FACE)
VC13=VS29
CALL O1001 PSX=VC13 PSY=VC12
VC12=VC12+1
G0 Y=VC12
RTS

PMOD=1 pentru masurare Point Face pe axa X
PMOD=2 pentru masurare Point Face pe axa Y
iar PEI=PP cota de măsurare.

Subprogram de scriere valori în tabelă

CALL O1001 este subprogramul care scrie valorile citite în punctul de la coord. X,Y transmise prin parametrii PSX, PSY. După întoarcerea din subrutina de scriere se incrementează variabila VC12 (VC12=VC12+1) și se trece la măsurarea următorului punct, acțiune repetată de 7 ori cu Q7 (CALL OX Q7 PP=PDE).

O1001 (scriitor)
FWRITC MD1:E40-REZULT.CSV;A
PUT PSX
PUT ','
PUT PSY
WRITE C
CLOSE C
RTS

După executarea ciclurilor de măsurare programul principal apelează M127 care oprește palpatorul Renishaw și M2 final de program.

Resurse / Linkuri