Vai al contenuto
PLC Forum


Calcolo Bcd - cqm1h


pagliardo

Messaggi consigliati

ciao,

ho una cpu cqm1h cpu51. nel programma vorrei che ad ogni pressione di un pulsante del + o del - mi aumenta o diminuisce un valore (DM950) di una certa quantità.

ora questa operazione è già presente identica per un altro motore (è un aumento/diminuzione della velocità) ed io vorrei farla per un altro motore.

attualmente a questo motore viene dato un riferimento in percentuale da pannello (appunto la DM950) del tiro di coppia (uscita analogica 104). ed io vorrei fare allo stesso modo + e - da pannello e usarlo come riferimento di velocità per questo motore.

ho provato a fare come nel motore esistente ma non mi aumenta linearmente, è un ADD e SUB in BCD, ma credo di sbagliare qualcosa perchè vi mostro la sequenza dei valori della DM950 ad ogni pressione del pulsante, quella della quale faccio ADD: parto da 100, poi 132, 266, 290, 320, 350, 388, 510, 540, 581, 610... come vedete non sono lineari e credo che il problema sia prima di tutto che non so fare le operazioni BCD :senzasperanza:

ah l'operazione che faccio ad ogni pressione è: ADD DM950 #20 DM950, questo perchè anche per l'altro motore è fatto così.

ma il valore #20 cos'è? BCD? mi spiegate un po come è fatto il BCD? :unsure:

grazie

ciao

roberto

Link al commento
Condividi su altri siti


Sei sicuro che sia l'unica operazione eseguita su quel DM? Non viene fatto altro direttamente dal pannello operatore?

Usi le istruzioni con un fronte di salita?

#20 è un numero in BCD.

Qui spiega bene cosa è il BCD. Comunque di base è numerazione decimale solo che in una word puoi avere al massimo 4 interi. Infatti nel BCD un numero viene rappresentato da un DIGIT che è un gruppo di 4 bit.

Link al commento
Condividi su altri siti

grazie,

come lo scrivo 378 in bcd e un numero con la virgola non è possibile vero?, e #20 a cosa corrisponde?

da pannello non c'è niente solo quello che ho detto. poi ci sono altre operazioni ma sono tutte precedute da P_Off che è sempre off giusto?

ciao

roberto

Link al commento
Condividi su altri siti

Se tu vuoi che il numero che scrivi sia caricato nel PLC in binario BCD (o esadecimale) devi usare il cancelletto.

Quindi dovrai scrivere: #378

Devi usare le istruzioni [at]ADD e [at]SUB in modo che l'incremento o il decremento siano eseguite per una scansione sul fronte di salita del bit che stà a sinistra delle istruzioni.

Se non usi la chiocciola ([at]) l'incremento o il decremento dipende da quannto tempo tieni ad ON il bit che comanda le istruzioni ADD o SUB.

Ciao

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