Files
programmationc/maquette16.md
2026-01-21 16:57:03 +01:00

140 lines
6.0 KiB
Markdown

# Cuves
Le système est composé de 3 cuves.Chaque cuve possède un capteur niveau haut et un capteur niveau bas. (capteur[0] et capteur[1] pour la cuve 1). Le cuves sont remplies par l'ouverture d'un actionneur (actionneur[0]) et vidées par l'ouverture d'un deuxième actionneur (actionneur[1]).
![Maquette 16](maquettes/16.png)
### Fonctionnement 1
A l'état initial du système, les 3 cuves sont vides.
L'interrupteur 1 est sur "on".
- Le voyant `sortie[8]` est allumé en vert (valeur 1).
```c
if (etape == 0 && interrupteur[1] == 1 && capteur[1] == 1 && capteur[3] == 1 && capteur[5] == 1) {
etape = 1;
}
if (etape == 1) {
sortie[8] = 1;
}
```
Retour à l'étape 0, si l'interrupteur 1 est éteint.
```c
if (etape == 1 && interrupteur[1] == 0) {
etape = 0;
}
```
Lors de l'appui sur le bouton "marche" mettre en route le programme suivant :
- Allumer le voyant `sortie[8]` en orange (valeur 2)
- remplir la cuve 0 jusqu'au capteur haut,
- lorsque le niveau haut est atteint arrêter l'actionneur 1,
- passer à la cuve 1, la remplir jusqu'en haut,
- lorsque le niveau haut est atteint arrêter l'actionneur 1,
- passer à la cuve 2, la remplir jusqu'en haut,
- Allumer le voyant `sortie[8]` en rouge (valeur 3)
```c
if (etape == 1 && marche_frontmontant) {
etape = 2;
}
if (etape == 2 && capteur[0]) {
etape = 3;
}
if (etape == 3 && capteur[2]) {
etape = 4;
}
if (etape == 4 && capteur[4]) {
etape = 5;
}
```
Ne pas allumé l'actionneur que si le capteur haut est off.
```c
actionneur[0] = !capteur[0] && etape == 2;
actionneur[2] = !capteur[2] && etape == 3;
actionneur[4] = !capteur[4] && etape == 4;
```
### Fonctionnement 2
- Le programme 1 est en cours de fonctionnement.
- L'appui sur le bouton "arrêt" met en pause le système.
- L'appui sur le bouton "marche" remet en route le système à l'endroit où il s'est arrêté.
### Fonctionnement 3
- L'interrupteur 2 est sur "on", L'interrupteur 1 est sur "off", le système est dans un état intermédiaire.
- Faire clignoter le voyant sortie[8] en orange.
- Lors de l'appui sur le bouton "marche", vider les 3 cuves simultanément.
### Fonctionnement 4
- L'interrupteur 3 est sur "on" les interrupteurs 1 et 2 sont sur "off", le système est à l'état initial.
- L'appui sur le bouton 0 ouvre l'actionneur A0
- L'appui sur le bouton 1 ouvre l'actionneur A1
- Les deux actionneurs d'une même cuve ne peuvent pas être ouverts en même temps. Plusieurs cuves peuvent être actionnées en même temps.
# Évaluation
### Fonctionnement 5
- Le système est à l'étape 0 (le bouton *RESET* fonctionne et permet de repasser à l'étape 0)
- L'interrupteur 7 est sur on, tous les autres sont à off : le système passe à l'état 50,
- L'utilisateur entre une consigne (`consigne[0]`) en pourcentage, supérieure à 0,
- L'utilisateur appuie sur le bouton *MARCHE*,
- L'actionneur `a[0]` est ouvert pour que la cuve 0 se remplisse jusqu'à la consigne (Attention le remplissage est en pourcentage du total de la cuve !)
- Lorsque le niveau de la cuve 0 est atteint, passer à la cuve 1,
- Remplir la cuve 1 à 50% de la consigne
- Lorsque le niveau 1 est atteint, passer à la cuve 2
- Remplir la cuve 2 à 25% de la consigne
- Sauvegarder la consigne lors de l'appui sur le bouton *MARCHE* car celle-ci ne peut pas être modifiée pendant le cycle.
- Si la consigne est modifiée pendant le cycle faire clignoter la sortie[8] en rouge (valeur 3)
- A la fin du cycle revenir à l'étape 50 et réinitialiser la sortie[8]
- Le système est à l'étape 50 prêt à un nouveau cycle
- Recommencer un cycle. Mais attention, les niveaux des cuves ne sont plus à 0. Il faut donc choisir le bon actionneur pour faire monter ou descendre le niveau en fonction du niveau de départ et de la consigne à atteindre.
Faire un grafcet.
### Fonctionnement 6
- Le système est à l'étape 0 (le bouton *RESET* fonctionne et permet de repasser à l'étape 0)
- L'interrupteur 6 est sur "on", tous les autres sont à off : le système passe à l'état 70,
- L'appui sur le bouton "Marche" mémoriser le niveau le plus haut des 3 cuves pour en faire une consigne. Mémoriser également la cuve avec le niveau plus bas.
- Mettre en marche l'actionneur correspondant pour que la cuve la plus basse atteigne le niveau le plus haut.
- Lorsque le niveau est atteint Mémoriser la cuve avec le niveau plus bas
- Mettre en marche l'actionneur correspondant pour que la cuve la plus basse atteigne le niveau le plus haut.
- Le système passe à l'étape 0. Il ne peut pas y avoir de nouveau cycle car tous les niveaux sont identiques.
### Fonctionnement 7
- Le système est à l'étape 0 (le bouton *RESET* fonctionne et permet de repasser à l'étape 0)
- L'interrupteur 4 est sur "on", tous les autres sont à off : le système passe à l'état 80,
- L'appui sur le bouton B0 sélectionne la pompe 0, Allumer le voyant s0
- L'appui sur le bouton B2 sélectionne la pompe 1, Allumer le voyant s1
- L'appui sur le bouton B4 sélectionne la pompe 2, Allumer le voyant s2
- Il ne peut y avoir plusieurs pompes de sélectionnées.
- L'appui sur le bouton "Marche" met en route les actionneurs. Vous pouvez utiliser l'état du voyant dans la condition d'activation de l'actionneur.
- L'appui sur le bouton "Arrête" arrête l'actionneur le système repasse à l'etape 80 prêt pour un nouveau cycle.
### Fonctionnement 8
- Le système est à l'étape 0 (le bouton *RESET* fonctionne et permet de repasser à l'étape 0)
- L'interrupteur 5 est sur "on", tous les autres sont à off : le système passe à l'état 90,
- L'appui sur le bouton[0] allume le voyant s0
- L'appui sur le bouton[2] allume le voyant s1
- L'appui sur le bouton[4] allume le voyant s2
- Il ne peut y avoir plusieurs voyants allumés. (1, 2 ou 3)
- L'appui sur le bouton "Marche" met en route les actionneurs pour vider les cuve sélectionnées.
- L'appui sur le bouton "Arrête" arrête les actionneurs, le système repasse à l'etape 90 prêt pour un nouveau cycle.
- Si une cuve est à son niveau bas elle ne peut pas être sélectionnée.