Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Creare un programma per eseguire X cicli/min.


Messaggi consigliati

Inserito:

Buongiorno a tutti,

Devo creare un programma per fx3g, 

il quale impostando un numero di cicli al minuto su un pannello, lui esegua in automatico X cicli/min.

ho un cilindro comandato da un motore passo-passo comandato in treno impulsi, il cilindro spinge contro  una superficie ad una certa forza.

Io leggo la forza attraverso una cella di carico e la confronto.

Il problema è che devo controllare il numero di cicli indipendentemente dalle corse del cilindro, o meglio, il programma deve modificare la velocità in modo da tenere costante il numero di cicli, aumentando  o diminuendo la velocità di spinta.

 Attualmente il sistema funziona in questo modo:

- imposto lo zero macchina

- imposto la forza massima di spinta oltre il quale il cilindro inverte la corsa.

- imposto la corsa massima oltre il quale il cilindro inverte la corsa.

- imposto la velocità di spinta (questa deve essere la risultante)

- imposto la velocità di ritorno alla posizione zero.

- imposto i cicli/min ( un ciclo è inteso da zero---posizione massima---zero)

 

pensavo a un PID, ma come faccio a leggere i cicli al minuto in modo preciso.

utilizzo la funzione SPD per rilevare   n. cicli  in un tempo. sarò verso la strada giusta? 

Avete un suggerimento ?

grazie a tutti 

 


Inserita:

L'istruzione SPD di permette di rilevare in tempo reale gli impulsi rilevati su un ingresso veloce in un dato tempo di campionamento che imposti tu,

questo ti permette pure di calcolare la velocità in tempo reale perchè non è solo dopo il campinamento stabilito che puoi rilevare gli impulsi contati

ma anche in tempo reale, infatti i registri risultanti che l'istruzione aggiorna danno dati in tempo reale ad ogni scansione di programma e perciò tramite un semplice calcolo matematico puoi calcolare direttamente la velocità in tempo reale e perciò puoi trattare il calcolo sulla velocità come se fosse una semplice dinamometrica in tempo reale, tanto per dirla in maniera semplice. Ti consiglio di controllare i tre operandi consecutivi che l'istruzione aggiorna e con tali risultati calcolare la velocità in tempo reale, cioè dopo ogni scansione di programma, lo faccio normalmente con le mie applicazioni ed è abbastanza banale,

l'istruzione da come risultati:

somma degli impulsi al termine del campionamento,

valore di conteggio attuale entro l'intervallo di tempo

e tempo che resta da conteggiare sul tempo di campionamento impostato

Inserita:

grazie 

provo a fare qualche prova appena possibile

 

grazie leleviola

Inserita:

Ciao leleviola, 

ho fatto una prova, ho programmato un'uscita come (impulso ciclo= ogni ciclo abilita x1)

ho utilizzato la funzione SPD con ingresso X1 e tempo = 10sec. (quindi mi ritorna una conteggio di n. cicli/10sec.) moltiplicato per 6 = n.cicli/min.

 

però questo mi comporta un'aggiornamento del numero ciclo  ogni 10sec.  con un numero sempre intero in multipli di 6.

quindi  poco preciso

la massima precisione è quella di campionare ogni 30 sec. ma ho i tempi di aggiornamento ciclo lunghi

 

suggerimenti?

Inserita:

il tempo di campionamento dell'istruzione SPD dipende con che frequenza hai gli impulsi da contare e come variano di frequenza comunque come ti ho già detto sopra la velocità o frequenza degli impulsi la puoi calcolare in tempo reale e non aspettare la fine del conteggio dell'istruzione SPD perchè la stessa istruzione, oltre a dare il risultato finale di conteggio nel tempo di campionamento impostato, da pure il risultato degli impulsi attualmente contati in tempo reale e il tempo rimanente affinchè il campionamento finisca e ricominci il suo conteggio da 0. Facendo due calcoli tra tempo campionamento attualmente raggiunto e impulsi attualmente contati hai in tempo reale la velocità o la frequenza degli impulsi

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...