dperla Inserito: 31 marzo 2017 Segnala Share Inserito: 31 marzo 2017 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 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