Marco75 Inserito: 2 novembre 2006 Segnala Share Inserito: 2 novembre 2006 Salve a tutti,il mio problema è il seguente:ho una FC con un parametro di ingresso di tipo POINTER, all'interno della FC richiamo un'altra FC alla quale vorrei passare lo stesso parametro POINTER.Purtroppo al parametro di ingresso POINTER non posso passare un altro parametro POINTER C'è modo di passare una variabile in ingresso invece dell'espressione P#... ? Link al commento Condividi su altri siti More sharing options...
varlux Inserita: 2 novembre 2006 Segnala Share Inserita: 2 novembre 2006 Purtroppo al parametro di ingresso POINTER non posso passare un altro parametro POINTERSe utilizzi un POINTER come parametro formale, il parametro attuale dovrà essere, necessariamente, un indirizzo.Ti suggerirei di "giocare" sul modo con cui STEP7 memorizza i parametri POINTER, ossia su 3 Words- La prima indica il DB- La seconda indica l'area di memoria- La terza indica il Byte ed il bitMagari riesci a risolvere....... Link al commento Condividi su altri siti More sharing options...
Marco75 Inserita: 3 novembre 2006 Autore Segnala Share Inserita: 3 novembre 2006 Ciao Varlux,conoscevo già il formato dei parametri POINTER ma non ho ancora trovato soluzioni.Quello che non capisco è perchè il "giochino" che tento di fare è lecito con i POINTER ANY mentre con i POINTER normali no.In fondo tra i due tipi di dato non c'è tanta differenza, mi pare.Se ho un parametro di ingresso di tipo ANY, posso dichiarare una variabile temporanea dello stesso tipo e poi (conoscendone il formato) riempirla con i dati che mi servono, di volta in volta diversi, e quindi passarla al parametro di ingresso.Purtroppo non si possono dichiarare variabili temporanee di tipo POINTER e comunque non verrebbero accettate dalla funzione quindi quello che si può fare con gli ANY non è possibile con i POINTER.Oppure no? Link al commento Condividi su altri siti More sharing options...
RAMSON Inserita: 5 dicembre 2007 Segnala Share Inserita: 5 dicembre 2007 Il pointer è contenuto in 32 bits e lo puoi passare come vuoi del resto è un DINTStà tutto nel fatto di come lo interpreti e quindi lo usi.Per gli ANY è un'altro paio di maniche. Sono si dei puntatori, ma occupando 10 bytes non possono essere contenuti nelle normali variabili native.Li puoi passare tramite parametri e crearli nelle variabili temporanee.I pointer comuni non contengono la tipologia dell'area sorgente o destinazione ma soltanto indirizzi.Li puoi utilizzare comunque per qualsiasi area di memoria, basta che questa venga predisposta tramite i registri indirizzo oppure con un AUF DBxxx.I puntatori ANY contengono invece la completa definizione dell'area a cui puntano e sono molto adatti al passaggio di parametri perchè l'editor di S7 ti precompila semplicemente il puntatore con una sintassi tipo dbxxx.dbd45 len = 80in cui passi la db, la doubleword di partenza e la lunghezza. Link al commento Condividi su altri siti More sharing options...
Federico Milan Inserita: 7 dicembre 2007 Segnala Share Inserita: 7 dicembre 2007 Il roblema pesno proprio che sia nel fatto che il poiter referenzia un indirizzo, e non esiste ome esempio in c un tipo di varibile puntatore, ossia il cui contenuto è un indirizzo. Il giochetto che vuoi fare non funziona, devi a mio avviso utilizzare gli ANY o ricercare altre soluzioni Link al commento Condividi su altri siti More sharing options...
gabriele.winter Inserita: 27 ottobre 2008 Segnala Share Inserita: 27 ottobre 2008 Ciao a tutti, volevo fare una semplice domanda, per voi tutti sicuramente ovvia ma per me un pò meno...In un impianto con faretti alogeni 12V e relativo trasformatore 220/12, l'interruttore va messo a monte del trasformatore con interruzione della fase 220, o al contrario a valle, con interruzione delle line 12V magari il positivo???Grazie a tutti, aspetto fiducioso un vostro consiglio Link al commento Condividi su altri siti More sharing options...
Benny Pascucci Inserita: 27 ottobre 2008 Segnala Share Inserita: 27 ottobre 2008 Sul primario, diversamente il trafo, anche con lampade spente, essendo sempre alimentato al primario assorbirebbe la corrente a vuoto, la qual cosa, oltre a costituire uno spreco ecologico, lo farebbe durare non tanto a lungo. Link al commento Condividi su altri siti More sharing options...
solchiere Inserita: 28 ottobre 2008 Segnala Share Inserita: 28 ottobre 2008 Per essere eccessivamente pignoli, pochè sono già esaustive le consierazioni di Benny Pascucci inserendo l'interuttore sul secondario (a 12V) dovresti interrompere pure una corrente maggiore (a parità di potenza) e probabilmente allungheresti il percorso dei cavi a 12V sui quali la caduta di tensione in percentuale si fa sentire di più. Inoltre qualora dovessi sostituire il semplice interuttore con uno dimmerabile dovresti probabilmente ricablare una parte dell'impianto poichè i dimmer funzionano (praticamente tutti) a tensione di rete e non a 12V, anche se esistono trasformtori predisposti per l'utilizzo di un potenziometro esterno. Link al commento Condividi su altri siti More sharing options...
gabriele.winter Inserita: 29 ottobre 2008 Segnala Share Inserita: 29 ottobre 2008 Entrambi chiarissimiGrazie mille!! Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora