Diagnóstico en la Aplicación
El PROFINET El controlador está equipado con un búfer interno para datos de diagnóstico. Esta "base de datos de shadowing" se actualiza constantemente en segundo plano (transparente para el usuario) mediante alarmas enviadas desde los dispositivos y mediante servicios acíclicos para establecer la conexión. De esta manera, con un retraso mínimo, el estado de diagnóstico real de todos los dispositivos se refleja en la aplicación host y se puede evaluar allí en cualquier momento. Alternativamente o adicionalmente, la aplicación puede recibir las alarmas individuales (CommFB.RALARM
) o vuelva a leer los datos de diagnóstico (CommFB.RDREC
).
La API de la ProfinetComún
y ComFB
bibliotecas descritas aquí es idéntica para el CODESYS PROFINET stack, así como la solución CIFX. Sin embargo, la solución CIFX no implementa completamente los servicios individuales (consulte la hoja de datos). Para ver ejemplos de código, consulte la documentación de la biblioteca de los bloques de funciones que se enumeran a continuación.
Bloque de funciones del dispositivo
Para cada PROFINET Dispositivo en el árbol de dispositivos, se crea un bloque de funciones que proporciona información básica sobre el estado de conexión o configuración del dispositivo. Por ejemplo, para solicitar entradas de diagnóstico o para una configuración de módulo diferente.

De la misma manera, también se crea una instancia de bloque de función para que el controlador proporcione información sobre el estado operativo del PROFINET Controlador.
Para más información, ver: IoDrvProfinet.ProfinetController
y IoDrvProfinet.PNSlave
Estado del proveedor y del consumidor
Esta información de estado siempre se transfiere con los datos de E/S. Se puede agregar a la CODESYS Asignación de E/S del módulo respectivo.
alarmas
Las alarmas enviadas por PROFINET Los dispositivos pueden ser recibidos por medio del CommFB.RALARM
bloque de funciones Para obtener un ejemplo de código para la evaluación de la información, consulte la documentación de la biblioteca para ProfinetCommon.DiagnosisDataReader
.
Estado del dispositivo y submódulo
Además del acceso directo a las salidas del bloque de funciones del dispositivo, también existe la posibilidad de utilizar el ProfinetCommon.DeviceIterator
POU para iterar sobre todos los dispositivos diseñados para un controlador.
De la misma manera, el ProfinetCommon.SubmoduleIterator
POU se utiliza para iterar los submódulos configurados para un PROFINET Dispositivo y para evaluar al individuo. ProfinetCommon.SubmoduleState
.
Búfer de diagnóstico (sombreado de diagnóstico)
Con el ProfinetCommon.DiagnosisDataBuffer
POU, se pueden llamar los datos que se almacenan localmente en la "Base de datos de sombra" del controlador.
Alternativamente, el ProfinetCommon.GetSubmoduelDiagnosis() La función también podría usarse para consultar todas las entradas de diagnóstico almacenadas en el búfer para un solo submódulo.
Códigos de error y textos de diagnóstico
el numerico PROFINET códigos de error (ErrorCode
y ExtErrorCode
) se puede llamar mediante las funciones y bloques de funciones mencionados anteriormente. Si se requieren las descripciones textuales correspondientes en una aplicación (por ejemplo, para mostrarlas en una visualización), entonces estas descripciones textuales deben descargarse por separado. Para más información, ver: Comando: AgregarPROFINETRecursos de diagnóstico.