Eric H. Johnson wrote:
> Hi all,
> 
> I have encountered several idiosyncrasies after setting the soft limits.
> Basically I have two questions for now.
> 
> 1> Shouldn't the home sequence automatically disable the soft limits? I have
> encountered instances where the home sequence will abort due to encountering
> the soft limit for the axis.

Prior to and during homing, the soft limits are set to "current position 
+/- total length of axis"  (length of axis is the difference between the
soft limits in the ini file.  That means the home sequence should run
into the physical ends of the axis before it hits the soft limit, unless
the values in the ini file are grossly wrong.

Once an axis is homed, the soft limits are absolute, based on the ini
file values.

> 2> Aren't soft limits always relative to absolute positions? I need to do
> some more testing here, but I am having the system report that it has
> reached the soft limit, when in terms of absolute positions, it is nowhere
> near the soft limits.

Could you give more specifics?  What are the soft limits in your ini 
file?  What position are you at when it reported that you hit them?
What were you doing when it reported that (jogging, running a program,
homing)?  Are you sure you don't have any offsets in effect?  The final,
absolute position command with all offsets removed is available on the
HAL pin axis.N.joint-pos-cmd.  You can observe that with halmeter.  If
you get a soft limit trip when that value is between the limits, please
report it.  (If you get it very close to the limit, see below.)

In all but the latest CVS, EMC will prevent you from getting closer than
0.1% of the total axis length of either limit.  That doesn't sound like
your situation, since "nowhere near the limit" seems like a lot more
than 0.1%.  (0.1% of a 20" long axis is only 0.020".)  Last night after
a discussion on IRC, I recoded the soft limits.  You can now go all the
way to the limits, but not beyond.  Reaching the limits is not treated
as a fault, it just stops moving.  Going beyond the limits is a fault,
but that is hard to do because jogs and other motion commands are
checked before they are issued.  At the moment the only way I know of
to get that fault is to issue an arc command with both endpoints inside
the limit but some part of the arc outside the limit.  (Eventually we
will improve the checking, and even that arc command will be caught
before the move starts.)

Regards,

John Kasunich



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to