Mini Défi #3 : TON ou TP ? Résolu
🔧 Contexte :
Tu dois programmer un cycle de graissage automatique sur une machine.
L’objectif est simple :
Activer une pompe pendant 5 secondes toutes les 60 secondes.
❓ Question :
Quel(s) temporisateur(s) utiliser pour réaliser cette séquence de manière fiable ?
💡 Tu peux utiliser des blocs standards type TON
, TP
, TOF
, CTU
...
🎯 Objectif :
Obtenir une séquence cyclique propre et stable, sans bug d’enchaînement ou déclenchement intempestif.
💬 Propose ta logique ST, ton câblage Ladder, ou simplement ton raisonnement !
📅 Solution officielle lundi, avec validation d’une réponse 🏅
N’oublie pas : chaque like sur ta réponse te donne de l’XP, et la meilleure solution est doublée.
Réponses
HunterAutomation
MYDA
None
Salut,
Je me suis amusé à copier ton code sur plcIOsim. La sortie reste toujours active :
https://plciosim.com/share/1b75cae8-7a11-4bb1-9c26-e1bc2032e167
A+
HunterAutomation
Excatement , je viens de le constater tester celui la , une erreru de saisie
Koala097
Yoyo
Je me demande, le Dcy_graissage empêche le renouvellement cyclique non ? Ne faudrait-il pas l'enlever ? Afin que ce cycle 5s et 60s tourne à l'infini ? 🤔
HunterAutomation
Hello @Koalo097 , pas spécialement on peut enlever le dcy_graiisage comment tu le suggere mais ca ne derange pas la logique le but etant de lancer ta tempo (TON_3).
SEMI
None
Je me lance, à ma façon. Je trouve cette plate-forme ludique avec un réel intérêt quant à l'apprentissage. Merci au Maître du jeu et aux differents intervenants ;-)
Code :
//---Déclarations de variables---
VAR
//Temporisateur pour la période d'attente de 60 secondes :
TON_60s : TON;
//Temporisateur pour l'impulsion de 5 secondes :
TON_5s : TON;
//Sortie vers la pompe :
Pompe_ON : BOOL;
END_VAR
//---Exécution des temporisations---
//1. Activation de la temporisation cyclique TON de 60s laquelle est active uniquement lorsque la temporisation TON_5s est inactive :
TON_60s(
IN := NOT TON_5s.Q,
PT := T#60s
);
//2. Activation de la temporisation TON de 5s laquelle est active uniquement lorsque TON_60s est inactive :
TON_5s(
IN := TON_60s.Q, //se déclenche uniquement quand les 60s sont écoulées
PT := T#5s
);
//3. Activation de la pompe pendant les 5 secondes du TON_5s
Pompe_ON := TON_5s.Q;
Merci pour vos commentaires/corrections.
SebastienLL
None
Bonjour, moi j'avoue j'abuse de la fonction blink asymétrique pour ce genre de fonctionnement, petite méthode de fainéant ?
En fait je fais clignoter ma sortie, genre ici pour l'exemple, temps de off 60s, temps de on 5s
SebastienLL
None
Après tous les automates n'ont pas cette fonction rapide donc j'attends la réponse du maître pour apprendre une nouvelle méthode d'automaticien 😉