VFD Speed controll

I want to controll a VFD (AC Drive) through Snap pack software and controller, but I’m stuck can’t figure it out how, now I use a potentiometer connected to the VFD to speed it up and down I’m wondering how could it do it throught the Controller with Snap Pack software? what I/O would I use for it, how would I code it? or configure it?

It all depends on the brand of VFD and your options to control speed (should be listed in the VFD manual). Most cases, you can set up a VFD for some form of external speed control. Usually you can program them to change speed based on an analog input value (ex. 0-10VDC or 4-20mA). Then you just need to add an analog output module to your rack, connect it to the necessary points in the VFD control circuit (again should be laid out in the VFD manual) and from there it’s all programming. The VFD distributor or manufacturer could be very helpful in talking you through the connectivity end of things.

As far programming goes, it all depends how you’re wanting to control the VFD (manually through HMI, PID loop, based on other inputs, etc.) so without knowing your application I can’t really speak to that but assigning values to analog outputs is a pretty straight forward thing to do. If you need help with the specific commands, I’m sure Opto’s tech support will be pretty helpful. From there it will just be a matter of playing around a little to see what value on your analog output equals what speed on your VFD.

do you have a model of VFD and a brief outline of your process? we use opto22 hardware to control many VFS’s on our site.
one particular process we have is to control the air quantities delivered to an operating suite. the process involves taking a pressure reading across a fixed opening in an air handling unit (across the heating and cooling coils) and use that feedback signal as an input to a PID loop. the PID loop then calculates the required drive depending on how far away from the desired pressure we need to maintain and outputs the signal to the VFD. if a blockage were to occur or a leak in the room, the pressure would decrease across the coils thus forcing the VFD to speed up to deliver the required volume of air to the operating suite.
the VFD is configured to take a 0-10VDC signal as 0-50Hz output.

we used a SNAP-AIV-4 (0-10VDC) for the pressure sensor and for speed feedback from the VFD, a SNAP-AOV-25 (0-10VDC) for the drive signal into the VFD, a SNAP-ODC5-i as the enable signal into the VFD, a SNAP-IDC5-SW for digital status from the drive and a SNAP-PAC-EB2 as the brain (you could use a SNAP-PAC-R1/2 if you do not have a controller already). we configured a PID inside the brain which used a variable from the controller as a setpoint.
the process gets enabled during certain hours of the day so some simple code just enabled the drive and the PID loop. a simple off-the-cuff example:

if (IsWithinLimits(GetSecondsSinceMidnight(),start_time,stop_time) then
  TurnOn(vfd_enable);  //enable the vfd to run
  DelayMsec(5);  //delays are good!
  SetPidMode(vfd_pid, 0);  //let the pid drive the vfd
  DelayMsec(5);  //delays are good!
  TurnOff(vfd_enable);  //disable the vfd to run
  DelayMsec(5);  //delays are good!
   SetPidMode(vfd_pid, 1);  //stop calculating the drive signal

i hope this helps


Hi All,

Thanks for the good question and helpful feedback!

Here’s a tech note on VFDs that migth be help to you.

My sources in PSG (our[U] Product Support Group[/U]) tell me: “when controlling a VFD from a control system, like a SNAP-PAC, it is typically done via an analog module, like a 4 - 20 mA. VFD’s are inherently noisy, generating a lot of electrical noise on the power lines, which often times is then coupled to signal wires. That’s why we created that tech note … the focus of the tech note is that VFDs generate noise and the installation, grounding, wiring, and shielding practices are essential to minimizing the impact of the noise.”


thanks for all the reply’s, it helps a lot, here is a bit of an outline that I like to do, this is for and oven to bake paint it’s about 1.5 million BTU, but it’s and old style setup, anstead of choking the natural gas, it chok’s the oxygen to reduce heat,
I have 2 VFD’s that controll the oxygen (the VFD is Toshiba I’m not familiar with Toshiba, I’m somewhat familliar with SEW Euro Drive http://www.clrwtr.com/PDF/SEW-Eurodrive/SEW-Eurodrive-MOVITRAC-LT-Inverters.pdf)
1: start oxigen fan to 60Hz (full speed) run for 1 Min
2: slow down to 10Hz run for another Min,
that’s the purge time which by law has to be done whenever the oven is shutdown and restarted, example every morning it has to run the 2 min purge.
3: now cure mode becomes available if tank is in the oven and all airproven sensors/switches and doors sensors/switches are true then you can hit the cure buttom and VFD will go to full blast 60hz and it will activate the Honeywell fire controller 7800 model I believe it is.
run to 200 degrees Celcius and slowdown the vfd to 10hz if temp drops below 196 it will speed up to 50 hz and keep the temp for 40 min
and go back to idle mode 10hz and wait for next bin and cure button to be press. and do it all over again.
that’s a basic run down of what I’m trying to do, any hints ideas are very much appreciated.

it looks not to hard to doo, now that I see it’s possible to controll the vfd speed, next I have to find out how to control the honeywell controller. as far as I can test it’s just closing switches, I will test again tomorrow.

thanks so much for your reply’s

For what it’s worth, because you only need to drive the VFD at three speeds, you may be able to use relay contacts rather than a 4-20. The VFDs I have worked with have configurable relay inputs that would allow you to do this. One closure would set the drive to 10hz, another to 50hz, and a third to 60hz (or to bypass, if available). The primary advantage is you don’t have to worry about signalling noise or grounding issues so much. If you do intend to vary the drive speed with a PID loop, then by all means 4-20ma is the way to go.

I have done a number of vfd control loops/systems from Opto22. The best way is to use serial or preferrably ethernet comm to do so. This way you have complete access to the variables you might need. Otherwise, you have to connect a number of disceets to the VFD in order to control what mode the vfd is in at a given part of the process. I have done so both ways. The biggest problem is that many manufacturers of VFD’s have their own ways of doing things in their VFD CPU and that is not always friendly to connecting a controller. Most of the japanese VFD’s will have Modbus RTU available as standard. Keep in mind that, using the VFD’s PID loop might prove to work the best, however, that will require having to connect and range the feedback sensor as well as using digital IO to control the mode of the VFD (PID mode versus speed reference mode). By using comms, you can do all of it including using the PID template in Pac and feed the speed reference into the VFD via Modbus. A Pac controller can use the serial module to do this many times per second while running the rest of the process with no sweat.

In so far as your oven burner goes, be sure to check that the burner input regulator has the approprate input pressure required, I did one where no one checked this, not even the contractor who installed 200’ of 2" pipe to the burner. The VFD in this case controls the air input pressure of the manifold which in turn controls the proportional burner regulator to maintain the gas/air ratio inspite of the changes of air flow. Therefore you need to use the oven air temp to control the VFD speed using a PID to do so. Now this gets a little tricky becuase the VFD speed is not linear with respect to air flow, in fact, fans ad pumps are anything but linear in that respect. The problem I have encountered is that once the oven is up to temp, controlling the temp is difficult since apparently some builders do not provide a means of cooling. Once the oven is hot, it has no means of cooling except for load or insulation losses. This can take forever, so if your oven overshoots, then it stays there for maybe 10-15 minutes. The solution for this is simple, you need a set of 4-20ma vent louvers. Next you need to intgrate the vent louvers with the heating PID. I did this using 2 PID’s, one heat and one for cooling. The two PIDs is not necessarily the best design, however it was able to hold +/- 2 degs at 250 deg F on both the soak time as well as the ramps. The only real problem with this is to keep the 2 pids from fighting each other and to keep the cooling PID at fully closed postion as much as possible. The other way is to use 1 PID and do some math to produce the cooling vent outputs as a product of the heating PID. The biggest problem becomes getting the PID to be sensitve enough for decent control at 250 degrees as well as unsensitive enough to control at 150 degress. This can be done by using math to change the gain at various temp levels or even proportionally. Another set of variables that comes into play is the ambient temperature and initial heat loading of the oven structure itself. If you have a means of measureing the amount of BTU’s the oven is producing such as a mass air flow meter on the burner fan intakes, then you can correlate that to BTUs and then measure how much BTU load it takes to heat the oven up with no product load at a particalur ambient and likewise the same for a hot oven with product and a different temp.
Barrett Davis

Read more about one of Barrett’s VFD applications in this case study: