Quote Originally Posted by mflux_gamblej View Post
this it turns out isnt right. the work offset updates do work via DNC. it only appeared that they did not because nothing changed each time I ran it via DNC. what's troubling is that when you run the program from the control's internal memory, the results change everytime in terms of the found center. and it appears to begin to oscillate and get more variability the more you run it. that seems to me that either I am having some kind of variable initialization problem? or the control is doing something very unexpected / difficult to track down.

I verified that the DNC program does actually execute all macro statements and updates the work offsets by running it after i had run the program many times from internal memory. the work offset changed. then I ran the DNC program again, and No change. so that was confusing, and I ran it again over DNC, and it did change but only by 0.0001" in Y , 0 in x. I ran the program many times over DNC, and the results didn't change by more than +/-0.0001" each time I ran it.

Not believing what was going on, I went back to running the program from internal memory, and bam! the result changed by 0.0002 x, 0.0005 y, then -0.0002x, -0.0002y, and it began to oscillate again.

so I ran it via DNC again, and again the first change was large because it was vs. running from internal memory. Then the second DNC run: 0.0000 x, 0.0001 y.

unbelievable. any thoughts? why might there be some kind of lurking variable value when run via the internal memory, but not when run over DNC? (i verified that every single character of the program in memory is the same as the DNC - so it's not that).
I found out why there were spurious errors when run from internal memory. the problem was that I was using the SU command to display variables about the probe. SU displays the probe points P1 P2 and P3 along with the probe correction factors, and variables R0-R9

What I didn't know is that the SU command is 'running' the program in a simulation mode, and during that simulated run, it actually did the macro math and actually updated the fixture offsets - so all of the data that I was viewing as probe results, was from that SU screen and therefore bull**** - where the runs made via DNC don't actually change the fixture offset, and when I'd run SU after the DNC program run, it would run that simulation and it would change the fixture offset by a tiny amount; leading me to believe that the DNC macro commands were actually doing something when in reality there are not!

SO ... life probing on a fadal isn't very damn easy or convenient.

Also, as I mentioned previously, over DNC some macro statements (or all of them?) get ignored. I'm going to have to switch to a sub-program to do my macro calcs, then return to the DNC program. wtf! the manual says explicitly that this stuff should work via DNC. maybe its my older 1400-4 processor that has buggy or otherwise not updated code vs. the available manuals. another example of DNC mode not doing anything is the #PRINT and #INPUT statements get totally ignored for some reason. I don't know why. maybe the # character doesn't work via DNC? or maybe I need to do something else? no clue.\


If I run the program from internal memory, and use #PRINT, #INPUT statements to display the probe results, and do not run the SU command at all, the internal memory version repeats very nicely and only changes 0.0001 or 0.0000 in x or y for any given repeat.