J'ai un petit casse-tête pour les férus de Sioc

Pour rappel, je suis sous PMDG. Toutes les commandes possèdent un numéro. Deux variables sont initialisée à la base et pour allumer une lampe par ex, il faut envoyer 1 dans la 1ere variable et 70354 (le n° de commande) dans la 2eme variable.
Pour éteindre cette lampe, il faut envoyer 0 dans la 1ere variable et 70354 (le n° de commande) dans la 2eme variable.
La variable 2 est remise automatiquement à 0 après une tempo de "sécurité" de qq msec
Cela fonctionne très bien sauf lorsque je m'emballe. En effet, si j'active mes boutons trop vite l'un après l'autre, certain paramètre de la valeur 2 n'ont pas le temps d'être exécuté, qu'ils se font écrasés par le paramètre suivant.
2 solutions :
a) je calme mes ardeurs
b) j'essaye de créer une file d'attente. Si on déclare 2-3 variables de file d'attente et que l'on programme, si ma valeur paramètre n'est pas vide, alors je place la nouvelle valeur dans la file d'attente. Lorsque la valeur init est revenue à zéro (par la tempo sécurité) je transfère la valeur file d'attente vers l'execution...
C'est bien bô mais je sais pas trop comment réaliser cela... Quelqu'un a une piste de départ?

Merci et bon dimanche (sous la neige) à tous