Vai al contenuto
PLC Forum


FB e variabili pointer


Linotix

Messaggi consigliati

Salve, vorrei capire come funziona la variabile in pointer in un fb. Ho fatto varie prove e sembra che a differenza di un fc , dove i’in pointer prende il valore dato nel richiamo del blocco , es p#0.0 nel fb esso prenda l’indirizzo del pointer nella tabella delle dichiarazioni variabili. Cioè se nella tabella variabile il dato dichiarato pointer ha indirizzo 20.0 questo viene trasferito al richiamo della variabile, fregandosene del dato inserito al richiamo del blocco e di ciò che viene scritto nella db di istanza. Cosa sbaglio?

inoltre vorrei che qualcuno mi spiegasse come caricare i valori nella db di istanza senza dover modificare i dati dalla tabella variabili e ricreare il blocco dati ogni volta. 

Spero di essere stati chiaro

grazie

Link al commento
Condividi su altri siti


Ciao

non è molto chiaro quello che vuoi fare, e sopratutto cosa intendi per caricare il valore nel DB d'istanza?

 

per caricare un valore basta fare un semplice transfer ( L Valore T Variabile), il DB viene ricompilato solo se viene cambiato FB, altrimenti id rimane sempre lo stesso, a me che tu non voglia far modificare il tuo FB al programma PLC, cosa che reputo abbastanza impossibile.

 

Saluti

 

Link al commento
Condividi su altri siti

TravelMen dice che per lui "non è molto chiaro" quello che vuoi fare. Questo significa che ha capito molto più di quanto ho capito io, cioè nulla.

La variabile di tipo Pointer è una variabile di 6 byte, composta come segue:
byte 0-1: numero del DB (0 = non è un DB)

byte 1: area di memoria

byte 3-4-5: indirizzo della variabile (riferito al bit)

Trovi tutte le informazione dettagliate nella guida in linea sia del TIA, sia del Simatic Manager.

Ad una variabile Pointer non viene passato il valore della variabile, ma l'indirizzo della variabile. E questo vale sia per le FC che per le FB.

 

Mi pare di capire che tu stia imparando la programmazione dei PLC. Penso sarebbe il caso di iniziare con cose più semplici, prima di passare ai puntatori.
Inoltre, nel TIA rispetto al Simatic Manager si usa molto di più l'SCL (l'editor è migliorato infinitamente) e, nelle CPU 1200/1500, ci sono altri tipi di variabili (any, variant, solo per citarne un paio) e si sente sempre meno la necessità di ricorrere a variabili di tipo pointer.

 

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