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 :

Voici deux Pascal POO avec GUI que j'ai abondamment utilisés :
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