Sign in to follow this  
Followers 0
ddevins

Devicenet Ultra 3000

14 posts in this topic

Hello, I'm lost on how to do something. All Devicenet with SN in slot 9. System is SLC, PV 600, Ultra 3000 controlling a linear actuator. The actuator motor has 2000ppr encoder and 8000 pulses is 1 inch of travel I believe. I enter on dnet PV the length to extend out when energized. Have that OK going to floating point register in PLC. After quick delay, return to original retracted position. Length can be changed at any time via PV. Anyone have any ladder rungs for SLC that will do this?? Or ideas to do this?? Comments/help appreciated.

Share this post


Link to post
Share on other sites
which input and output assemblies are you using? can you post your program?

Share this post


Link to post
Share on other sites
attached is PLC program. Most is original program that was not devicenet---the PV prgram file is mine for devicenet. Actuator is controlled via Ultra 3000 drive and I'm trying to figure out settings. I'm trying to get the actuator to move out the distance in F8:40 and return. The existing controller is of unknown brand to me now. Any help or comments appreciated. Program attached is no where near complete yet to me. This is where my trouble is. Thanks 3587_05112007.RSS

Share this post


Link to post
Share on other sites
Have you decided what input and output assemblies in the Ultra's D-NET communications you want to use? Can you post the RSNetworx file for configuring the SDN that you created? Edited by jstolaruk

Share this post


Link to post
Share on other sites
I have added the devicenet program. I believe I have to somehow address in the RSS the mapped I/O in the dnet for the ultra 3000. I want to extend by a set amount then retract. Also need a home position I guess. Any help/comments/rungs appreciated very much. Thank you, DeviceNet_practice.dnt

Share this post


Link to post
Share on other sites
I was wondering how familiar you are with the Ultra3ks. I noticed you didn't specify the indexing model, if its not yet purchased you may want to make a part number change. Have you examined the manual "Ultra3000 Digital Servo Drive with DeviceNet"? In it, all of the input and output assemblies (memory maps) are described. I usually use output assembly instance 9 and input assembly 12 but it will be up to you. You can start by reading about those to give you an idea of what kind of handshake signals you can get back and forth. The Ultra can be configured via RSNetworx but its slow so I would recommend getting Ultraware to communicate directly with the drive. It will come in handy later for diagnostics. Edited by jstolaruk

Share this post


Link to post
Share on other sites
Thanks for the comments. The customer along with our company suggestions purchased the equipment. I have been on line with the drive with the Ultraware 3000. The actuator moves fine with parameters I enter if doing an autotune. Will read the book closer and see if that helps. Thanks

Share this post


Link to post
Share on other sites
I agree with jstolaruk. You really need an indexing drive to do what you want here. I use them all the time, and they work great. The logic to change the index points is simple if you use the right devicenet I/O assemblies (I usually use 6 and 10). Once you set up the index, all you need to do is set the correct preset select bits in the map, set the "start index" bit and off it goes. The drive you currently have is better suited for a follower or analog speed reference application.

Share this post


Link to post
Share on other sites
You guys are correct---the wrong drive was purchased. The customer purchased everything and my boss is in the process of getting things corrected. I did get the actuator to move with help from our home office. He assigned instances 9 and 11. By toggling a bit with enable high, it will move back and forth. I guess this is much easier with an index drive. I may need some help here with the PLC code to get the actuator to move in and out. This is new to me although I've been doing this for several years---just not dnet and ultra 3000. Thanks for your comments. It is much appreciated. If anyone has sample code using index drive and dnet, I would appreciate studying it until the new drive get here. Thanks again.

Share this post


Link to post
Share on other sites
Here are some rungs I pulled out of one of my programs. There's really nothing to it. Set the preset bits and start the index. The drive does the rest. indexing_example.RSS

Share this post


Link to post
Share on other sites
Thank you ifwoodland. I'll look at this tomorrow.

Share this post


Link to post
Share on other sites
I haven't heard what's going on with customer and my boss concerning new unit. But still have a question. There is numeric entry on PV600 to enter distance to travel---8", 6.58", etc. I have this going to a floating point in the data table in the SLC. I have reading to do but where does this go into the drive---or how does this number get to the drive for movement??? Retract on the actuator will be same number. Thanks,

Share this post


Link to post
Share on other sites
The drive's native position reference is based on encoder counts. Specifically, encoder counts from a known zero point (home). Let's say you have done the math to figure out that 2000 counts=1 inch of linear travel. Let's also assume that you want the actuator to simply extend to a point exactly 5" from home, and then return. You would first set up one index point at 10,000 counts (let's use index point #1). This can be done using a msg command or by using the appropriate dnet assembly. If you chose to use output assembly #6, you first move the desired parameter number into bytes 3 & 4 of the assembly, and then move the desired index counts into bytes 5,6,7,&8 (this will be a long integer, and you will need to use the CPW function with a length of 2 in order to move all 4 bytes into the output map). The parameter numbers can be found in the ultra 3000 reference manual. Finally, after moving the data into the output map, you will need to set the "write parameter" bit to commit the changes. To make the drive index, you will first need to home the servo (using a prox or other sensor positioned at the desired zero point on the actuator). Then, you would set the preset bit(s) to choose the index you previously set up (in this case, we chose index #1, so we would set preset bit #0). To start the index, just set the "start index" bit. To go back to home, just make sure that index #0 is set to zero counts. Set the "start index" bit with no preset bits set, and the servo will go to preset #0, which is zero counts (or home). Clear as mud? Edited by jfwoodland

Share this post


Link to post
Share on other sites
ifwoodland, I'll give it a shot. Yeah, it makes sense to me I think. I'll print what you posted and see what happens. Thanks a bunch.

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