Vai al contenuto
PLC Forum


La Matematica Col Plc - Omron CPM2a


paopaura

Messaggi consigliati

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

Link al commento
Condividi su altri siti


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

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

Claudio Negro

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

Link al commento
Condividi su altri siti

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