Skip to main content

Empezando

Las siguientes instrucciones le guiarán hacia una aplicación sencilla que utiliza dos BACnet objetos para 1) escribir un análogo BACnet valor en tiempo de ejecución y 2) hacer sonar una alarma de acuerdo con un BACnet clase de notificación cuando el actual BACnet El valor está fuera de un rango específico.

. Requisitos:
  • El CODESYS BACnet2 SL el paquete está instalado.

  • El tiempo de ejecución admite BACnet. Para que esto funcione, el CmpBACnet El componente debe ingresarse y configurarse en el archivo de configuración del tiempo de ejecución.

  1. En CODESYS, cree un proyecto estándar con un dispositivo PLC que admita BACnet.

  2. Seleccione el objeto PLC en el árbol de dispositivos y haga clic en Insertar dispositivo para insertar un Servidor BACnet.

  3. Seleccione el objeto del servidor BACnet y haga clic en Insertar dispositivo para insertar un BACnet_Analog_Value objeto y un BACnet_Notification_Class objeto debajo de él.

    Los objetos BACnet insertados se muestran en la Dispositivos vista.

    _bacnet_img_device_tree.png
  4. Haga doble clic en el BACnet_Analog_Value objeto para abrir su editor de configuración.

    Sobre el Parámetro BACnet pestaña, verá la configuración inicial del objeto BACnet AnalogValue.

  5. Modifique las propiedades del objeto en el Valor columna de la siguiente manera:

    • AckedTransitions: '111'

    • NotificationClass: 1

    • HighLimit: 10

    • LimitEnable: '11'

    • LowLimit: 0

    Ahora su aplicación proporciona un BACnet AnalogValue y un BACnet NotificationClass. Ahora la configuración está configurada para que BACnet AnalogValue generará alarmas tan pronto como su Present_Value la propiedad alcanza un valor fuera de [0; 10].

  6. En el PLC_PRG programa de su aplicación, defina una variable lrVal de tipo LREAL e inserte el siguiente código: Pista: También puede presionar el botón F2 clave para obtener las instancias del bloque de funciones del BACnet objetos del asistente de entrada (Llamadas de instancia categoría).

    BACnet_Analog_Value.PresentValue := BACnet_Analog_Value.PresentValue + 0.0001;
    lrVal := BACnet_Analog_Value.PresentValue;
  7. Generar el código (F11), descargue la aplicación sin errores en el controlador e inicie la aplicación.

    El BACnet propiedad Present_Value del BACnet Analog Value objeto se incrementa.

  8. Iniciar un externo BACnet cliente (por ejemplo, Innea BACnet Explorer Free) que se ejecuta en una dirección de red diferente a la del tiempo de ejecución (por ejemplo, usando una máquina virtual). Úselo para monitorear los valores de BACnet propiedad Present_Value y variable lrVal en el BACnet red.

    Puedes ver como el BACnet propiedad Present_Value se incrementa y como consecuencia el valor de la variable lrVal aumenta. Tan pronto como Present_Value supera el valor de 10, se activa una alarma del tipo BACnet-NotificationClass insertado en la aplicación se genera en el BACnet dispositivo servidor.

Este es un ejemplo de cómo puedes acceder a Propiedades de Bacnet de un BACnet objeto en tiempo de ejecución. Si no se proporciona ninguna propiedad explícita por parte del BACnet bloque de funciones de objeto, entonces al menos proporciona funciones auxiliares para acceder a ciertos o todos BACnet propiedades.

Para más información, ver: BACnet Configuración en tiempo de ejecución y BACnet Configuración en el CODESYS Proyecto