Skip to main content

Ejemplo: Programación Orientada a Objetos (Extendida)

Producto: CODESYS Development System

Este ejemplo muestra cómo se usa la orientación a objetos para realizar un edificio que tiene diferentes habitaciones con diferentes funcionalidades. La visualización incluida ilustra la implementación.

_example_img_oop_extended.png

Descripción

Este ejemplo muestra un enfoque de programación orientada a objetos. Para ello se implementó un edificio con diversas estancias y funcionalidades. Durante el día, todas las bombillas están apagadas y el aire acondicionado está ajustado a 21°C. Por la noche, todas las bombillas están encendidas y la temperatura está fijada en 15°C. Con el modo manual, la luz se puede encender y apagar por separado. El CellarRoom Tiene una sola luz, pero no se presta ningún servicio. El CheapRoom también tiene una luz, pero adicionalmente se proporciona un servicio para reemplazar la bombilla al final de su vida útil. El BetterRoom tiene un dúo de luz con el doble de vida útil que una habitación normal, y el ClimateBetterRoom adicionalmente tiene un acondicionador de aire cuyo filtro debe cambiarse después de un número específico de cambios de temperatura.

Información adicional

  • Main: crea las cuatro habitaciones y llama a las funciones requeridas, según el modo (daytime, nighttime, manual)

  • clsRoom: bloque de función base para una habitación. Las funciones necesarias que se requieren para cada habitación se proporcionan aquí. Las cuatro habitaciones heredan de este bloque de funciones.

  • clsCellarRoom: Amplía la habitación base y tiene una instancia de la clsLight bloque de funciones para implementar la bombilla

  • clsCheapRoom: Amplía la sala base e incluye una instancia de la clsLight1min bloque de función, que implementa una bombilla con una vida útil de un minuto. También incluye la función de servicio.

  • clsBetterRoom: Amplía la sala base e incluye una instancia de clsDuoLight1min, que tiene el doble de vida útil y también incluye la función de servicio

  • clsClimateBetterRoom: Extiende el clsBetterRoom y agrega un aire acondicionado

  • FB_AirCondition: Este bloque de funciones regula la temperatura durante el día y la noche.

  • clsLight: bloque de función base que detecta si la luz está encendida o apagada

  • clsLight1min: Extiende el clsLight bloque de funciones e implementa el IService interfaz. Esta función se utiliza para controlar la vida útil de la bombilla.

  • clsDuoLight1min: Extiende el clsLight1min bloque de funciones por un segundo temporizador para duplicar la vida útil

  • FB_LifeTimer: cuenta atrás la vida útil de una bombilla encendida

  • Visualization: La visualización principal incluye diferentes salas. Cada habitación consta de los siguientes elementos:

    • 1 bombilla

    • 1 mensaje de servicio

    • 1 pantalla de servicio (muestra si se requiere servicio)

    • 1 botón para encender y apagar la luz

    • 1 botón para restablecer el servicio

    La habitación superior también muestra la temperatura. El OpMode El control deslizante se puede utilizar para establecer el modo en "día con luz", "noche sin luz" o "manual".

Requisitos y restricciones del sistema

Sistema de programación

CODESYS Development System (versión 3.5.14.0 o superior)

Sistema de tiempo de ejecución

CODESYS Control Win (versión 3.5.14.0)

Componentes adicionales

-

Aviso

_example_icon.png DESCARGAR Proyecto