Vai al contenuto
PLC Forum


Cmp2a: Moltiplico E Divido...


BIT77

Messaggi consigliati

Una curiosità...volglio eseguire queste semplici operzioni matematiche:

una moltiplicazione e il risultato di questa moltiplicazione dividerlo per un altro valore.

PROBLEMA: il risultato della moltiplicazione mi occupa 3 canali..come faccio a dividerlo sucessivamente visto che posso dividere la MAX tramite con una divisione BCD "lunga" (2 canali??)

GRAZIE PER LE EVENTUALI RISPOSTE...

a chi me lo aveva chiesto: tra poco vi racconto tutta la storia sui 3 encoder sull'unico contatore veloce a bordo del CMP2A...ma non é un po limitato come PLC?? non parlo della OMRON in generale...

Link al commento
Condividi su altri siti


Potrebbe essere una soluzione lavorare con numeri in esadecimale facendo prima delle operazioni oppurtune trasformazione da BCD a BIN

Link al commento
Condividi su altri siti

Riporto direttamante dal manuale W353-E1-3: CMP1/.. Programming manual

BCD MULTIPLY – MUL(32)

When the execution condition is ON, MUL(32) multiplies Md by the content of Mr, and

places the result In R and R+1.

=> il risultato della moltiplicazione BCD è in 2 word R e R+1

DOUBLE BCD DIVIDE – DIVL(57)

When the execution condition is ON, DIVL(57) the eight-digit content of Dd and D+1 is divided

by the content of Dr and Dr+1 and the result is placed in R to R+3: the quotient

in R and R+1, the remainder in R+2 and R+3.

Spero di esserti stato utile.

Lorenzo

Link al commento
Condividi su altri siti

Grazie per l'interessamento,ma io devo eseguire una moltiplicazione tra 2 doppie word quindi il risulato si spalma su 4 word...ecco questo risultato io vorrei poi dividerlo tramite una DIVL ma se il primo operando (divisore) supera come dimensione 2 word sono fottuto...CIAO!!

ho risolto rivedendo la logica dei miei calcoli evitando cioè di usare in prima istanza una moltiplicazione lunga e in seconda una divisione..il mio quesito allora é:

MA questo tipo di PLC non é un po troppo...limitato per un applicazione che prevede un controllo di 3 assi con 3 encoder e controllo velocita degli assi tramite modulino MAD001?Nel senso che tutto funziona correttamente

Non discuto la OMRON in generale perchè la serie CJ é ottima ma vi assicuro che come "compatto" la VECCHIA serie MITUBISHI é un'altro pianeta.

Link al commento
Condividi su altri siti

:) Io fossi in te lascierei perdere il Cpm2 e prenderei in considerazione il ad esempio il nuovissimo CJ1MCPU21 che ha N° 2 contatori veloci integrati fino a 100kHz + 2 uscite a treno di impulsi con un costo davvero competitivo (è richiesto il CX Programmer Ver 4.0) :unsure: (per il controllo dei 3 encoder con un solo HSC siamo tutti in attesa)

Considera che il CJ ha tutte le operazioni in doppia word un consiglio, il BCD scordatelo usa tutte le operazioni come binario e inserisci tutti i valori in decimale usando come prefisso la "&" senza le virgolette

Link al commento
Condividi su altri siti

Beh, se vuoi gestire 3 assi con una CPM2.... non pretendi un po' troppo? :rolleyes:

Ok, la OMRON magari dice che lo fa anche, e magari lo fa davvero a patto di complicarsi la vita, ma non e' meglio un bel CJ1 che ha tutti i calcoli in virgola mobile e ti leva tutte le preoccupazioni? B)

Link al commento
Condividi su altri siti

Da esperienza fatta sui controli assi e software sviluppato personalmente con comando finale in analogica +-10V e loop di velocità come retroazione usare un CPM2 per questo tipo di applicazione non è il massimo in quanto la retroazione degli encoder deve essere gestita per forza di cose con IRQ a 5 o 10 ms per tutti gli assi.

La prima conseguenza che appena viene gestita la Stim con questi parametri il PLC si pianta, quindi bisogna gestire gli assi in modo diverso tipo un asse prinipale o piu' importante a 5 ms e gli altri a 10 o 15 esempio CQM1H 51.

Soluzione provata e funzionante ( con estrema soddisfazione) 5 assi interpolati linearmente tutto con una scansione PLC a 5 ms e rinfresco uscita anch'esso a 5ms tramite IORF dei canali analogici.

Calcoli con doppia word per il pID degli assi.

Note:

La stessa prova è stata fatta anche a 2 ms funziona tutto ugualmente.

Dimenticavo PLC usato CJ1M CPU22 OMRON posizionamento con precisione +-1/100mm.

Tempo totale scansione programma 10 ms il software occupava quasi tutta la memoria disponibile del plc.

Ciao e a presto Tiles

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