Fins de course

  • Auteur de la discussion polifemo
  • Date de début
P

polifemo

Nouveau
Bonjour,

Je viens d'installer les fins de course sur mon freiseuse comme dans le dessin ci-dessous.
les interrupteurs de fin de course sont connectés en parallèle sur le pin 10 (de la porte parallèle).

http://www.ulisse.bs.it/fins-de-course.png

Dans le fichier standard_pinout.hal J'ai activé la ligne:

net X-neg-limit parport.0.pin-10-in-not => axis.0.neg-lim-sw-in

De cette manière lorsque la table atteint une fin de course va générer une erreur et les moteurs il s'arrêtent,

à ce stade, avec le bouton "surmonter limites", je peux déménager la table hors du contact.

Je voudrais au contraire, atteint un contact, ne génèrer pas une erreur, mais que la table s'arrête et q'il soit possible de la déplacer dans la direction opposée.

Je voudrais faire cette chose dans les files standard_pinout.hal et stepper_mm.ini

Cela est possible?

Merci
 
G

gaston48

Compagnon
Bonjour,

Quelle est l'origine de tes déplacements ?
Ce sont des commandes au jog ?
Des commandes manuelles MDI ?
Des commandes automatique d'un fichier gcode ?

Dans tous les cas il s'agira de stopper un processus en cour.
-un programme sera interrompu et se recalera à son début.
-une commande MDI ainsi qu'un incrément de jog seront tronqués

Si c'est admissible, le plus simple serait de dévier les entrées de switch limite
sur la commande arrêt/marche F2

net any_limit parport.0.pin-10-in-not => halui.machine.off

(parport.0.pin-10-in-not false si non activé)

halui.machine.off est une commande toogle / bistable si tu restes stoppé sur le
switch activé, tu n'est pas pour autant bloqué. Tu appuis de nouveau sur F2
mise en marche et tu as toute liberté de mouvement.

Un clique de la sourie sur la mise en marche ou un appui sur la touche F2 ou
parport.0.pin-10-in-not, toutes ces commandes convergent vers halui.machine.off.
 
Dernière édition:
P

polifemo

Nouveau
Bonjour Gaston et merci pour les reponses a mes questions.

malheureusement la commande:

net any_limit parport.0.pin-10-in-not => halui.machine.off

Il ne fonctionne pas et emc2 ne démarre pas.

Il fournit le suivante long message d'erreur:


Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.5
LINUXCNC - 2.5.0
Machine configuration directory is '/home/fresa/linuxcnc/configs/stepper'
Machine configuration file is 'stepper_mm.ini'
INIFILE=/home/fresa/linuxcnc/configs/stepper/stepper_mm.ini
PARAMETER_FILE=stepper.var
TASK=milltask
HALUI=
DISPLAY=axis
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Shutting down and cleaning up LinuxCNC...
Killing task linuxcncsvr, PID=2637
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
standard_pinout.hal:25: Pin 'false' does not exist
2637
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[ 705.533466] I-pipe: Domain RTAI registered.
[ 705.533478] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 705.533482] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 705.533489] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 705.533492] PIPELINE layers:
[ 705.533495] e0e20e20 9ac15d93 RTAI 200
[ 705.533498] c085cb20 0 Linux 100
[ 705.562062] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 705.562199] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 705.562205] RTAI[sched]: hard timer type/freq = APIC/12499568(Hz); default timing: periodic; linear timed lists.
[ 705.562209] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 1600006000 hz.
[ 705.562213] RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
[ 705.562302] RTAI[usi]: enabled.
[ 705.665297] RTAI[math]: loaded.
[ 705.755555] config string '0x0378'
[ 706.128226] RTAI[math]: unloaded.
[ 706.201363] SCHED releases registered named ALIEN RTGLBH
[ 706.216907] RTAI[malloc]: unloaded.
[ 706.316023] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 706.319635] I-pipe: Domain RTAI unregistered.
[ 706.319646] RTAI[hal]: unmounted.



Merci et amicalement
 
G

gaston48

Compagnon
Bonsoir polifemo,
le problème se situe ici:

Debug file information:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
standard_pinout.hal:25: Pin 'false' does not exist
2637

standard_pinout.hal voir ligne 25 avec l'editeur "gedit "

L'autre solution est que tu communiques ici les 2 fichiers: ini et hal
mamachine_ini.txt et mamachine_hal.txt par exemple

De mon coté, j'ai testé et cela fonctionne ?

parport.0.pin-10-in-not doit être sur FALSE si la butée n'est pas activé
verifier avec halmeter la pin: parport.0.pin-10-in-not
 
P

polifemo

Nouveau
Bonsoir Gaston,

standard_pinout.hal voir ligne 25 avec l'editeur "gedit "

C' est la ligne:

net any_limit parport.0.pin-10-in-not => halui.machine.off

sans e avec FALSE elle donne l' erreur.

L'autre solution est que tu communiques ici les 2 fichiers: ini et hal
mamachine_ini.txt et mamachine_hal.txt par exemple

Je ne comprend pas, Je suis assez "débutant" dans ces choses...

Est ce que tu peut mettre exactement toutes les lignes que Je doive mettre dans le fichier Hal?

ou m'expliquer pas a pas ce que je doive faire ?

Un grand merci.
 
G

gaston48

Compagnon
sans e avec FALSE elle donne l' erreur.

Désolé, mais Je ne comprends ta phrase polifemo ?


Je ne peux pas t’écrire ligne par ligne ta configuration

je peux juste examiner l'ensemble de tes fichiers de configuration
et voir s'il y a quelque chose qui cloche.
Tu peux faire un fichier.zip aussi de tout le contenu du répertoire de ta machine
et le joindre ici sur le forum.
 
G

gaston48

Compagnon
Bonjour Polifemo
Tu devrais migrer sur linux Debian wheezy et linuxcnc 2.7.8

J'ai regardé tes fichiers :-D

J'ai des questions:
Tu as fais ta configuration avec stepconf ou en éditant une configuration existante ?
Tu as une fraiseuse 3 axes xyz ?
Comment sont conçus et câblés tes switch sur les 3 axes x y z 6 switch, tout en // ?
Comment fais tu les prises d'origine sur les 3 axes ?

Sinon en première approche, cette ligne devrait fonctionner:

# FIN DE COURSE PAR GASTON
net any_limit parport.0.pin-10-in-not => halui.machine.off

Quand tu lances linuxcnc le menu français tu as:
en haut une rubrique "machine" tu cliques dessus.
puis tu cliques sur "hal mètre"

Tu obtiens 2 fenètres une grande et une petite de résultats
sur "pins" tu cherches les entrées :
parport.0.pin-10-in-not
parport.0.pin-10-in
Les switch non activés tu dois avoir:
parport.0.pin-10-in-not FALSE
parport.0.pin-10-in TRUE
un switch activé tu dois avoir:
parport.0.pin-10-in-not TRUE
parport.0.pin-10-in FALSE

Dis moi si c'est ça ?
 
P

polifemo

Nouveau
Bonjour Gaston

Donc:

Tu as fais ta configuration avec stepconf ou en éditant une configuration existante ?

Directement dans standard_pinout.hal et stepper_mm.ini

Tu as une fraiseuse 3 axes xyz ?
Comment sont conçus et câblés tes switch sur les 3 axes x y z 6 switch, tout en // ?

Oui, 3 axes X Y Z, mais 4 switch seulement pour X e Y, tous 4 en // normalement ouvert ( sur pin 10)
les switch sur Z ne m'interessent pas.

Comment fais tu les prises d'origine sur les 3 axes ?

manuellement (et va bien ici)

Sinon en première approche, cette ligne devrait fonctionner:

# FIN DE COURSE PAR GASTON
net any_limit parport.0.pin-10-in-not => halui.machine.off

si je mets cette ligne LinuxCNC ne démarre pas, et il y a l 'erreur que je l'ai déjà décrit dans le message numéro 3

Tu obtiens 2 fenètres une grande et une petite de résultats
sur "pins" tu cherches les entrées :
parport.0.pin-10-in-not
parport.0.pin-10-in
Les switch non activés tu dois avoir:
parport.0.pin-10-in-not FALSE
parport.0.pin-10-in TRUE
un switch activé tu dois avoir:
parport.0.pin-10-in-not TRUE
parport.0.pin-10-in FALSE

tout cela se verifie correctement s'il ni a pas la ligne:

net any_limit parport.0.pin-10-in-not => halui.machine.off

merci et amicalement,

Ulisse
 

Sujets similaires

S
Réponses
3
Affichages
867
SoloCnc
S
PL50
Réponses
25
Affichages
927
dh42
L
Réponses
5
Affichages
26 123
speedjf37
S
M
Réponses
0
Affichages
1 331
MikeB
M
P
Réponses
33
Affichages
15 325
wika58
wika58
R
Réponses
18
Affichages
1 729
kawah2
K
V
Réponses
0
Affichages
911
Vic44
V
Pierrot du 10
Réponses
1
Affichages
23 463
aroy
aroy
didpoutrator
Général Gambin 111MS
Réponses
3
Affichages
2 273
didpoutrator
didpoutrator
N
Réponses
78
Affichages
9 702
nipil
N
Haut