Vai al contenuto
PLC Forum


Indirizzamento Indiretto Con Step7


Modestom

Messaggi consigliati

Ciao a tutti,

Premetto che sono molto più esperto sui plc OMRON e questo un po' mi condiziona nel lavorare con Siemens.

Ho la necessità di utilizzare l'indirizzamento indiretto per indirizzare in un DB, gruppi di WORD in solo formato INT, che contengono informazioni

relative al prodotto entrante in un palettizzatore. Il puntatore non è altro l'incremento di 1 in 1 di una word relativa al conteggio del prodotto in ingresso.

Sono piuttosto confuso nell'utilizzo dei puntatori con siemens, vorrei trovare un modo che assomigliasse all'Omron.

Ringrazio tutti.

Link al commento
Condividi su altri siti


Un modo che assomiglia all'omron non esiste.

I puntatori di Step7 sono molto flessibili, ma anche un po' più complicati di quelli della concorrenza.

Prima di tutto, se vuoi lavorare con i puntatori non puoi programmare in KOP (ladder) ma devi scrivere codice in AWL.

Poi devi tenere presente che il puntatore punta sempre al bit.

Una volta stabilito l'indirizzo di inizio dell'area di variabili, per incrementare il puntatore di una variabile di tipo INT devi sommare 16.

Per definire l'indirizzo di inizio dell'area puoi usare la sintassi:

L P#DBXbyte.0 //Carica nell'accumulatore l'indirizzo del bit "byte.0"

Oppure puoi caricare l'indirizzo nel registro indirizzi con la seguente istruzione:

LAR1 P#DBXbyte.0

Oppure:

L P#DBXbyte.bit

LAR1

Per l'incremento del registro indirizzi di una variabile INT potresti scrivere:

+AR1 P#2.0

Questi sono però solo semplicissimi esempi non certo esaustivi.

Per trattare l'argomento puntatori Step7 servirebbe parecchio tempo.

Ti consiglio quindi di cominciare studiando il manuale in linea di Step7 (nel quale trovi tutte le informazioni per l'utilizzo dei puntatori sia in formato POINTER che in formato ANY), e poi tornare sul forum ponendo domande specifiche sui punti dove ti sarai arenato.

Esiste anche un'altra soluzione: utilizzare l'SCL (linguaggio strutturato).

Con questo linguaggio lavorare con i puntatori è quasi banale.

Link al commento
Condividi su altri siti

Grazie

Potresti scrivermi un piccolo esempio relativo sia alla preparazione del puntatore che all'utilizzo, cioè:

Vorrei fare una MOVE di una word in un'altra indirizzata indirettamente; db127.dbw0 move in db 100.dbw (indirizzo indiretto)

Oppure fare una compare: CMP db127.dbw100 con db100.dbw (indirizzo indiretto)

Scusa la banalità di ciò che ho scritto. Forse un semplice esempio mi aiuterebbe molto.

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