Procédé et bilan de volume
Cuve TK-762 de 2000 L, section constante 1 m² ; hauteur utile 2 m. Niveau (%) = 100 × V / 2000. Initial : 48 %. Chacune des deux pompes délivre 10 L/s en marche, zéro à l’arrêt. Le modèle suppose des débits constants, des contacteurs idéaux et une inertie inférieure au pas de calcul de 1 s.
V(t+1) = V(t) + Qremplissage − Qsoutirage, en litres pour un pas de 1 s. En régime de transfert, les deux pompes tournent et le volume est stable. Plage normale : 40–60 %. La plage normale est une cible d’exploitation ; elle ne constitue pas un arrêt programmé du remplissage. Alarme d’écart à 65 % au poste HMI si la mesure est fraîche.
Programme A installé : remplissage autorisé si état distant mémorisé = 1, coupure locale haute 95 % non atteinte, protection indépendante non verrouillée. Coupure haute locale verrouillée jusqu’à contrôle local. La coupure 95 % est une limite ultime du programme : LSHH doit agir avant elle. La mesure LT reste raccordée localement à A même si sa transmission au HMI cesse.
Protection indépendante
LSHH-762, capteur et alimentation distincts : niveau ≥ 79 % pendant 2 s consécutives. Deux secondes après le premier échantillon haut (détection à 1 s), elle ouvre la chaîne câblée du contacteur de remplissage et verrouille l’arrêt. Sur dépassement au pas d’1 s, excès maximal de volume ≤ 3 × 10 L. Ni le réseau, ni un acquittement ne réarment cette chaîne.
Dépendance et contrôle de fraîcheur
A lit le retour marche de B toutes les 3 s, délai client 1 s, aucune relance avant le cycle suivant. Prescription : état invalide après 9 s sans réponse ; inhiber le remplissage, pas de reprise automatique. Configuration installée : dernier mot reçu conservé, expiration du permissif désactivée. Le watchdog HMI, indépendant, marque chaque valeur « périmée » après 9 s.
Modbus ne définit pas de qualité ou de fraîcheur universelle : ces règles sont applicatives. Une expiration est une absence de réponse ; une exception aurait une réponse avec fonction 0x83 et code d’exception. Aucune exception ni écriture de consigne n’est supposée ici. Connexions TCP supposées établies, pertes de requêtes silencieuses, reconnexions TCP et retransmissions non représentées ; observateur applicatif simulé, pas un PCAP.
Séquence normale d’arrêt aval
Après l’avis « fin de fenêtre », B arrête le soutirage au délai annoncé dans le journal. L’arrêt de lot est local, autorisé et ne dépend pas du réseau. Retour contacteur au même pas de 1 s. A doit recevoir 0 au cycle suivant et arrêter le remplissage en au plus 3 s ; le léger volume additionnel reste sous LSHH. La même séquence est utilisée dans les contre-épreuves privées.
Topologie, zones et captures
Zone conduite HMI ─┐
Zone procédé A ────┼─ [ CP-I → FW → CP-O ] ─ destinations routées
Zone procédé B ────┘
LR / LSHH ─ canal local indépendant (hors FW)
Chaque équipement est dans un VLAN isolé, adresses privées /32 routées par FW ; pas de communication directe malgré le préfixe commun. CP-I agrège les miroirs d’entrée de toutes les interfaces FW ; CP-O les miroirs de sortie. Une requête autorisée traverse CP-I puis CP-O ; sa réponse CP-I puis CP-O sur le sens retour. Une requête rejetée apparaît uniquement en entrée. Les copies n’indiquent pas seules la cause de l’absence en sortie : recouper journaux et compteurs. La vue HMI seule ne suffirait pas à décrire le réseau entier.
| Équipement / IP | Rôle |
|---|
| PLC-A-762 / 10.91.93.22 | Client de B et serveur HMI, commande remplissage |
| PLC-B-762 / 10.91.93.59 | Serveur Modbus ; commande locale soutirage |
| HMI-762 / 10.91.93.111 | Client de A et B ; affichage et qualité applicative |
| FW-762 / 10.91.93.160 | Routage et politique de flux simulés |
| ENG-762 / 10.91.93.212 | Poste de gestion réseau |
Table Modbus de cette application
TCP 502 ; Unit ID 1 ; FC03 lecture de holding registers ; adresses PDU décimales indexées à zéro. Entiers non signés 16 bits, octet fort en premier. Pas de CRC RTU. Chaque lecture est associée par connexion et transaction. MBAP : protocole 0 ; longueur = Unit ID + PDU.
| Serveur / adresse | Donnée et conversion |
|---|
| B / 670 | Retour soutirage, 0 arrêt / 1 marche, lu par A et HMI |
| A / 680 | Niveau LT, dixièmes de % (mot / 10) |
| A / 681 | Retour remplissage, 0 / 1 |
| A / 682 | Dernier état B conservé par A, 0 / 1 ; ce mot ne contient pas son âge |
HMI lit les trois mots A et un mot B toutes les 3 s. A utilise le port client 41000 et HMI 42000 ; ces ports sont simulés. Fréquences identiques, transactions distinctes.
Ordre autorisé OT-762
Maintenance du port réservé : contrôle de continuité et correction de sa description ; compte maint-ot et session M-762. Fenêtre t=0–15 s. Autorise v1 → v2 pour la description du port uniquement, sans changer la politique B. La liste des flux de transfert doit rester conforme à la politique B, autorisée par l’exploitation. Aucun changement de filtrage de ces flux n’est prévu. Une identité de compte et de session ne prouve pas l’identité d’une personne.
Reprise et maîtrise du risque
Maintenir l’arrêt sûr, préserver les preuves, faire contrôler localement niveau et contacteurs par une personne habilitée. Vérifier LSHH et sa chaîne, cohérence des mesures, politique approuvée, retour des échanges et fraîcheur réelle du permissif ; corriger le repli et le tester. Autorisation d’exploitation puis réarmement local contrôlé. La restauration réseau ou l’acquittement seuls ne permettent pas de redémarrer.