CNC et windows-xp

Cette page m'a été aimablement transmise par Francis Tisserant, son contenu sera très utile à tous les possesseurs de systèmes sous windows XP, NT ou 2000. Les conseils de Francis permettent non seulement de faire fonctionner CNC3Axes mais aussi tout logiciel qui nécessite un accès direct aux ports de votre PC. Vous pouvez visiter le site de Francis à l'adresse suivante : http://ftissera.free.fr/

Utilisation de
CNC3Axes sous Windows NT/2000/XP

 

Contrairement à Windows 95/98/ Millenium, les systèmes d'exploitation Windows NT/2000/XP n'autorisent pas un accès naturel et libre pour les programmeurs aux adresses des ports d'entrée/sortie, ceci pour des raisons de protection du système. Or, l'écriture et la lecture sur ces ports est indispensable pour piloter l'électronique de commande des moteurs connectée sur le port imprimante du PC. Notamment, il faut que le logiciel puisse accédé aux adresses (en hexadécimal ) 0x378, 0x379 et 0x37A (ces valeurs d'adresse sont très généralement utilisées pour le port imprimante, mais peuvent différer sur certains PC, voir plus loin).

L'objectif de cette page est de vous éviter d'avoir le type de message d'erreur suivant lorsque vous lancez CNC3Axes ou tentez de connecter la machine, vous obligeant alors à tuer la tâche par le gestionnaire de tâches:

Im0.gif (7110 octets)

 

Une solution au problème est d'écrire un driver (pilote) mais l'écriture d'un tel driver est cependant assez complexe. Une autre stratégie consiste à lancer le programme CNC3Axes sous la forme d'un process à qui on donne l'autorisation d'accès à certains ports d'entrée/sortie. C'est cette dernière procédure qui a été adoptée car elle est très fiable, pratiquement transparente pour l'utilisateur, et elle ne nécessite qu'une modification mineure du logiciel.

La procédure consiste donc à lancer le programme non pas directement, mais à partir d'un autre logiciel qui indique au système d'exploitation quels sont les ports qui vont être accédés. C'est le système PortTalk de la Société Beyond Logic qui a été choisit. Concrètement, CNC3Axes est lancé par exemple depuis la ligne de commande DOS en tapant la ligne :

ALLOWIO  CNC3Axes_V1_0.EXE   0x378

ALLOWIO.EXE est le programme lanceur. CNC3Axes_V1_0.EXE est le programme lancé. 0x378 est la première adresse d'une série de 5 adresses consécutives qui sont allouées automatiquement au programme pour piloter l'électronique.

Pour plus d'informations vous pouvez consulter la page Web de Beyond Logic et y télécharger (gratuitement) le programme ALLOWIO.EXE ainsi que le driver associé PORTTALK.SYS :

http://www.beyondlogic.org

Le système PortTalk a de nombreux avantages :

1 - Une grande sécurité d'utilisation et une procédure d'installation simple.
2 - C'est un freeware, il n'y a aucun droit d'utilisation à payer.
3 - Le code source est fourni, ce qui est pédagogique et autorise d'éventuelles modifications.
4 - Une compatibilité avec Windows NT, Windows 2000 et Windows XP sans modifications.

Voici la procédure d'installation de PortTalk.

Télécharger les fichiers correspondant sur le site Beyong Logic (vous y trouverez un fichier d'aide et les sources en Anglais) :

http://www.beyondlogic.org/porttalk/porttalk.htm

Vous pouvez aussi cliquer ici pour ne télécharger que le strict nécessaire (21 Ko).

1 - Décompressez le ZIP dans un répertoire quelconque.
2 - Copier le fichier porttalk.sys dans le répertoire
WINNT/SYSTEM/DRIVERS (pour Windows NT/2000) ou WINDOWS/SYSTEM32/DRIVERS (pour Windows XP).
3 - Copier le fichier ALLOWIO.EXE dans le répertoire d'installation de CNC3Axes (par exemple C:\CNC3Axes_V1_0).
4 - Double-cliquer sur le fichier PORTTALK.REG (ou depuis la console DOS entrer
PORTTALK <Entrée>). Cette dernière opération enregistre le driver porttalk.sys dans votre système. Vous n'aurez plus à refaire cette opération dorénavant. Bien sur, pour que l'enregistrement réussisse dans un système NT ou XP il vous faut en avoir les privilèges, c'est à dire vous situer au niveau administrateur du système
5 - Redémarrer votre ordinateur. C'est à ce stade que le driver va se charger automatiquement en mémoire.

Vous pouvez à présent lancer CNC3Axes à partir de l'application ALLOWIO.EXE. Voici trois méthodes :

1 - Depuis la console DOS aller dans le répertoire d'installation de CNC3Axes (par exemple CD CNC3Axes_V1_0), puis taper la commande :

ALLOWIO  CNC3Axes_V1_0.EXE  0x378

2 - Avec l'aide d'un éditeur de texte (NotePad, WordPad) écrivez un texte qui ne contient qu'une seule ligne :

ALLOWIO  CNC3Axes_V1_0.EXE  0x378

Sauvegardez ce fichier dans le répertoire d'installation de CNC3Axes sous le nom GO.BAT (par exemple, ce qui compte c'est l'extension .BAT, ainsi le fichier de commande que vous êtes en train de créer pourrait s'appeler toto.BAT).

3 - Utilisez le fichier GO.BAT contenu dans portio.zip mais dans ce cas respectez bien les chemins indiqués.

Pour lancer CNC3Axes, double-cliquer sur le nom GO.BAT depuis l'explorateur windows. Vous pouvez aussi copier le raccourci du fichier GO.BAT sur votre bureau et changer l'icone du raccourci (click droit -> propriétés) par celle de CNC3Axes.exe pour un accès encore plus intuitif.

Dans les exemples précédents on a supposé que l'adresse de base du port imprimante sur lequel est connecté l'électronique de la machine est 0x378. Voici le moyen de vérifier que c'est bien le cas et au besoin corriger les exemples précédents et le fichier GO.BAT:

Depuis le menu Démarrer, lancez Programmes, puis Accessoires, puis Diagnostics Windows NT ou Informations système pour XP. Dans la boite de dialogue qui s'ouvre sélectionner l'onglet Ressources puis cliquez sur le bouton Port E/S. Repérer l'item Parport ou LPT1 pour XP, il vous donne les adresses du port parallèle. La première de ces adresses est l'adresse dite de base (ici 378 en hexadécimal).

Im1.gif (46849 octets)

Attention : il faut parfois vérifier dans le menu SETUP de votre BIOS (touche DEL ou F10 généralement à la mise sous tension) que le port parallèle est réglé en mode 8-bits unidirectionnel (le mode le plus basique). Evitez les modes EPP/ECP. Dans le cas contraire il y a de fortes chances de fonctionnement aléatoire

Haut de page

Pour plus d'informations

ou pour partager vos expériences

Contactez moi

Mise à jour le 02 novembre 2006