Sign in to follow this  
Followers 0
plcdp

Question about MT Dev. virtual mode programming

4 posts in this topic

Hello, I am currently doing a project using a Q170MCPU-S1 using the encoder tracking function. I have an encoder tracking the speed of a large conveyor that only turns in one direction. I need to load my product on while tracking and then move the axis back to the start position to repeat the process. I made a virtual axis in which the encoder is linked to my servo motor using a clutch and a differential gear with a virtual servomotor tied to it to facilitate moving the axis back to start when the clutch is disengaged. My problem is when I turn my motor via encoder following, the virtual encoder doesn't go anywhere on the virtual servo when not in use. This is causing the actual encoder position of the axis to not match the position on the virtual servo encoder. Is there some way to keep these in sync? I am hoping that someone here may have dealt with something like this before and could steer me in the right direction. Thanks, plcdp

Share this post


Link to post
Share on other sites
OK I was able to sync the encoders current position values. The problem i am having is when the axis is moved via the external encoder, the virtual servomotor encoder does not register the move thus it has no idea where it is. if anyone has dealt with this before any insight would be appreciated. plcdp

Share this post


Link to post
Share on other sites
When you turn the output with the synchronous encoder (I assume as your main source of drive), the virtual servo motor encoder value should not change because it is not moving. The virtual servo is only updated when it is moved. Only the output shaft is moved, and the location of that should update just fine. Why would you expect the virtual servo to change when it is not being given a command? You have 2 totally independent sources of drive. They would not be synced with each other. Try writing your program to track the current position of the output shaft, and then use the value from the output shaft movement as the distance to move the virtual motor back.

Share this post


Link to post
Share on other sites
I see...That is what i ended up doing, I just didn't know if I was going about it the right way. Thanks for the info. plcdp

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0