IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

un compteur horraire


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Par défaut un compteur horraire
    Bonjour, j'amairé savoir comment je peut réaliser un compteur horraire, en fait j'aimeré savoir le temps de fonctionnement d'un appareil (pour effectuer des opérations de maintenance toutes les 2000h) sachant qu'il ne fonctionne pas tous le temps donc il fau garder en mémoire les horaires. je programme sur un automate Allen-bradley via Rslogix le language utilisé est "Structured text" language voisin du c (http://www.eod.gvsu.edu/~jackh/books...ers/plc_st.pdf) .
    je suppose qu'il me faud connaitre la fréquence du CPU de l'automate

    Merci

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par djinseng
    Bonjour, j'amairé savoir comment je peut réaliser un compteur horraire, en fait j'aimeré savoir le temps de fonctionnement d'un appareil (pour effectuer des opérations de maintenance toutes les 2000h) sachant qu'il ne fonctionne pas tous le temps donc il fau garder en mémoire les horaires. je programme sur un automate Allen-bradley via Rslogix le language utilisé est "Structured text" language voisin du c (http://www.eod.gvsu.edu/~jackh/books...ers/plc_st.pdf) .
    je suppose qu'il me faud connaitre la fréquence du CPU de l'automate

    Merci
    Il ne faut pas faire de comptage, mais des mesures et des cumuls. Il faut que la machine dispose d'une horloge à l'heure. C'est le cas des PC, mais pas forcément des machines embarquées. Ensuite, il faut un dispositif de stockage hors tension (disque, flash etc.).

    Ensuite, le principe est simple. Il faut gérer un fichier qui contient 3 informations :

    - le cumul d'heures
    - l'heure de démarrage
    - la dernière heure courante enregistrée.

    Lorsque le système démarre pour la première fois, le fichier est crée avec

    cumul = 0 (en heures)
    demarrage = date/heure courante (époch : time_t)
    hcourante = date/heure courante (époch : time_t)

    Une fois par seconde, l'heure courante est enregistrée (thread autonome) par copie et renommage du fichier...

    En cas d'arrêt (coupure de courant), le dernière heure enregistrée est la bonne (sauf coupure pendant le renommage du fichier, ce qui est peu probable : on peut ajouter un checksum pour vérifier et réutiliser la sauvegarde si nécessaire...)

    Au démarrage, on fait la différence entre la dernière heure enregistrée et l'ancienne heure de démarrage, on l'accumule, et on enregistre les nouvelles heures de démarrage et courantes. etc.

    En principe c'est un système assez solide. Mais pas infaillible.

Discussions similaires

  1. [FLASH MX2004] Compteur progressif 0 à 95%
    Par DJeys dans le forum Flash
    Réponses: 5
    Dernier message: 21/07/2004, 14h58
  2. [XSL FO] Compteur a partir de 2
    Par Hugo001 dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 30/06/2004, 11h39
  3. [PB CONCEPTUEL] avec compteur/trigger
    Par kase74 dans le forum SQL
    Réponses: 6
    Dernier message: 25/03/2004, 11h02
  4. Remise à 0 d'un compteur automatique
    Par missllyss dans le forum SQL
    Réponses: 4
    Dernier message: 15/12/2003, 16h46
  5. Migration Access > SQL Server (suite) : Compteur
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/03/2003, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo