Closed Loop Relative Position Mode

6 years 1 week ago - 5 years 11 months ago #29532926 by maple
First, allow me to point out that there is nothing "relative" about this mode. The controller reacts only to "!G" commands and interprets them as ABSOLUTE position to go to. Considering the amount of completely unrelated commands and operating parameters that have "relative" in them this is very confusing name for a mode. If it was up to me I'd call it "Controlled Tracking" or something like that.

Nevertheless, the bigger problem is that !P, !PX and ?DR commands do not work in this mode, and there are no alternative !G variants to use. Which means extremely useful Position Command Chaining cannot be used in Closed Loop Relative Position Mode, and I fail to see any reason for that. It does not matter what kind of sensor is used for feedback, analog or encoder. In the end it all comes down to simple numbers that reflect current and desired positions.

So, I have a question and a proposition for you. The question is - is there any not yet documented way to chain commands in this mode? And if not, my proposition would be either to allow P* commands to work with analog sensor feedback, or to add corresponding G* variants for command chaining.

Please Log in or Create an account to join the conversation.

5 years 11 months ago #29532994 by jppedroni
Hi, did you find a solution to this issue? I'm also interested in chaining position commands. I'm using the count position closed loop mode and found that the !DR is not working

Please Log in or Create an account to join the conversation.

5 years 11 months ago #29532995 by maple
I do not have an encoder, so I had to use relative position mode. Since you are using count position mode, all those commands should work for you.
Make sure you are using "?DR", not "!DR" as in my original post, that was a typo.

Please Log in or Create an account to join the conversation.

5 years 11 months ago #29532997 by jppedroni
I'm actually writing a script, so I use getvalue(_DR,1) as ?DR. It always returns 0.

Please Log in or Create an account to join the conversation.

5 years 11 months ago #29533000 by blake

jppedroni wrote: I'm actually writing a script, so I use getvalue(_DR,1) as ?DR. It always returns 0.


Please tell me which model of controller you have and which firmware version is currently loaded to the controller.
The following user(s) said Thank You: jppedroni

Please Log in or Create an account to join the conversation.

5 years 11 months ago #29533006 by jppedroni
Solved it using getvalue(_DREACHED,1)

Please Log in or Create an account to join the conversation.

5 years 11 months ago #29533007 by maple
interesting... if _DR does not work but _DREACHED does then it looks like a bug.

Please Log in or Create an account to join the conversation.

5 years 11 months ago #29533008 by blake
A bug was indeed found with the _DR query. FYI we will be releasing a new firmware update this month, fixes for this bug and many others will be included in the new release so stay tuned.
The following user(s) said Thank You: jppedroni

Please Log in or Create an account to join the conversation.

Time to create page: 0.098 seconds