Vai al contenuto
PLC Forum


Acquisizione Dati Su Pc


molteni

Messaggi consigliati

Ciao a tutti,

devo collegare una serie di torni CNC ad un pc per raccogliere dati di produzione (n° pezzi prodotti, tempo impiegato ecc....) avete consigli da darmi su come fare?....

Cosa mi serve di software/hardware?

Ringrazio anticipatamente

Link al commento
Condividi su altri siti


Hai dato informazioni un po scarse....

Servirebbe sapere, per es.

Che tipo di cnc sono (0, 15, 16,...)?

Hai montato schede di rete sui cnc o vai in seriale?

Puoi mettere mano ai software PLC di macchina?

ecc. ecc.

Ciao

Link al commento
Condividi su altri siti

Sono torni GE Fanuc series 16i e 18i.

Finora non ho ancora fatto nulla, dato che ho avto oggi questo incarico...conosco ancora poco le macchine non credo che abbiano schede di rete anche se ho visto che hanno il cavo ethernet.

Per i PLC non ne so molto ma penso sia possibile metterci mano....

Link al commento
Condividi su altri siti

Mi correggo, dovrebbe esserci la scheda di rete, a quanto ho capito dal 2001 tutte le macchine GE Fanuc dovrebbero avere la scheda e quindi la possibilità di comunicare via Ethernet

Link al commento
Condividi su altri siti

verifica quale protocollo di comunicazione puoi usare su tali torni, di solito RS-232, RS-485, Modbus, OPC, anche chiedendo al costruttore, poi in base a tale protocollo scegli il software di acquisizione. Di solito ogni costruttore ha già una soluzione pronta per interfacciarsi a dei database di produzione oppure ai sistemi di supervisione.

Link al commento
Condividi su altri siti

Se hai la rete puoi utilizzare il cosiddetto "open-cnc" di Fanuc.

Il tutto consiste in una libreria di funzioni chiamate "Focas" che ti permette di accedere a praticamente tutto il cnc.

La soluzione, che in realtà è fatta per altri scopi, potrebbe esserti utile poichè potresti andare a leggere i segnali che ti servono senza andare a mettere mano al plc. Ad es. potresti leggere direttamente i segnali di modo e di start per capire quando un programma è in esecuzione e termina (quindi fare un contapezzi), ecc. ecc.

Ciao

Link al commento
Condividi su altri siti

Ho parlato oggi con un tecnico Fanuc, mi ha consigliato di fare il tutto via seriale, mi ha parlato di comandi appositi BPRNT o DPRNT che inviano determinati parametri sull'uscita desiderata. Che ne dite??? è comoda come soluzione?

Link al commento
Condividi su altri siti

Ciao molteni.

Ma in fatto di comodità non penso che lo siano un gran che, in quanto i comandi menzionati non fanno altro

che inviarti sulla device selezionata i dati che si sono specificati nel programma cn.

Quindi devi comunque integrare il tutto nei programmi cn del cliente.

E' a mio modesto parere un metodo poco pratico e flessibile, (per non dire di peggio) ;) .

Con le focas è tutta un altra cosa.

Saluti

Felix

:)

Link al commento
Condividi su altri siti

Beh, quei comandi servono per inviare dei dati via seriale da p.program...

Potresti inviare dei dati a inizio lavorazione pezzo e altri a fine ed in questo modo calcolare i tempi, bisogna vedere se ti basta. Ad es. ti interessa sapere se e quando il tornio va, supponiamo, in allarme, con questo sistema non potresti farlo....

Inoltre i cliente dovrà modificare i programmi di lavoro per comprendere il richiamo e i parametri dei suddetti comandi.

Non so... cerca di fare un'analisi di tutto quello che ti serve leggere sul cnc, poi si vedrà la fattibilità.

Ciao

Link al commento
Condividi su altri siti

Lo so che non è un metodo comodissimo però a me interessano soprattutto i dati di produzione e sarebbe piuttosto economico dato che non mi servirebbe nessun componente hardware per farlo.

Immagino che le focas siano una spesa non indifferente e poi non sono sicuro che tutti i cnc abbiano la scheda di rete, anzi è molto probabile di no.

La modifica dei programmi non dovrebbe essere complicata dato che quando vengono creati nuovi programmi si parte sempre dalla stessa base e basterebbe inserire determinate istruzioni nel programma base.

Un paio di domande: conoscete un programma particolarmente comodo per le comunicazioni seriali??

E poi vorrei capire una cosa sulle istruzioni, ho visto il manuale dell'operatore, l'esempio di istruzione BPRNT è così:

BPRNT [C** X#100 [3] Z#101[3]]

A quanto ho capito C** è un carattere seguito da due spazi,

#100 e #101 sono le variabili che vengono inviate,

[3] sono le cifre decimali,

non riesco a capire cosa sono le lettere X e Z...se qualcuno lo sapesse mi sarebbe di grande aiuto.

Ringrazio già ora chi mi risponderà

Link al commento
Condividi su altri siti

Ciao

O4000(PROVA OUTPU)

POPEN(APRE PORTA PAR.20)

(PER ELIMINARE SPAZI 6001 #1=0)

DPRNT[PROVA#501[53]]

DPRNT[Z#5023[53]]

DPRNT[Z#5043[53]]

DPRNT[DATA #3011[90]]

DPRNT[ORA#3012[90]]

PCLOS(CHIUDE PORTA)

M30

Quello sopra è un esempio che ho fatto girare tempo fa su una macchina per curiosità, i dati dopo il carattere # sono variabili cn e di sistema, quello che precede il carattere # è il commento che verrà scritto assieme al valore della variabile, i numeri all'interno delle parentesi quadre indicano le massime cifre della parte intera e i numeri dopo la virgola.

Da notare che parlo del comando DPRNT e non del BPRNT.

Per quanto concerne il programma non e saprei dirti in quanto questo esempio lo mandavo sulla memory card del cn e quando mi capita di dover trasmettere programmi a cn via seriale uso NCNETLITE.

saluti :)

Link al commento
Condividi su altri siti

Grazie per il consiglio, ho visto queste funzioni base e sembrano di semplice applicazione anche se probabilmente saranno di difficile lettura poi sul pc.

Il mio problema è come fare a contare i pezzi, ho creato una macro che restituisce la variabile #3901 (n° pezzi lavorati) ma questa variabile è nulla;

immagino di doverla inizializzare io ma non so come fare ad impostare che all'avvio di un nuovo programma la variabile dovrebbe andare a zero.

Non so se mi sono spiegato bene...

Link al commento
Condividi su altri siti

Di ritorno ora al pc dopo una serie di prove;

prima usavo il BPRNT che mi dava solo nul, con il DPRNT vengono stampati valori esatti per quanto riguarda il contapezzi però ritornava un numero sui 600000 che cresceva giustamente di uno ogni ciclo ma come potete immaginare mi è di scarsa utilità.

Pensavo, se inizializzo la variabile mettendola a 0, non c'è il rischio che ad ogni ciclo venga azzerata??

Servirebbe un modo per farla inizializzare solo quando si fa' partire il programma e non ad ogni ciclo dato che a quanto mi è stato detto il CNC legge tutte le righe di programma ad ogni ciclo.

Comunque ringrazio davvero felix e tutti gli altri che mi stanno aiutando, non ho esperienza in queste cose e mi state davvero aiutando molto.

Link al commento
Condividi su altri siti

Dunque:

Se il tuo programma e ricorsivo, ossia una volta startato continua a essere eseguito ripartendo dall'inizio una volta arrivato in fondo, è sufficiente che tu una volta arrivato al termine salti all'inizio dell'programma senza riniziallizzare la variabile che ti conta i pezzi.

Puoi comunque inizializzare la variabile solo in determinate condizioni usando le funzioni condizionali presenti nel codice iso.

Non vedo il problema, leggiti bene il manuale dell'operatore e vedrai che troverai tutte le risposte che cerchi.

Ciao

Link al commento
Condividi su altri siti

Scusa, ma il contapezzi non è meglio che lo fai sulla tua applicazione su pc?

Non so come intendi procedere, ma penso che la tua applicazione andrà a leggere la seriale quando ci sono in arrivo dei caratteri. Se è così basterebbe mettere a 1 una variabile ad inizio pezzo e spararla sulla seriale, magari resettandola a fine pezzo, e usandola come clock di conteggio.... ho detto una castroneria?? :blink:

Ciao

Link al commento
Condividi su altri siti

Buongiorno a tutti....

effettivamente penso sia fattibile, non ci avevo pensato;

dipende anche da che software userò per raccogliere i dati.

Pensavo winwedge, ho letto un po' in giro per il web è sembra che farebbe davvero al caso mio, può interfacciarsi direttamente con access che è il db usato qui.

Qualcuno conosce altri software similari?? Magari per cui sia disponibile una versione di prova, dato che credo non sia il caso di far spendere soldi per un programma che magari poi non fa al caso mio....

Link al commento
Condividi su altri siti

  • 2 weeks later...

Salve a tutti,

ho trovato una via per recuperare i dati, ringrazio quelli che mi hanno aiutato.

Ora ho un'altro problema, non ci sono solo CNC Fanuc in ditta, ora ho a che fare con un Brother, qualcuno sa se esiste un'istruzione analoga alla DPRNT della fanuc??

So che non è la sezione più appropriata ma non sapevo dove scrivere.

Link al commento
Condividi su altri siti

Sul CN ho semplicemente impostato una DPRNT con il nome del programma alla fine di ogni ciclo di lavorazione, per la lettura sul pc, ho creato un programmino java piuttosto semplice che esegue il contapezzi, recupera data ed ora e inserisce i dati in un database.

Ho provato se era possibile recuperare altri dati già presenti sul cnc come tempo di ciclo e numero pezzi mancanti ma dalla fanuc mi hanno detto che era impossibile.

Ora mi manca la vera sfida, cioè aspettare che arrivi l'hardware per collegare tutti i cn al pc e vedere se funziona senza problemi.

In teoria dovrebbe farlo....vedremo

Link al commento
Condividi su altri siti

  • 2 weeks later...

Avrei una domanda, sapete se c'è un modo per impostare automaticamente il canale di trasmissione??

Mi spiego, vorrei rendere indipendente la comunicazione con il pc per la raccolta di dati dalla comunicazione per l'invio di programmi al cnc; questo è possibile usando entrambe le porte RS232.

Però vorrei se possibile evitare che tutte le volte l'operatore debba cambiare manualmente il canale di trasmissione.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...