tam_tam Inserito: 29 maggio 2020 Segnala Share Inserito: 29 maggio 2020 Ciao, sto cercando di utilizzare le librerie focas su PC tramite C# per recuperare il commento del programma in esecuzione su due CN serie 31i e 32i. Riesco a collegarmi, leggere le macro ma non c'è verso di riuscire a leggere i commenti del programma. Utilizzo la funzione cnc_rdprogdir3 della libreria FWLIB32 e la parametrizzo con: type = 2, top_prog = 1, num_prog = 2000. C'è qualcosa che sbalgio? Bisogna chiamare qualche altra funzione prima della cnc_rdprogdir3 per abilitarne il funzionamento? Grazie! Link al commento Condividi su altri siti More sharing options...
lucios Inserita: 30 maggio 2020 Segnala Share Inserita: 30 maggio 2020 Ma che cosa ti restituisce la funzione? Ti ritorna ok o un errore? Link al commento Condividi su altri siti More sharing options...
tam_tam Inserita: 1 giugno 2020 Autore Segnala Share Inserita: 1 giugno 2020 (modificato) Nessun errore....la funzione ritorna zero per cui tutto ok ma su num_prog ho zero, è come se non trovasse quel che viene richiesto, tra l'altro il numero di programma attivo viene correttamente letto tramite la cnc_exeprgname Modificato: 1 giugno 2020 da tam_tam Link al commento Condividi su altri siti More sharing options...
lucios Inserita: 1 giugno 2020 Segnala Share Inserita: 1 giugno 2020 Prova a postare il metodo che utilizzi per richiamare la funzione che provo a dargli un'occhiata. Link al commento Condividi su altri siti More sharing options...
tam_tam Inserita: 1 giugno 2020 Autore Segnala Share Inserita: 1 giugno 2020 Il controllo 31i B ha due canali che girano in parallelo e chiamando la stessa identica funzione sul secondo canale (ho scoperto che esiste la cnc_setpath) funziona correttamente mentre sul primo niente da fare fino a quando di colpo sembra essersi sbloccato e ora funziona correttamente anche sul primo canale. L'altro controllo è un i32 B con un solo canale, leggo le macro e lo stato ma nulla da fare con i commenti... Codice: Focas1.PRGDIR3 prgDir3 = new Focas1.PRGDIR3(); int top = prgNum; short num = 1; ReturnCodes.Code returnCode = (ReturnCodes.Code)Focas1.cnc_rdprogdir3(focasHandle, 1, ref top, ref num, prgDir3); prgNum è il numero di programma attivo che viene correttamente letto dalla cnc_exeprgname Link al commento Condividi su altri siti More sharing options...
lucios Inserita: 1 giugno 2020 Segnala Share Inserita: 1 giugno 2020 Mah, sembra giusto. Sei sicuro che il problema non sia da un'altra parte? Anche perchè quello che dici Quote mentre sul primo niente da fare fino a quando di colpo sembra essersi sbloccato e ora funziona correttamente anche sul primo canale E' abbastanza strano; ho smanettato molto con le Focas e posso affermare che se una funzione ritorna 0 i dati ci sono e quella funzione in passato l'ho usata. Se metti un break point subito sotto il richiamo della funzione cosa trovi scritto in top e num ? Comunque mercoledì rientro in ufficio e ho un simulatore Fanuc per cui in 10 minuti posso fare una prova. Link al commento Condividi su altri siti More sharing options...
tam_tam Inserita: 3 giugno 2020 Autore Segnala Share Inserita: 3 giugno 2020 Guarda mi viene da pensare sia un problema legato al fatto che va a cercare il programma nel posto sbagliato lato cn perchè se mi ritorna zero la funzione indica che non ha semplicemente trovato quel che è stato richiesto ma non ci sono stati errori. Riesco a leggere il numero del programma attivo non capisco perchè la cnc_rdprogdir3 ritorni zero sia in top che in num e solamente sul 32i Potrebbe esserci un conflitto di versione? Mi sta venendo il dubbio di utilizzare la versione 1 delle focas....provo a vedere se trovo il modo di verificare la versione delle librerie...altro non mi viene in mente nulla... Che versione del cn hai sul simulatore? Se non ti porta via troppo tempo fare la prova con il simulatore te ne sarei grato anche se sono sicuro ti funzioni tutto alla perfezione Grazie! Link al commento Condividi su altri siti More sharing options...
lucios Inserita: 3 giugno 2020 Segnala Share Inserita: 3 giugno 2020 (modificato) Ho provato con un CNC vero, un serie 0i e mi funziona. Ho buttato giù un metodo "grezzo" giusto per provare, che mi va a leggere 10 programmi a partire dal numero 1 fatto così: public int ReadProgramDirectory(ref Exception exc) { try { short type = 2; int topprg = 1; short numprg = 10; Focas1.PRGDIR3 prgdir3 = new Focas1.PRGDIR3(); int ret = Focas1.cnc_rdprogdir3(libHandle, type, ref topprg, ref numprg, prgdir3); return 0; } catch (Exception ex) { exc = ex; return -1; } } Se non selezioni prima il path la funzione di default legge il primo. Io uso le Focas 2 Modificato: 3 giugno 2020 da lucios Link al commento Condividi su altri siti More sharing options...
tam_tam Inserita: 3 giugno 2020 Autore Segnala Share Inserita: 3 giugno 2020 Codice uguale identico al mio..il path lo seleziono e difatti funziona sulla macchina 31i che ha due path mentre sul 32i che ha un path solo lo seleziono comunque ma non cambia nulla e ricevo un bello zero sia in top che in numprg. A sto punto il problema penso sia del 32i....non c'è nulla da impostare a livello cn? Nessun parametro oltre alla porta? Grazie! Fabio Link al commento Condividi su altri siti More sharing options...
lucios Inserita: 3 giugno 2020 Segnala Share Inserita: 3 giugno 2020 (modificato) No, non penso che sia un problema del 32i. Se le altre funzioni Focas funzionano non c'è nient'altro da settare, almeno a mia conoscenza. Ma se apri la cartella folder del CN in PROG vedi la lista dei programmi? Puoi postare la foto della schermata della folder? Modificato: 3 giugno 2020 da lucios Link al commento Condividi su altri siti More sharing options...
tam_tam Inserita: 3 giugno 2020 Autore Segnala Share Inserita: 3 giugno 2020 Mi hai dato l'imboccata giusta!! Il programmatore cn ho scoperto che ha messo tutti i programmi sotto cartelle che non sono nè PATH1 nè PATH2 (e neppure PROG che non esiste nel CN). Copiando un programma sotto PATH1 riesco a recuperarne le info. Domanda...sai se esiste un sistema per specificare su quale cartella deve lavorare la cnc_rdprogdir3? Link al commento Condividi su altri siti More sharing options...
lucios Inserita: 3 giugno 2020 Segnala Share Inserita: 3 giugno 2020 Che io sappia no, ho visto che esiste la funzione "cnc_wrpdf_curdir" che setta la cartella corrente, ma non l'ho mai utilizzata. Prova magari a settare la cartella giusta prima di richiamare la cnc_rdprogdir3, magari funziona anche se ho qualche dubbio perchè nella documentazione non è che la cosa sia spiegata molto bene... Link al commento Condividi su altri siti More sharing options...
tam_tam Inserita: 4 giugno 2020 Autore Segnala Share Inserita: 4 giugno 2020 (modificato) Difatti non funziona e la cnc_wrpdf_curdir mi ritorna sempre EW_ATTRIB che vuol dire parametro dir_kind non valido, peccato che dalla documentazione ci sono solo due valori possibili (1 e 2) e nessuno dei due va...ho provato anche con 0 e 3 con ovviamente lo stesso risultato...bha... Modificato: 4 giugno 2020 da tam_tam Link al commento Condividi su altri siti More sharing options...
FrancescoP86 Inserita: 9 giugno 2021 Segnala Share Inserita: 9 giugno 2021 Buongiorno a tutti, mi ritrovo a dover approfondire questa tematica per il discorso industria 4.0 nell'azienda dove lavoro. Non riesco a capire se queste librerie focas, o più precisamente le focas II, sono librerie che vanno installate sul computer della macchina con un normale installer o se vanno flashate in qualche modo sul plc? inoltre, sono soggette a licensing? qualcuno potrebbe darmi maggiori dettagli a riguardo? Si trova poca documentazione in giro. Ringrazio in anticipo. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 9 giugno 2021 Segnala Share Inserita: 9 giugno 2021 1 ora fa, FrancescoP86 scrisse: mi ritrovo a dover approfondire questa tematica Per favore leggi attentamente il regolamento. Gli accodamenti son sempre vietati,anche per argomenti simili. Bisogna sempre aprire una nuova discussione. Questa discussione, inoltre, è ferma da un anno! Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati