ISSLg - Cours d'électronique
Utilisation d'un PC comme automate
Navigation> electronique/automatisme/PC
Un
ajoutant de l'électronique autour/dans un PC, il est possible de
transformer ce PC en automate. Cette électronique a pour fontion de
transformer les signaux d'entrées générés par des capteurs en signaux
digitaux pour le PC, ainsi que de transformer les signaux digitaux de
commande du PC en signaux de sorties via des relais, des moteurs, des
transduceurs...
La liaison de mon automate via quel port du PC ?
Généralement
tout l'interfaçage entrées/sorties de l'automate se trouve en-dehors du
PC (voir remarque ci-après), le PC ne s'occupant que du traitement
numérique de ces signaux. Le PC doit donc dialoguer en permanence avec
l'automate, mais via quel port de communication ?
Du plus simple au plus compliqué :
Les ports LPT
Avantages : pas besoin de µC dans l'automate, très simple à programmer sous Linux, simple à programmer sous Windows 98, rapide.
Désavantage
: ce port est en cours d'abandon, un peu plus compliqué à programmer
depuis Windows 2000, courte distance de
communication (quelques mètres, sauf astuce).
Les ports COM
Avantages : pas trop compliqué à programmer sous tous les OS.
Désavantage
: nécessite un µC dans l'automate... et sa programmation, lent,
distance moyenne mais ne permet que du point-à-point (un port COM par
automate).
Les ports USB
Avantages : très rapide, port présent sur tous les PC, possibilité de connecter plusieurs équipements sur un même port USB.
Désavantage
: nécessite un µC dans l'automate... et sa programmation, programmation
complexe tant au niveau du PC que du µC, courte distance de
communication (quelques mètres, sauf astuce).
Les ports Ethernet
Avantages
: très rapide, grande distance de communication (jusqu'à 100m sans
répéteur), port présent sur tous les PC, possibilité de connecter
plusieurs équipements sur un même port Ethernet.
Désavantage
: nécessite un µC dans l'automate... et sa programmation, programmation très complexe tant au niveau du PC que du µC.
REMARQUE
: Il existe de nombreuses cartes I/O à insérer dans les slots PCI des
PC : ports logiques, échantillonages/generateurs analogiques,
oscilloscope... Ces cartes peuvent très bien convenir pour de la
recherche/développement ou de petits automates. Elles présentent
cependant les inconvénients suivants pour des applications
industrielles : vous êtes tributaires des fabricants de ces cartes pour
la maintenance de votre automate (arrêt de fabrication, nouvelle
version incompatible...), limitation de part la centralisation de la
capture/génération des signaux au niveau du PC : impossibilité de faire
de la domotique ou de la commande à distance via un réseau Ethernet par
exemple.
Quel PC avec quel OS ?
Pour les ports LPT et COM, un vieux PC fonctionnant sous Windows 98 est l'idéal :
Processeur : Pentium I ou plus
RAM : 128Mb à 2Gb
HDD (uniquement PATA-IDE) : 2 Gb ou plus.
ou fonctionnant sous Linux/Ubuntu8.04 :
Processeur : Pentium III ou plus
RAM : 512Mb à 2Gb
HDD : 20 Gb ou plus.
Pour les autres ports, un PC standard actuel fonctionnant sous Linux/Ubuntu ou Windows XP fera l'affaire.
Quel langage de programmation ?
Pour
avoir travaillé avec de nombreux langages (Fortran, Pascal, C, Basic,
Assembleur, Ada), je ne peux que recommander, tant pour les débutants
que pour les programmeurs expérimentés, de programmer en langage
Pascal. Le langage C est certe très puissant, mais également très (trop
à mon goût) permissif : tout le bénéfice de la rapidité d'écriture est
très largement perdu en debug du logiciel (ex: un = au lieu d'un ==
dans un IF ça arrive très vite...), ou en tentative de relecture du
"code illisible" tapé par un collègue... ou par vous-même quelques mois
plus tôt !
Plus précisément, je conseille un Pascal POO avec GUI :
- POO : programmation orientée objet
- GUI : interface utilisateur graphique (possibilité de créer des fenêtres avec menus, boutons, capture de texte, image...)
Voici deux Pascal POO avec GUI que j'ai abondamment utilisés :
- Sous Linux/Ubuntu et je pense aussi sous Windows : Lazarus (logiciel libre, mais toujours en version ß), c'est mon éditeur/compilateur de prédilection !
- Sous Windows : Delphi de Borland (logiciel payant), excellent éditeur/compilateur.
A voir : Le language Pascal.
NB
: il est très simple de rappatrier des applications tapées sous Delphi
en Lazarus même sous Linux (j'ai récupéré de la sorte toutes mes
anciennes librairies).
Auteur : Philippot Marc - 01/03/2011