taxidelt

Relative Move NX1P2 and 1SN drive

9 posts in this topic

I am working with a small conveyor with a servo motor and 8:1 reducer gear box. I am tryin got make the relative move index in number of counts instead of the number or rotations of the output shaft. It doesn't matter what display units I select I indexes the motor the same amount of counts. Through tests I have determined I need to index the conveyor 12780522 pulses. If I try and send it that number it errors out. Upon contacting my vendor for the omron software I was informed to change the display units to pulses instead of inches. This doesn't make any difference. 

Also, 

I have some delay timers built into it. When I attempted to make the variable for my timer on the NA5 V1 HMI it wouldn't let me set the data type to TIME I had to convert the number entered into nano-seconds from seconds(by multiplying the number 1000000000) then performing the nanosec to time block This seems like there is something I am missing in the HMI or the data types.  

 

I intend the clean up some of the language and labeling once I get the system working properly. 

 

Any help you can provide would be greatly appreciated. 

 

I have included a copy of the program so far. 

Lower Body 01aug2023.smc2

Share this post


Link to post
Share on other sites

1. Wouldn't you just setup the ratio as seen in the screenshot? The axis is setup with no "gearing / ratio"... From looking at how you have the axis Unit Conversion Set you are using the gear box. I would not do this if you just want to use pulses. The way you have it set in the project using the gear box your command of  12780522 would actually give 85,768,631,274,700.8 pulses. Pay attention to their formulas there in the setup it tells you what each number is doing and how to calculate how many pulses were generated.

Servo.JPG.10ad8a361844497ee95bf102052ee2

 

2. I don't have experience with the NA screens. But using Weintek with NX PLC I am doing that conversion all the time. Maybe I am missing something, would be good to know if so... :-)

Edited by b.k.n.

Share this post


Link to post
Share on other sites
2 hours ago, b.k.n. said:

1. Wouldn't you just setup the ratio as seen in the screenshot? The axis is setup with no "gearing / ratio"... From looking at how you have the axis Unit Conversion Set you are using the gear box. I would not do this if you just want to use pulses. The way you have it set in the project using the gear box your command of  12780522 would actually give 85,768,631,274,700.8 pulses. Pay attention to their formulas there in the setup it tells you what each number is doing and how to calculate how many pulses were generated.

Servo.JPG.10ad8a361844497ee95bf102052ee2

 

2. I don't have experience with the NA screens. But using Weintek with NX PLC I am doing that conversion all the time. Maybe I am missing something, would be good to know if so... :-)

The 12780522 pulse came from running the conveyor in test run mode and see the number of counts it took to send the conveyor around 1 full revolution and then dividing the number by 38 (it has 38 stations on it). 

Any time I use the do not use gear box the motor won't move at all. Not sure why. This is my first project with the Omron family of PLC's 

I tried setting it up with using a gearbox with unit of display being pulses and inches and the motor indexes the same distance regardless of what I choose. 

 

 

 

 

1 1 1.JPG

1 1 1 inches.JPG

Edited by taxidelt

Share this post


Link to post
Share on other sites

There is also a seconds to time function, SecToTime, if you don't want to use nanoseconds.  The IEC data type TIME is something many HMIs can show but cannot input.

The motor encoder makes 8,388,608 pulses per revolution.  To work in Inches, select Inches and then put in the number of inches of travel that makes on your conveyor, and all motion and speed will be scaled into inches.  How far the conveyor moves for one shaft rotation should be documented by the company who made it.  You don't need to use the gearbox feature in here, you can always do the math and determine what 1/8 of that rotation is since you said an 8:1 gearbox.  

It's all a matter of entering the right numbers, pretty simple IMHO.

 

1 person likes this

Share this post


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

It's all a matter of entering the right numbers, pretty simple IMHO.

This is true for everything :)

1 person likes this

Share this post


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

There is also a seconds to time function, SecToTime, if you don't want to use nanoseconds.  The IEC data type TIME is something many HMIs can show but cannot input.

The motor encoder makes 8,388,608 pulses per revolution.  To work in Inches, select Inches and then put in the number of inches of travel that makes on your conveyor, and all motion and speed will be scaled into inches.  How far the conveyor moves for one shaft rotation should be documented by the company who made it.  You don't need to use the gearbox feature in here, you can always do the math and determine what 1/8 of that rotation is since you said an 8:1 gearbox.  

It's all a matter of entering the right numbers, pretty simple IMHO.

 

I would agree with that if not for the fact it doesn't matter what unit of display I select. If I have it selected as inches and tell it to travel 2 inches it goes x amount of distance. If I have it selected as pulses and then tell it to travel 2 units it travels the same exact distance regardless of what unit I am telling it I am using. I understand how to do the math the issue I am seeing that no matter the unit of measure I put in the set number it travels is the same. 

 

As for not using the gearbox function. If I select that option, connect, compare and transfer to the controller the motor will not move in index or jog. Any ideas on why that is? 

 

Edited by taxidelt

Share this post


Link to post
Share on other sites
21 hours ago, taxidelt said:

I have some delay timers built into it. When I attempted to make the variable for my timer on the NA5 V1 HMI it wouldn't let me set the data type to TIME I had to convert the number entered into nano-seconds from seconds(by multiplying the number 1000000000) then performing the nanosec to time block This seems like there is something I am missing in the HMI or the data types.  

 

I had a project where the operators needed to input minutes and hours for a process. I used integers so they could set the values on the PLC, and then used the MULTIME function to multiply those integers by 1hr, 1min, 1sec etc as applicable. The output of those functions were then used for the relevant timers.

A structured datatype and a custom function or function block does make this process a bit more streamlined.

Share this post


Link to post
Share on other sites
13 hours ago, BE said:

I had a project where the operators needed to input minutes and hours for a process. I used integers so they could set the values on the PLC, and then used the MULTIME function to multiply those integers by 1hr, 1min, 1sec etc as applicable. The output of those functions were then used for the relevant timers.

A structured datatype and a custom function or function block does make this process a bit more streamlined.

I can see how this will be useful. I will keep this in mind when I have a project with those parameters. Thank you. 

Share this post


Link to post
Share on other sites
On 8/8/2023 at 8:37 AM, taxidelt said:

I would agree with that if not for the fact it doesn't matter what unit of display I select. If I have it selected as inches and tell it to travel 2 inches it goes x amount of distance. If I have it selected as pulses and then tell it to travel 2 units it travels the same exact distance regardless of what unit I am telling it I am using. I understand how to do the math the issue I am seeing that no matter the unit of measure I put in the set number it travels is the same. 

 

As for not using the gearbox function. If I select that option, connect, compare and transfer to the controller the motor will not move in index or jog. Any ideas on why that is? 

 

Not 100% sure why but I worked with out rep and we went in and deleted the drive from the program and then added it back in and deleted all the places where that variable was used MC_Axis000 and then did a rebuild (without the MC_Axis000 used so it threw an error) went in labeled each location for the MC_Axis000. did a rebuild and then transfered to the controller while online and I am now able to command it to move a certain number of pulses. 

 

going forward I am going to figure out which unit of measure I want to start with and then build the drive around that. 

 

Thank you all for the help and hints provided. 

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