gino123456 Inserito: 15 gennaio 2004 Segnala Share Inserito: 15 gennaio 2004 ciao è il mio primo post che faccio è da pochi giorni che vi conosco io ho il seguente problemala cpu è CPM2 C io devo utilizzare un interrup per controllare un econde il probla che non capisco perchè non riesco a riceve l'ingresso dall'encodeio ho fatto come dice il manuoaleho usato l'istruzione INT per dichiarere interrup con i valori 0 0 1 ho fatto la sub 0 ma niente non sento l'encode mentre se faccio un ponte sull'ingresso si attiva la sub ora ho cercato di attivare l'interrupt nel setup del plc con cxprogram ma questo è il punto dove pesno di sbagliare perchè non trovo guide quindi la mia domanda (per ora )è come si attiva setta con cxprogram un intertupt ???ciao gino123456p.s lo sò mi sono spiegato di caca Link al commento Condividi su altri siti More sharing options...
omar Inserita: 16 gennaio 2004 Segnala Share Inserita: 16 gennaio 2004 Dando per scontato che tu abbia seguito correttamente la procedura ovvero sia:Settaggio dell' ingresso 00.00 come interrupt nel apposito DM di setup,Mascheramento e reset degli eventuali interrupt pendenti all'accensione con l'apposita istruzione INTAllora ti faccio una domanda che potrà senbrarti stupida ma a volte.. Se dici che attivando l'ingresso con un "cavallotto" di filo il prg salta nella Sub0 allora hai sicuramente programmato bene l'interrupt quindi ecco la domanda sei sicuro che l'encoder funzioni? Ovverosia sei sicuro che abbia una configurazione di out adatta per questo plc ? (in questo caso essere un open collector) sei sicuro che funzioni ovvero che dia in uscita un segnale?Comunque se colleghi l'encoder ad un altro ingresso (parlo di un ingresso dando per scontato dalla tua descrizione che sia un monodirezionale) e lo muovi manualmente dovresti essere in grado di capire se funziona e se funziona allora potresti controllare che la frequenza del segnale non sia troppo elevata rispetto a quella gestibile dall'interrupt. Saluti.P.S.Mi sembra di ricordare che un problema di questo tipo sia già stato affrontato, quindi ti invito ad usare la funzione CERCA Link al commento Condividi su altri siti More sharing options...
gino123456 Inserita: 16 gennaio 2004 Autore Segnala Share Inserita: 16 gennaio 2004 (modificato) ciao grazi mille per la risposta ho provato con cerca ma non ho trovato niente comunque ci hai preso è monodirezionale io ho fatto come dice il libro di programmazione ma non ho capito bene la funzione INT comunque se facendo un ponte funziona penso di averla fatta bene la dm è la 6628 e deve essere a 0001 e c'èil motorino è con il passo a 1/256 molto lentoe mi deve dare 50 inpulsi giroora voglio provare a muoverlo a mano così vedo se arriva l'ingressocomunque mi puoi dire come settare un interrupt con cx program ho cercato nella varie guide ma non trovo niente, mi sa che scazzo lì perchè i motorini ne ne provati un paio ma nada gli ho fatti andare anche a 12 v delle lumache ma nadaciaogino123456 Modificato: 16 gennaio 2004 da gino123456 Link al commento Condividi su altri siti More sharing options...
omar Inserita: 16 gennaio 2004 Segnala Share Inserita: 16 gennaio 2004 Allora, apri il progetto con il CX Programmer (controlla bene di aver selezionato il tipo di CPU giusta)poi fai doppio click su impostazioni nell'area di lavoro del progetto, seleziona Interrupt/aggiornamento poi seleziona per l'ingresso da te usato (attenzione da 00.03 a 00.06) il tipo di funzionamento :Normale, interrupt o rapido(funzione catch-pulse) poi salva il progetto e trasferisci tutto nel plc dopodichè spegni e riaccendi.ATTENZIONE controlla bene il numero della sub di risposta all'interrupt perchè se gli ingressi che possono essere dichiarati interrupt sono quelli da 00.03 a 00.06 non credo che la Sub00 possa essere una routine di risposta (normalmente viene usato il numero corrispondente all'ingresso ma potrei anche sbagliarmi perchè il CPM2A non l'ho mai usato con gli intp.ext.)Saluti Link al commento Condividi su altri siti More sharing options...
gino123456 Inserita: 16 gennaio 2004 Autore Segnala Share Inserita: 16 gennaio 2004 (modificato) ciao ho provato a fare come dicevi te ma ninete comunque la sub è la 0 io non so + cosa fare di motorini ne ho provati 3 su 6ora ti metto le caratteristiche dell'encode sono alla fruttaencoder ottico a 50 impulsi girouscite open collector 6-24 Vcctempo di salita e discesa tipico 70 nscorrente massima in uscita 15 mAVo tipica 0,4 vVout = Vcc -0.7 Vnon so manco che ho scritto ho fatto un copia incollaio ci metto pure la marca se non posso ditelo che la levo subito CBF MOTORSciaogino123456 Modificato: 16 gennaio 2004 da gino123456 Link al commento Condividi su altri siti More sharing options...
omar Inserita: 17 gennaio 2004 Segnala Share Inserita: 17 gennaio 2004 Un'ultima stupidissima cosa, dopo avere eseguito le impostazioni hai spento e riacceso il plc?Saluti Link al commento Condividi su altri siti More sharing options...
gino123456 Inserita: 17 gennaio 2004 Autore Segnala Share Inserita: 17 gennaio 2004 forse non subito ma ho provato per 2 giorni ed ho spento e riaccesso il plcciaogino123456 Link al commento Condividi su altri siti More sharing options...
omar Inserita: 19 gennaio 2004 Segnala Share Inserita: 19 gennaio 2004 Allora, ripartiamo dall'inizio. Dimentichiamoci del Cx Programmer e prendiamo in mano la buona, vecchia, caratastiera PRO-27o equivalente.1- Plc acceso e in modalita' PROGRAM2- Cancellare il programma utente (CLR+PLAY/SET+NOT+REC/RESET+MONTR)3- Scrivere nel DM6628 "0001" che vuole dire ingresso 00.03 come ingresso interrupt.4- Scrivere il seguente programmaLD 25315MOV(21)#0000DM000INT(89)00010000#0001INT(89)00000000#000ESBN(92)000LD 25313INC(38)DM0000RET(93)END(01)5-Spegnere e riaccendere il Plc 6- Mettere il Plc in MONITOR e provare a vedere se il DM0000 incrementa quando riceve degli impulsi dall'encoderSaluti Link al commento Condividi su altri siti More sharing options...
simo_sp Inserita: 19 gennaio 2004 Segnala Share Inserita: 19 gennaio 2004 Per quale motivo vuoi usare un interupt per leggere un encoder quando sulla cpu è presente un contatore veloce ??Ciao Simo_sp Link al commento Condividi su altri siti More sharing options...
gino123456 Inserita: 23 gennaio 2004 Autore Segnala Share Inserita: 23 gennaio 2004 (modificato) ciao era tutto ok il programma era il cablaggio del motorino che dava problemi...poi dopo era il numero di inpulsi che era troppo 50 inpulsi a giro per 5000g/m troppi per la cup va bè ora è diventato 6 inpulsi giro ciaogino123456 Modificato: 23 gennaio 2004 da gino123456 Link al commento Condividi su altri siti More sharing options...
omar Inserita: 24 gennaio 2004 Segnala Share Inserita: 24 gennaio 2004 ...era il numero di inpulsi che era troppo 50 inpulsi a giro per 5000g/m troppi per la cup ......allora potresti controllare che la frequenza del segnale non sia troppo elevata rispetto a quella gestibile dall'interrupt.Questo sarebbe sempre il primo controllo da fare trovandosi a voler gestire un interrupt o un HSC!!!!!!!!!!!!!!!!Ecco perchè non ci starebbe male che dove si sviluppa del sw per automazione ci fosse anche un bel oscilloscopio (magari a memoria digitale) che darebbe come risultato minor tempo perso per tutti.Saluti 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