2017-10-16 3 views
0

J'ai une question au sujet de mon sous-système déclenché dans Simulink:Simulink: obtenir le temps de pas dans un sous-système déclenché

Level 0

Ainsi, le Susbsystem est exécuté tous les 0,01 s.

Ma question est: comment puis-je obtenir cette variable (0.01) à l'intérieur de mon sous-système? NB: Je n'ai pas besoin de l'étape de simulation.

Je l'ai déjà pensé à deux solutions: 1) utiliser une horloge numérique avec un bloc de mémoire 2) utiliser un Weighted bloc Sample Time

mais, tous les deux m'a donné une valeur initiale de 0.

avez-vous une solution élégante pour ma tâche

Merci beaucoup. Passez une bonne journée

Répondre

0

La solution la plus simple est d'avoir un bloc d'alimentation constant dans le sous-système. Définissez une variable d'espace de travail MATLAB dt=0.01; et définissez la constante sur dt, et la fréquence d'échantillonnage de votre générateur d'impulsions sur dt.

Vous pouvez également utiliser le bloc Probe pour obtenir le taux d'échantillonnage du signal sortant du générateur d'impulsions et l'alimenter en entrée du sous-système.

0

Une autre méthode consiste à utiliser la commande get_param() dans votre espace de travail. Dans votre cas, il devrait être:

get_param('<path-to-block>/Pulse Generator','Period') 

Cette sortie devrait:

>> ans = 

0.01