Skip to main content

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.

_example_img_oop_extended.png

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 la clsLight bloc fonctionnel pour implémenter l'ampoule

  • clsCheapRoom: Étend la pièce de base et inclut une instance de la clsLight1min 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 de clsDuoLight1min, qui a une durée de vie deux fois plus longue et inclut également la fonction de service

  • clsClimateBetterRoom: Prolonge la clsBetterRoom et ajoute un climatiseur

  • FB_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 éteinte

  • clsLight1min: Prolonge la clsLight bloc fonctionnel et implémente le IService interface. Cette fonction permet de surveiller la durée de vie de l'ampoule.

  • clsDuoLight1min: Prolonge la clsLight1min bloc fonctionnel par un deuxième temporisateur pour doubler la durée de vie

  • FB_LifeTimer: Compte à rebours la durée de vie d'une ampoule allumée

  • Visualization: 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

_example_icon.png TÉLÉCHARGER Projet