Exemple : programmation orientée objet (étendue)
Produit: CODESYS Development System
Cet exemple montre comment l'orientation objet est utilisée pour réaliser un bâtiment qui a différentes pièces avec différentes fonctionnalités. La visualisation incluse illustre la mise en œuvre.
![]() |
Description
Cet exemple montre une approche de programmation orientée objet. A cet effet, un bâtiment avec diverses salles et fonctionnalités a été mis en place. En journée, toutes les ampoules sont éteintes et la climatisation est réglée sur 21°C. La nuit, toutes les ampoules sont allumées et la température est fixée à 15°C. Avec le mode manuel, la lumière peut être allumée et éteinte séparément. Le CellarRoom
a une lumière, mais aucun service n'est fourni. Le CheapRoom
possède également une lumière, mais un service est en outre prévu pour remplacer l'ampoule en fin de vie. Le BetterRoom
a une lumière duo avec deux fois la durée de vie d'une pièce normale, et le ClimateBetterRoom
dispose en outre d'un climatiseur dont le filtre doit être changé après un certain nombre de changements de température.
Informations Complémentaires
Main
: Crée les quatre pièces et appelle les fonctions requises, selon le mode (daytime
,nighttime
,manual
)clsRoom
: Bloc fonction de base pour une pièce. Les fonctions nécessaires qui sont requises pour chaque pièce sont fournies ici. Les quatre pièces héritent de ce bloc fonctionnel.clsCellarRoom
: Étend la pièce de base et possède une instance de laclsLight
bloc fonctionnel pour implémenter l'ampouleclsCheapRoom
: Étend la pièce de base et inclut une instance de laclsLight1min
bloc fonctionnel, qui implémente une ampoule d'une durée de vie d'une minute. Il comprend également la fonction de service.clsBetterRoom
: Étend la pièce de base et inclut une instance declsDuoLight1min
, qui a une durée de vie deux fois plus longue et inclut également la fonction de serviceclsClimateBetterRoom
: Prolonge laclsBetterRoom
et ajoute un climatiseurFB_AirCondition
: Ce bloc fonction régule la température de jour et de nuit.clsLight
: Bloc fonction de base qui détecte si la lumière est allumée ou éteinteclsLight1min
: Prolonge laclsLight
bloc fonctionnel et implémente leIService
interface. Cette fonction permet de surveiller la durée de vie de l'ampoule.clsDuoLight1min
: Prolonge laclsLight1min
bloc fonctionnel par un deuxième temporisateur pour doubler la durée de vieFB_LifeTimer
: Compte à rebours la durée de vie d'une ampoule alluméeVisualization
: La visualisation principale comprend différentes pièces. Chaque chambre se compose des éléments suivants :1 ampoule
1 message de service
1 affichage de service (indique si un service est requis)
1 bouton pour allumer et éteindre la lumière
1 bouton pour réinitialiser le service
La pièce du haut affiche en outre la température. Le
OpMode
le curseur peut être utilisé pour régler le mode sur "jour avec lumière", "nuit sans lumière" ou "manuel".
Configuration système requise et restrictions
Système de programmation | CODESYS Development System (version 3.5.14.0 ou supérieure) |
Système d'exécution | CODESYS Control Win (version 3.5.14.0) |
Composants complémentaires | - |
Avis
TÉLÉCHARGER Projet