Salut,
c'est pas une question de courage, c'est simplement que j'apprends comme toi et que ton sujet est cool:
gmoccapy : je connaissait pas
les prises d'origine avec capteurs: j'aimerais m'y mettre
et toutes les configs sont intéressantes, il y à toujours un truc différent à implémenter dans sa propre config!
Je t'ai concocté une paire de fichiers avec des corrections (modifications) qui ont l'air de marcher chez moi.
Je t'ai mis le M60 pour le palpage outil au lieu du M6, voir le texte dans basic 1500_2.ini
j'ai mis les macros de positionnement en MDI et le retour aux POM
J'ai tout noté dans les 2 fichiers, tels quel ils fonctionnent mais j'ai mis des # devant les prises d'origine avec capteurs car je ne peu pas le simuler à la maison.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
le fichier Basic 1500_2.ini
#revision 2 pour galigulaminus
# Basic1500_2
[EMC]
MACHINE = Basic1500_2
DEBUG = 0
[DISPLAY]
DISPLAY = gmoccapy
EMBED_TAB_NAME = Camera T99
EMBED_TAB_LOCATION = ntb_preview
EMBED_TAB_COMMAND = mplayer -wid {XID}
tv://0 -vf rectangle=-1:2:-1:240,rectangle=2:-1:320:-1
#./camview-emc-f1oat.py -v 1280x720 -C camview.cfg -g cam.ui -H campins.hal -w {XID}
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 5.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 50.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/kronos/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
[FILTER]
-----------------------------------------------------------------
;liste d extentions G-code recconnues par linuxcnc
PROGRAM_EXTENSION = .anc, .nc, .NCF,.fan,.ngc,.txt xyz postprocessor
-----------------------------------------------------------------
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
RS274NGC_STARTUP_CODE = G17 G21 G40 G43 H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
PARAMETER_FILE = linuxcnc.var
SUBROUTINE_PATH = macros
FEATURES = 12
-----------------------------------------------------------------
;fonction reprogrammation du changement d outil M60
;si besoin palpage : exemple T1 M60
;si pas besoin de palpage : exemple T1 M6
REMAP = M60 modalgroup=6 prolog=change_prolog ngc=change epilog=change_epilog
[TOOLSENSOR]
X = 10
Y = 10
Z = -20
MAXPROBE = -100
[CHANGE_POSITION]
X = 50
Y = 50
Z = -2
[PYTHON]
PATH_PREPEND = python
TOPLEVEL = python/toplevel.py
LOG_LEVEL = 8
[MACROS]
;retour aux origines machines POM
MACRO = origines_machine
;aller à une position avec un outil chargé
MACRO = go_to_position T-pos X-pos Y-pos Z-pos
;sert pour le palpage outil (donne une erreur en MDI)
MACRO = change
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
-----------------------------------------------------------------
;modifié pour supprimer l'erreur de jointure 0 (je pense)
BASE_PERIOD = 50000
-----------------------------------------------------------------
SERVO_PERIOD = 1000000
[HAL]
HALUI = halui
HALFILE = Basic1500_2.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal
[HALUI]
# ajoutez ici les commandes MDI halui (maximum 64)
[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 5.00
MAX_VELOCITY = 50.00
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
[AXIS_0]
TYPE = LINEAR
HOME = 100.0
MAX_VELOCITY = 47.5
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 200.0
#OUTPUT_SCALE = 1
FERROR = 1
MIN_FERROR = .25
-----------------------------------------------------------------
;pour ne pas être hors course au retour aux POM en MDI
MIN_LIMIT = -0.001
-----------------------------------------------------------------
MAX_LIMIT = 1100.0
HOME_OFFSET = 0.000000
;enlever les # pour activer la prise d'origine avec capteurs, voir aussi dans basic 1500_2.hal
#HOME_SEARCH_VEL = 25.000000
#HOME_LATCH_VEL = -5.000000
#HOME_SEQUENCE = 1
[AXIS_1]
TYPE = LINEAR
HOME = 100.0
MAX_VELOCITY = 47.5
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL =937.5
SCALE = 200.0
#OUTPUT_SCALE = 1
FERROR = 1
MIN_FERROR = .25
-----------------------------------------------------------------
;pour ne pas être hors course au retour aux POM en MDI
MIN_LIMIT = -0.001
-----------------------------------------------------------------
MAX_LIMIT = 650.0
HOME_OFFSET = 0.000000
;enlever les # pour activer la prise d'origine avec capteurs, voir aussi dans basic 1500_2.hal
#HOME_SEARCH_VEL = 25.000000
#HOME_LATCH_VEL = -5.000000
#HOME_SEQUENCE = 2
[AXIS_2]
TYPE = LINEAR
HOME = -25.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
#SCALE = 133.333333333
SCALE = 266.666666666
#OUTPUT_SCALE = 1
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -100
-----------------------------------------------------------------
;pour ne pas être hors course au retour aux POM en MDI
MAX_LIMIT = 0.001
-----------------------------------------------------------------
HOME_OFFSET = 0.000000
;enlever les # pour activer la prise d'origine avec capteurs, voir aussi dans basic 1500_2.hal
#HOME_SEARCH_VEL = 10.000000
#HOME_LATCH_VEL = -3.750000
#HOME_SEQUENCE = 0
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
le fichier basic 1500_2.hal
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Generated by stepconf 1.1 at Tue Jan 27 21:20:49 2015
# Si vous modifiez ce fichier, il sera
# écrasé quand vous relancerez Stepconf
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hal_parport cfg="0x378 out"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0
addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd <= motion.spindle-speed-out
net spindle-at-speed => motion.spindle-at-speed
net probe-in => motion.probe-input
net estop-out => parport.0.pin-01-out
net xdir => parport.0.pin-02-out
net xstep => parport.0.pin-03-out
net ydir => parport.0.pin-04-out
net ystep => parport.0.pin-05-out
setp parport.0.pin-06-out-invert 1
net zdir => parport.0.pin-06-out
net zstep => parport.0.pin-07-out
#-----------------------------------------------------------------
#enlever les # pour activer la prise d origine avec capteurs
#-----------------------------------------------------------------
#net home-z <= parport.0.pin-10-in
#net home-x <= parport.0.pin-11-in-not
#net home-y <= parport.0.pin-12-in-not
net probe-in <= parport.0.pin-13-in
setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 1
setp stepgen.0.dirhold 30000
setp stepgen.0.dirsetup 30000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable
#-----------------------------------------------------------------
#enlever les # pour activer la prise d origine avec capteurs
#-----------------------------------------------------------------
#net home-x => axis.0.home-sw-in
setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 1
setp stepgen.1.dirhold 30000
setp stepgen.1.dirsetup 30000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
#-----------------------------------------------------------------
#enlever les # pour activer la prise d origine avec capteurs
#-----------------------------------------------------------------
#net home-y => axis.1.home-sw-in
setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 1
setp stepgen.2.dirhold 30000
setp stepgen.2.dirsetup 30000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable
#-----------------------------------------------------------------
#enlever les # pour activer la prise d origine avec capteurs
#-----------------------------------------------------------------
#net home-z => axis.2.home-sw-in
net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Voilà,
si les pros de linuxcnc ont des remarques, des idées,( ou veulent me lyncher...
)
A+ tiens moi au jus !!!!!!!