[M221] Scrutation et mesure temporelle de signaux
Posté : 07 oct. 2025, 18:04
Bonjour à tous,
J'utilise un m221 de chez Schneider et je souhaite mesurer la durée écoulée entre 2 signaux en ms.
Pour cela j'ai fait un petit test avec une tempo TON, et je mesure la durée écoulée entre l'entrée et la sortie (stockée dans des bits internes %M). Pour la durée, tant que le OUT n'est pas déclenché, j'incremente ma dernière valeur de scrutation de la tâche maître avec la dernière valeur calculée (via les mots systèmes %SW).
À ma grande surprise, pour une TON (ou une TOF) réglée à une valeur de référence 1000ms, je mesure en effectif 440ms écoulée... La valeur obtenue dépend de la valeur de réglage (rapport entre 3 et 4 entre le résultat obtenu et la valeur de référence).
Je m'attendais à trouver 1000ms +/- 1 cycle automate à 1ms environ. Le dernier cycle mesuré pour le calcul est bien égal à celui affiché sur BASIC (env 1ms), et ma tempo est mis à 1 une seule fois (1 seul front montant sur l'entrée, pas d'effet train d'impulsion).
J'ai tout essayé : TON / TOF / déplacer la ligne de code avant ou après la tempo ... toujours le même résultat aberrant.
Ma période est réglée en scrutation "libre" (donc démarrage du nouveau cycle en suivant de l'ancien sans tempo). Est ce que mon résultat est dû à la configuration de ma tâche maître qui doit être en périodique (ex : 2 ms) ?
En quoi cette configuration peut changer le résultat ? Y a un truc que j'ai pas compris dans la doc Schenider ... merci pour vos lanternes.
J'utilise un m221 de chez Schneider et je souhaite mesurer la durée écoulée entre 2 signaux en ms.
Pour cela j'ai fait un petit test avec une tempo TON, et je mesure la durée écoulée entre l'entrée et la sortie (stockée dans des bits internes %M). Pour la durée, tant que le OUT n'est pas déclenché, j'incremente ma dernière valeur de scrutation de la tâche maître avec la dernière valeur calculée (via les mots systèmes %SW).
À ma grande surprise, pour une TON (ou une TOF) réglée à une valeur de référence 1000ms, je mesure en effectif 440ms écoulée... La valeur obtenue dépend de la valeur de réglage (rapport entre 3 et 4 entre le résultat obtenu et la valeur de référence).
Je m'attendais à trouver 1000ms +/- 1 cycle automate à 1ms environ. Le dernier cycle mesuré pour le calcul est bien égal à celui affiché sur BASIC (env 1ms), et ma tempo est mis à 1 une seule fois (1 seul front montant sur l'entrée, pas d'effet train d'impulsion).
J'ai tout essayé : TON / TOF / déplacer la ligne de code avant ou après la tempo ... toujours le même résultat aberrant.
Ma période est réglée en scrutation "libre" (donc démarrage du nouveau cycle en suivant de l'ancien sans tempo). Est ce que mon résultat est dû à la configuration de ma tâche maître qui doit être en périodique (ex : 2 ms) ?
En quoi cette configuration peut changer le résultat ? Y a un truc que j'ai pas compris dans la doc Schenider ... merci pour vos lanternes.