18 posts in this topic

Our C axis which is a rotary axis doesn't perform commanded postion, for eg if we give command of 360 deg, then it will only rotate 359 deg and for next time it will rotate 358 and so on for every rotation. i.e for every rotation its complete degree is reduced by 1 deg.  And system doesnt show any error. 

By providing command of 360 deg, if we rotate or axis for 15 times then the last position at which it will stop will he 345 deg. 

 

Please share valuable inputs to resolve that problem.

Share this post


Link to post
Share on other sites

Can't say for sure about the Omron Motion Control, but most servo motion systems have a tolerance window around the target position.  If the tolerance is +/- 1 degree in your case that explains why it is happy when it gets to 359.  Might want to recheck the setup.

Share this post


Link to post
Share on other sites

Sounds like a scaling issue in your axis settings.  Are you using a gearbox?

1 person likes this

Share this post


Link to post
Share on other sites

Is the measurement you're getting the degrees from a physical measurement or is it from the plc?

Share this post


Link to post
Share on other sites

@Crossbow Yes, we are using gear box of ratio 20:1, earlier it was running okay, or may be same problem with minor error which we ignored but now this error has been increased. 

CONTROLLER NX1P2

SERVO MOTOR R88M-1M1K020C-S2

SERVO DRIVE R88D-1SN-10F-ECT ( 400 VOLT)

Share this post


Link to post
Share on other sites

@photovoltaic, Yes, Sir we are getting it from physical movement tracking but HMI also shows the same data which was shown by external system to track physical movement. 

Physical movement tracked by laser calibration system. But the values are same in both in HMI and laser calibration system 

Share this post


Link to post
Share on other sites
47 minutes ago, yadav.parbhakar@gmail.com said:

@photovoltaic, Yes, Sir we are getting it from physical movement tracking but HMI also shows the same data which was shown by external system to track physical movement. 

Physical movement tracked by laser calibration system. But the values are same in both in HMI and laser calibration system 

What do you have your pulses per rotation set to and are you using absolute or relative move instructions

Share this post


Link to post
Share on other sites
9 hours ago, Crossbow said:

Sounds like a scaling issue in your axis settings.  Are you using a gearbox?

9 hours ago, Crossbow said:

Sounds like a scaling issue in your axis settings.  Are you using a gearbox?

Crossbow Yes, we are using gear box of ratio 20:1, earlier it was running okay, or may be same problem with minor error which we ignored but now this error has been increased. 

CONTROLLER NX1P2

SERVO MOTOR R88M-1M1K020C-S2

SERVO DRIVE R88D-1SN-10F-ECT ( 400 VOLT)

Share this post


Link to post
Share on other sites

There is absolutely no reason I can think of why you would command a 360 degree motion and get 359. The NX1P2 will move the axis by the commanded amount.  So if you command 360, you get 360, as long as you properly scaled the axis.  Please tell us what you have in the axis settings for pulses per rotation and in position range.

I would look at the input values to your motion function blocks and assure they are actually 360.  Are they hard coded numeric values or are they coming from a variable?  If variables, are you sure the correct value is in the variables and there's no math errors?  And use the Axis Monitor in Sysmac Studio to look at the axis values and make sure what was commanded was actually moved. 

The system is using 64-bit double floating point values, so it is very accurate on motion.  I've worked on dozens of these and never had an accuracy issue, so it sounds like something in the program or configuration is not right.

Share this post


Link to post
Share on other sites

What do you have for the Modulo setting in the Position Count Settings for the Axis?  It should be set to Maximum: 360.0, Minimum 0.0.  Make sure that it is not set to 359 or something for the maximum.  

 

Share this post


Link to post
Share on other sites
56 minutes ago, Crossbow said:

There is absolutely no reason I can think of why you would command a 360 degree motion and get 359. The NX1P2 will move the axis by the commanded amount.  So if you command 360, you get 360, as long as you properly scaled the axis.  Please tell us what you have in the axis settings for pulses per rotation and in position range.

I would look at the input values to your motion function blocks and assure they are actually 360.  Are they hard coded numeric values or are they coming from a variable?  If variables, are you sure the correct value is in the variables and there's no math errors?  And use the Axis Monitor in Sysmac Studio to look at the axis values and make sure what was commanded was actually moved. 

The system is using 64-bit double floating point values, so it is very accurate on motion.  I've worked on dozens of these and never had an accuracy issue, so it sounds like something in the program or configuration is not right.

Thank you very much for reply, But I'm happy to say that, O changed few things in axis setting and got the desired results. I changed the following things ...

1. In postion range to 0.0001 deg, earlier it was 10 deg. 

2. Zero Postion range to 0.0001 deg, earlier it was 10 deg. 

3. Maximum Modulo to 360 deg, earlier it was 361 deg. 

Gear box ratio was 20:1 

 

By changing these settings I got the desired results. Now its in 0.036 sec. 

Please also correct me if I did anything wrong. 

I'm waiting for reply. 

 

 

 

Edited by yadav.parbhakar@gmail.com

Share this post


Link to post
Share on other sites
29 minutes ago, Michael Walsh said:

What do you have for the Modulo setting in the Position Count Settings for the Axis?  It should be set to Maximum: 360.0, Minimum 0.0.  Make sure that it is not set to 359 or something for the maximum.  

 

Yes, I changed that but it's was 361deg, 

But what does it mean how it affects the motion. ??

Thank you very much for your inputs. 

 

Share this post


Link to post
Share on other sites

It sets the degrees one full rotation does in the case of a rotary application. if you had 361 then you were losing a degree every rotation.

Share this post


Link to post
Share on other sites
9 minutes ago, photovoltaic said:

It sets the degrees one full rotation does in the case of a rotary application. if you had 361 then you were losing a degree every rotation.

9 minutes ago, photovoltaic said:

It sets the degrees one full rotation does in the case of a rotary application. if you had 361 then you were losing a degree every rotation.

And sir, what's the effect of changing "In postion range " and "Zero postion range" 

Please clear this doubts.  

45 minutes ago, Michael Walsh said:

What do you have for the Modulo setting in the Position Count Settings for the Axis?  It should be set to Maximum: 360.0, Minimum 0.0.  Make sure that it is not set to 359 or something for the maximum.  

 

Yes, I changed that but it's was 361deg, 

But what does it mean how it affects the motion. ??

Thank you very much for your inputs. 

 

Share this post


Link to post
Share on other sites
13 minutes ago, photovoltaic said:

It sets the degrees one full rotation does in the case of a rotary application. if you had 361 then you were losing a degree every rotation.

Sir, what is the effects of changing "In postion range" and "Zero postion range"

Edited by yadav.parbhakar@gmail.com

Share this post


Link to post
Share on other sites
10 minutes ago, yadav.parbhakar@gmail.com said:

Sir, what is the effects of changing "In postion range" and "Zero postion range"

In position range is when the PLC considers the axis to be in the desired position. This doesn't mean your drive will stop at the outer bounds of that range it just considers it "close enough" when the following error is less than this value.

Zero position range is a similar idea only for homing the drive.

I don't think these were the cause of your issue but the 361 degrees modulo setting would have caused you to lose a degree every rotation.

Share this post


Link to post
Share on other sites
33 minutes ago, photovoltaic said:

In position range is when the PLC considers the axis to be in the desired position. This doesn't mean your drive will stop at the outer bounds of that range it just considers it "close enough" when the following error is less than this value.

Zero position range is a similar idea only for homing the drive.

I don't think these were the cause of your issue but the 361 degrees modulo setting would have caused you to lose a degree every rotation.

Thank you very much sir, I also think that value in modulo settings was the main cause of main problem. 

Share this post


Link to post
Share on other sites

The value in Modulo was definitely your issue.

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