In this video weíll see how easy it is to program the Productivity3000 High Speed Output
Module, or ìHSOî to move this carriage back and forth along this rail using a Sure Step
stepper motor.
Hereís a block diagram of the system.
The productivity3000 is connected to a Stride Ethernet Switch.
The Stride Ethernet switch is connected to a remote slave and that remote slave has both
the high speed input and a high speed output module.
In this video weíll just use the High Speed Output Module.
That module is connected through a zip link connector system, to a sure step stepper motor
driver.
That motor driver is connected to a stepper motor, which is driving the screw, which moves
the carriage.
At the far end of the screw we have an encoder - which we are not going to use in this video
ñ but we will use it in the high speed input module video.
To get going, all we do is auto-discover the hardware, configure the High Speed Output
Module, and use it.
Here we go Ö
Here we have a new empty project, and we are online with the controller.
Weíll just double click on Hardware Configuration, and we want to auto-discover the configuration
by hitting this Read Configuration button.
Notice the little yellow note that pops up when my cursor hits that button.
It says this button is only available in STOP mode.
In other words, I must be in RUN, and sure enough I am, letís go ahead and put it in
stop mode.
And now my configuration button comes available.
The software is going out and auto-discovering all of the hardware I have connected in the
system right now.
Now itís going to inform me about all the new hardware it found.
I really donít care so Iím going to say yes to all and be done with it.
Looks like I have two groups of equipment here.
One is my local base and one is my remote base.
My local base has an input simulator and some miscellaneous modules in it.
And my remote has both the HSI and HSO modules in it.
So that was Step 1 ñ Auto-discover the hardware.
Step 2: We want to configure this HSO card, so we just double click on it.
Letís give the module a name ñ weíll call it HSO DEMO.
And weíre going to use channel 1 for this video.
There are two channels here, we only need one.
This will be our carriage channel.
We could do all of our moves using Pulse Counts.
The stepper motor system we are using here has 20,000 pulses per revolution, and we could
just use that to specify all of our distances.
But it sure would be a whole lot easier if we could just use inches or millimeters.
Well, with the Productivity3000 thatís easy.
We come down here to the custom button, and letís do this one in millimeters.
And I know from doing some measurements that there 2666 pulses per millimeter.
Weíll look ñ now that I have done this, everything from here forward will be done
in millimeters.
Look, even the dialog has changed so that all of the units are in millimeters now.
So for example, my current position, is now in millimeters.
In fact, Iím going to put an mm here just to remind myself.
My velocity is in millimeters per second and my carriage
status.
There are a number of other options here that you can use to customize this for your particular
application.
For this little video I want the motion from left to right to be positive distance.
So to do that, I need to invert the polarity.
Note that you can specify output limits on all of your accelerations and velocities.
Thatís a really important safety feature to have because it will prohibit the system
from going beyond whatever limits you set.
Weíre not going to mess with those right now, just beware that they are there.
OK, I think we are good to go.
All we did was change our custom units, defined some tags to keep track of the position, velocity
and status and we inverted the polarity.
Done.
The Software recognized that we created some new tags and is asking us if we want to add
those to the tag database.
We do.
And thatís all there is to configuring the hardware.
Letís expand this so you guys can see it.
Iím going to go find the High Speed Module commands right here.
And we are going to grab a simple move, and drop it on a rung.
Now, because we only have one HSO module, the software knew to drop that in there.
And it even guessed the right channel for us.
Weíll go ahead and use Absolute addressing right now, weíll come back and show you relative
in just a minute.
Letís setup some profile parameters here.
This will be our profile target.
And our profile Velocity.
And our profile acceleration, and our profile deceleration.
This Jerk parameter allows you to change these linear ramps into something that looks more
like an S-Curve profile.
We donít need that right now, but check out the help file if you want to know more about
it.
When we disable the instruction I want this thing to come to an immediate stop ñ rather
than decelerate to a stop.
And letís go ahead and create some tags for these guys.
This will be our profile progress, our profile complete and our profile status.
Looks like we are good so we hit OK.
The software recognizes we created some new tags, and it even recommended a data type
for them.
These all look great to me so I am going to say OK.
And then Iím going to go back into that dialog ñ and now that these tags have been setup
ñ I can hit this monitor button.
What thatís going to do is take all of those tags and drop them into a data view for me.
That saves me a lot of typing later.
Now, I canít have an END statement before my instructions, let me go ahead and delete
these.
And now our instruction appears on rung 1.
Thatís great.
Now we need to enable the instruction.
I want to use the switches on that input simulator on the local base to control this.
So letís go ahead and set those up.
Go back to Hardware Configuration, on my local base, hereís my input simulator.
And I want switch 1 ñ this guy right here ñ to enable the move.
Carriage Enable.
And I want the switch next to it ñ which is switch 9 ñ 1, 2, 3, 4, 5, 6, 7, 8 and
9 ñ I want him to set the zero for me.
That will give me a convenient way to calibrate this thing.
Great, thatís all there is to setting up the hardware.
So now, if I go grab a contact, drop it in here, grab my enable, and say OK, I now have
a way of enabling this instruction.
While we are at it, letís go ahead and setup our zero function.
To do that, I go back down to my High Speed Commands, and I say ìSet Position.î When
this rung in enabled, I want to set the position to zero.
To enable that rung, we go grab that other switch we setup, to zero things out.
Thatís it ñ thatís the whole program.
Letís transfer this down to our processor.
Turn on monitoring so we can see what is going on.
And bring up the data view so we can adjust some of those parameters.
Thereís all of those parameters that got pre-loaded for us.
So letís see, we want our target ñ letís head out, oh I donít know ñ how about 150
mm.
And letís setup our acceleration at 50, deceleration also at 50, and our velocity at 25 millimeters
per second.
Select all of those, write them out, and verify that the values actually got written to memory
ñ and they did ñ and we should be ready to go.
All we have to do now is put the controller into RUN mode, are we sure, yes we are, and
we are ready to go.
So the first thing I want to do is I want to flip this switch to make sure I am starting
at a position of zero.
So Iíll reach over, flip that switch, it turns green, turn it back off.
My position is now set to zero.
Because we switched over to run mode, it cleared all of those locations we set earlier.
Thatís ok, I just highlight them, all of my edit values are still there.
I just re-write them out.
No big deal.
Now that those are all there, we can reach down and hit our carriage enable, and the
carriage moves down the rail 150 mm and ramps to a stop.
If I want to move back to zero, I set my target value to zero, and letís speed up our velocity
a little bit, letís double it to 50.
Disable the carriage ñ re-enable it ñ and he carriage moves back to zero.
Those were absolute moves.
The carriage moved right to the position I told it to.
What if we wanted to move 75 mm from where we are?
Thatís easy, we just go back into our Simple Move, specify relative and I want to be sure
to use the sign of the target as my direction indicator.
I say OK, re-download this to the controller, weíll do a Run Time transfer ñ thatís fine
ñ and we are ready to go.
So letís set a new target of 75 millimeters from here.
At that velocity, those ramp rates, those all look good.
Write the value out.
Now when we enable the carriage, I ramps up and moves to 75 millimeters.
Now if I enable the carriage again, itíll move another 75 millimeters because this is
a relative move.
Itís going to move 75 millimeters from where I currently am.
If this was an absolute move, it would just stay where itís at because I am already at
75 millimeters.
So letís try it, Iíll flip the switch, and sure enough, it moves another 75 millimeters.
To move backwards, we just change the sign.
Letís go backwards 100 millimeters.
Write that out.
Enable the instruction, and sure enough it moves backwards 100 millimeters.
There are a lot more options to play with, but that should be enough to get you started
using motion with the Productivity 3000ís HSO module.
Be sure to check out the other videos in this series for more ways to get up and running
quickly with this controller.
And as always, please send us any comments you may have, we appreciate the feedback.
Performance plus Value Ö Thatís Productivity.
From AutomationDirect.