Se pueden añadir dispositivos de campo al administrador de comunicación seleccionando el nodo del administrador de dispositivos de campo (por ejemplo, administrador de CANopen o de Modbus) en el y haciendo clic en el signo más de color verde. Como alternativa, puede hacer clic con el botón derecho en el nodo del administrador de dispositivos de campo en el y ejecutar el comando .
Como requisito previo, el dispositivo debe estar disponible en el cuadro de diálogo (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea).
Paso |
Acción |
---|---|
1 |
Seleccione el nodo del administrador de dispositivos de campo (administrador de CANopen o de Modbus) en el y haga clic en el signo más de color verde, o bien haga clic con el botón derecho en el nodo del administrador de dispositivos de campo y ejecute el comando en el menú contextual. Resultado: se abre el cuadro de diálogo . |
2 |
En el cuadro de diálogo , seleccione en el cuadro de lista .Nota: Para filtrar los dispositivos por marca, haga clic en el cuadro de lista . |
3 |
Seleccione el dispositivo que desee en la lista siguiente. |
4 |
Cambie el nombre del dispositivo escribiéndolo en el cuadro de texto .
NOTA: No utilice espacios en el nombre. No utilice un carácter de subrayado (_) al final del nombre.
Si no cambia el nombre del dispositivo, se le asignará uno predeterminado. Asignar un nombre significativo al dispositivo puede facilitar la organización del proyecto. |
5 |
Haga clic en el botón .Resultado: se añadirá el dispositivo de campo al administrador de dispositivos de campo.
NOTA: El cuadro de diálogo permanece abierto.
Puede hacer lo siguiente:
|
Para obtener información de diagnóstico de dispositivos en CANopen, utilice CAA_CiA405.library.
Puede usar las opciones CANopen para gestionar posibles incoherencias de configuración.
y en la ficha del configurador dePara optimizar el rendimiento del maestro CAN, los diagnósticos de CAN son externos al maestro CAN del controlador. La estructura de diagnóstico CAN se define en la biblioteca CanConfig Extern, disponible en el
.
La estructura g_aNetDiagnosis
contiene la información de diagnóstico más reciente de los esclavos. La estructura se actualiza cada vez que se configura un esclavo.
Esta estructura se puede utilizar dentro del programa para hacer lo siguiente:
Supervisar la respuesta de los esclavos configurados por mensajes SDO.
Supervisar el maestro para ver si hay mensajes de cancelación de los esclavos antes de permitir un arranque de máquina/aplicación.
Esta estructura debe estar instalada y activa dentro de la aplicación de usuario al realizar pruebas, depurar y poner en marcha la aplicación. Cuando la máquina y su aplicación de control ya se han puesto en marcha y validado, entonces se puede deshabilitar este código de la ejecución para reducir el tráfico en la red CANopen.
Sin embargo, si durante el ciclo vital de una aplicación (y de la máquina o proceso que ésta controla), se añaden o sustituyen esclavos en el sistema operativo, la estructura de diagnóstico debería continuar activa en la aplicación.
ADVERTENCIA | |
---|---|
Tras añadir la biblioteca CanConfig Extern a su aplicación, utilice la definición
(Net Diagnostic) de su aplicación para probar los mensajes de cancelación de SDO desde los esclavos CAN.El ejemplo de código siguiente ilustra el uso de la estructura de datos de diagnóstico de CAN:
IF g_aNetDiagnosis[CAN_Net_Number].ctSDOErrorCounter = 0 THEN
(* No error is detected in the configuration*)
ELSE
(* An error has been detected during configuration. Get the latest error information.*)
// node ID of the slave which sent the abort code
ReadLastErrorNodeID := g_aNetDiagnosis[CAN_Net_Number].usiNodeID;
// index used in the aborted SDO
ReadLastErrorIndex := g_aNetDiagnosis[CAN_Net_Number].wIndex;
// subIndex used in the aborted SDO
ReadLastErrorSubIndex := g_aNetDiagnosis[CAN_Net_Number].bySubIndex;
//SDO abort code
ReadLastErrorSdoAbortCode := g_aNetDiagnosis [CAN_Net_Number].udiAbortCode;
(* Do not allow the start-up or other operation of the machine or process *)
END_IF
CAN_Net_Number
sería 0 para el puerto CAN0 y, si el controlador está equipado de esa manera, 1 para el puerto CAN1.