Quel type de PC faut-il pour piloter une fraiseuse CNC ?

  • Auteur de la discussion Musella
  • Date de début
M

Musella

Nouveau
Bonjour à toutes et tous,


Je mpe pose une question qui peut paraître stupide mais bon, je me la pose quand même !

Quel type de PC faut-il pour piloter une fraiseuse CNC ?

Je sais que je dois avoir comme OS, XP, installé dessus mais faut-il un PC puissant ?

Carte graphique, mémoire et processeur ?


Si vous avez des idées, je suis preneur...

Je vous envoie par la même occasion de la douceur de l'Ile de La Réunion !


Xavier-Joseph,
 
P

pascalp

Compagnon
Tu peux modifier tes pré-requis, Windows n'est pas la seule solution, linuxcnc est une autre solution.
Meilleure à mon point de vue, meilleure (vraie) gestion temps réel, moins gourmande en ressource ce qui permet d'utiliser d'ancien PC dont les cartes mères sont équipées de port //.
J'ai monté des mini PC sur des bases de carte mère mini-ITX, Asus AT5NM10-I, Intel D525MW, Intel DG41AN + Core2 E8400 (config actuelle), sous linuxcnc .
Monté pas testé en usinage, Intel DH61DL + I7-3770S ( 4 coeur 8 thread 3.1GHz)
 
F

fredcoach

Compagnon
Si tu veux piloter 6 axes à grande vitesse, je pense qu'il vaut mieux utiliser un PC puissant.
Mais si tu veux commander 3 axes aux vitesses habituelles pour un amateur, n'importe quel PC sous linux doté d'un port parallèle devrait faire l'affaire.
 
A

ATV325

Compagnon
bonjour, pascalp a raison on arrive à faire tourner de très belle cnc avec de petite configuration, la puissance n'est pas le problème mais plutôt choisir la configuration logicielle avec laquelle vous êtes à l'aise.
 
F

fabrice c

Compagnon
n'importe quelle pc suffira pour commander une fraiseuse.
xp ou seven conviennent parfaitement

après en fonction de ta carte de contrôle, il te faudra soit utiliser le port parallèle ou un port USB
 
F

fredcoach

Compagnon
Sachant que l'utilisation de l'USB interdit le temps réel, qui de toutes manières n'est pas disponible sous windows.
Cela ne devrait être un problème que sur des machines CNC très rapides.
 
M

moissan

Compagnon
le son par usb a droit a un traitement completement different de tout le reste de l'informatique la windowserie : il y a donc bien des possibilité de temps reel dans l'usb pour le son

helas je ne connais toujours pas aucune application temps reel de l'usb ... toute les cartes que je connais pour cnc en usb on une unité centrale dans la carte qui fait tout le travail temps reel , le pc ne fait plus que le cerveur de fichier et le terminal de dialogue avec l'operateur ... donc nimporte quel pc suffit

l'unité centrale qui est dans ces cartes cnc usb n'est pas d'une puissance de calcul enorme : comparable aux vieux pc AT

donc un vieux pc quelquonque peut faire le travail pourvu que sa puissance ne soit pas gaché par un windows inadapté : d'ou les bon resultat de linux cnc qui est vraiment optimisé pour la cnc , mais est aussi bien utilisable pour tous les autre logiciel linux

les pc recent avec processeur a plusieur coeur ne servent a rien : pour le temps reel il ne faut en faire tourner qu'un ...

avec windows il ne faut aucun anti virus ... les anti virus se croient tout permis sabotent le temps reel ... il faut donc un pc qui ne sert a rien d'autre que la cnc

du coup je prefere une partition linux pour la cnc ... et une autre partition pour windows , ou les multiples mise a jours automatique n'auront aucun effet sur linux
 
F

fredcoach

Compagnon
moissan a dit:
le son par usb a droit a un traitement completement different de tout le reste de l'informatique la windowserie : il y a donc bien des possibilité de temps reel dans l'usb pour le son
Un périphérique USB n'a aucun moyen de signaler au processeur qu'il a quelque chose à dire ou besoin de quelque chose, il doit attendre que le processeur l'interroge. C'est dans la conception de l'USB, on ne peut rien y faire. Il est donc simplement impossible d'utiliser un bus USB pour du temps réel. Ou alors avec d'énormes (à l'échelle de l'informatique) délais garantis.
moissan a dit:
helas je ne connais toujours pas aucune application temps reel de l'usb ... toute les cartes que je connais pour cnc en usb on une unité centrale dans la carte qui fait tout le travail temps reel , le pc ne fait plus que le cerveur de fichier et le terminal de dialogue avec l'operateur ... donc nimporte quel pc suffit

l'unité centrale qui est dans ces cartes cnc usb n'est pas d'une puissance de calcul enorme : comparable aux vieux pc AT

donc un vieux pc quelquonque peut faire le travail pourvu que sa puissance ne soit pas gaché par un windows inadapté : d'ou les bon resultat de linux cnc qui est vraiment optimisé pour la cnc , mais est aussi bien utilisable pour tous les autre logiciel linux

les pc recent avec processeur a plusieur coeur ne servent a rien : pour le temps reel il ne faut en faire tourner qu'un ...
Où as-tu vu cette information? Rien que dans un téléphone portable, il y a couramment plus d'une demie douzaine de coeurs tournant en parallèle en temps réel. Et un linux temps réel est capable d'utiliser tous les coeurs disponibles, heureusement!

moissan a dit:
avec windows il ne faut aucun anti virus ... les anti virus se croient tout permis sabotent le temps reel ... il faut donc un pc qui ne sert a rien d'autre que la cnc

du coup je prefere une partition linux pour la cnc ... et une autre partition pour windows , ou les multiples mise a jours automatique n'auront aucun effet sur linux
 
G

gaston48

Compagnon
Et un linux temps réel est capable d'utiliser tous les coeurs disponibles, heureusement!

Concernant Linuxcnc, il est pourtant conseillé d’affecter un seul cœur, le dernier, au noyaux temps réel grâce à l’instruction au démarrage :
« isolcpus=n » ...
 
F

fredcoach

Compagnon
gaston48 a dit:
Et un linux temps réel est capable d'utiliser tous les coeurs disponibles, heureusement!

Concernant Linuxcnc, il est pourtant conseillé d’affecter un seul cœur, le dernier, au noyaux temps réel grâce à l’instruction au démarrage :
« isolcpus=n » ...
Ce n'est qu'un conseil, pas forcément justifié.
Je n'ai pas étudié de près cette mouture particulière de linux temps réel, cependant je ne vois pas pourquoi il faudrait se contenter d'un seul coeur quand le noyau est capable d'en gérer plusieurs.
 
A

Anonymous

Guest
En programation il est tout a fait possible de créer un thread qui va interroger le port USB tout les 1ms.
On reçois des paquet de données. Dans ce paquet la carte peut nous cracher tout ce quelle sais : positions, status, etat de I/O sans meme attendre qu'on lui demande. Pour l' envoi c'est la même choses, l'USB est très très rapide si on envoie les données par paquet.
Contrairement a ce que vous affirmez, il existe des pilotages travaillant avec des temps de réponse très court.
La carte interpcnc v2 peut soit faire de l'interpolation ou simplement recevoir des paquet de dir/step qu'elle va mettre en forme sur ces sorties. Le logiciel MultiCN et je pense Mach3 travaillent ainsi, ils font l'interpolation et envoient des tableaux de Dir/Step.
On peut très bien obtenir un fonctionnement similaire à la console DJ en CNC.
 
F

fredcoach

Compagnon
gaston48 a dit:
C’est une des solutions préconisées pour configurer les machines modernes et puissantes
qui ont des temps de latence trop élevés. (latency test)


voir entre autres :

http://wiki.linuxcnc.org/cgi-bin/wiki.pl?The_Isolcpus_Boot_Parameter_And_GRUB2
Merci pour le lien.
Donc cnclinux utilise linux-rtai.
Pour autant que je me souvienne, RTAI est un kernel temps réel qui tourne á côté de celui de linux á qui il confie les tâches sans besoin temps réel comme l'interface utilisateur. Dans ce cas, effectivement, il peut être utile de faire tourner RTAI sur un seul coeur pendant que linux tourne sur les autres.
Si le PC ne dispose que d'un seul coeur, par contre, RTAI va devoir le partager avec linux...
 
Dernière édition par un modérateur:
F

fredcoach

Compagnon
mika61 a dit:
En programation il est tout a fait possible de créer un thread qui va interroger le port USB tout les 1ms.
On reçois des paquet de données. Dans ce paquet la carte peut nous cracher tout ce quelle sais : positions, status, etat de I/O sans meme attendre qu'on lui demande.
Si la carte crache un paquet de données chaque fois que le thread interroge le port USB, c'est bien qu'elle a attendu qu'on lui demande, non?
Rassure-toi, je connais bien les différents modes de fonctionnement du bus USB et je sais que le mode paquet permet de meilleures performances, l'accès n'en est pas moins uniquement par polling, même s'il existe un truc baptisé "interrupt" qui n'en a que le nom.
 
A

Anonymous

Guest
Excuse moi le terme "interroger" n’était pas bien choisi. J'aurai du écrire "le thread vérifie si des données ont étés reçues par le port USB".

La carte peut envoyé une trame sans qu'on lui demande et sans demander de réponse. En CANOpen on appelle ça une trame PDO. http://fr.wikipedia.org/wiki/CANopen
 
M

moissan

Compagnon
le temps reel des informaticien n'est pas le même que ce qu'il faut pour commander directement des moteur pas a pas par le port paralele

scruter toutes les 1ms seconde c'est completement raté pour commander des pas a pas ! pour commander des pas a pas il faut que les ordres du pc soient transmis sans aucun alea !

avec la commande classique par le port parralele le proceceur fait le timing exact de tous les pas a pas de la machine ! il ne doit faire que cela , et ce n'est pas transmissible par l'usb normal

ça serait peu etre transmissible par l'usb si c'était considéré comme de la musique ... mais je ne l'ai jamais vu faire , et je pense que tout est compliqué en musique a cause de protection contre le pyratage qui complique tout

l'usb peux aussi transmettre de la video ... donc un debit et une precison de timing superieur a la commande de moteur pas a pas ... helas la aussi bien compliqué et pas utilisable actuellement

conclusion aujourd'hui il faut se contenter du port paralele sur les pc qui en on encore un

si certain en savent assez pour donner des solution avec l'usb ça serait interressant
 
A

Anonymous

Guest
Générer des dir/step avec un un PC c'est un peu absurde, de plus le port // est mort depuis longtemps.
Comme je l'ai déjà dit un temps de cycle de 1ms, c'est déjà beaucoup mieux que beaucoup d’automates.
Dans le cas de notre pilotage, la haute fréquence est assurée par la carte qui reçois des paquet de dir/step. Un fonctionnement comparable a une carte son.
Pour la partie automatisme et la gestion des Entrées/sorties, 1ms de cycle c'est largement suffisant.

Contrairement a ce que vous continuez d'affirmer Les CNCs travaillant de cette façon sont courantes et fonctionnent plutôt bien et ce depuis longtemps.

En 2001, on pilotait déjà des servomoteurs en profibus avec des pentium 3, 600MHz sour NT4.
 
M

moissan

Compagnon
un temps de cycle de 1ms c'est bon pour un automate qui ne commande pas directement des moteur pas a pas

utiliser l'unité centrale d'un pc pour faire directement les signaux de commande des pas a pas n'est pas si absurde que ça quand on voit qu'un vieux pc est moins chers que n'importe quelle carte de commande par usb

avec l'usb le pc ne fait plus grand chose , c'est la carte usb qui doit contenir une unité centrale aussi puissance qu'un vieux pc

bien sur pour fabriquer du materiel moderne on ne peut plus se baser sur les pc moyen qui n'ont plus de port parralele , donc il faut des carte usb assez chere

mais ça ne m'empeche pas de conseiller de garder les vieux pc a port paralele qui marchent bien en branchement direct par le port paralele

même quand on n'a pas de pc avec port paralele il est encore possible d'acheter une carte port paralele sur slot pci

il est aussi possible d'acheter une carte mere de pc avec port paralele : il en existe toujours ! et même moins cher que des carte drivers de cnc usb
 
C

coredump

Compagnon
On va faire simple: c'est impossible de faire du temps réel en USB. L'audio par exemple utilise un transfert isochrone, transfert qui par conception autorise la perte de donnée, et ce n'est pas le type de transfert utilisé par les interfaces I/O classiques (ou c'est du bulk: aucune garantie de temps de réponse).
On peut a la rigueur bidouiller pour etre dans des conditions idéales (un seul périphérique USB, pas de veille etc...) mais ca reste de la bidouille, et ce qui marche chez vous ne marchera pas chez le voisin.

C'est pas pour rien que toute les cartes usb que l'on trouve sont des cartes interpolatrices qui ne sont en rien temps réel. Ca reçoit juste les commandes vectorielles, et ça les sort sur leur interface. A aucun moment le PC ne sait ou en est exactement la carte (au mieux il sait sur quel segment il est). Ce n'est donc pas du temps réel.

En plus aucune raison de s'emmerder, il existe des interface hardware temps réel avec un vrai support hard: les carte mesa. Ca existe sur port parallele, pci et pcie. Autant dire qu'on a le choix.

Pour linuxcnc, il est effectivement conseillé de mettre le noyau temps réel sur un seul processeur. Car linux n'est pas temps réel, c'est en fait un noyau temps réel qui tourne a coté de linux. Lier ce noyau temps réel a un cpu améliore grandement les perfs.
 
F

fredcoach

Compagnon
mika61 a dit:
Excuse moi le terme "interroger" n’était pas bien choisi. J'aurai du écrire "le thread vérifie si des données ont étés reçues par le port USB".

La carte peut envoyé une trame sans qu'on lui demande et sans demander de réponse. En CANOpen on appelle ça une trame PDO. http://fr.wikipedia.org/wiki/CANopen
Il n'y a aucun rapport entre le fonctionnement du bus CAN et celui du bus USB, désolé.
Et je répète qu'il est absolument impossible à un périphérique (esclave) USB d'initier un envoi vers le PC (maître).
Lis simplement les spécfications d'USB, je sais, c'est indigeste, mais dans ce domaine c'est la référence absolue.
J'ai dû me taper tout le document il y a deux ans pour un contrat où on me demandait d'empêcher les communications de se bloquer quand il y avait un parasite, alors je ne suis pas prêt d'oublier. Il fallait modifier les stacks USB de linux et de windows...
 
F

fredcoach

Compagnon
moissan a dit:
ça serait peu etre transmissible par l'usb si c'était considéré comme de la musique ... mais je ne l'ai jamais vu faire , et je pense que tout est compliqué en musique a cause de protection contre le pyratage qui complique tout

l'usb peux aussi transmettre de la video ... donc un debit et une precison de timing superieur a la commande de moteur pas a pas ... helas la aussi bien compliqué et pas utilisable actuellement
L'explication est simple, la musique, tout comme la vidéo, demande des débits importants, que l'USB est capable de fournir en mode bulk, c'est d'ailleurs pour cela que ce mode existe. Mais au prix de la perte possible de données, ce qui n'est guère important dans ce cas.
Par contre, il n'y a pas de retour dínformation, le PC envoie un paquet de données et elles sont utilisées avec un léger délai pour garder un tampon permettant d'absorber les irrégularités de temps d'accès.
Pour de la commande numérique, le mouvement des axes doit être parfaitement coordonné, on ne peut donc pas se contenter de ce genre d'approximation.
Cést pourquoi une carte USB doit avoir son propre processeur capable de commander plusieurs axes en temps réel à partir des paquets d'informations envoyés par le PC.
 
F

fredcoach

Compagnon
mika61 a dit:
En 2001, on pilotait déjà des servomoteurs en profibus avec des pentium 3, 600MHz sour NT4.
Quel rapport entre profibus et USB?
Personne ici ne dit qu'il n'est pas possible d'envoyer une commande de positionnement à un automate, que ce soit par USB ou n'importe quoi d'autre.
C'est quelque chose que je pouvais déjà faire dans les années 1980 avec un un XT à 4,7 MHz sous MS-DOS 2.0
 
P

ptilou_007

Apprenti
Bonjour,

J'ai travaille, a Albi, dans une coopérative ouvrière qui concevaient des machine industrielle sur mesure, 4 axes ce commande en temps réel avec merveille pour un 286 ... ( année 1988)
J'ai eu des machines numérique 3 axes c’était du 386 dans les année 95 ...
Je pense qu'avec un PI, y a de la marge !
Par contre pour la CAO, c'est la que le super calculateur est bien, pour un PI avec 18000 instruction en deux bits, j'attendais plus de dix minutes pour avoir mon rendu écran ...

Ptilou
 
A

Anonymous

Guest
Allez tu as raison, je viens de lire le document, hélas je n'est pas tes capacités pour le comprendre.
je confirme il est impossible de faire du temps réel avec un port USB, ceux qui disent le contraire sont des menteurs.
Les vendeur d'aptateurs USB-CAN sont des escrocs.
Voila j'espère que maintenant tu es satisfait, c'est bien ce que tu voulais ?
 
A

Anonymous

Guest
ptilou_007 a dit:
Bonjour,

J'ai travaille, a Albi, dans une coopérative ouvrière qui concevaient des machine industrielle sur mesure, 4 axes ce commande en temps réel avec merveille pour un 286 ... ( année 1988)
J'ai eu des machines numérique 3 axes c’était du 386 dans les année 95 ...
Je pense qu'avec un PI, y a de la marge !
Par contre pour la CAO, c'est la que le super calculateur est bien, pour un PI avec 18000 instruction en deux bits, j'attendais plus de dix minutes pour avoir mon rendu écran ...

Ptilou

A cette époque, il y avait de petits génies. Il n'avaientt pas internet, pas de processeur ultra performant, Chaque ligne de programme devait être réfléchie car les compilations était très long et les PC avait peu de mémoire.
 
F

fredcoach

Compagnon
mika61 a dit:
Allez tu as raison, je viens de lire le document, hélas je n'est pas tes capacités pour le comprendre.
je confirme il est impossible de faire du temps réel avec un port USB, ceux qui disent le contraire sont des menteurs.
Les vendeur d'aptateurs USB-CAN sont des escrocs.
Voila j'espère que maintenant tu es satisfait, c'est bien ce que tu voulais ?
Ce que j'espérais, c'était juste que tu fasses un effort pour remettre en question tes certitudes et que tu vérifies ce que t'affirment des gens qui ont étudié le bus USB en profondeur.
Personne ne peut être un expert en tout mais tout le monde peut profiter des occasions pour apprendre.
Encore faut il le vouloir.
 
A

Anonymous

Guest
fredcoach a dit:
mika61 a dit:
E
Il n'y a aucun rapport entre le fonctionnement du bus CAN et celui du bus USB, désolé.

ah bon ? :
http://www.totofweb.net/robots-projet-65.html
http://www.thomann.de/fr/peak_system_canbus_adaper_usbcan.htm
http://www.cablematic.fr/produit/US...Bus-_open_parenthesis_USB_close_parenthesis_/
http://www.lextronic.fr/P2623-module-can--usb-converter.html
http://sine.ni.com/nips/cds/view/p/lang/fr/nid/203382
http://www.vscom.de/425.htm


J’utilise le port USB depuis 2006 en CNC, je fait aussi du pilotage de poinçonneuse entièrement en CANOpen via un Adaptateur [glow=red]CAN-USB,[/glow]
Tout le positionnement et une grande partie de l'automatisme est fait par le PC, la gestion du poinçon est faite par un automate de sécurité PILZ (plus lent que le PC).
L’équipement de la machine :
3 Servo-positionneur DELTA CANOpen avec moteur de 5.5kW.
Module entrèes/sorties CANOpen modulable Beckhoff.

Le logiciel de pilotage est entièrement développé par moi, y compris la gestion de communication USB.



Une petite photo de l'armoire:





Je pense avoir un peu plus que des certitudes :-D :-D :-D

Une partie du code d'envoi de trame via le port USB:


une partie du script de homing:

 
Haut