Vai al contenuto
PLC Forum


La Matematica Col Plc - Omron CPM2a


Messaggi consigliati

Inserito:

Dovrei fare delle operazioni di addizione e sottrazione con doppia word.

Il mio problema sta che il risultato puo essere sia un numero positivo che negativo (è in appoggio ad un contatore up/down)

Esempio se faccio 0-1 mi da come risultato 9999 invece che f001 (dove f sarebbe se non sbaglio il segno).

Nessun problema se invece sto nel campo dei numeri positivi

Riuscite mica ad illuminarmi


Inserita:

ciao

dipende da come guardi la doppia word.

devi guardarla com "dw con segno", ad ogni modo a livello binario

il numero risultante e' lo stesso . (e' un fatto di interpretazione)

comunque in bcd senza segno 0-1 da appunto 9999

in bcd con segno invece , in caso di numeri negativi, la cifra piu'

a sinistra viene usata per il segno. (anche in decimale)

ciao

dario

Inserita:

non mi è chiaro come si faccia pero a dirgli di lavorare con segno...

Inserita:

Se non ricordo male negli Omron, per sapere se il risultato di un calcolo in BCD è negativo, si interroga il flag "carry".

Così su due piedi non ti so dire di più, ma se leggi il manuale sicuramente trovi tutte le istruzioni.

Inserita:

Confermo quello che dice Batta, se il flag di carry è on, il risultato è negativo se lo sottrai a zero diventa positivo.

Ciao

Claudio Negro
Inserita:

flag di carry per plc serie cs o cj è il bit CF004, mentre per le serie precedenti è il bit 255.04

Ovviamente se usi le nuove serie, hai i calcoli con segno, altrimenti vale quanto detto sopra...

Ciao

Inserita: (modificato)

Ciao, l'operazione che ti interessa è illustrata come esempio dell'istruzione SUB/SUBL o SBB/SBBL presente sul manuale di programmazione che puoi trovare sul sito uficiale di omron.

In pratica si tratta di effettuare una doppia sottrazione con la seguente procedura:

Prima sottrazione A-B=C

Controllo carry a 1 esegue 0(zero)-C=C in quanto nella prima operazione il valore C negativo è il numero complementare del risultato.

alzare un flag a fine operazione attivato dal carry a 1 che si autoritiene fino a che il bit di esecuzione dell'operazione è attivo per indicare che il risultato è negativo.

Tutto quanto deve essere fatto in una unica network

Con il flag puoi effettuare un ANDW in modo di far figurare il numero negativo con il sistema dell'ultima cifra a 1 o F.

Modificato: da orsoblu

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