Vai al contenuto
PLC Forum


Controllo azionamento in CVI


dperla

Messaggi consigliati

Salve a tutti

spero di scrivere nella giusta sezione. 

Sto affrontando (per la prima volta...) un controllo tramite programmazione C su LabView. Ho un problema sul reset dello star dell'azionamento.

L'azionamento è connesso tramite IO a delle Digital Output della Beckhoff (connessione in profibus tramite un accoppiatore Beckhoff).

Nella macchina a stati del ciclo automatico, l'azionamento lavora correttamente.

Nella ciclica di reset non riesco ad azzerare il bit di start che, rimanendo alto, non accetta nuovi comandi.

Riporto la parte di codice che utilizzo per l'azionamento

         //  --- ZP: Zero reference ---- 

         if (E210&&!E214) { //Azionamento non in allarme ma senza lo zero encoder
             if(E215) {  //Azionamento fermo
                    A106=FALSE;        //Azzero lo Start             
                    A06 = FALSE;    // Azzero i bit di posizione
                    A40 = FALSE;   // Azzero i bit di posizione
                    A44 = FALSE;   // Azzero i bit di posizione
                    Sleep (300);
                    A106=TRUE; //Avvio la ricerca dello zero
                    Sleep(300);
                    A106=FALSE;        //Azzero lo Start
                    }
         }  // END --- ZP: Zero reference ---- 

        

         // ---- Home Position ----   
        //  Base Position Slitta: non in allarme, Zero reference Ok, posizione di Home      
        
         if (E214&&!E362) { // Se lo Zero reference è OK ma non è in posizione
              if(E215) {  /Azionamento fermo
                    A106=FALSE;        //Azzero lo Start             
                    //Imposto la posizione da raggiungere
                    A06 = TRUE;    
                    A40 = FALSE;
                    A44 = FALSE;
                    Sleep (300);
                    A106=TRUE; //Avvio del posizionamento
                    Sleep(300);
                    A106=FALSE;        //Azzero lo Start
                    }
         }

Ho inserito lo Sleep per essere certa che le uscite vengano comandate correttamente (non ho un feedback da parte dell'azionamento).

Ciò che succede (ho verificato dal programma di gestione dell'azionamento) è che viene assegnata correttamente la posizione ma non viene abbassato il bit di Start (ho aumentato il tempo di sleep proprio per avere maggiore evidenza).

Qualcuno potrebbe suggerirmi dove sto sbagliando?!?

 

Grazie 

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