Etape
|
Action
|
---|---|
1
|
Regroupez les symboles par type : ne mélangez pas les bits de sortie et les registres.
|
2
|
Si possible, classez les symboles dans l'ordre croissant.
|
3
|
Essayez de définir des blocs de symboles (c'est-à-dire, des adresses de symboles contiguës). Ces blocs seront traités dans une seule requête de bas niveau.
|
|STATION:0.0 16 |Bit_mem1|%M0|0|0|1|1|1|false |Bit_mem2|%M1|0|0|1|1|1|false |Bit_mem3|%M2|0|0|1|1|1|false |Bit_mem4|%M4|0|0|1|1|1|false |Bit_mem5|%M5|0|0|1|1|1|false |Bit_mem6|%M6|0|0|1|1|1|false |Engine_Brake_lvl|%MW0|0|0|4|1|1|false |Engine_Brake_dsk|%MW1|0|0|4|1|1|false |Engine_gauge_1|%MW2|0|0|4|1|1|false |Engine_gauge_2|%MW3|0|0|4|1|1|false |Engine_gauge_3|%MW4|0|0|4|1|1|false |Engine_gauge_4|%MW5|0|0|4|1|1|false |Engine2_Brake_lvl|%MW100|0|0|4|1|1|false |Engine2_Brake_dsk|%MW101|0|0|4|1|1|false |Engine2_gauge_1|%MW102|0|0|4|1|1|false |Engine2_gauge_2|%MW103|0|0|4|1|1|false |Engine2_gauge_3|%MW104|0|0|4|1|1|false |Engine2_gauge_4|%MW105|0|0|4|1|1|false 0 1 false
Etape
|
Action
|
---|---|
1
|
Dans la mesure où les symboles sont mélangés, la première étape d'optimisation consiste à trier les bits de sortie et les registres.
|
2
|
Au cours de cette étape, les symboles de même type sont triés par adresse. La requête SOAP n'étant pas correctement ordonnée, les données doivent être traitées pendant cette étape.
Au terme de cette étape, nous disposons de deux tableaux : un avec un bit de sortie et un autre avec quatre registres :
![]() |
3
|
Cette étape doit permettre de trouver les adresses contiguës. Puisqu'il n'y en a aucune, nous avons cinq blocs composés d'une adresse.
Résultat final : cinq requêtes de bas niveau ont été envoyées à l'UC.
|