Aperçu de la CR3000
OV2.3.3 Scrutations à séquence lente (Slow Sequence Scans)
OV2.3.4 Tâche prioritaire (Task Priority)
OV-10
les mesures conditionnelles sont permises en mode séquentiel. Le temps exacte
de chaque mesure peut varier si d'autres mesures ou traitements sont effectués
sous condition, si il y a une importante activité de communication ou d'autres
interruptions (comme par exemple l'insertion de la carte Compact Flash).
La centrale de mesure a la possibilité d'effectuer une ou plusieurs scrutations
(échantillonnages) que seront écrites et exécutées en dehors des instructions
placées entre « Scan/NextScan ». Ces scrutations, répertoriées comme des
scrutations à séquence lente, fonctionnent typiquement à un niveau plus lent
que la scrutation principale. Jusqu'à quatre séquences lentes peuvent être
définies dans un programme (les séquences lentes sont déclarées avec
l'instruction SlowSequence).
Les instructions dans une scrutation à séquence lente sont exécutées lorsque la
scrutation principale n'est pas active. Lorsque le mode pipeline fonctionne, les
mesures de séquence lente seront découpées et exécutées à la suite des mesures
du programme principal, en fonction du temps restant de disponible. En raison
de ce mode de découpage, les mesures d'une séquence lente peuvent être
réparties et exécutées au cours de plusieurs scrutations principales différentes.
En mode séquentiel, toutes les instructions dans les séquences lentes sont
exécutées dans l'ordre où elles sont écrites dans le programme (voir la tâche
prioritaire, ci-dessous).
Considérant les informations ci-dessus au sujet des modes « pipeline » et
séquentiel, vous devez aussi considérer que certaines séquences dans le
programme doivent avoir des priorités plus grandes que d'autres séquences du
programme, et que généralement les tâches de mesure prennent le pas sur
toutes les autres. De plus, les priorités de séquence sont différentes pour le
mode « pipeline » et le mode séquentiel.
Lorsque le programme fonctionne en mode « pipeline », les tâches de mesure
ont la priorité sur toutes les autres tâches. Les mesures dans le programme
principal ont la priorité la plus élevée, puis l'étalonnage de fond, suivie par les
mesures en séquences lentes si elles sont définies. L'exécution des tâches de
traitement est gérée par un séquenceur de tâches, et toutes les tâches ont la
même priorité. Lorsqu'une condition est validée pour démarrer une tâche, elle
sera mise en file d'attente (cette condition validée peut être basée sur le temps,
le déclenchement de WaitDigTrig, l'expiration de l'instruction Delay, ou un
appel sur le port COM de la communication). Parce que les tâches ont la même
priorité, la tâche est mise à la fin de la file d'attente. Toutes les 10 msec (ou
plus rapidement si une nouvelle tâche est déclenchée) la tâche en cours
d'exécution est suspendue et mise à la fin de la file d'attente, et la tâche
suivante dans la file d'attente commence à s'exécuter. De cette manière, toutes
les tâches ont un temps de traitement équivalent par la centrale de mesure. La
seule exception à ce mode opératoire sera lorsqu'une tâche de mesures est
déclenchée selon un basculement d'état (triggered). Si la centrale de mesure
n'est pas capable d'accomplir une mesure lorsque le séquenceur de tâche
s'exécute, la tâche sera suspendue jusqu'à ce que la mesure soit effectuée.
Lorsque le mode séquentiel fonctionne, la centrale de mesure utilise un
système de file d'attente pour les tâches de traitement qui est similaires à celui