Root » Serveurs » Chauffage » Mon installation » Logiciel
L'intelligence du système:
le logiciel
Software
Sans logiciel, pas de commande du chauffage central. Bien que je sois adepte du "less is more" et du "code and debug", je n'arrive pas à moins de 2000 lignes de code pour le module de commande à lui seul.
-

-

L'intelligence


L'écran principal du logiciel

Le programme de controle lit les températures, commande les vannes, règle la vitesse du circulateur et supervise le fonctionnement de la chaudière. Le programme effectue également des tâches ménagères: commande de l'écran LCD, indication du statut et acceptation des ordres manuels. Toutes les minutes, l'état détaillé du système est copié dans un fichier. Ce programme est continuellement actif.

Les fichiers temporaires et les logs sont placés sur un RAMDISK (un disque virtuel en mémoire vive) pour éviter que le disque dur ne soit remis en route toutes les minutes. Toutes les données sont recopiées sur le disque dur avant l'arrêt du programme.

Le serveur web qui tourne également sur le même ordinateur lit les données à partir du ramdisk. Le serveur peut à son tour modifier les paramètres du programme principal (changement d'une température de consigne, par exemple) via cgi-bin. Il est ainsi possible de commander le chauffage à distance.

Entretemps, le disque dur classique a été remplacé par un SSD (Solid State Disk) qui consomme moins et qui est pratiquement inusable. Ces disques s'usent à l'écriture, et toutes les données temporaires sont placées sur un disque virtuel.

La capacité de tels disques est limitée (à l'époque 32GB), mais ce n'est pas un problème car windows 98SE n'a besoin que de 100MB (comparez cela aux 2GB minimum de windows vista). Le disque dur SSD a un interface ATA traditionnel, car SATA n'était pas connu à l'époque. Pour démarrer à partir d'un interface SATA, il faut au moins XP. Et évidemment un ordinateur un peu plus récent que celui que j'utilise...

J'utilise un vrai langage de programmation (powerbasic) qui permet de commander directement le port sériel et parallèle, qui travaille avec toutes sortes de variables au niveau élémentaire (et pas avec des ”variants“) et est particulièrement adapté pour la commande de machines. C'est un langage qui travaille pratiquement en temps réel (sans appel à des routines extérieures pour effectuer les tâches les plus menues). Le "presque temps réel" est bien évidemment nécessaire pour la commande d'un système de chauffage!


Un vrai langage de programmation permet de commander directement des machines

Serveur web

Il y a un serveur web qui tourne sur le même ordinateur. Ce serveur ne fournit que les pages dynamiques relatives au chauffage central. Toutes les autres pages sont produites par un second ordinateur plus petit qui reste en fonction toute l'année. En fin de saison de chauffe, le système est mis à l'arrêt et les pages dynamiques ne sont plus disponibles.

Les pages dynamiques fournissent l'état des vannes, la puissance du circulateur, l'état de la chaudière (arrêt, veilleuse, marche normale, condition d'erreur) et les différentes températures.

Les graphiques sont également possibles et les données sont collectées à partir du disque virtuel ramdisk. Chaque fois qu'une page dynamique est demandée, le programme correspondant est lancé. Ce programme bâtit alors la page que vous voyez. Le programme peut même interférer avec le programme principal par la modification de certains paramètres.

A droite, mon écran d'ordinateur. Je modifie le logiciel du chauffage via VNC (il n'y a malheureusement pas de remote desktop sous windows 98) à partir de mon ordinateur dans le living (l'ordinateur de commande est situé dans la cave).

Il est aisé de modifier le rendu des pages dynamiques à partir de la programmation en powerbasic. Powerbasic est tout aussi à l'aise quand il s'agit de commander un processus industriel ou de générer des pages web. Le forum du Préventorium Marin est basé sur des programmes powerbasic.

Publicités - Reklame

-