marcob1984 Inserito: martedì alle 13:45 Segnala Share Inserito: martedì alle 13:45 Buongiorno a tutti. E' possibile interpretare il tipo di dato (INT / DINT / REAL etc...) di un'area di memoria? So che se l'area di memoria è dichiarata come ANY posso interpretare il tipo di dato andando a leggere il valore del primo byte. Ma se dovessi cercare di interpretarlo andando a leggere direttamente una MD oppure una MW oppure un'area di un DB? Grazie a quanti potranno aiutarmi Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: martedì alle 14:13 Segnala Share Inserita: martedì alle 14:13 Non capisco cosa intendi interpretare, se metti una variabile in una tabella delle variabili o anche solo on line sul programma, puoi leggere il valore che c'è all'interno della variabile. Con area di memoria cosa intendi una Db o i merker? Specifica anche che software stai usando Step7 o TIA portal. Link al commento Condividi su altri siti More sharing options...
marcob1984 Inserita: martedì alle 14:32 Autore Segnala Share Inserita: martedì alle 14:32 (modificato) Si, forse devo essere più preciso. Sto usando step 7 di simatic manager su un 300. L'obiettivo è quello di crearmi una fc o fb che sommi e faccia la media automaticamente dei valori di un'area di memoria su un DB. Per area di memoria intendo, ad esempio, un'area che parte dalla MD600 alla MD648, oppure dalla PED600 alla PED648 (partendo dal presupposto che a partire dall'indirizzo iniziale a quello finale siano tutti dello stesso tipo). E' vero che so già il tipo di dato a priori, ma nell'fc o fb ho bisogno di crearmi un codice che vada ad interpretare in automatico il tipo di dato per poter poi eseguire i calcoli in modo corretto. Se è DINT dovrò sommare e poi dividere per D, se REAL dovrò sommare e poi dividere per R. Quindi la mia idea è che in base al tipo di dato che gli arriva in ingresso, andrò a fare uno o l'altro calcolo. Spero di essere stato più chiaro. Perdonatemi Modificato: martedì alle 14:33 da marcob1984 errore battitura Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: martedì alle 14:51 Segnala Share Inserita: martedì alle 14:51 Il plc non riconosce il tipo di dato che gli passi in ingresso, potresti inserire come parametro in ingresso al blocco una selezione del tipo di dato, poi utilizzando i puntatori, leggendo qual'è il primo bite della tua catena di dati dal parametro any, puoi fare un ciclo per fare i tuoi calcolo. Ovviamente lo puoi fare utilizzando l'AWL o l'SCL Link al commento Condividi su altri siti More sharing options...
marcob1984 Inserita: martedì alle 14:59 Autore Segnala Share Inserita: martedì alle 14:59 Come pensavo Acquaman. Grazie 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