rateControl
Exécuter une boucle à fréquence fixe
Description
L'objet rateControl
permet d'exécuter une boucle à une fréquence fixe. Il collecte également des statistiques sur le timing des itérations de la boucle. Utilisez waitfor
dans la boucle pour suspendre l'exécution du code jusqu'au prochain pas de temps. La boucle fonctionne toutes les DesiredPeriod
secondes, à moins que le code ci-joint prenne plus de temps à fonctionner. L'objet utilise la propriété OverrunAction
pour déterminer comment il gère les temps de fonctionnement des boucles plus longs. Le paramètre par défaut, 'slip'
, exécute immédiatement la boucle si LastPeriod
est supérieur à DesiredPeriod
. L'utilisation de 'drop'
oblige la méthode waitfor
à attendre que le prochain multiple de DesiredPeriod
soit atteint pour exécuter la boucle suivante.
Conseil
La résolution de planification de votre système d'exploitation et le niveau des autres activités du système peuvent affecter la précision de l'exécution du débit. En conséquence, la synchronisation précise du débit est limitée à 100 Hz pour l'exécution du code MATLAB® . Pour améliorer les performances et les vitesses d'exécution, utilisez la génération de code.
Création
Description
crée un objet qui exploite des boucles à un taux fixe en fonction de l'heure de votre système et définit directement la propriété rateObj
= rateControl(desiredRate
)DesireRate
.
Propriétés
Fonctions d'objet
waitfor | Suspendre l'exécution du code pour atteindre le taux d'exécution souhaité |
statistics | Statistiques des périodes d'exécution passées |
reset | Réinitialiser l'objet Rate |