Vai al contenuto
PLC Forum


Salvare Su Una Word Solo Un Certo Campo Di Un Altra


luca1979

Messaggi consigliati

il problema per voi sarà sicuramente semplice...io devo copiare sulla word mw150 i dati della mw200 dal bit 3 al 14..pensavo si facesse nel blocco operate cosi:ù

%MW150:=%MW200:x3:x14

ma mi da un errore di sintassi e sul manuale non riesco a venirne a capo....grazie per l'aiuto...

Link al commento
Condividi su altri siti


Premetto che purtroppo non conosco i PLC Schneider, ma do per scontato che dispongano di comandi per le operazioni logiche a word.

Per risolvere il tuo problema, devi fare un'operazione di AND a word di MW200 con la costante 7FF8h (*) e mettere il risultato in MW150.

Così facendo, però, il valore dei bit 0, 1, 2 e 15 della MW150 sarà posto a zero.

Se vuoi che tali bit mantengano il loro valore, la cosa si complica un po' (niente di impossibile, comunque). :rolleyes:

(*) valore esadecimale valido presupponendo che i bit siano numerati da 0, non da uno, e che tu voglia trasferire i valori dei bit dal 3 al 14 compresi.

Link al commento
Condividi su altri siti

io vorrei copiare solo quei bit li..dal 3 al 14 e metterli nelle posizioni da 0 a 11 della word "nuova" altrimenti se non ho capito male come vorresti fare te sarebbe una copia della word....o sbaglio?

Link al commento
Condividi su altri siti

contatto NO di %mw150:x3 -> bobina di %mw200:x0

contatto NO di %mw150:x4 -> bobina di %mw200:x1

contatto NO di %mw150:x5 -> bobina di %mw200:x2

contatto NO di %mw150:x6 -> bobina di %mw200:x3

contatto NO di %mw150:x7 -> bobina di %mw200:x4

etc

caricare il valore di un bit d word su di una altro bit di word!!!!

e' quello che devi fare no???

Link al commento
Condividi su altri siti

si..giusto..altrimenti che ne dite se divido per 8...sempllicemente

MW200:=%MW215/8 ecco fatto...che fesso..ciao

Mi sfugge qualcosa... non penso che funzioni, prova a fare un esempio pratico.

Io farei cosi':

Fai un AND col bit X15 a 0, poi fai uno shift a sinistra di 3 posizioni non circolare, quindi mettia 0 i bit di riempimento. Finito.

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