Being able to control a GS Drive with local reads and writes to this GS Drive structure
right here is awesome because it lets you control the drive with out the hassle of Modbus
operations.
But, the only predefined things you can do are basic operations like: monitor the output
frequency, set the output frequency, change the direction, monitor the output current,
monitoring the status of the drive and enabling the drive.
What if you want to change some other parameters in the drive like acceleration, deceleration,
etc?
Well, normally, you would do that using a GS Register Read and Write commands ñ and
those are pretty good because they do let you avoid the complexity of the whole Modbus
thing.
But it sure would be nice if you could simply do everything from this structure where you
can use simple reads and writes to control the drive.
Well, thatís what this block parameter stuff is all about.
In this structure, thereís all of these block parameters.
Thereís 15 of ëem.
So in a nutshell, what you do is you assign a Parameter you want to control ñ lets say
accelleration ñ you assign that accelleration parmeter to one of these block parameters
ñ lets say block parameter number 1 - and then anytime you read or write block parameter
number 1, itís just like you are reading and writing to the acceleration parameter.
So the cool thing about that, if you are going to want to change the acceleration rate often,
you can actually make that a local read and write and avoid the whole Modbus or GS REG
read and write thing ñ the DoMore handles all of that for you in the background using
this block transfer mechanism.
Very cool.
By the way: The reason this is called a ìBlock Transferî is because this entire block of
parameters is done with a single Modbus operation because the block parameters are sequential
in memory.
This allows you to take several random parameters which would normally take a separate Modbus
operation for each since they are not sequential in memory and do them all at the same time
with a single Modbus operation, because now they ARE in a sequential block of memory.
Letís do an example.
First we MANUALLY enter the acceleration parameterñ which was parameter 1 dot 01 ñ and letís
put that in the first block parameter which is Parameter 9.11.
So I hit the program button, dial up a 9, enter an 11, And then enter one dot oh one.
Great.
Well, thatís it!
Now over here in the DoMore we just read and write to block parameter number 1 anytime
we want to change the acceleration.
Thatís it ñ were done!
The acceleration will then automatically get sent to the drive at whatever polling rate
you setup.
Donít forget we setup the polling rate back here in Configure, Ethernet I/O master, hereís
my GS Drive ñ double click on that ñ and hereís that polling rate.
So my GS Drive is getting updated 4 times a second in the background.
I donít have to do anything.
How cool is that?
So for example: Letís make the accelleration ramp up over 1 second.
I put a 10 here because remember there was an implied decimal in this parameter ñ and
write that out and the acceleration time in the drive is now one second!
Letís try it ñ Iím going to disable this drive which is currently running.
Let it ramp down.
And letís watch it ramp back up now.
And sure enough in about one second, the drive ramps up to speed.
Perfect.
Letís make it ramp up over 5 seconds.
So I write out 5 seconds.
Disable the drive.
Enable the drive, and we should see this ramp up over 5 seconds.
Here we go.
Two one thousand, three one thousand, four one thousand five one thousand.
Perfect.
Thatís exactly what we expect.
So look, we are now controlling the drive AND changing the acceleration time without
doing any modbus reads or writes OR GS Register reads or writes.
If we want to do deceleration, we just put that parameter in one of the block parameters
ñ letís use block parameter 9.12.
And deceleration is parameter 1.02.
ñ and now anything we write in block parameter two, will change the deceleration time.
Letís have it decelerate over two seconds.
And now if I disable the drive, sure enough, over two seconds, the drive decelerates.
Perfect.
Now, one thing to keep in mind, is this particular structure can handle up to 15 different block
parameters.
But thatís the structure ñ you have to be aware of what your drive can handle.
If I go look over here at my handy dandy cheat sheet, I can see that the GS1 drive only supports
10 block parameters.
So only 10 of those structure members are actually valid for this particular drive.
So keep that in mind.
So this is incredibly easy ñ you just manually put the block paramter you want to control
in the drive, and and then anytime you read or write to that block parameter, the value
gets transferred for you automatically in the background.
Now, there are a couple caveats.
First: Donít forget that only the first 5 block parameters are writable ñ you can read
from all of them, but only the first 5 you can write to.
Second: Donít forget - If you swap out the drive, you have to remember to re-enter all
those block parameters manually you canít do it from the program.
You might want to put a sticker on the drive just to remind you which block parameter you
had in which block parameter slot.
And finally, since this information is automatically sent to the drive, you need to remember to
initialize the structure ñ right?
Because, for example, if you have the default value of zero in block parameter number 1,
thatís our acceleration right?
Well, if I go back and look at my cheat sheet, bring up acceleration time, well look, the
minimum acceleration value is point 1 with an implied decimal.
So if I put a zero in there what happens?
Well, letís take a look.
I entered a zero.
I look at the drive and oh look ñ itís flashing an error message.
And if I slow down the video you can actually see that this error message is cE03, invalid
value.
So make sure you initialize your parameters when you are using the block parameter feature.
So, the bottom line is, if you can handle the one-time manual entry of the parameters
and you donít forget to initialize the block parameters, this is a great way to get access
to pretty much any parameter in the drive without having to do Modbus or GSREG reads
and writes.
One side note ñ suppose you setup this block transfer for the acceleration parameter like
we did here, AND you try to do a Modbus or a GSREG write to the acceleration parameter
ñ who is going to win?
The structure or the Modbus stuff?
Well, the structure is going to win ñ right?
Because even if you write a parameter using modbus or the GS Register Write, This guys
is going to get updated, in our example 4 times a second, so he is going to over write
anything you try to do with these discrete instructions.
So keep that in mind ñ thatís easy to trip over.
And donít forget that you can re-name these structure members.
Just go up to your documentation editor, add in the structure member that you want, and
give it a name.
Letís go ahead and do the deceleration while we are here.
And you can see over in my Data view, both of those were automatically updated with the
nicknames, which makes this a whole lot easier to read than trying to read those block parameter
numbers.
Well, that should be enough to get you going with block transfers on the GS Drives via
Ethernet I/O on the DoMore.
And donít forget ñ Automation Directs tech support is always FREE and you will talk to
a real live person here in the US within minutes.
Got a question?
You can call, e-mail, or even do on-line chat during normal business hours.
Spend LESS.
Do MORE.
From Automation Direct.