Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




S7 1500: Configurazione sensori IO-Link


Messaggi consigliati

Gionatan Leardini
Inserito:

Ciao,

per un determinato impianto sono stati utilizzati 4 sensori ad ultrasuoni collegati ciascuno ad un porta di un modulo IO-Link.

Mi è stato assegnato il compito di realizzare una maschera HMI tramite la quale poter configurare i vari parametri dei sensori.

Per far questo a livello PLC ho trovato una funzione della SIEMENS dal nome "IO_LINK_DEVICE" (in fondo il link della descrizione) che permette, appunto, di andare a leggere e scrivere i dati dei sensori. Ho quindi realizzato una FB che mi andasse a modificare in modo automatico i parametri da passare in ingresso alla funzione della siemens, per avere una lettura continua dei dati; lo stesso anche per la scrittura, ma solo in caso di avvenuta pressione del pulsante di "Salva" sul pannello HMI.

La FB realizzata viene poi richiamata quattro volte (4 sensori) all'interno di un'altra FC, ogni volta con una DB d'istanza differente.

All'inizio ho eseguito i test con un solo sensore, ed ho riscontrato il corretto funzionamento di tutto il giro; ma poi andando a fare la stessa identica cosa su tutti e quattro i sensori, mi è comparso un errore il cui codice (0x70020000) compare nel parametro di uscita IOL_STATUS della funzione della siemens, e la cui descrizione, che si può trovare nel documento che lascio in allegato, dice: "PORTA BLOCCATA: Porta occupata da un altro job o non presente."

Cercando, poi su internet ho trovato una FAQ sul sito della SIEMENS in cui spiega che ci sono delle limitazioni nell'uso delle funzioni RDREC e WRREC, che sono funzioni di lettura e scrittura che vengono richiamate internamente alla funzione IO_LINK_DEVICE (https://support.industry.siemens.com/cs/document/15364459/quali-limitazioni-sono-previste-per-i-job-attivi-nella-comunicazione-con-wr_rec-rd_rec-e-o-rdrec-wrrec-mediante-profibus-dp-e-o-profinet-io-?dti=0&dl=it&lc=en-WW).

Queste limitazioni si riferiscono al numero di job che possono essere richiamati in contemporanea, e si differenziano in base al tipo di CPU. Nel mio caso avendo a disposizione una CPU 151, il numero massimo di job sarebbe 10.

Io credo che la causa dell'errore sia questa, e così ho pensato di mettere in sequenzia le 4 chiamate alla FB, che prima venivano eseguite in "contemporanea"; ma nonostante ciò l'errore continua a comparire.

Ed inoltre, riportandomi alla situazione iniziale (una sola chiamata per un solo sensore) non riesco anche in questo caso a far sparire l'errore.

Qualcuno ha qualche idea a riguardo?

 

 

PS: scusate per la spiegazione un po' contorta 

 

 

 https://cache.industry.siemens.com/dl/files/502/82981502/att_840518/v3/82981502_IO_Link_Library_DOC_V2_en.pdf 


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