I’m not entirely certain if what I’d like to do is even possible but here goes...
I’m trying to come up with a way to limit as much intereraction as possible with our current process. We machine graphite at the shop I work in and we have a customer that requests small cubes with only one side of one dimension machined. What I’d like to do is be able to take a random plate of graphite, throw it in a vise, have the machine ask the operator to input the finish thickness, and machine it down to .01 over, and then we can sawcut the other dimensions.
I can do all of the programming except for getting it to allow the operator to input a finish thickness. I was hoping an M109 would allow this but it seems to only allow a single key press. I’d like to avoid having operators edit variables in the program header if possible. There are other ways I can come up with to run this process but in my mind this would be the easiest for the operators, and if my guys are happy then I’m happy.
the variables will either be changed by the operators or will be done in the program
I have not seen it done any other way yet
even with the m109 the operator is changing the macro variable in order to continue with the program (goto statement) although you could use the program to give the height the 126 inputs could then be instructed to do
if 1 goto10 where #502=.500
if 2 goto20 where #502=.437 ect.
these would be preset heights-- I think this would be to confusing for the operator and you would have to have a chart next to the machine for the operators to interpret
N1 #501= 0. (Clear the variable) ;
N5 M109 P501 (Sleep 1 min?) ;
IF [ #501 EQ 0. ] GOTO5 (Wait for a key) ;
IF [ #501 EQ 89. ] GOTO10 (Y) ;
IF [ #501 EQ 78. ] GOTO20 (N) ;
GOTO1 (Keep checking) ;(safety to send it back to check for only inputs allowed)
i would let the operators modify the variable but put some safety's in to keep the machine from crashing
using a cube 1.0 x 1.0 x 1.0 in a vise being gripped by .200 depth
z work offset would be of the part because of the random plate of graphite
the part is to be .900 height
#501=.900 (operator input length)either in the program or on the macro variables page
IF[#501GT1.000]GOTO9999(to machine the part)
IF[#501LT.300]GOTO9999(to not machine the vise)
It's my understanding that the "M109 P501" line will only wait for a single key press. What'd I'm hoping I can do is have this line allow the operator to input the actual finish dimension. .5, 1., .750 or whatever the dimension happens to be. We, quite literally, have thousands of pounds of these graphite plates to machine, they will likely be going from one size to another. This way, they'd be able to check the plate with calipers, the plate could check at 1.312, they'd type in 1.25 and I could write the program to do everything else.
I'm almost certain that I could write a convoluted probing routine to touch off the bottom of the vise or fixture then the top of each plate and wiz through some math to get me where I want to be, but in my head the former seems like a much easier and more efficient way of going about this. That is, if it's even possible.