08-16-2011 04:50 PM
Take a look at the attached zip file. I had a project where I was primarily controlling a 150 HP AC motor with a Unidrive SP. I stripped out some auxiliary stuff, but most of the code is still here.
I like to centralize the motor controller communications, so I do that in a single loop. I also set it up as an action engine so I can initialize things like the com port and the drive address and keep those values stored.
One thing I added was a side dialog that pops up so that I can read or write to any parameter besides the handful I'm looking during normal operation. It just injects its commands into the communication.
(Note: This is saved in LV 2009.)
08-17-2011 08:53 AM
I like how the way you poll the drive for status updates by using recurring queues. I think that project will help me out greatly.
I'm using this unidrive to control a linear actuator from Exlar, which is nothing more than a strong servo. Thanks for the help!
08-17-2011 09:58 AM
We use some Exlar actuators also. But we've used some Control Techniques MD-434 servo drives to control them. For my more advanced test stand, that drive has a program module add-on. I wrote a program on that which would take some parameters and actually issue and execute a move command. So it is the real brains of the system. But I used modbus parameters to get the motion parameters from the PC to the drive and also return some status parameters such as current position, velocity, etc. If I remember correctly, I used the same queue mechanism where I re-enqueue the repetitive commands such as polling the modbus status parameters. I like this method because once I set up the recurring stuff, I don't have to do any extra work to keep them running. The one-time commands get put into the queue and get executed soon enough. And by not doing an actual polling, I'm not flooding the communications with multiple copies of the same data requests in the event the serial communication gets slowed down or lost for some reason like a disconnected cabled.
08-17-2011 10:39 AM
This is our first project that is using actuators/servos so we went with what the applications engineer said would be best, which was the unidrive SP. We're testing the hold strength of an item, it must be able to hold piano wire with almost 1,000 lbs tension. What i'm planning on is commanding the unidrive to move a few inches with a low current limit on the drive. Ramp the current limit up while monitoring the tension in the wire.
Exlar has the motor files for a unidrive so i plan on loading that using Control Tech's software, then using labview to do the rest.
08-17-2011 10:58 AM
That sounds good. Good luck with your application.
03-02-2012 08:52 AM
Sort of a related question here, I've got a Unidrive SP and I'm using the SM-CAN module. The problem I have is that the SM-CAN user guide shows command usage for Emerson's SYPT software, and of course I'm using LabVIEW.
Does anyone know of a programmer's reference that provides the lower-level CAN IDs and data word values for the drive's command set? I've looked through the user guide and Emerson's site, no luck. Called tech support three times, can't get anyone to call me back.
Help?