Learn how to use the block transfer feature to change almost any paramter in a GS Series VFD using only local reads and writes (no ModBus or GSREG instructions required!)
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.