Vai al contenuto
PLC Forum


Inversione Byte


carpluca

Messaggi consigliati

Buonasera,

Avrei bisogno di un chiarimento sull'istruzione SWAP riguardo un PLC CJ1G-CPU42H: in pratica dovrei scambiare i Byte meno significativo <> più significativo provenienti dalle misure lette da un master profibus da alcuni analizzatori di rete slave.

Il mio dubbio leggendo il manuale di programmazione è su come viene gestito l'aggiornamento delle variabili, cioè come posso essere sicuro che la lettura che io farò da HMI avvenga nell'ordine corretto e quindi dopo lo swap e non prima?

Link al commento
Condividi su altri siti


L'aggiornamento delle variabili è immediato, cioè appena esegui la SWAP, i byte sono scambiati.

Altra cosa è cosa viene letto dallo HMI.

Normalmente le operazioni di comunicazione sono eseguite subito dopo l'aggiornamento degli I/O, cioè alla fine della scansione del programma. Pertanto sicurissimamente la SWAP è stata eseguita.

 

Link al commento
Condividi su altri siti

Quindi se ho capito bene le operazioni si susseguono nel seguente ordine:

1-il master profibus chiede agli slave i dati che gli necessitano e alla risposta scrive i dati AB-CD nelle Word 1-2

2-l'istruzione SWAP scambia AB-CD che diventano quindi CD-AB sempre nelle Word 1-2

3-l'HMI legge le Word 1-2 consecutivamente il cui contenuto certamente sarà CD-AB e mai potrà essere AB-CD.

Ho capito bene?

Chiedo ulteriore conferma perché finora per stare tranquillo usavo MOV per swappare una word alla volta e le appoggiavo nell'ordine corretto ad un indirizzo diverso, ma se SWAP fa il suo lavoro certamente è una soluzione più pulita.

Ringrazio tutti

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