Principe:
Utiliser un protocole OT (ModBus) pour manipuler des produits via SCADA
Infos (cf menu latéral):
🚩 Flaggué! +415 points gagnés —
FCSC{3518dcd9579b4f2bf4ab32f126aa746e00767d6b130ef6c2e79ae6a313d0ba07}
Les fichiers du challenge sont ceux les mêmes que ColorPlant1
Le challenge
(R G B)=(32 126 42) à partir de silots Rouge, Vert et Bleu
Faire joujou
N'ayant pas réussi à écrire plusieurs "coils register", j'ai choisi de n'en écrire qu'un à la fois
En pratique, les accès en lecture ne m'ont peu servis: je ne les ai utilisés que pour lire la quantité de Rouge ou de Bleu ou de Vert écoulée. Surveiller une seule des couleurs en ayant correctement piloté les débits de vannes avant suffit.
Le système étant virtuel, il n'est pas "parfait": si vous ouvrez une vanne avec un débit de 4 alors que le tanker de mélange M est rempli à 98/100, alors l'interface virtuelle coupera immédiatement les vannes (car 98+4 = 102 >100) alors qu'en vrai, le capteur ne couperait la vanne qu'à M=100
Mon plan est de d'abord remplir (16 68 16) soit un total de 100, de vider la cuve de mélange, puis de la remplir avec (16 58 26) et de la vider de nouveau, menant à un total de (32 126 42).
Exécution du plan
(16 58 26)
Je passe sous silence les nombreux essais die & retry pour arriver à ce résultat! L'essentiel est de bien surveiller l'état des conteneurs de couleur, pour comprendre ce qu'il se passe.
Comme vous le verrez dans le code j'ai dû ralentir le flux de Vert sur la fin, à cause du comportement irréaliste du simulateur (qui bloque à 98/100 si le débit est de 4 au lieu de bloquer à 100)
De plus, comme le total de couleurs est de 200, que la capacité maximale du mélangeur est de 100 et que l'automate de sécurité vide le mélangeur quand il est plein, je me suis servi des actions automatiques de cet automate de sécurité pour vider le mélangeur!
En vrai, ne faites pas ça, les arrêts d'urgence ne sont pas des features à utiliser
Flag: FCSC{3518dcd9579b4f2bf4ab32f126aa746e00767d6b130ef6c2e79ae6a313d0ba07}