Vai al contenuto
PLC Forum


Interrupt


gino123456

Messaggi consigliati

ciao è il mio primo post che faccio è da pochi giorni che vi conosco io ho il seguente problema

la 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'encode

io ho fatto come dice il manuoale

ho 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

gino123456

p.s lo sò mi sono spiegato di caca B)

Link al commento
Condividi su altri siti


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 INT

Allora 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

ciao grazi mille per la risposta ho provato con cerca ma non ho trovato niente :(

comunque ci hai preso è monodirezionale :D

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 :D

la dm è la 6628 e deve essere a 0001 e c'è

il motorino è con il passo a 1/256 molto lento

e mi deve dare 50 inpulsi giro

ora voglio provare a muoverlo a mano così vedo se arriva l'ingresso

comunque 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 nada

ciao

gino123456

Modificato: da gino123456
Link al commento
Condividi su altri siti

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

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 6

ora ti metto le caratteristiche dell'encode sono alla frutta

encoder ottico a 50 impulsi giro

uscite open collector 6-24 Vcc

tempo di salita e discesa tipico 70 ns

corrente massima in uscita 15 mA

Vo tipica 0,4 v

Vout = Vcc -0.7 V

non so manco che ho scritto ho fatto un copia incolla

io ci metto pure la marca se non posso ditelo che la levo subito

CBF MOTORS

ciao

gino123456

Modificato: da gino123456
Link al commento
Condividi su altri siti

Allora, ripartiamo dall'inizio. Dimentichiamoci del Cx Programmer e prendiamo in mano la buona, vecchia, cara

tastiera PRO-27o equivalente.

1- Plc acceso e in modalita' PROGRAM

2- 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 programma

LD 25315

MOV(21)

#0000

DM000

INT(89)

0001

0000

#0001

INT(89)

0000

0000

#000E

SBN(92)

000

LD 25313

INC(38)

DM0000

RET(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'encoder

Saluti

Link al commento
Condividi su altri siti

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 :o troppi per la cup

va bè ora è diventato 6 inpulsi giro :D

ciao

gino123456

Modificato: da gino123456
Link al commento
Condividi su altri siti

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

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