samm Inserito: 28 aprile 2007 Segnala Share Inserito: 28 aprile 2007 Ciao a tutti, qualcuno potrebbe farmi un piccolo esempio banale di utilizzo di utilizzo di un array bdimensionale, io ci sto provando , ma gia nella dichiarazione delle variabili del fc nella dichiarazione tipo di dati "Array [1..3,1..3] of <int>" diventa rossoeppure ho seguito punto per punto quello che dice l'. s7. Link al commento Condividi su altri siti More sharing options...
cisio Inserita: 28 aprile 2007 Segnala Share Inserita: 28 aprile 2007 Prova a scrivere INT senza i segni < > e vedrai che funzionaper gli esempi mi dispiace ma non li ho mai usaticiao Link al commento Condividi su altri siti More sharing options...
samm Inserita: 28 aprile 2007 Autore Segnala Share Inserita: 28 aprile 2007 Grazie del tuo interessamneto cisio, ho fatto come mi hai suggerito, sono riuscito a dichiararlo in modo corretto ; il problema pero' e' ancora aperto , in quanto non riesco a trovare da nessuna parte un esempio che mi fa capire il suo metodo di funzionamento ; in pratica una volta caricato l'array tramite : " L #array[2, 2]" , dell'array bidimensionale [1..3,1..3] dovrebbe significare che carico i valori che sono presenti nelle posizioni 2 delle due dimensioni , ,prima di questo pero' dovrei inserire dei dati tramite delle dw , oppure inizializzare i valori , questo non lo riesco a fare in quanto se vado in proprieta' variabile dell'array l'inserimento e' inibito.Quello che vorrei fare e' inserire dei valori per poi confrontarli per un riferimento di posizione praticamente un movimento circolare di due assi . Link al commento Condividi su altri siti More sharing options...
cisio Inserita: 28 aprile 2007 Segnala Share Inserita: 28 aprile 2007 Non mi sembra che hai le idee molto chiare.Dunque, le variabili che dichiari all'inizio di un FC sono le variabili LOCALI, non hanno memoria al di fuori del tempo di esecuzione del fc stessoquando entri nel fc non hanno un valore definito e glielo devi dare tu prima di poterle usaree queste sono quelle del gruppo TEMP (cioè temporanee)poi ci sono quelle chiamate IN, OUT, e IN_OUT: tutto ciò che definisci in questi gruppi costituirà l'interfaccia parametri del blocco stessoin linea teorica penso che si possa definire un array come parametro IN, poi da un altro blocco fare una CALL FCxx passando come parametro un array definitoin un DB (che è il posto giusto dove memorizzarlo), se i due array sono della stessa dimensione te lo ritrovi come dato locale nel fcciao Link al commento Condividi su altri siti More sharing options...
samm Inserita: 28 aprile 2007 Autore Segnala Share Inserita: 28 aprile 2007 hai ragione cisio ho molte idee e purtroppo abbastanza confuse,mi capita che se non sbatto la testa su degli esempi mi viene un po' difficile leggere ed imparare al volo, quindi riassumendo quella finestra che sta in alto ad un fc chiamata interfaccia puo essere rappresentata , facendo un paragone con lo step 5 usando gli fb parametrizzati , a parametrizzare lo stesso fc .Ho fatto come mi hai suggerito ho dichiarato un array bidimensionale come parametro IN "array[1..5,1..5] of int", a questo punto nel ob1 ho richiamato l'fc interessato e tramite la selezione "aggiorna_richiama" mi e' stato inserito "array :=" a questo punto dovrei inserire un operando , le ho provate tutte naturalmente con esito negativo in quando l'iserimento mi diventa sempre rosso,in definitiva mi manca quest'ultima parte che mi hai suggerito:in un DB (che è il posto giusto dove memorizzarlo), se i due array sono della stessa dimensione te lo ritrovi come dato locale nel fcsaresti come lo hai gia' fatto gentilmente indicarmi piu' dettagliatamente come proseguire?Ciao...e Grazie ancora Link al commento Condividi su altri siti More sharing options...
cisio Inserita: 29 aprile 2007 Segnala Share Inserita: 29 aprile 2007 io ho provato a definire nel db1 questo:array_2 ARRAY[1..5,1..5] INT al db ho dato il nome simbolico "PROVA"e quindi nel ob1 ho scritto CALL FC 1 bid:="PROVA".array_2dove fc1 ha una definizione array come hai fatto tu con nome simbolico "bid"e non ho niente di rossoe tramite la selezione "aggiorna_richiama" mi e' stato inserito "array :="??? il nome "array" per una variabile non è accettato da step7ciao Link al commento Condividi su altri siti More sharing options...
samm Inserita: 30 aprile 2007 Autore Segnala Share Inserita: 30 aprile 2007 Come sempre sei stato gentilissimo cisio , penso di essere a un buon punto "grazie a te" per poter proseguire da solo , naturalmente devo approfondire alcune cose che dovrebbero essere scontate per poter fare un discorso di questo genere,non mi resta quindi che inserire i valori delle dw del db1 che rappresentano il campo del'array bidimensionale , cosi poi dovro' puntare a qeste dw per assegnare il loro valore di coordinate per il raggiungimento di posizione , non avendo l'ardware dovro' fare tutto questo con simulatore s7 e protool , ho gia' fatto con il protool una piccola prova di uno spostamento lineare di un oggetto , avviando il simulatore s7 e aprendo il protool in runtime , devo solo studiarmi un metoto per simulare un movimento controllato cioe' come se in realta' avessi un motore ed un encoder che mi rileva istante per istante la sua posizione.Ciao cisio e Grazie ancora... 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