Ale03 Inserito: 30 gennaio Segnala Share Inserito: 30 gennaio Buongiorno, sono un nuovo utente, e per motivi di lavoro mi sto approcciando per la prima volta al mondo PLC Panasonic, Dovrei pilotare un motore passo passo utilizzando un plc Panasonic FP0R-C32P, avrei la necessità di muovere il motore di un certo numero di passi con una certa velocità. Consultando il manuale credo di aver individuato la funzione corretta in "F171_PulseOutput_Trapezoidal". Ho provato a ricopiare il codice presente nel . ma purtroppo mi da errore e non capisco il perché...Ho settato anche l'uscita ad impulsi canale 0 su Y0-Y1. Grazie mille del eventuale aiuto Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 30 gennaio Segnala Share Inserita: 30 gennaio L'esempio che hai copiato è vecchio ed il DUT configurato non corrisponde più a quanto richiesto dalla F171 Nelle dichiarazioni in alto seleziona per "dutTrapez" su tipo, premi il tasto con la freccia in giù e seleziona "F171_PulseOutput_Trapezoidal_Type1_DUT". Poi modifica il terzo "MOVE" e assegna in uscita "dutTrapez.diAccelerationTime" In pratica vanno solamente selezionati i nomi variabili del DUT aggiornato per queste versioni. Ne esce questo: Link al commento Condividi su altri siti More sharing options...
Ale03 Inserita: 31 gennaio Autore Segnala Share Inserita: 31 gennaio Buongiorno innanzitutto grazie mille per la risposta. Ho provato a fare le modifiche che mi hai consigliato ma purtroppo mi da ancora errore, ti allego la schermata. Grazie di nuovo in anticipo. Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 31 gennaio Segnala Share Inserita: 31 gennaio Vedo che questa volta non ti dia l'errore nella fase di compilazione, ma nell'esecuzione del programma. Nella tua schermata vedo che l'errore di calcolo si trova all'indirizzo 73 del programma, l'indirizzo si riferisce al compilato, ma premendo il pulsante ti porta una freccia sul punto del tuo programma dove viene generato l'errore di calcolo. L'errore si trova nella funzione F171, questo significa che uno dei parametri è fuori dei limiti, o meglio non è compatibile con la funzione. Link al commento Condividi su altri siti More sharing options...
Ale03 Inserita: 31 gennaio Autore Segnala Share Inserita: 31 gennaio Esatto si arresta nel esecuzione della F171. Ma come faccio a capire quale parametro va in errore? I valori impostati con le varie MOVE sono tutti nei limiti ho provato anche a cambiare i valori dwControlCode ma purtroppo appena lo metto in live va in allarme Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 31 gennaio Segnala Share Inserita: 31 gennaio Ci sono dei parametri da impostare prima dell'esecuzione del posizionamento, ti consiglio di leggere le informazioni del manuale che trovi QUI Link al commento Condividi su altri siti More sharing options...
Ale03 Inserita: 5 febbraio Autore Segnala Share Inserita: 5 febbraio Ho provato a controllare il manuale e fare le varie modifiche ma continua sempre a darmi lo stesso errore 😵💫... Hai qualche esempio? sicuramente sto sbagliando qualcosa come dici tu ma non riesco a capire cosa Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 5 febbraio Segnala Share Inserita: 5 febbraio (modificato) L'errore è sul ControlCode, non è compatibile con la funzione. In questo modo non da nessun errore. I codici di controllo servono per configurare la funzione per i vari tipi di gestione degli impulsi in uscita, con il codice 16#0000 0112 esegui un posizionamento a trapezio. I vari codici li trovi nel manuale che ti ho indicato e che riporto qui Modificato: 5 febbraio da Roberto Gioachin Link al commento Condividi su altri siti More sharing options...
Ale03 Inserita: 6 febbraio Autore Segnala Share Inserita: 6 febbraio Grazie mille, adesso funziona 😀🤗🤗 Link al commento Condividi su altri siti More sharing options...
Ale03 Inserita: 12 febbraio Autore Segnala Share Inserita: 12 febbraio Ciao, provo a romperti nuovamente.. il programma sta funzionando ma ho un ultima curiosità sai dirmi perché se inserisco l'istruzione F171 in una funzione (Fun)non mi funziona più? c'è un altro modo per richiamare la generazione di impulsi da più patri del programma? Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 12 febbraio Segnala Share Inserita: 12 febbraio Inseriscila in una FB invece che in una FUN. Molto spesso mi capita di sentire programmatori che non conoscono realmente la differenza fra FUN e FB, e questo vale per tutti i PLC. La FUN (Function) non ha memoria del ciclo precedente, mentre la FB (Function Block) ha memoria della scansione precedente, e questo permette di fare molte cose che non si possono fare con le FUN. Poi c'è sempre la possibilità di dare memoria della scansione precedente anche ad una FUN, utilizzando le variabili In/Out, ma questa è un altra storia. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora