Vai al contenuto
PLC Forum


istruzione GETIO e coerenza dati


toni_unitn

Messaggi consigliati

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

  • 1 month later...

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

Mattia Spoldi
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

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