# 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 qu'une seule voyant allumé à la fois. (éteindre les autres)
- L'appui sur le bouton "Marche" met en route l'actionneur pour vider la cuve sélectionnée.
- L'appui sur le bouton "Arrête" arrête l'actionneur 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.
