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.
![]() |
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 laclsLight
bloque de funciones para implementar la bombillaclsCheapRoom
: Amplía la sala base e incluye una instancia de laclsLight1min
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 declsDuoLight1min
, que tiene el doble de vida útil y también incluye la función de servicioclsClimateBetterRoom
: Extiende elclsBetterRoom
y agrega un aire acondicionadoFB_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 apagadaclsLight1min
: Extiende elclsLight
bloque de funciones e implementa elIService
interfaz. Esta función se utiliza para controlar la vida útil de la bombilla.clsDuoLight1min
: Extiende elclsLight1min
bloque de funciones por un segundo temporizador para duplicar la vida útilFB_LifeTimer
: cuenta atrás la vida útil de una bombilla encendidaVisualization
: 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
DESCARGAR Proyecto