Jump to content
OMRON Forums

DesVelZero problem


steveneads

Recommended Posts

I have an application where the command to a motor comes from an analogue source. This is heavily filtered to remove noise.

 

I noticed that my motor always had a following error even when the commanded position was constant - the integration mode is 1 - so it should only integrate when the desired velocity is zero.

 

In fact, because the command comes from an analogue input, the desired velocity is never zero - it's very, very small and this is really fooling the integration logic.

 

Is there any way to add a tolerance so that the DesVelZero shows true when below a small threshold instead of exactly zero?

 

I could of course write my own code to change the integration mode on the fly if this is not possible.

Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

The problem is that your integration mode uses DesVelZero as its trigger - so unless there's a way of giving it a band, I have no choise but to write my own code to toggle the state of the integration mode so that I can enable and disable the integrator depending upon "real" desired velocity.
Link to comment
Share on other sites

I think one way or another you will have to create your threshold in user code. If you are tracking the input with one of our automatic algorithms like position following, you will want a PLC program that monitors with something like:

 

if (abs(Motor[x].DesVel < MyEpsilon)) Motor[x].SwZvInt = 0;

else Motor[x].SwZvInt = 1;

 

If you are implementing the tracking in user code, it would be easy to create a deadband in that algorithm.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...