Skip to main content

Ejemplo: CAN bus

Producto: CODESYS CAN

Descripción

El CANBusAPI.library biblioteca le permite utilizar fácilmente las funciones CANbus. La biblioteca se ha optimizado para la programación orientada a objetos en ST y la programación gráfica como CFC. La biblioteca se basa en la CAN Bus Low Level biblioteca del sistema.

Con esta biblioteca, puede utilizar fácilmente las funciones de CANbus. Se basa en el CANbus biblioteca del sistema. Junto con el CANBusAPI.library biblioteca, se proporciona una aplicación de muestra. Esta aplicación contiene dos programas con implementaciones diferentes (orientado a objetos en ST y gráfico en CFC) que muestran cómo usar la biblioteca.

Información adicional

El CANBusAPIExample.project El proyecto de ejemplo contiene dos implementaciones: una en ST y otra en CFC. Ambos implementan de diferentes maneras cómo se pueden recibir y reenviar telegramas CAN específicos.

En la configuración de la tarea, agregue la llamada de uno de los dos programas (CFC_PRG, ST_PRG) y descargue la aplicación en el controlador. Inicie la aplicación. Ahora, cuando genera un telegrama CAN con una ID apropiada (por ejemplo, 0x500) desde un dispositivo externo, este telegrama se procesa y se envía con la ID modificada.

Ejemplo en ST

Este programa recibe todos los mensajes entrantes y los repite con CAN-ID +1.

MsgProcessor_EchoST: El bloque de funciones implementa el CAN.IMessageProcessor interfaz. El ProcessMessage El método ya ha sido implementado. En este método, el CAN ID del mensaje recibido se incrementa en 1 y se vuelve a escribir en el controlador CAN.

ST_PRG: El programa configura el controlador CAN con el DEVICE_CONFIG estructura y genera una instancia de MsgProcessor_EchoST y MaskReceiver. MaskReceiver debe generarse una sola vez y no cíclicamente; por lo demás una nueva MaskReceiver se generará con cada llamada. El MaskReceiver está configurado de tal manera que todos los mensajes se pueden recibir con él. Entonces todos los mensajes se pasan automáticamente al ProcessMessage funcion de MessageProcessor.

Ejemplo en CFC

Este programa recibe todos los mensajes en el rango CAN ID de 16#500 a 16#550 y los repite con CAN-ID+1.

MsgProcessor_EchoST: implementa el CAN.IMesageProcessor interfaz. El ProcessMessage El método ya ha sido implementado. En este método, el CAN ID del mensaje recibido se incrementa en 1 y se vuelve a escribir en el controlador CAN.

CFC_PRG: El programa configura el controlador CAN con el DEVICE_CONFIG estructura y genera una instancia de MsgProcessor_EchoST y AreaReceiver. El AreaReceiver está configurado para recibir todos los mensajes en el rango de CAN ID de 16#500 a 16#550. Los mensajes recibidos se pasan automáticamente al ProcessMessage funcion de MessageProcessor. Además, es posible utilizar el CANBusDiagnosis bloque de funciones para monitorear el estado del controlador CAN.

Para obtener más información sobre los bloques de funciones, consulte el archivo PDF incluido en el paquete.

Requisitos y restricciones del sistema

Sistema de programación

CODESYS Development System (versión 3.5.6.0 o superior)

Sistema de tiempo de ejecución

CODESYS Control Win (versión 3.5.6.0)

Componentes adicionales

-

Aviso

_example_icon.png DESCARGAR Proyecto