Cours 4D gestion des données en différé, tutoriel en programmation pdf.
Détaillons un peu le contenu de la fenêtre :
Cours langage 4D, les variables ‘outs’ et ‘dirs’ sont des mots réservés du BS (comme ‘document’ ou ‘ok’ en 4D) et permettent de fixer l’état initial des 16 ports du BS. Dans notre exemple, la variable dir fixe les 16 ports en sortie et la variable outs fixe les 16 ports à l’état bas.
Par la suite, l’instruction High 1 passe le port spécifié (1 dans notre exemple) à l’état haut ce qui a pour effet d’activer la broche ‘rst’ (reset) du DS1620.
La commande Shiftout permet en une seule passe de configurer certaines broches en port RS232 et d’envoyer la valeur spécifiée. Dans notre cas, le port 3 sera le port de données et le port 1 correspondra au signal d’horloge (clock). Lsbfirst permet de spécifier l’ordre d’envoi des données (byte swapping). [238] est la valeur à envoyer. Cette valeur correspond à un ordre reconnu du DS1620 lui donnant l’ordre d’effectuer des conversions à la volée.
En résumé, le programme fait appel principalement aux commandes Shiftin et Shiftout qui permettent de recevoir et d’envoyer des données sur telle ou telle sortie (de 1 à 16) du microcontrôleur. Les instructions Low et High permettent d’activer ou non telle ou telle sortie du microcontrôleur.
L’instruction Debug permet d’envoyer des données sur le port RS 232 par defaut du Basic Stamp. C’est par cette commande que les données seront renvoyées à 4D.
Les données seront renvoyées en flux continu toutes les secondes. Il importe donc, au niveau de 4D, d’être suffisamment rapide pour traiter ces données sous peine d’en perdre…
Dans le cas présent, il ne devrait pas y avoir de problème puisqu’il n’y a qu’un envoi par seconde.
Bien entendu, une telle configuration révèle un certain nombre de faiblesses. On notera par exemple, le fait que 4D crée un enregistrement toutes les secondes. Il sera sans doute plus judicieux de stocker les différents relevés dans un blob dont on limitera la taille et de créer un nouvel enregistrement dès que cette taille est atteinte. Il faudra aussi prévoir de supprimer les enregistrements dont les valeurs ne servent plus.
Gestion des données en différé
Dans ce cas, la stratégie est complètement différente. Il s’agira d’enregistrer les données du capteur au niveau du microcontrôleur (dans l’eeprom) et de récupérer ces données par paquets une fois par mois ou par semaine. La fréquence de récupération sera dictée par l’utilisation que l’on souhaite faire de ces données mais aussi par la taille de la mémoire du microcontrôleur (capacité de stockage) ainsi que par la fréquence des mesures.
L’organigramme de fonctionnement ne change pas vraiment coté 4D. La différence se trouve au niveau du microcontrôleur puisque l’écriture des données se fait au niveau de l’eeprom. Il suffira donc à 4D d’interrompre le microcontroleur qui du coup passera dans un sous programme lui envoyant le contenu de la mémoire.
……..
Cours 4D gestion des données en différé (348 KO) (Cours PDF)