Return to Projects

Variable Frequency Drive Control with LabVIEW

Inrush current, harmonic distortion, overvoltage and so on are very common problems in power ystems that lets the system to behave strangely, make money waste and the worst thing, failure of your equipments as a bad condition of your supply network or even your internal network (if you have an automatic transfer switch with a generator).  If all those situations are not handled correctly you could be doing bad engineering.


Today i am going to talk about a project that you can implement in your home with your pump for the water reserve system or move a garage door (a heavy one).  I am talking about soft starters and variable frequency drives.


Soft Starter

These devices realices the primrary function to reduce the voltage of the motor during the startup of movement reducing the mechanical stress of the motor and shaft.  Because the “damage” is reduced through the system it could extend his lifespam and save you money too.  On motor startup a soft starter eliminates these undesired effects. Several types based on control of the supply voltage or mechanical devices such as slip clutches were developed. The list provides an overview of the various electric start-up types. The current and torque characteristic curves show the behavior of the respective starter solution.

Direct on-line starting (DOL)

  • Three-phase motor with low to medium power rating
  • 3 conductors to the motor
  • High starting torque
  • High current peak
  • Voltage
  • No of overload Relay use. Thermal/Magnetic

Star-delta start-up

  • Three-phase motor with low to high power rating
  • Six conductors to the motor
  • Reduced starting torque, 1/3 of the nominal torque
  • High mains load due to current peak during switchover from Y(Wye/Star) to Δ (Delta)
  • High mechanical stress due to torque surge during switchover from Y(Wye/Star) to Δ

Soft start-up

  • Three-phase motor with low to high power rating
  • 3 conductors to the motor.
  • Variable starting torque
  • No current peak
  • No torque peaks
  • Negligible voltage dip
  • One simple switching device
  • Optional: Guided soft stop, protective functions, etc.
  • Zero maintenance
  • Compared to contactor solutions, soft starters, sometimes also referred to as soft starting devices, offer considerable advantages.


Now that you understand soft starters and variable frequency drive basics, lets make a simple LabVIEW interface that demands pure control of the VFD.


Here is or interface that will complain to do the first startup or our VFD,  It will run the basics of the VFD.  It Will start, stop and close the app controller window.SVX9000Basic


Because the default protocol of the fieldbus that we are using is Modbus TCP.  Our default port is the 502 as the standard says, and we will measure the output frequency.  We will use a free library of National Instruments (NIModbus library).  Please register and follow the instructions to register and install your modbus library as is.

 There is other library that you could use, but it has a limited amount of time for work, so in the end you will need to pay a fee for the license after the trial expires.  You can download it with the JKI Package Manager, it is called Saphyr and has both (Modbus RTU and TCP libraries).

 Below are the next Event program structure in LabVIEW to achieve full control of the VFD.

SVX9000BasicStartVFD SVX9000BasicStopApp SVX9000BasicStopVFD SVX9000BasicTimeout


Above are every event involved on the control:

  • Start VFD
  • Stop VFD
  • Stop Application
  • Timeout  (here is where i read the output frequency)


There is an example video of the simple application in LabVIEW


Now that we explore the basics of the VFD (start and stop) lets make a more comprehensive application of the VFD that we could change the parameters and make profiles.

We will make two profiles (opening profile and closing profiles).  Both profiles corresponds to a group of actions that will start, sustain, decrease and stop the output frequency, but also gradually will do that in the time.

 Below is the Front Panel of the LabVIEW complete application


Because the control of this application is more complex, i decided to make a FSM (Finite State Machine) for control the flow of the program.  Take special care that i am handling the control using the strings and not numbers.

There are two profiles to fulfill:

  • Open Profile
  • Close Profile

Of course, you also can change the parameters over run-time and can view the output frequency in a graph.

SVX9000NITimeout SVX9000NIChgProf SVX9000NIVel SVX9000NIAccTime SVX9000NIDecTime SVX9000NIRampShape SVX9000NILeft SVX9000NIRight SVX9000NIStop SVX9000NIStart SVX9000NIStopApp


Finally i will leave you the three videos below to chek the working and a github folder of the project


This demonstrates how to change parameters via Run-Time


This two videos below demonstrates the capability of opening and closing profiles (automatic after starting the VFD).


Here is the GitHub folder of the project.

Permanent link to this article:


Skip to comment form

    • Mathew on November 21, 2016 at 8:54 PM
    • Reply


    I am very new to the labview , I am doing a project on Journal bearing, where I need to control the motor by means of VFD, I am using ABB drive and also the project deals with a load cell. Can i know what kind of DAQ,s to be used for the same. Is it possible to use the above programming for the ABB drive as well?

    Thank you

    1. I do not use DAQs, i control the drive using Modbus, the unique hardware associated is an USB-RS485 i build. But, HX711 is one load cell amplifier that you can use and maybe if you want to use DAQ hardware a NI-USB6009 is a good choise. The program is specific for Danfoss drives, if it has the same controller of course you can use it.

        • Mathew on December 7, 2016 at 10:25 AM
        • Reply

        Thank you very much for the Info 🙂

    • Neoklis Kardiakopoulos on June 29, 2016 at 6:07 AM
    • Reply


    I am new to Modbus TCP connection with LabView and I require to connect and control to a VFD which is controlling an induction motor coupled to an IC engine (for university research purposes).

    Is the NI modbus library enough to establish a basic connection? Would you recomend any reading I could do to understand the concept better? Also, would you have any basic templates that I could work on?

    Thank you very much in advance,

    1. It is enough my friend.

      If you are telling me VFD basics, use the book “Power Electronics and Variable Frequency Drives – Technology and Applications BY Bimal K. Bose”.

      If you are telling me about Modbus Basics, use “”, very good resource for basics

      If you are telling me about LabVIEW basics use the examples that comes with NIModbus. Also you can download a very good protocol sniffer for 30-days trial, is called “ASE2000 Test Set”

    2. It is enough my friend, the NI Libraries are loyalty free and works like a charm. Just start with the examples of the Client and Server in Modbus TCP (LabVIEW examples) to understand the behaviour.

Leave a Reply to Rangel Alvarado Cancel reply

Your email address will not be published.