Vai al contenuto
PLC Forum


For Next


Messaggi consigliati

Inserito:

Ciao a tutti.

Un quesito sul ciclo FOR NEXT, ho scritto le seguenti istruzioni per azzerare un area D :

MOV &300 D42

FOR &10

MOV #0000 [at]D42

++ D42

come avrete capito azzero l'area D300 per 10 parole, ed il tutto funziona.

Quello che non riesco a fare è sostituire l'are D con un area CIO.

In pratica voglio caricare 0 dalla CIO300 alla CIO310 utilizzando il puntatore D42.


Inserita:

Ciao Pelino,

la sintassi con l'[at] la puoi usare solo con i DM. Per fare quello che chiedi devi utilizzare i puntatori:

MOVR 300 IR0

FOR &10

MOV #0000 ,IR0+

NEXT

L'istruzione MOVR copia in IR0 l'indirizzo di memoria del CIO300 e con il ,ir0+ ad goni giro di for incrementi di uno questo indirizzo di memoria.

Ti vorrei però ricordare che esiste anche l'istruzione BSET che copia un valore asseganto in una serie di indirizzi contigui specificati:

nel tuo caso BSET &0 300 309.

Ciao

Inserita:

Grazie infinite NEX75, sono nuovo di Omron e non conosco ancora tutti i comandi.

Ciao :thumb_yello:

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