Skip to main content

Diagnosi nell'applicazione

Il PROFINET Il controller è dotato di un buffer interno per i dati diagnostici. Questo "database shadowing" è costantemente aggiornato in background (trasparente per l'utente) dagli allarmi inviati dai dispositivi e dai servizi aciclici per stabilire la connessione. In questo modo, con un ritardo minimo, lo stato di diagnosi effettivo di tutti i dispositivi viene rispecchiato nell'applicazione host e può essere valutato lì in qualsiasi momento. In alternativa o in aggiunta, l'applicazione può ricevere i singoli allarmi (CommFB.RALARM) o rileggere i dati di diagnosi (CommFB.RDREC).

L'API del ProfinetCommon e CommFB librerie descritte qui è identica per il CODESYS PROFINET stack così come la soluzione CIFX. Tuttavia, i singoli servizi non sono completamente implementati dalla soluzione CIFX (vedi scheda tecnica). Per esempi di codice, vedere la documentazione della libreria dei blocchi funzione elencati di seguito.

Blocco funzione dispositivo

Per ciascuno PROFINET Dispositivo Nella struttura dei dispositivi viene creato un blocco funzione che fornisce informazioni di base sulla connessione o sullo stato di configurazione del dispositivo. Ad esempio, per richiedere inserimenti diagnostici o per una configurazione di un modulo deviante.

_pnio_img_device_fb.png

Allo stesso modo, viene creata anche un'istanza del blocco funzione per il controllore per fornire informazioni sullo stato operativo del PROFINET Controllore.

Per ulteriori informazioni, vedere: IoDrvProfinet.ProfinetController e IoDrvProfinet.PNSlave

Stato del fornitore e del consumatore

Queste informazioni di stato vengono sempre trasferite con i dati I/O. Può essere aggiunto al CODESYS Mappatura I/O del rispettivo modulo.

Allarmi

Allarmi inviati da PROFINET I dispositivi possono essere ricevuti tramite il CommFB.RALARM blocco funzione. Per un esempio di codice per la valutazione delle informazioni, vedere la documentazione della libreria per ProfinetCommon.DiagnosisDataReader.

Stato del dispositivo e del sottomodulo

Oltre all'accesso diretto alle uscite del blocco funzione del dispositivo, c'è anche la possibilità di utilizzare il ProfinetCommon.DeviceIterator POU per eseguire l'iterazione su tutti i dispositivi progettati per un controller.

Allo stesso modo, il ProfinetCommon.SubmoduleIterator POU viene utilizzato per iterare i sottomoduli configurati per a PROFINET Dispositivo e per la valutazione dell'individuo ProfinetCommon.SubmoduleState.

Buffer di diagnosi (ombreggiatura della diagnosi)

Con il ProfinetCommon.DiagnosisDataBuffer POU, è possibile richiamare i dati che sono memorizzati localmente nel “Database Shadowing” del controller.

In alternativa, il ProfinetCommon.GetSubmoduelDiagnosis() La funzione può essere utilizzata anche per interrogare tutte le voci diagnostiche memorizzate nel buffer per un singolo sottomodulo.

Codici di errore e testi diagnostici

Il numerico PROFINET codici di errore (ErrorCode E ExtErrorCode) può essere richiamato tramite le funzioni e i blocchi funzione sopra menzionati. Se le descrizioni testuali corrispondenti sono necessarie in un'applicazione (ad esempio, per la visualizzazione in una visualizzazione), queste descrizioni testuali devono essere scaricate separatamente. Per ulteriori informazioni, vedere: Comando: AggiungiPROFINETRisorse per la diagnosi.