Brevet FR2936606A1 — publié le 20100402

Dispositif et procédé de mesure de fréquence dans un module automate La présente invention se rapporte à un dispositif et un procédé de mesure pouvant être employés dans un équipement d'automatisme tel qu'un module d'entrées/sorties d'un automate programmable. Un automate programmable ou PLC ("Programmable Logical Controller") est un équipement d'automatisme capable de piloter, commander et/ou surveiller un ou plusieurs process à automatiser. De construction généralement modulaire, un automate programmable PLC est composé de différents modules qui communiquent entre eux par un bus de transmission, qui peut être notamment le bus dit �fond de panier� (ou �backplane�) d'un rack de fixation des modules. Le nombre de modules dépend bien entendu de la taille et du type de process à automatiser. Typiquement, un automate programmable comprend : un module d'alimentation fournissant les différentes tensions aux autres modules à travers le bus fond de panier, - un module unité centrale qui comporte un logiciel embarqué (�firmware�) intégrant un système d'exploitation (OS) temps réel, et un programme d'application, ou programme utilisateur, contenant les instructions à exécuter par le logiciel embarqué pour effectuer les opérations d'automatisme souhaitées. Le module unité centrale comporte aussi généralement une connexion en face avant vers des outils de programmation de type ordinateur personnel PC, - un ou plusieurs modules de communication vers des réseaux de communication (Ethernet, ...) ou des interfaces homme-machine (écran, clavier,...), - des modules d'entrées/sorties E/S de divers types en fonction du ou des process à commander, tels que E/S numériques, analogiques, de comptage, etc. Ces modules E/S sont reliés à des capteurs et à des actionneurs participant à la gestion automatisée du process. Les modules de comptage offrent généralement une fonction de mesure, notamment une fonction de mesure de fréquence. Cette mesure de fréquence consiste généralement à capturer un nombre d'impulsions dans un intervalle de temps d'échantillonnage prédéterminé et à délivrer ensuite une valeur correspondant au nombre d'impulsions reçues au cours d'une période de mesure également prédéterminée. Selon la gamme de fréquence, la précision de la mesure varie lorsque la période de mesure varie. Pour une période de mesure courte et une gamme de fréquence élevée, la précision est très mauvaise, par exemple de 10% lorsque les impulsions sont reçues à une fréquence de 1000 Hz et que la période de mesure est de 10 millisecondes et la gamme de fréquence de 100 Hz. Inversement, lorsque la période de mesure est plus longue, par exemple de 10 secondes, et que la gamme de fréquence est faible, par exemple de l'ordre de 0,1 Hz, la précision sera très bonne, de l'ordre de 0,01% lorsque les impulsions sont reçues en entrée à une fréquence de 1000 Hz. Cependant, certains systèmes de régulation mis en oeuvre dans un automate programmable nécessitent une période de mesure très faible afin de pouvoir rafraichir la valeur de sortie fréquemment tout en ayant une grande précision de mesure, inférieure à 0,1%, sur une large plage de fréquence allant de 100Hz à 100kHz. L'invention vise à répondre à cet objectif. Le but de l'invention est de proposer un dispositif et une méthode de mesure permettant de pouvoir délivrer une valeur de fréquence précise à quelques milli-Hertz près sur une période de mesure faible, par exemple de l'ordre de 10 millisecondes avec une précision de 0,02% sur une plage de fréquence allant de 100 Hz à 100 kHz. Ce but est atteint par un procédé de mesure mis en oeuvre dans un dispositif de mesure recevant en entrée des impulsions successives à une fréquence déterminée, ledit dispositif comporte : une première horloge délivrant des impulsions à une première fréquence pour former des intervalles de temps fixes successifs, une seconde horloge délivrant des impulsions à une seconde fréquence, un premier compteur pour mesurer le nombre d'impulsions reçues en entrée du dispositif au cours de chaque intervalle de temps fixe défini par la première horloge, un second compteur destiné à mesurer le nombre d'impulsions de la seconde horloge, la valeur du second compteur étant initialisée à chaque impulsion reçue en entrée du dispositif et mémorisée à la fin de chaque intervalle de temps fixe, caractérisé en ce que, pour un intervalle de temps fixe donné, le procédé comporte des étapes de : mémorisation de la valeur du second compteur et de la valeur du premier compteur à la fin de l'intervalle de temps fixe, détermination d'une période de mesure à partir de la durée de l'intervalle de temps fixe, de la valeur du second compteur mémorisée pour cet intervalle ainsi que de la valeur du second compteur mémorisée pour l'intervalle de temps fixe précédent, détermination de la fréquence à laquelle les impulsions sont reçues à partir de la valeur du premier compteur mémorisée et de la période de mesure déterminée. Selon une particularité, la seconde fréquence est supérieure à la première fréquence. Selon une première configuration, la période de mesure est une durée et est 15 calculée à partir de la relation suivante : P=T+ (C20 ù C21) NH2 dans laquelle P correspond à la période de mesure, T à la durée de l'intervalle de temps fixe, C21 au second compteur mémorisé pour l'intervalle de temps fixe donné, C20 au second compteur mémorisé pour l'intervalle de temps fixe précédent et NH2 au 20 nombre d'impulsions délivrées par la seconde horloge pendant une seconde. La fréquence est alors déterminée à partir de la relation suivante : F(Hz) = CPO ou de la relation F(mHz) = CPO x1000 dans lesquelles F correspond à la fréquence et C10 est la valeur du premier compteur (Cl) mémorisée. 25 Selon une seconde configuration, la période de mesure est exprimée en nombre d'impulsions délivrées par la seconde horloge et est calculée à partir de la relation suivante : P'=(NH2xT)+C20ùC21 10 dans laquelle P' correspond à la période de mesure, T à la durée de l'intervalle de temps fixe, C21 à la valeur du second compteur mémorisée pour l'intervalle de temps fixe (t2) donné, C20 à la valeur du second compteur mémorisée pour l'intervalle de temps fixe (Ti) précédent et NH2 le nombre d'impulsions délivrées par la seconde horloge pendant une seconde. La fréquence est alors déterminée à partir de la relation suivante : F(Hz) = Cl pNH2 ou de la relation suivante F(mHz) = Cl pNH2 x1000 dans lesquelles F correspond à la fréquence et C10 est la valeur du premier compteur (Cl) mémorisée. Selon l'invention, la valeur du premier compteur est initialisée à la valeur 0 à chaque début d'un nouvel intervalle de temps fixe délivré par la première horloge ou à la valeur 1 si une impulsion a été reçue lors de la mémorisation du premier compteur à la fin de l'intervalle de temps fixe. L'invention concerne également un dispositif de mesure, apte à mettre en oeuvre le procédé de mesure défini ci-dessus, ledit dispositif comportant : une première horloge délivrant des impulsions à une première fréquence pour former des intervalles de temps fixes successifs, une seconde horloge délivrant des impulsions à une seconde fréquence, un premier compteur pour mesurer le nombre d'impulsions reçues en entrée du dispositif au cours de chaque intervalle de temps fixe défini par la première horloge, un second compteur destiné à mesurer le nombre d'impulsions de la seconde horloge, la valeur du second compteur étant initialisée à chaque impulsion reçue en entrée du dispositif et mémorisée à la fin de chaque intervalle de temps fixe, des moyens de mémorisation de la valeur du premier compteur à la fin d'un intervalle de temps fixe défini par la première horloge, d'une première valeur du second compteur pour cet intervalle de temps fixe et d'une seconde valeur du second compteur pour l'intervalle de temps fixe précédent, 25 30 des moyens de détermination d'une période de mesure à partir de la durée de l'intervalle de temps fixe, de la première valeur du second compteur et de la seconde valeur du second compteur, des moyens de détermination de la fréquence à laquelle les impulsions sont reçues à partir de la valeur du premier compteur mémorisée et de la période de mesure déterminée. D'autres caractéristiques et avantages vont apparaître dans la description détaillée qui suit en se référant à un mode de réalisation donné à titre d'exemple et 1 o représenté sur les dessins annexés définis ci-après : la figure 1 représente un diagramme illustrant le principe de fonctionnement de l'invention. Le procédé de mesure de l'invention est destiné à être mis en oeuvre dans un 15 dispositif de mesure intégré par exemple dans un équipement d'automatisme tel qu'un module d'entrées/sorties de type comptage d'un automate programmable. Un module de comptage reçoit ainsi sur l'une de ses entrées des impulsions 2 (figure 1) successives à une fréquence F déterminée. Le module de comptage, grâce au procédé et au dispositif de l'invention, calcule cette fréquence F et peut l'envoyer sur 20 l'une de ses sorties, par exemple à destination d'un autre module d'entrées/sorties. Le dispositif comporte des moyens de traitement, de mémorisation ainsi que des moyens logiciels non représentés sur la figure 1 permettant de mettre en oeuvre le procédé de l'invention. En référence à la figure 1, le dispositif comporte tout d'abord une première 25 horloge H1 destinée à délivrer des impulsions 1 à une première fréquence FH1 de manière à former des intervalles de temps T fixes successifs. Chaque intervalle de temps T fixe dure par exemple 10 millisecondes. La fréquence F est par exemple calculée par les moyens de traitement du dispositif à la fin de chaque intervalle de temps T défini par la première horloge H1. 30 Le dispositif comporte une seconde horloge H2 délivrant des impulsions 3 à une seconde fréquence FH2i la seconde fréquence FH2 étant très supérieure à la première fréquence FH1. Cette seconde horloge H2 est utilisée pour affiner la première horloge H1. Cette seconde horloge H2 fonctionne par exemple à une fréquence FH2 de 4 MHz. Les fréquences de la première horloge H1 et de la seconde horloge peuvent être fournies par des oscillateurs à quartz ou par des subdivisions d'oscillateurs à quartz. Le dispositif comporte également un premier compteur Cl destiné à comptabiliser le nombre d'impulsions 2 reçues en entrée du module au cours de chaque intervalle de temps T fixe défini par la première horloge H1. A la fin de chaque 1 o intervalle de temps T, le dispositif mémorise la valeur (par exemple C10 sur la figure 1) du premier compteur Cl et l'utilise pour calculer la fréquence des impulsions 2 reçues en entrée du module. Le premier compteur Cl est initialisé à la valeur 0 au début de chaque nouvel intervalle de temps T ou est initialisé à la valeur 1 si une impulsion est reçue en entrée du module alors que celui-ci est en cours de mémorisation de la 15 valeur du premier compteur Cl à la fin de l'intervalle de temps T. Le dispositif comporte un second compteur C2 destiné à comptabiliser le nombre d'impulsions 3 délivrées par la seconde horloge H2. La valeur du second compteur C2 est initialisée à chaque nouvelle impulsion 2 reçue en entrée du module et est mémorisée uniquement à la fin de chaque intervalle de temps T fixe défini par la 20 première horloge H1. Par conséquent la valeur du second compteur C2 mémorisée correspond au nombre d'impulsions délivrées par la seconde horloge H2 entre la dernière impulsion 2 reçue en entrée et la fin de l'intervalle de temps T fixe défini par la première horloge H1. La valeur du second compteur C2 mémorisée à la fin de chaque intervalle de temps T est conservée au moins jusqu'à la fin de l'intervalle de temps fixe 25 suivant, de sorte qu'à la fin de chaque intervalle T, le dispositif dispose dans ses moyens de mémorisation de la valeur du second compteur C21 associé à l'intervalle de temps fixe T2 qui vient de se terminer et la valeur du second compteur C20 de l'intervalle de temps fixe Ti précédent. Le principe de l'invention consiste donc à utiliser les deux compteurs Cl, C2 30 distincts définis ci-dessus. Le premier compteur Cl permet de compter le nombre d'impulsions 2 reçues en entrée du module au cours d'un intervalle de temps T fixe déterminé tandis que le deuxième compteur C2 permet d'effectuer un calcul précis d'une période de mesure P définie entre deux impulsions 2 reçues afin de pouvoir déterminer la fréquence F à laquelle sont reçues les impulsions. Pour cela, le dispositif calcule d'abord la période de mesure P de la manière suivante (bloc 10 sur la figure 1) : P=T+ (C20 ùC21) NH2 Dans laquelle la période P calculée et l'intervalle de temps T sont exprimés en secondes. NH2 correspond au nombre d'impulsions 3 délivrées par la seconde horloge H2 au cours d'une seconde. C21 et C20 sont les valeurs du second compteur respectivement pour l'intervalle de temps T2 qui vient de se terminer et pour l'intervalle de temps Ti précédent. En considérant la période P définie précédemment, la valeur de la fréquence F à laquelle sont reçues les impulsions en entrée du module peut alors être exprimée en Hertz en valeur décimale ou en milli-Hertz en valeur absolue selon les relations suivantes (bloc 11 sur la figure 1) : F(Hz) = Cp0 F(mHz) = Cp0 x1000 dans lesquelles C10 correspond à la valeur du premier compteur Cl à la fin de l'intervalle de temps T qui vient de se terminer. La fréquence de la seconde horloge H2 est par exemple égale à 4 MHz donnant une erreur maximale de 0,5�s (2x0,25ps) à la valeur de la période de mesure P calculée. Par exemple, pour un intervalle de temps T de 10ms, cette erreur sur la valeur de la période de mesure P garantit une erreur théorique maximale de 0,005% soit 50ppm de la valeur de la fréquence F calculée. Pour une fréquence de 100 Hz, l'erreur sera donc de 5mHz. Selon une variante de réalisation, la fréquence peut également être calculée de la manière suivante (blocs 10 et 11 sur la figure 1): P'=N+C20ùC21 F' (Hz) = C10PxNH2 ou F' (mHz) = C10PxNH2 x1000 Dans cette variante de réalisation, la période de mesure P' est exprimée en nombre d'impulsions. L'intervalle de temps T exprimé en secondes, défini par la première horloge H1, correspond alors à N=NH2xT impulsions de la seconde horloge H2 si la seconde horloge oscille à une fréquence FH2 délivrant NH2 impulsions au cours d'une seconde. L'intervalle de temps T fixe défini par la première horloge H1 est par exemple de 10 millisecondes, ce qui correspond à 40.000 impulsions de la seconde horloge H2 si la seconde horloge oscille à une fréquence FH2 de 4MHz. Par ailleurs, la fréquence est déterminée en considérant que dans une seconde, la seconde horloge délivre NH2 impulsions ce qui, pour le nombre d'impulsions de la période P', correspond à une durée de P'/NH2. Au cours de cette durée, le module a reçu un nombre d'impulsions égal à la valeur C10 du compteur Cl, ce qui correspond à une impulsion toutes les (P'/NH2)/C10. On obtient alors la fréquence F' de réception des impulsions définie ci-dessus. Cette variante de réalisation permet de réaliser le calcul en valeur entière, c'est-à-dire en évitant les calculs flottants, tout en s'approchant de la précision théorique du principe précédent. Par exemple, pour un intervalle de temps T de 10ms et une seconde horloge H2 oscillant à 4MHz, on obtient alors : F' (mHz) = C1 0x (4.000.000.000) 40000 + C20 - C21 (4.000.000.000) L'erreur apportée par le terme est ainsi inférieure à 40000 + C20 - C21 2/100.000. L'erreur globale de la mesure sera donc de l'ordre de 50ppm (selon le calcul fait précédemment pour le principe de base) auquel on ajoute une erreur de 0,2 ppm (liée au terme ci-dessus) et une erreur de 150ppm (liée au quartz utilisé). Il est bien entendu que l'on peut, sans sortir du cadre de l'invention, imaginer d'autres variantes et perfectionnements de détail et de même envisager l'emploi de moyens équivalents. REVENDICATIONS1. Procédé de mesure mis en oeuvre dans un dispositif de mesure recevant en entrée des impulsions (2) successives à une fréquence déterminée, ledit dispositif comporte : une première horloge (H1) délivrant des impulsions (1) à une première fréquence (FH1) pour former des intervalles de temps (T) fixes successifs, une seconde horloge (H2) délivrant des impulsions à une seconde fréquence (FH2), un premier compteur (Cl) pour mesurer le nombre d'impulsions reçues en entrée du dispositif au cours de chaque intervalle de temps (T) fixe défini par la première horloge (H1), un second compteur (C2) destiné à mesurer le nombre d'impulsions de la seconde horloge (H2), la valeur du second compteur (C2) étant initialisée à chaque impulsion reçue en entrée du dispositif et mémorisée à la fin de chaque intervalle de temps (T) fixe, caractérisé en ce que, pour un intervalle de temps fixe (T2) donné, le procédé comporte des étapes de : mémorisation de la valeur (C21) du second compteur (C2) et de la valeur 20 (C10) du premier compteur (C1) à la fin de l'intervalle de temps (T2) fixe, détermination d'une période de mesure (P, P') à partir de la durée de l'intervalle de temps (T2) fixe, de la valeur du second compteur (C21) mémorisée pour cette intervalle ainsi que de la valeur (C20) du second compteur (C2) mémorisée pour l'intervalle de temps (Ti) fixe précédent, 25 détermination de la fréquence (F, F') à laquelle les impulsions (2) sont reçues à partir de la valeur (C10) du premier compteur mémorisée (Cl) et de la période de mesure (P, P') déterminée. 2. Procédé selon la revendication 1, caractérisé en ce que la seconde fréquence (FH2) est supérieure à la première fréquence (FH1). 30 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que la période de mesure (P) est une durée. 15 4. Procédé selon la revendication 3, caractérisé en ce que la période de mesure (P) est calculée à partir de la relation suivante : P=T+ (C20ùC21) NH2 dans laquelle P correspond à la période de mesure, T à la durée de l'intervalle de temps fixe, C21 au second compteur mémorisé pour l'intervalle de temps fixe donné, C20 au second compteur mémorisé pour l'intervalle de temps fixe précédent et NH2 au nombre d'impulsions délivrées par la seconde horloge pendant une seconde. 5. Procédé selon la revendication 4, caractérisé en ce que la fréquence est déterminée à partir de la relation suivante : F(Hz) = Cp0 ou de la relation F(mHz) = Cp0 x1000 dans lesquelles F correspond à la fréquence et C10 est la valeur du premier compteur (Cl) mémorisée. 6. Procédé selon la revendication 1 ou 2, caractérisé en ce que la période de mesure (P') est exprimée en nombre d'impulsions délivrées par la seconde horloge (H2). 7. Procédé selon la revendication 6, caractérisé en ce que la période de mesure (P') est calculée à partir de la relation suivante : P'= (NH2xT) + C20 ù C21 dans laquelle P' correspond à la période de mesure, T à la durée de l'intervalle de temps fixe, C21 à la valeur du second compteur mémorisée pour l'intervalle de temps fixe (t2) donné, C20 à la valeur du second compteur mémorisée pour l'intervalle de temps fixe (Ti) précédent et NH2 le nombre d'impulsions délivrées par la seconde horloge pendant une seconde. 8. Procédé selon la revendication 7, caractérisé en ce que la fréquence est déterminée à partir de la relation suivante : F' (Hz) = Cl pNH2 ou de la relation suivante F' (mHz) = C1 pNH2 x1000 dans lesquelles F' correspond à la fréquence et C10 est la valeur du premier compteur (Cl) mémorisée. 9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce que la valeur du premier compteur (Cl) est initialisée à la valeur 0 à chaque début d'un nouvel intervalle de temps (T) fixe délivré par la première horloge (H1) ou à la valeur 1 si une impulsion a été reçue lors de la mémorisation du premier compteur (C1) à la fin de l'intervalle de temps fixe (T). 10. Dispositif de mesure, apte à mettre en oeuvre le procédé de mesure défini dans l'une des revendications 1 à 9, ledit dispositif étant caractérisé en ce qu'il comporte : une première horloge (H1) délivrant des impulsions à une première fréquence (FH1) pour former des intervalles de temps (T) fixes successifs, une seconde horloge (H2) délivrant des impulsions à une seconde fréquence (FH2), un premier compteur (Cl) pour mesurer le nombre d'impulsions (2) reçues en entrée du dispositif au cours de chaque intervalle de temps fixe (T) défini par la première horloge (H1), un second compteur (C2) destiné à mesurer le nombre d'impulsions de la seconde horloge (H2), la valeur du second compteur (C2) étant initialisée à chaque impulsion reçue en entrée du dispositif et mémorisée à la fin de chaque intervalle de temps fixe, des moyens de mémorisation de la valeur (C10) du premier compteur (Cl) à la fin d'un intervalle de temps fixe (T2) défini par la première horloge (H1), d'une première valeur (C21) du second compteur (2) pour cet intervalle de temps fixe (T2) et d'une seconde valeur (C20) du second compteur (2) pour l'intervalle de temps fixe (Ti) précédent, 25 - des moyens de détermination d'une période de mesure (P, P') à partir de la durée de l'intervalle de temps fixe, de la première valeur (C21) du second compteur (C2) et de la seconde valeur (C20) du second compteur (C2), des moyens de détermination de la fréquence (F, F') à laquelle les 30 impulsions (2) sont reçues à partir de la valeur (C10) du premier compteur (Cl) mémorisée et de la période de mesure (P, P') déterminée. 11. Dispositif selon la revendication 10, caractérisé en ce que la seconde fréquence (FH2) est supérieure à la première fréquence (FH1). 20 12. Dispositif selon la revendication 10 ou 11, caractérisé en ce que la période de mesure (P) est une durée. 13. Dispositif selon la revendication 12, caractérisé en ce que la période de mesure (P) est calculée à partir de la relation suivante : P=T+(C20ùC21) NH2 dans laquelle P correspond à la période de mesure, T à la durée de l'intervalle de temps fixe, C21 à la valeur du second compteur mémorisée pour un intervalle de temps fixe, C20 à la valeur du second compteur mémorisée pour l'intervalle de temps fixe précédent et NH2 au nombre d'impulsions délivrées par la seconde horloge 1 o pendant une seconde. 14. Dispositif selon la revendication 13, caractérisé en ce que la fréquence est déterminée à partir de la relation suivante : F(Hz) = Cp0 ou de la relation F(mHz) = C110 x1000 dans lesquelles F correspond à la fréquence et C10 est la valeur du premier compteur (Cl). 15 15. Dispositif selon la revendication 10 ou 11, caractérisé en ce que la période de mesure (P') est exprimée en nombre d'impulsions délivrées par la seconde horloge (H2). 16. Dispositif selon la revendication 15, caractérisé en ce que la période de mesure (P') est calculée à partir de la relation suivante : 20 P'= (NH2xT) + C20 ù C21 dans laquelle P' correspond à la période de mesure, T à la durée de l'intervalle de temps fixe, C21 à la valeur du second compteur mémorisée pour un intervalle de temps fixe et C20 à la valeur du second compteur (C2) mémorisée pour l'intervalle de temps précédent et NH2 au nombre d'impulsions délivrées par la seconde horloge 25 pendant une seconde. 17. Dispositif selon la revendication 16, caractérisé en ce que la fréquence est déterminée à partir de la relation suivante :F' (Hz) = C10PxNH2 ou F' (mHz) = C1 OxNH2 x1000 dans lesquelles F' correspond à la fréquence et C10 est la valeur du premier compteur (Cl). 18. Dispositif selon l'une des revendications 10 à 17, caractérisé en ce que le premier compteur (Cl) est initialisé à la valeur 0 à chaque début d'un nouvel intervalle de temps (T) fixe délivré par la première horloge (H1) ou à la valeur 1 si une impulsion a été reçue lors de la mémorisation du premier compteur (Cl).