Jump to content
OMRON Forums

Motor status SoftPlus/Minus not working


andyf

Recommended Posts

I am running firmware version 1.6.1.1 and noticed that when a motor hits a soft plus/minus limit there motor stops, but the motor status word bits do not go high. As a result the Motor[x].SoftPlusLimit and Motor[x].SoftMinusLimit do not go high. This also impacts geterrors

 

Please advise

Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

The soft overtravel limits work in several different ways at different points in the process, and it is important to understand these different modes.

 

At move calculation time, a move's final destination can be checked against the soft limits, and if past a limit, the destination changed to equal the limit. This is not necessarily an error, but if this happens, the motor status bit SoftLimit is set (at the start of the move) and the SoftLimitDir status bit indicates which limit caused the destination to be changed.

 

There are also checks done at move execution time. If the instantaneous commanded position goes past a soft limit, motion will be aborted and the appropriate error bit (SoftPlusLimit or SoftMinusLimit) will be set. The limits at execution time are (MaxPos + SoftLimitOffset) and (MinPos - SoftLimitOffset).

 

If SoftLimitOffset is at its default value of 0, a move altered at calculation time to stop at the soft limit will not trip on the error and set the bit when it gets there, because some do not want this to be an error. If you set SoftLimitOffset to a small negative value, it will trip on the error and set the bit when it reaches the end. If you want this behavior, set SoftLimitOffset to a small negative value, such as -1 (feedback count).

Link to comment
Share on other sites

The soft overtravel limits work in several different ways at different points in the process, and it is important to understand these different modes.

 

At move calculation time, a move's final destination can be checked against the soft limits, and if past a limit, the destination changed to equal the limit. This is not necessarily an error, but if this happens, the motor status bit SoftLimit is set (at the start of the move) and the SoftLimitDir status bit indicates which limit caused the destination to be changed.

 

There are also checks done at move execution time. If the instantaneous commanded position goes past a soft limit, motion will be aborted and the appropriate error bit (SoftPlusLimit or SoftMinusLimit) will be set. The limits at execution time are (MaxPos + SoftLimitOffset) and (MinPos - SoftLimitOffset).

 

If SoftLimitOffset is at its default value of 0, a move altered at calculation time to stop at the soft limit will not trip on the error and set the bit when it gets there, because some do not want this to be an error. If you set SoftLimitOffset to a small negative value, it will trip on the error and set the bit when it reaches the end. If you want this behavior, set SoftLimitOffset to a small negative value, such as -1 (feedback count).

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...