Jump to content
PLC Forum


Controllo azionamento in CVI


dperla
 Share

Recommended Posts

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 to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...