premier commit
This commit is contained in:
24
content/accomplissements/IMEMA.md
Normal file
24
content/accomplissements/IMEMA.md
Normal file
@@ -0,0 +1,24 @@
|
||||
+++
|
||||
title = "IMEMA"
|
||||
+++
|
||||
|
||||
Interface Modbus pour l'Enregistrement des Mesures d'Automates
|
||||
|
||||
J'ai travaille sur ce projet dans le cadre de mon travail en tant que technicien en automatisme pour le service de la Maitrise de l'Energie de la ville de Besancon.
|
||||
|
||||
Ce projet consiste a journaliser des valeurs recueillies dans des automates utilises pour les chaufferies et centrales de traitement de l'air present sur le reseau informatique de la ville.
|
||||
Pour realiser cet objectif j'ai fais appel a mes connaissances en langage de programmation Rust, pour la partie PC, et Structure, pour la partie automate.
|
||||
|
||||
Pour la partie PC en Rust, j'ai utilise les crates tokio_modbus, tokio, chrono et csv.
|
||||
Le programme s'articule ainsi :
|
||||
- Le processus ouvre un fichier de configuration qui contient les adresses IP v4 de tout le reseau automate ainsi que le nom des sites physique et la quantite de registre modbus a lire.
|
||||
|
||||
- Le processus etabli une connexion avec un automate via son IP
|
||||
- Les valeurs de registre sont lues dans le DataBlock expose par l'automate
|
||||
- Ces valeurs sont parsees puis ecrite dans une nouvelle entree du fichier .csv propre au site
|
||||
|
||||
Le programme itere sur les adresses IP en suivant cette boucle jusqu'a ce que toutes les adresses soient traitees.
|
||||
Apres une pause de 15 minutes, le processus relance un nouveau cycle de lecture des registres sur tout le reseau automate.
|
||||
|
||||
|
||||
Pour la partie Automate, j'ai mis en place un serveur modbus grace au bloc fourni par le constructeur et ai expose les registres voulu avec un DataBlock dedie.
|
||||
Reference in New Issue
Block a user