toni_unitn Inserito: 30 novembre 2020 Segnala Share Inserito: 30 novembre 2020 Buongiorno a tutti Nelle nostre macchine usiamo una CPU s71500 e una seconda CPU di un altro produttore. Tra le due c'e' un intenso scambio dati in Profinet. Lo scambio dati e' gestito lato Siemens con le istruzioni GETIO e SETIO. Tali istruzioni sono richiamate in OB1 . Nessuno dei vari OB di schedulazione e/o allarme va a scrivere i dati in scambio. Mi si verificano alcuni problemi che mi fanno pensare che ci potrebbe essere un problema di coerenza dei dati in scambio ,in particolar modo dei dati letti dalla CPU siemens. Nel manuale di TIA leggo , nel paragrafo "coerenza dei dati" parla di dimensioni dell'area dati coerente che non deve essere superata, ma nel'. dell'istruzione GETIO non trovo alcun riferimento alla quantita' massima di dati che posso leggere (al momento quelli previsti nel mio sw sono 100 byte) Qualcuno ha esperienza in merito? Altra cosa: l'istruzione GETIO e' sincrona? Voglio dire, sono sicuro che dal segmento successivo a quello che richiama l'istruzione GETIO tutti i dati sono gia' stati scritti nel DB di destinazione? Grazie 1000 in anticipo Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 8 gennaio 2021 Segnala Share Inserita: 8 gennaio 2021 Probabilmente il pacchetto dati viene scritto e/o letto in più cicli. Ti consiglio , alla fine dei dati che ricevi , di inserire un bit e di farlo scrivere =1 alla fine. Lo controlli nel plc e quando è =1 allora copi i dati in arrivo su un'altra area di memoria. Poi per la lettura coerente c'erano gli SFC14 e 15 Link al commento Condividi su altri siti More sharing options...
Mattia Spoldi Inserita: 8 gennaio 2021 Segnala Share Inserita: 8 gennaio 2021 Il 30/11/2020 alle 09:20 , toni_unitn ha scritto: Altra cosa: l'istruzione GETIO e' sincrona? Voglio dire, sono sicuro che dal segmento successivo a quello che richiama l'istruzione GETIO tutti i dati sono gia' stati scritti nel DB di destinazione? Ciao, l'istruzione non sembra essere sincrona, se guardi gli esempi di siemens, collegano sempre una qualche memoria all'uscita ENO del blocco e la usano per controllare la fine della lettura. Io la utilizzo spessissimo (anche con la SETIO), per lavorare con encoder o drive profinet non usabili con gli oggetti tecnologici, ma di problemi non ne ho avuti. Secondo me il problema è quello che dice @walterword. 1 ora fa, walterword ha scritto: Poi per la lettura coerente c'erano gli SFC14 e 15 C'erano sui 3/400 e ci sono sulle 1500, ma sulle 1500 sono stati reincapsulati nelle istruzioni SET/GET_IO per essere un po' più semplici da usare. 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