Kenneth Lerman wrote:
>
>The day before yesterday, I did that, but accidently unplugged my milling
>machine instead of the lathe. I later realized my mistake, so I plugged the
>milling machine back in.
>
>Yesterday, I went to use the mill. It had some sort of axis errors, but I
>sometimes forget how I left the machine, so I just cleared the errors, took
>it out of estop, and went to rapid the axis to zero, zero.
>
>Whoops, the machine zoomed off the Y-axis scale into the hard stop. (A
>limit switch an inch from the end of travel didn't help.)
>
>
OK, I played around with this for a while, and demonstrated the behavior.
I SURE don't understand it, and it is more complicated than I thought.
I was able to power down the UPC controller board about 5 times without
any problems other than going to estop-reset and an axis limit error. I
could
then power it back up, get out of estop and make it move in a controlled
manner. I did lose axis alignment when doing this, of course, so it is not
too good that this can happen without a specific indication that the home
alignment has been knocked off.
But, the 6th time I did it, I got a behavior that has been described to
me, but
I have not seen before, myself. When I powered the board back on, the
X axis display started counting up at a fairly high rate, when the system
was in estop or estop-reset. When in machine-on, the motor would spin,
and the actual position display would remain stable. The system did not
respond to movement of the encoder. After this event, the only way to
get it working again was to shut down and restart EMC. I tried to
reset the condition by cycling power on the UPC board, but it didn't
help.
I don't know where the rapidly incrementing position is coming from, but
I DON'T believe it is coming from the UPC board! (I will check that
with the logic analyzer.) The incrementing appears to be .0001" per servo
cycle, or 0.1" per second. Since the INPUT_SCALE on my test system is
128000 counts/inch = user unit, it would be incrementing 12.8 encoder
counts/servo cycle, which doesn't ring a bell.
I'm wondering if this is somehow related to the encoder reading error
supression logic that was put in to suppress occasional wildly wrong
encoder readings on the STG card? (If the encoder is moved to some
position substantially far from the original start-up zero position, and
then the UPC or USC board were turned off and back on, the encoder
count would appear to EMC to be reset abruptly to zero, which would look
like an impossible encoder movement. This would trigger the invalid
count supression logic, which would never recover unless you happened to
move the encoder back close to the original reading.)
Any thoughts on this? I'm just sort of thinking out loud, trying to
understand this strange behavior. Obviously, you shouldn't power
off the encoder counters while EMC is running, but we need a way to
detect that and handle it in a robust manner. (Obviously, a message
like "PWM Controller communication failure - restart EMC" is
probably the right thing to do, but I'd like to understand where this
counting up of the position is coming from.)
Thanks,
Jon
|