Work with probe

More
6 years 2 months ago #178697 by Nitram
Replied by Nitram on topic Work with probe
I have been using "Work with probe" for quite a while and am very happy.
My GUI is gmoccapy.

I have found that after I start Linuxcnc, the Probe tab is available and working.
When I probe something, I insert a work offset (from the work offset screen in gmoccapy) by pressing X then Y to set the offset to zero (as the probe parks over the offset position after it finishes probing).

After I insert the offsets in this fashion the probe tab locks out. No matter what I do I cannot enter the probe tab again. I have to restart Linuxcnc to make the tab accessible again.

Can anyone shed any light on to why this behavior is occurring? Could it even be the way gmoccapy reacts to "work with probe"??

Thanks for any insight.

Cheers,
Marty.

Please Log in to join the conversation.

More
6 years 2 months ago #179223 by ebartel
Replied by ebartel on topic Work with probe
I'm trying to get a probe to work in my machine for the first time. The have the probe screen installed and the probe input I have verified with halshow. The probe I currently do not have in the machine to avoid crashes. When I press any of the probe function buttons I immediately get "Error: User probe error"

I've tried to look through the code and forums for this error to troubleshoot with no luck. Any ideas on how I can troubleshoot?

Full HAL file
Code:
# Generated by PNCconf at Sat Sep 2 06:06:21 2017 # If you make changes to this file, they will be # overwritten when you run PNCconf again loadrt trivkins loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES #loadrt probe_parport loadrt hostmot2 loadrt hm2_pci config=" num_encoders=1 num_pwmgens=0 num_3pwmgens=0 num_stepgens=3 sserial_port_0=10xxx " #setp hm2_5i25.0.watchdog.timeout_ns 10000000 loadrt mux16 names=jogincr loadrt conv_float_s32 count=1 loadrt scale count=2 loadrt abs count=1 loadrt or2 count=1 loadrt not count=1 loadrt pulseout count=1 # load runtime for e-stops loadrt estop_latch count=2 addf hm2_5i25.0.read servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf jogincr servo-thread addf hm2_5i25.0.write servo-thread #addf hm2_5i25.0.pet_watchdog servo-thread addf scale.0 servo-thread addf scale.1 servo-thread addf conv-float-s32.0 servo-thread addf abs.0 servo-thread addf or2.0 servo-thread addf not.0 servo-thread addf pulseout.0 servo-thread # add functions for e-stop addf estop-latch.0 servo-thread addf estop-latch.1 servo-thread # external output signals # --- SPINDLE-CW --- #setp hm2_5i25.0.gpio.017.is_output true net spindle-cw hm2_5i25.0.7i76.0.0.spinena # --- SPINDLE-CCW --- #setp hm2_5i25.0.gpio.018.is_output true net spindle-ccw hm2_5i25.0.7i76.0.0.spindir # --- SPINDLE Speed --- #setp scale.0.gain 0.035 setp scale.0.gain 0.1 net spindle-speed motion.spindle-speed-out => abs.0.in net spindle-speed-abs abs.0.out => scale.0.in net spindle-speed-DAC scale.0.out => hm2_5i25.0.7i76.0.0.spinout #net spindle-speed-DAC abs.0.out => hm2_5i25.0.7i76.0.0.spinout #net spindle-speed-scale motion.spindle-speed-out => scale.0.in #net spindle-speed-DAC scale.0.out => hm2_5i25.0.7i76.0.0.spinout setp pulseout.0.pulse 10 setp pulseout.0.thread-delay 500 net pulse-spindle-speed pulseout.0.out => halui.spindle.increase # external input signals # --- MIN-HOME-X --- net min-home-x <= hm2_5i25.0.7i76.0.0.input-04-not # --- MIN-HOME-Y --- net min-home-y <= hm2_5i25.0.7i76.0.0.input-05-not # --- ABORT --- #net abort <= hm2_5i25.0.gpio.018.in # --- SINGLE-STEP --- net single-step <= hm2_5i25.0.gpio.019.in # --- CYCLE-START --- net cycle-start <= hm2_5i25.0.gpio.020.in #********************* # E-STOP #********************* #GUI Input net latch-reset iocontrol.0.user-request-enable net latch0-ok-in iocontrol.0.user-enable-out net latch0-ok-in => estop-latch.0.ok-in net latch0-out <= estop-latch.0.ok-out net latch0-out => estop-latch.1.ok-in #net latch1-out <= estop-latch.1.ok-out net latch-reset => estop-latch.0.reset net latch-reset => estop-latch.1.reset net latch-out iocontrol.0.emc-enable-in <= estop-latch.1.ok-out net estop-out estop-latch.1.fault-out net red-button-estop <= hm2_5i25.0.7i76.0.0.input-06-not net red-button-estop => estop-latch.1.fault-in #******************* # AXIS X #******************* # Step Gen signals/setup setp hm2_5i25.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP setp hm2_5i25.0.stepgen.00.dirhold [AXIS_0]DIRHOLD setp hm2_5i25.0.stepgen.00.steplen [AXIS_0]STEPLEN setp hm2_5i25.0.stepgen.00.stepspace [AXIS_0]STEPSPACE setp hm2_5i25.0.stepgen.00.position-scale [AXIS_0]STEP_SCALE setp hm2_5i25.0.stepgen.00.step_type 0 setp hm2_5i25.0.stepgen.00.control-type 0 setp hm2_5i25.0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAXVEL net x-pos-fb axis.0.motor-pos-fb <= hm2_5i25.0.stepgen.00.position-fb net x-pos-cmd axis.0.motor-pos-cmd => hm2_5i25.0.stepgen.00.position-cmd net x-enable axis.0.amp-enable-out => hm2_5i25.0.stepgen.00.enable # ---setup home / limit switch signals--- net min-home-x => axis.0.home-sw-in net min-home-x => axis.0.neg-lim-sw-in net x-pos-limit => axis.0.pos-lim-sw-in #******************* # AXIS Y #******************* # Step Gen signals/setup setp hm2_5i25.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP setp hm2_5i25.0.stepgen.01.dirhold [AXIS_1]DIRHOLD setp hm2_5i25.0.stepgen.01.steplen [AXIS_1]STEPLEN setp hm2_5i25.0.stepgen.01.stepspace [AXIS_1]STEPSPACE setp hm2_5i25.0.stepgen.01.position-scale [AXIS_1]STEP_SCALE setp hm2_5i25.0.stepgen.01.step_type 0 setp hm2_5i25.0.stepgen.01.control-type 0 setp hm2_5i25.0.stepgen.01.maxaccel [AXIS_1]STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.01.maxvel [AXIS_1]STEPGEN_MAXVEL net y-pos-fb axis.1.motor-pos-fb <= hm2_5i25.0.stepgen.01.position-fb net y-pos-cmd axis.1.motor-pos-cmd => hm2_5i25.0.stepgen.01.position-cmd net y-enable axis.1.amp-enable-out => hm2_5i25.0.stepgen.01.enable # ---setup home / limit switch signals--- net min-home-y => axis.1.home-sw-in net min-home-y => axis.1.neg-lim-sw-in net y-pos-limit => axis.1.pos-lim-sw-in #******************* # AXIS Z #******************* # Step Gen signals/setup setp hm2_5i25.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP setp hm2_5i25.0.stepgen.02.dirhold [AXIS_2]DIRHOLD setp hm2_5i25.0.stepgen.02.steplen [AXIS_2]STEPLEN setp hm2_5i25.0.stepgen.02.stepspace [AXIS_2]STEPSPACE setp hm2_5i25.0.stepgen.02.position-scale [AXIS_2]STEP_SCALE setp hm2_5i25.0.stepgen.02.step_type 0 setp hm2_5i25.0.stepgen.02.control-type 0 setp hm2_5i25.0.stepgen.02.maxaccel [AXIS_2]STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.02.maxvel [AXIS_2]STEPGEN_MAXVEL net z-pos-fb axis.2.motor-pos-fb <= hm2_5i25.0.stepgen.02.position-fb net z-pos-cmd axis.2.motor-pos-cmd => hm2_5i25.0.stepgen.02.position-cmd net z-enable axis.2.amp-enable-out => hm2_5i25.0.stepgen.02.enable # ---setup home / limit switch signals--- net z-home-sw => axis.2.home-sw-in net z-neg-limit => axis.2.neg-lim-sw-in net z-pos-limit => axis.2.pos-lim-sw-in #******************* # SPINDLE S #******************* # ---setup spindle control signals--- #net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps #net spindle-vel-cmd-rps-abs <= motion.spindle-speed-out-rps-abs #net spindle-vel-cmd <= motion.spindle-speed-out #net spindle-vel-cmd-rpm-abs <= motion.spindle-speed-out-abs net spindle-on <= motion.spindle-on net spindle-cw <= motion.spindle-forward net spindle-ccw <= motion.spindle-reverse net spindle-brake <= motion.spindle-brake net spindle-revs => motion.spindle-revs net spindle-at-speed => motion.spindle-at-speed net spindle-vel-fb => motion.spindle-speed-in net spindle-index-enable <=> motion.spindle-index-enable # ---Setup spindle at speed signals--- sets spindle-at-speed true # ---- SEE Postgui for spindle speed #****************************** # connect miscellaneous signals #****************************** # ---HALUI signals--- net joint-select-a halui.joint.0.select net x-is-homed halui.joint.0.is-homed net jog-x-pos halui.jog.0.plus net jog-x-neg halui.jog.0.minus net jog-x-analog halui.jog.0.analog net joint-select-b halui.joint.1.select net y-is-homed halui.joint.1.is-homed net jog-y-pos halui.jog.1.plus net jog-y-neg halui.jog.1.minus net jog-y-analog halui.jog.1.analog net joint-select-c halui.joint.2.select net z-is-homed halui.joint.2.is-homed net jog-z-pos halui.jog.2.plus net jog-z-neg halui.jog.2.minus net jog-z-analog halui.jog.2.analog net jog-selected-pos halui.jog.selected.plus net jog-selected-neg halui.jog.selected.minus net spindle-manual-cw halui.spindle.forward or2.0.in0 pulseout.0.in hm2_5i25.0.7i76.0.0.input-08 net spindle-manual-ccw halui.spindle.reverse or2.0.in1 hm2_5i25.0.7i76.0.0.input-07 net spindle-switch-on or2.0.out not.0.in net spindle-manual-stop halui.spindle.stop not.0.out net machine-is-on halui.machine.is-on net jog-speed halui.jog-speed net MDI-mode halui.mode.is-mdi # ---coolant signals--- net coolant-mist <= iocontrol.0.coolant-mist net coolant-flood <= iocontrol.0.coolant-flood # ---probe signal--- net probe-in hm2_5i25.0.7i76.0.0.input-09 => motion.probe-input # ---jogwheel signals to mesa encoder - shared MPG--- net joint-selected-count <= hm2_5i25.0.encoder.00.count # ---mpg signals--- # for axis x MPG setp axis.0.jog-vel-mode 0 net selected-jog-incr => axis.0.jog-scale net joint-select-a => axis.0.jog-enable net joint-selected-count => axis.0.jog-counts # for axis y MPG setp axis.1.jog-vel-mode 0 net selected-jog-incr => axis.1.jog-scale net joint-select-b => axis.1.jog-enable net joint-selected-count => axis.1.jog-counts # for axis z MPG setp axis.2.jog-vel-mode 0 net selected-jog-incr => axis.2.jog-scale net joint-select-c => axis.2.jog-enable net joint-selected-count => axis.2.jog-counts sets selected-jog-incr 0.000000 # ---motion control signals--- net in-position <= motion.in-position net machine-is-enabled <= motion.motion-enabled # ---digital in / out signals--- # ---estop signals--- #net estop-out <= iocontrol.0.user-enable-out #net estop-out => iocontrol.0.emc-enable-in # ---manual tool change signals--- #loadusr -W hal_manualtoolchange #net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change #net tool-change-confirmed 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

INI File
Code:
# Generated by PNCconf at Sat Sep 2 06:06:22 2017 # If you make changes to this file, they will be # overwritten when you run PNCconf again [EMC] MACHINE = TRAK_TRM DEBUG = 0 [DISPLAY] DISPLAY = axis EMBED_TAB_NAME=Probe Screen EMBED_TAB_COMMAND=halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -x {XID} -u python/probe_screen.py -H probe_icons/probe_screen.hal probe_icons/probe_screen.glade POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL MAX_FEED_OVERRIDE = 2.000000 MAX_SPINDLE_OVERRIDE = 1.000000 MIN_SPINDLE_OVERRIDE = 0.200000 DEFAULT_SPINDLE_SPEED=1000 INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 5 PROGRAM_PREFIX = /home/ebartel/linuxcnc/nc_files PYVCP = pyvcp-panel.xml INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL DEFAULT_LINEAR_VELOCITY = 0.250000 MAX_LINEAR_VELOCITY = 0.6 MIN_LINEAR_VELOCITY = 0.010000 DEFAULT_ANGULAR_VELOCITY = 0.250000 MAX_ANGULAR_VELOCITY = 1.000000 MIN_ANGULAR_VELOCITY = 0.010000 EDITOR = gedit 438868RY = xyz [FILTER] 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] PARAMETER_FILE = linuxcnc.var SUBROUTINE_PATH = /home/ebartel/linuxcnc/configs/TRAK_TRM/macros [EMCMOT] EMCMOT = motmod COMM_TIMEOUT = 1.0 COMM_WAIT = 0.010 SERVO_PERIOD = 500000 [HOSTMOT2] # **** This is for info only **** # DRIVER0=hm2_pci # BOARD0=5i25 [HAL] HALUI = halui HALFILE = TRAK_TRM.hal HALFILE = custom.hal POSTGUI_HALFILE = postgui_call_list.hal SHUTDOWN = shutdown.hal [HALUI] [TRAJ] AXES = 3 COORDINATES = X Y Z LINEAR_UNITS = inch ANGULAR_UNITS = degree CYCLE_TIME = 0.010 DEFAULT_VELOCITY = 0.17 MAX_LINEAR_VELOCITY = 1.67 [EMCIO] EMCIO = io CYCLE_TIME = 0.100 TOOL_TABLE = tool.tbl #******************** # Axis X #******************** [AXIS_0] TYPE = LINEAR HOME = 5 FERROR = 0.01 MIN_FERROR = 0.0005 MAX_VELOCITY = 0.3 MAX_ACCELERATION = .65 # The values below sholkvsdjh dpkojncvfsahan MAX_VELOCITY and MAX_ACCELERATION # hjnm.bhfmg ,k; nklhy If using BACKLASH compensation STEPGEN_M AXACCEL should be 100% larger. STEPGEN_MAXVEL = 0.6 STEPGEN_MAXACCEL = 1.5 # these are in nanoseconds DIRSETUP = 1000 DIRHOLD = 1000 STEPLEN = 4000 STEPSPACE = 4000 STEP_SCALE = -109972.1 BACKLASH = 0.0035 MIN_LIMIT = -1 MAX_LIMIT = 21 HOME_OFFSET = 0.500000 HOME_SEARCH_VEL = -0.3 HOME_LATCH_VEL = 0.1 HOME_FINAL_VEL = -0.300000 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 0 #******************** # Axis Y #******************** [AXIS_1] TYPE = LINEAR HOME = 5 FERROR = 0.005 MIN_FERROR = 0.0005 MAX_VELOCITY = 0.3 MAX_ACCELERATION = .65jiky # The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION # If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger. STEPGEN_MAXVEL = 0.4 STEPGEN_MAXACCEL = 1.3 # these are in nanoseconds DIRSETUP = 1000 DIRHOLD = 1000 STEPLEN = 4000 STEPSPACE = 4000 STEP_SCALE = 55019.75 BACKLASH = 0.025 MIN_LIMIT = -0.001 MAX_LIMIT = 14 HOME_OFFSET = 0.500000 HOME_SEARCH_VEL = -0.3 HOME_LATCH_VEL = 0.1 HOME_FINAL_VEL = -0.300000 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 0 #******************** # Axis Z #******************** [AXIS_2] TYPE = LINEAR HOME = 0.0 FERROR = 0.005 MIN_FERROR = 0.0005 MAX_VELOCITY = 1.667 MAX_ACCELERATION = 2.0 # The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION # If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger. STEPGEN_MAXVEL = 2.1 STEPGEN_MAXACCEL = 2.5 # these are in nanoseconds DIRSETUP = 1000 DIRHOLD = 1000 STEPLEN = 1000 STEPSPACE = 1000 STEP_SCALE = 6000.0 MIN_LIMIT = -5 MAX_LIMIT = 8.0 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0 HOME_LATCH_VEL = 0 HOME_USE_INDEX = NO HOME_SEQUENCE = 0 #******************** # Spindle #******************** [SPINDLE_9] #******************** # Probe #******************** [TOOLSENSOR] # Absolute coordinates of the toolsetter pad X = 5 Y = 5 # Absolute Z start search coordinates Z = 1 # Maximum search distance and direction (sign) MAXPROBE = -1 # Speed of movements during working in Probe Screen RAPID_SPEED = 600 # Diameter of toolsetter pad TS_DIAMETER = 1 # The speed of the reverse rotation of the spindle when measuring the tool diameter REV_ROTATION_SPEED = 300 [CHANGE_POSITION] # Abs coordinates tool change point X = 5 Y = 5 Z = 1 [RS274NGC] FEATURES=30 SUBROUTINE_PATH = macros REMAP=M6 modalgroup=6 prolog=change_prolog ngc=manual_change epilog=change_epilog [PYTHON] PATH_PREPEND = ./python

Please Log in to join the conversation.

More
6 years 2 months ago #179677 by Mara2000
Replied by Mara2000 on topic Work with probe
Hi friends,

I am trying to commissioning probe screen in gmoccapy. Most of function works ok but if I load a program that contains more tools, the probe screen does not work properly.

I uploaded a video to yutube:



Process:
1. Measurement of the tool length (TS height)
2. Measuring the height of the workpiece
3 I start the loaded milling program.
4. The machine go to change position and asks to insert the tool 1
5. The tool lenght is automatically measured on TS sensor position and next g.code program milling starts.
6. After first milling opearation In the g-code, a next tool change is required for the next operation - the Z axis moves upwards and nothing happens anymore. - no message the and machine stops.


Thank you very much for your help.

Please Log in to join the conversation.

More
6 years 2 months ago #179749 by Mara2000
Replied by Mara2000 on topic Work with probe
Hi franstrein, could you please send mi your machine configs. I have still problems with M6 Remap ...thank you :-)

Please Log in to join the conversation.

More
6 years 2 months ago #179861 by Mara2000
Replied by Mara2000 on topic Work with probe
So today I partially solved the problem. If another tool is required in the G-code, the spindle go the exchange position and the machine remains stoped without any message - just click on pause button and a message window pops up to insert another tool! Confirm ok a new tool is measured on toolsettler and the program continues. I will try to tune the postprocessor in fusion 360 for manual change rutine.

Please Log in to join the conversation.

More
6 years 1 month ago #181102 by harvey
Replied by harvey on topic Work with probe
My System
OS:Debian GNU/Linux 9 (stretch)
linuxcnc Version: linuxcnc 2.9.0-pre0-2613-g91e5edda7
linuxcnc GUI: Axis
python Version: Python 2.7.13
glade Version:glade3 3.8.6
probescreen V2 from git

I installed the probescreen according to the instructions.
After starting linuxcnc i am able to show the probescreen.
I tested the probing with an elektrical signal to the probe-in pin.
Basically probing works(x, y, z) but i have to adjust the probing parameter.

but

if i try to jog with the implementet jog-buttons nothing nothing happens and i got the following error

Traceback (most recent call last):
File "python/probe_screen.py", line 394, in on_btn_jog_pressed
self.command.jog( linuxcnc.JOG_CONTINUOUS, axisnumber, direction * velocity )
TypeError: integer argument expected, got float
Traceback (most recent call last):
File "python/probe_screen.py", line 407, in on_btn_jog_released
self.command.jog( linuxcnc.JOG_STOP, axis )
TypeError: function takes at least 3 arguments (2 given)

jogging with the Axis-button works

Please Log in to join the conversation.

More
6 years 1 month ago #181176 by Roguish
Replied by Roguish on topic Work with probe
Could be the INCREMENTS line. you have more than 5 values.
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm

try only 5 values.
INCREMENTS = .5mm .1mm .05mm .01mm .005mm

Please Log in to join the conversation.

More
6 years 1 month ago #181214 by harvey
Replied by harvey on topic Work with probe
OK the error with the increments is fixed
but jogging is still not possible and shows the error in my first post

Please Log in to join the conversation.

More
6 years 1 month ago #182022 by RayJr
Replied by RayJr on topic Work with probe
the first thing i see is you have two "[RS274NGC]" sections in the ini. There should be only one. So I would cut the lines below the last [RS274NGC] section, and paste the at the end of the first instance of [RS274NGC], then delete the second instance, and save.

Ray

"No problem can be solved from the same level of consciousness that created it"

Albert Einstein

Please Log in to join the conversation.

More
6 years 1 month ago #182068 by harvey
Replied by harvey on topic Work with probe
Sorry but i can't find 2 [RS274NGC] sections
Hans-Werner

Please Log in to join the conversation.

Time to create page: 0.229 seconds
Powered by Kunena Forum