Getting Past Legacy Software Pains in Requirements Management

Legacy software refers to a business operating software that has been in use for a long time. This is older system software that is still relevant and fulfills the business needs. The software is critical to the business mission and the software operates on specific hardware for this reason.

Generally, the hardware in this situation has a shorter lifespan than the software. With time, the hardware becomes harder to maintain. Such a system will either be too complex or expensive to replace. For that reason, it continues operating.

What is a Legacy System?

Legacy software and legacy hardware are often installed and maintained simultaneously within an organization. The main changes to the legacy system typically only replace the hardware. That helps to avoid the onerous requirements management of the software certification process.

Which Businesses Have Legacy Systems?

Legacy systems operate in a wide range of business organizations, such as banks, manufacturing, energy companies, hospitals, and insurance companies. You can also find them in the defense industry, among other multifaceted business organizations.

Legacy Software Pains in Requirements Management

Only companies born in the digital age don't face the problem of chronic legacy system pains, i.e. the distress of a lack of digital transformation. Legacy systems can involve unbearable complexity, mismatched skills, lack of innovation, bureaucracy, and so on.

Legacy systems form in organizations for many reasons. First, compliance issues and a rollout are often challenging to carry out all at once. There may be an ongoing project that needs the old system. There are also instances where decision-makers don't like change.

However, the shortcomings of operating an old system are annoying and can also cause severe damage to the company. The pains of operating an old system include:

Legacy Systems Strategies are Not Prepared For Change

Legacy systems can include the 'Stop and Start' strategy. There are also long static periods or unchanging business, which was the mainstream way of running business operations throughout the industrial age. This means systems have a short period to make and adapt to any necessary changes, while business stops and waits for the wave of essential changes to finish.

The world doesn't work like this anymore. Intermittent changes allow organizations with old systems to persist up to the next phase of evolution.

Fortunately, there is an alternate option called lean IT. The model advocates for making positive changes and continuous improvements and is aimed at avoiding getting stuck in waiting mode.

The lean IT model is well suited to data-oriented and digital systems, and helps discourage the myopic views that legacy systems foster in the first place.

Legacy Systems Create Security Problems

Legacy systems can pose several data security problems in an organization. Security is a prominent feature of the lean IT model. Continuous improvements and positive changes help to curb the latest threats. Old systems, because of their age, struggle with this.

Legacy systems may pose various challenges when fixing specific vulnerabilities, due to their large and inflexible nature. Making a fix in legacy systems can face delays because developers find it challenging to create one. Also, creating a repair is often not on the development team’s priority list. As a result, the fix ends up being very expensive.

Old systems can enter into a period where there is a danger to the organization due to their outdated security measures.

Inability to Meet Customers on Their Terms

The digital age has created tremendous opportunities, including those related to changing a company's way of operations to benefit its users. Businesses that don't have legacy systems find that when technology moves, the industry can move with it. They are ready to use any new generation that comes out and are prepared to download and install any new application that becomes popular.

Under these conditions, challenges can mount for a company stuck with an old system. Legacy systems have restrictions on using new applications. Businesses that have many customer interactions can encounter serious challenges.

Customers often go for features on the latest applications available in this digital era, such as Instagram and Windows 10 updates. Both of these have chatting options that legacy systems can't enable. This is very much a missed opportunity.

Legacy Systems are Not Cost Effective

It may seem like legacy systems would be less expensive to maintain. However, that connotation changes over time, and circumstances often prove cost to be a pain point. Support and software updates for legacy systems are often much more expensive than current models, whose support and updates are always ready for seamless implementation.

The reason behind the additional maintenance cost is that knowledgeable software developers are hard to find. It involves a lot more work for software developers to offer the necessary continued care and updates for a legacy system than a current system.

Compatibility Issues Threaten Business Interaction

A legacy systems compatibility issue affects all users. We’re talking about the customers and business partners, suppliers, team members, and other associated users.

The legacy system will support file and data formats up to a certain point. But over time, these formats advance over and beyond what the legacy system can handle.

The evolution of support formats only takes a couple of years. In this event, the business will be stuck and experience pain points from using forms the customers or partners are no longer willing to use.

A company without legacy problems will adapt to successful implementation fast, aiming for better collaborations among users and team members. They also avoid waste in IT operations. Therefore, the future of the company's business remains adaptable.

Lack of Storage Availability and Budget

Legacy systems are often full of lurking, untested problems. Support is often difficult to come by, leading to frustrating support interactions.

Customer support is critical, especially when you have large data sets or tight deadlines. Modern software development techniques make it easy to release and access track records. System data storage matters a lot to the users, so data storage and accessibility are key features in new systems that also come in handy when support is necessary.

Unhealthy for Employee Training

Look at the IT team members' psychological aspects for a moment. What does operating a legacy system say to the workforce? It signals that it's okay to work with an old system on one end while putting off addressing worries until later. The system solutions from the past are still working.

But an organization should not encourage this view in their employees, especially when training employees in new skills.

The method may still function, but it will be a massive liability for connectivity and security. Legacy systems also reduce productivity, lower team members' morale, and repel some of the best talents. Employees with first-hand experience in new technology want to hold to that and have no interest in learning old systems.

"If it's not broken, don't fix it" is the IT professional's general attitude. Though it does not stem from any bad intentions, it can cause a company severe problems down the road.

Proprietary Tools are Not Fun

Legacy systems tend to be clunky, extensive, and very proprietary. Changing or customizing them poses a serious challenge. But modern IT professionals prefer to use the latest techniques and have no interest in mastering old systems.

Some organizations' software and hardware needs are different from other companies. Therefore, they need to build their custom software and hardware. New systems have smaller parts that make them flexible and easy to adopt. Specialized needs are no excuse for retaining legacy systems.

Getting Past Legacy Software Pains In Requirements Management

High-regulated industries have difficulty catching up with technology because of their complex systems. You may feel your company has outgrown its requirements management software, and you’re not alone.

The line between software and hardware becomes more and more blurred, and innovations are occurring faster than ever before. Requirements management providers may not supply the right software that matches the users' goals, regardless of the notable reputation or how complex the software is. That can create severe problems that affect productivity.

Here are some common methods for how to work your way out from a legacy system into something much more helpful for yourself and your customers:

Working with Multiple Stakeholders in Mind

Highly regulated industries interact with many different stakeholders and players, which is good for their business. It is essential to value the input of the various roles and skill sets.

But problems can arise if one of these users doesn't know how to use your requirements management software. Stakeholders bring their benefits to the company, but interfering with the system can be a recipe for compliance disaster.

To avoid such problems, look for software that flows with several roles and is seamless. Also, make sure your software integrates user-friendly traceability. Every user on the project needs to see the progress from beginning to end. This will prevent use problems from becoming a lasting problem and hindering productivity.

Timely Notifications to Help Meet Deadlines

Missing deadlines happen in many organizations. A team member needs to provide feedback but fails to do so on time. It could have been sent via email, Google, or Word document that someone didn’t know to monitor. Whichever means were used, the model of collaboration in place failed.

Review processes are quite complex these days, and you need collaboration software that sets clear intentions for the users. Real-time notification and editing will help keep team members on the truck.

Opt for a requirements management tool that prompts the next step to avoid falling into the trap. The requirements management software will help to prevent blame games - and it’s an excellent reason to suggest upgrading away from the legacy system altogether.

Accessibility and Intuitiveness

There may be instances where you want to carry out an essential process through the legacy system - but you are somehow locked out. You may have challenges finding the person who manages the system access rights and can get you back in the loop.

The situation can be frustrating and pose significant risks to the company, since one can attempt to break into the system for a couple of hours. This also wastes time. The desire to provide timely feedback with confidence is thwarted, which goes against the first intention of collecting the data.

The right requirements management tool should provide continuous data collection and growth. To achieve this, it should be open, accessible, and intuitive. The stakeholders will get motivation and provide constant input and collaboration, which is vital in keeping up with breakneck innovation.

An Upgrade Doesn’t Have to Spell Disaster

When an upgrade notification pops up on our screen, it’s normal to get skittish. There was once a very real fear of losing essential data and vital information with any kind of system update.

But this fear has dissipated with the advent of the cloud. A company no longer has to fear upgrading and fixing software requirements. It’s necessary to improve the security requirements and access some of the latest features.

It's crucial to have a system that adapts quickly to update requirements. When purchasing legacy software, consider the opportunity costs of not upgrading and encountering the headache of being locked out of various unsupported platforms.

Data Storage, Security, and Availability

As part of evaluating your current system, investigate data storage safety during software development. Find out from existing customers how well your system releases the accurate document.

Whatever system you choose will be around for a long time, so you will need to measure your predicted needs from the vendor. You will be putting some of your crown jewels on the system you want to buy. They need to be safe.

Conclusion

We live in an age with the most innovative and disruptive products available to more people than ever. We have ultra-fast electric cars, self-piloted spaceships, and lifelike prosthetics. We also have some of the brightest minds toiling to help propel us into the future.

This means the regulatory environment now is more stringent, especially on public safety and the marketplace demands. There is a need to have a team ready to meet the ever-increasing demands of compliance.

To be on the safer side, you need to put in place a collaborative infrastructure to keep the team organized and detect mistakes of disconnected persons in real-time. The future of your company depends on it.

Frequently Asked Questions

In what ways can one modernize a legacy system?

Migrate. This allows the business to perform critical processes immediately. Legacy software may not be flexible enough to allow the expected modification. Also, your old system may not offer its users the right results. Legacy migration can be the better choice in this case.

The other option is extension. You may not need to replace a legacy system that still performs its core functions (especially if it still has some years of warranty remaining). Despite that, you can still modernize it by extending its capabilities.

How do you handle management pushing legacy systems?

Try to make concrete and practical recommendations on how to make the legacy system better. Provide evidence on how the improvements will lead to better performance. You may change minds by presenting realistic situations where the legacy system can still be helpful in the future with just a few additions.

myRIO Ultrasonic Sensor Interfacing

Hello everyone! I hope you all will be absolutely fine and having fun. Today, I will give you a detailed discussion on myRIO Ultrasonic Sensor Interfacing. In this tutorial, you will learn about NI myRIO ultrasonic sensor interfacing. We will go into the details of the ultrasonic sensor and then will move forward towards its interfacing with myRIO. I have already shared many articles on ultrasonic sensors and will share their link in this article as well.

The ultrasonic sensor is also known as SONAR (Sound Navigation and Ranging). As it is clear from its name, it transmits sound waves and these waves are received back to it after getting reflected from any object. It measures the total time elapsed during the entire transmission as well as during the reception of the reflected waves. The sum of both the times is usually known as RTT (Round Trip Time). This RTT is equal to the distance between any external object and the sensor itself. Optical sensors have a transmitter for the transmission of optical waves and a receiver at the receiving end. But in comparison to an optical sensor, the SONAR sensor has a single structure for both transmission and receiving purposes.

SONAR sensor has four pins to perform different actions. It is the most common device and is specially used for obstacle avoidance purposes in robotics. It can also be used to estimate the distance of different objects. It is an inexpensive device and is easily available in the market these days. There is another sensor similar to the ultrasonic sensor available in the market named as PNG sensor. But it has three pins, that is the only difference between PNG and ultrasonic sensor. Both can be used for distance measurement and obstacle avoidance purposes. Further detail about the ultrasonic sensor and myRIO ultrasonic sensor interfacing will be provided later in this tutorial.

myRIO Ultrasonic Sensor Interfacing

An ultrasonic sensor is an electronic device/sensor/module used to estimate the distance of different objects. It works on a very simple principle. It transmits ultrasonic waves and these waves get reflected from the objects in surroundings. It receives the reflected waves and measures the time elapsed during the whole process which is equal to the distance between the specific object and the SONAR sensor. It has a wide range of applications including robot sensing, liquid level control, full detection, stacking height control, people detection for counting, presence detection, vehicle detection, thread/wire break detection etc. The ultrasonic sensor is shown in the figure given below.

Note: I have shred many tutorials on ultrasonic sensor introduction, about its libraries and its interfacing with a different microcontroller. Now, I am going to share their links again, you must go through all these articles for having a better understanding of the SONAR sensor.

Ultrasonic Sensor Pins

  • It has four pins having different individual tasks to perform.
  • Ultrasonic sensor pins are listed in the table shown in the figure below.
  • The ultrasonic sensor along with its pin names is given in the figure shown below.

Ultrasonic Sensor Pins Description

  • As we know each of them has been assigned a different task, so we should about each pin.
  • Ultrasonic sensor pins description is provided in the table given in the figure shown below.s
3. Ultrasonic Sensor Dimensions
  • The ultrasonic sensor is divided into different segments.
  • Dimensions of each segment are shown in the figure given below.
4. Ultrasonic Sensor Working Principle
  • It works on a very simple principle based on sound waves.
  • It transmits sound waves in the surroundings.
  • These sounds waves collide with the external objects.
  • After colliding with the external objects they reflect back to ultrasonic sensor.
  • It measures the total time elapsed during the transmission and receiving the reflected wave.
  • The total time is known as a Round Trip Time (RTT) and is equal to the distance between the object and the sensor.
  • That was the entire working principle of SONAR sensor.
  • I have provided the visual description of its working principle as given in the figure shown below.
5. Ultrasonic Sensor Features
  • The features of any electronic device that can make a device more popular among its competitors.
  • Ultrasonic sensor features are listed in the table shown in the figure given below.
6. Ultrasonic Sensor Ratings
  • Ratings show the voltage, power and current requirements of any electronic device.
  • Ultrasonic sensor ratings are listed in the table shown in the figure below.
7. Ultrasonic Sensor Applications
  • Electronic devices such as small sensors are usually known on the basis of their applications.
  • Ultrasonic sensor has a wide range of applications in real life.
  • Some of them are listed in the table given in the figure shown below.
8. myRIO Ultrasonic Sensor Interfacing Wiring Diagram
  • I have made a completely labelled wiring diagram for myRIO ultrasonic sensor interfacing.
  • A complete wiring diagram is given in the figure shown below.
 
9. LabVIEW Final Front Panel Design
  • As a result I have provided a complete front panel window for myRIO ultrasonic sensor interfacing.
  • The LabVIEW front panel window is given in the figure shown below.
 
  • Our team has designed this LabVIEW simulation with a lot of several testing stages.
  • After a lot of testing we got the accurate results, so we have imposed a very low cost on it.
  • But, the imposed cost is as low, that even a student can easily buy it.
In the tutorial myRIO Ultrasonic Sensor Interfacing, I have provided an environment where you can easily visualize and learn about the basics of ultrasonic sensor and its interfacing with NI myRIO. I have also shared the links of my previously shred articles for the interfacing of SONAR sensor with other micro-controllers. I hope you have enjoyed this tutorial and will appreciate my efforts. I will also share different articles on myRIO interfacing with the other sensors as well, in my upcoming tutorials. Till my next tutorial take care and bye bye :)

DC Motor Control using myRIO

Hello everyone! I hope you all will be absolutely fine and having fun. Today, I would like to provide a complete discussion on DC Motor Control using myRIO. I will first provide you a bit information about DC motor then we will move forward towards DC motor control using myRIO. DC motor is an electronic instrument which is used to convert electrical energy into mechanical energy. It plays a vital role in industrial applications. It has also great importance for the engineers to to study about its working principle. DC motor has basically two input terminals. At one terminal we have to provide voltage supply and the other terminal will be attached to the ground (0V). And if we change the polarity, the direction of the motor will also be changed correspondingly. DC generator can be easily made from the DC motor just by using it in inverse. Generator converts mechanical energy into electrical energy. So, both are inverse of each other. I have also posted a lot of articles on DC motor direction control as well as its speed control. I will share their links later in this tutorial too. You should go through those articles as well. They will be informative for you. DC motor has wide range of applications in real life. Its applications include robotics, home automation, automated door locking systems, home security systems, vehicles, computers, refrigerators, air conditioners and a lot more. The further detail about the DC motor and DC motor control using myRIO will be given later in this tutorial.

DC Motor Control using myRIO

DC Motor is a device frequently used to convert electrical energy to mechanical energy. Electrical power supply is provided to the DC motor and it generates mechanical energy. DC motor has two input terminals for power supply. We can easily change the direction of rotation of DC motor just bu changing the polarity of the applied voltage across its terminals. It has a lot of applications including robotics, vehicles, lifters etc. DC motor energy conversion is shown in the figure given below.
Note
I have also made different simulation for DC motor speed and direction control, as given below. You must go through these articles fo the better understanding of this tutorial.s

1. DC Motor Working Principle

The working principle of DC motor is pretty simple as given below.
  • When a current carrying coil is placed in side the magnetic field, torque is produced as a result.
  • Due to this torque, it becomes capable of rotating, usually known as the motor action.
  • If we change the direction of the current in the wire, direction of rotation of DC motor will also be changes correspondingly.
  • A mechanical force is produced due to the interaction of magnetic field and electric field.

2. DC Motor Direction Estimation

  • The direction of DC motor can be determined by left hand rule introduced by Fleming, a famous scientist.
  • If middle finger, index finger and thumb of your left hand are extended in such a way, that all of these are perpendicular to each other.
  • If the middle finger is in the direction of current and index finger represents the magnetic field.
  • Then thumb of your left hand will show the direction of rotation of the DC motor.
  • This left hand rule is shown visually in the figure given below.

3. Source code description

  • Go to the block diagram window and press Ctrl+Space bar.
  • You will see a new window named as Quick Drop has been appeared on your screen.
  • Type PWM in that window as shown in the figure given below.
  • Pick the blue colored highlighted box and place it over block diagram window, a new window will be appeared on your screen
  • The newly appeared window is shown in the figure given below.
  • Just press OK, and your block diagram window will look like the figure shown below.
  • Now to input terminal of duty cycle and right click on it.
  • Go to Create->Control as shown in the figure below.
  • After doing so your block diagram window will look like the figure shown below.
  • Now right click on block diagram window.
  • Go to Functions->Programming->Structures->For Loop.
  • Select while loop and place it over block diagram window.

3. DC Motor Control using myRIO VI

  • A complete NI LabVIEW VI for DC motor control using myRIO is shown in the figure given below.
  • You can download the complete NI LabVIEW VI here by clicking on the button below.
This is all from the tutorial DC Motor Control using myRIO. I have provided a lot detail about the working of DC motor and its control through myRIO. I have also provided the complete NI LabVIEW VI for DC motor control using myRIO. I hope you enjoyed the tutorial. If you feel any problem, you can ask us in comments. We will try our level best to solve your issues. I will also share further tutorials on NI myRIO. So, till my next tutorial taker care and bye :)

How to Upload Files using FTP in LabView

Hello friends, I hope you all are doing great. In today's tutorial, I am gonna show you How to upload Files using FTP in LabView. It's gonna be a quick tutorial as there's not much to do :) but you have to read and follow it carefully because if you made even a small mistake then it won't work. FTP is an abbreviation of File Transfer Protocol and using FTP we can easily upload or download files from our web server. We can use different FTP clients like FileZilla in order to do it manually but today we are gonna have a look at How to upload files automatically using FTP in LabView. So, let's get started with FTP in LabView:

How to Upload Files using FTP in LabView

  • When you are working on some Embedded project where you need to upload your sensor's data on some web server then you need to use FTP.
  • For example, if you are working on Home Automation or some security project and you want to display the values of your sensors on some online website, then in such situations you can easily use FTP and can upload your sensor's data.
  • There are many different ways to use FTP but if you are using LabView then here's how you are gonna upload it.
  • First of all, what you need to do is, you need to save your sensor's data in a txt or csv file.
  • After that simply Log in your FTP account and upload that file on your server.
  • Here's the screenshot of my LabView code which is uploading the data.txt file on my website using FTP.
  • In the first TextBox, you need to give the Password of your FTP account.
  • In the second TextBox, you need to give the Username of your FTP account.
  • In the third TextBox, you need to give the IP Address of your website, don't use the name of your site it doesn't work in LabView. You have to find the IP Address of your site which you can easily find using some online tool and place it in this TextBox.
  • In the fourth TextBox, you need to give the File Location, where you want to save your file on the server.
  • In the fifth TextBox, you need to give the File Location on your Laptop.
  • I have used FTP put File fuction of LabView and when you press the button Boolean, then it will automatically Log in to your FTP account and will upload the file.
  • It will hardly take 1 sec for the whole process.
  • You can download this LabView code by clicking the below button and don't forget to change all these values otherwise it won't work. :)

Download LabView Simulation

  • Once the file is uploaded on your server, you can then use PHP to extract and display it on some web page.
So, that was all today. I hope now you can easily upload your files via FTP in LabView. If you still got into some trouble then ask in comments and I will try my best to resolve them. Will meet you guys in the next tutorial. Till then take care and have fun !!! :)

Servo Motor Control using myRIO

Hello everyone! I hope you all will be absolutely fine and having fun. Today, I would like to provide a complete discussion on Servo Motor Control using myRIO. In this tutorial I will tell you about the control of a servo motor using NI myRIO. First of all, I will give you a brief introduction on servo motors and then we will proceed towards their interfacing with myRIO. Servo motor is an electronic device with a small output shaft. This shaft can be adjusted at different angles for the different purposes. We can adjust this shaft by sending a signal usually known as servo coded signal. Servo motor is able maintain a particular angle as long as it has the servo coded signal at its input. Servo motor changes the angular position of its shaft with every change in the servo coded signal applied at its input. I have already designed and shared Servo Motor Control in Proteus. If you are using the servo motor for the first time then you must go through this tutorial. This design is always helpful to the beginners. In my previous tutorial I have controlled DC motor using NI myRIO. DC motor is a simple device having two input terminals. We just have to supply voltage at its terminals and it starts rotating in either direction depending upon the polarity of the applied voltage. Whereas, servo motor has three input terminals, two terminals are for the power supply and one is for sending servo coded signal to rotate at specific angle and in specific direction as well. If some electrical projects require some mobile (move able/not static) tasks, servo motor will be the better option. It is easily available in the market and has a low cost. There are a lot of real life applications associated with servo motors. For example, robotics, elevators, air crafts, remote controlled appliances, vehicles, solar tracking system, automated baby cradle system, conveyor belts system and a lot more. The further detail about servo motor control using myRIO will be given later in this tutorial.

Servo Motor Control using myRIO

Servo Motor is a device with a small output shaft. It has three input terminals. Two terminals are for the power supply and the third is for sending the servo coded signal. The electrical or electronics projects where there is a need of motion, servo will be the best option in this case. The shaft of the servo motor changes its position corresponding to the servo coded signal applied at its input. It has a wide range of applications including robotics, automated baby cradle, solar tracking systems, elevators etc. Servo motor is shown in the figure given below. Note: I have already shared different articles on control of a servo motor as given below.
1. Servo Motor Pins
  • Servo motor has three pins, two for the power supply and one for sending servo coded signal.
  • These three pins are listed in the table given in the figure shown below.
  • Servo motor along with its pins is shown in the figure given below.
2. Servo Motor Pins Description
  • We must know the function of each pin of any electronic device.
  • Pin functions of all the pins are provided in the table shown in the figure given below.
3. Servo Motor Dimensions
  • In the figure shown below, servo motor is divided into different segments e.g. A, B, C etc.
  • The dimensions of each segments are provided in the table given in the figure shown below.
4. Servo Motor Specifications
  • Specifications are such parameters on the basis of which a device can become more popular.
  • Servo motor specifications are listed in the table given in the figure shown below.
5. Servo Motor Ratings
  • The power requirement of any device can be estimated through its ratings.
  • Servo motor ratings are given in the table shown in the figure below.
6. Servo Motor Applications
  • Servo motor has a wide range of real life applications.
  • Some of them are listed in the table given in the figure shown below.
7. Servo Motor Control using myRIO Wiring Diagram
  • I have made a completely labelled wiring diagram for servo motor control using myRIO.
  • A complete wiring diagram is given in the figure shown below.
8. Servo Motor Control using myRIO Actual Wiring Diagram
  • The actual wiring diagram for servo motor control using myRIO is shown in the figure given below.
9. NI LabVIEW Complete Front Panel Window
  • The complete front pane; window for servo motor control using myRIO is given in the figure shown below.
10. NI LabVIEW Complete Block Diagram Window
  • The complete Virtual Instrument (VI) for servo motor control using myRIO is shown in the figure given below.
  • You can download the wiring diagram for servo motor control using myRIO and the complete LabVIEW VI, just by clicking on the button below.

That is all from the tutorial Servo Motor Control using myRIO. I have tried my level best to provide all the necessary detail about servo motor control using myRIO. I hope you have enjoyed the tutorial and will appreciate my efforts. If you found something missing, please let me know so that I can update this tutorial accordingly in order to avoid any future inconvenience. I will share different projects on myRIO in my upcoming tutorials. Till my next tutorial take care and bye bye :)

myRIO GPS Interfacing

Hello everyone! I hope you all will be absolutely fine and having fun. Today, I would like to provide a complete discussion on introduction to GPS and myRIO as well as myRIO GPS Interfacing as the most related part. First of all I would like to tell you about GPS, from what it is abbreviated, at which principle it works and how it plays its role in our daily life. GPS is basically derived from the word Global Positioning System. GPS is a complete network of satellites which are continuously rotating in their orbits and send information to earth about their accurate position in space. GPS receivers are used to receive the signals, and the received signals help us to estimate the precise time, position and speed of anything moving around. I have share GPS Library for Proteus in my previous tutorials, which is quite helpful for the engineering students. GPS plays a vital role in our daily life. It provides a complete map, i.e. it helps us to easily go through the places which we have never seen before. GPS first system was developed by Americans in 1960's. They introduced it to locate their ships in the ocean. This system has five (5) satellites which are used to locate their ships once in every hour. GPS has three basics parts named as satellites, control stations and receivers. All of these will be explained later. This entire system is able to provide us the information about altitude, precise position, speed etc. But there are also some errors while estimating all these things. The major cause of its error is the inaccurate time of the receivers clock. Due to this fact, we get same GPS coordinates for the different points and it becomes impossible to locate anything accurately. For example, in a small garden we want to locate a robotic lawn mower. But due to the error problem we get the same GPS coordinates, for the initial as well as the final position of the lawn mower. This system has a lot of real life applications e.g. mapping forests, military applications, intelligence applications, locating ship, navigating vehicles and aircraft, guide hikers etc.The further detail about the GPS and myRIO GPS interfacing will be provided later in this section.

Introduction to GPS Receiver Module

GPS stands for Global Positioning System. It is the network of satellites which are orbiting in their orbits and send information to the earth, about the precise position. This system plays a vital role in daily life. It was first introduced by Americans to navigate their ships. It is now enhanced to a great level and is able to provide information about forest mapping, guide hikers, locating air crafts, navigating vehicles and a lot more. If we want to go at newer places which we have never visited before, we can easily go there taking help from the GPS system by using GPS receiver. The GPS receiver or a GPS module is shown in the figure given below.
  • You can see from the above figure, I have cut white and yellow wire because I am not using it.
  • I have used the other four remaining wires for the communication between GPS module and myRIO.
  • I have also provided the detailed article on Getting Started with myRIO and Introduction to myRIO, you should also go through this articles.
1. GPS Pins
  • GPS has total six (6) pins, but we will use only four (4) of them.
  • Each of the pins has different functions to perform.
  • GPS module/receiver pins are provided in the table shown in the figure given below.
2. GPS Pins Description
  • Since each pin is assigned with a different task, so must know about functions associated with each pin.
  • GPS pin description are listed in the table given in the figure shown below.
3. GPS Receiver Operating Conditions
  • Like all other devices, GPS receiver also works on certain conditions, which must be fulfill to get better performance.
  • Normal operating conditions for this particular GPS receiver are listed in the table given in the figure shown below.
4. GPS Receiver Specifications
  • The specifications are such parameters which show the efficiency of that device.
  • GPS receiver specifications are provided in the table shown in the figure given below.
5. GPS Receiver Ratings
  • Ratings tell us about the power, current and voltage requirement of any electronic device.
  • GPS receiver absolute maximum ratings are listed in the table shown in the figure given below.
6. GPS Receiver Applications
  • Most of the electronic devices are known on the basis of their applications.
  • GPS receiver applications are listed in the table given in the figure shown below.

myRIO GPS Interfacing

In the previous section we have discussed i detail about the basics parameters of the GP receiver module and the different properties and applications associated with that particular module. Now, in this section of the tutorial myRIO GPS interfacing, I am going to tell the step by step procedure to be followed in order to interface a GPS receiver module with NI myRIO. So, the major focus of the section will be the only discussion on the interfacing of GPS receiver module using NI myRIO and NI LabVIEW. All the step are explained in detail below. So, do follow all the steps in the same way as I did.
1. myRIO GPS Interfacing Actual Wiring Diagram
  • In my previous tutorial, I have shared the detail about Interfacing of GPS Module with Arduino in Proteus ISIS, you must have a look at this article for the better understanding of the current article.
  • GPS receiver module interfaced with myRIO is given in the figure shown below.
2. NI LabVIEW Final VI for sReceiving GPS Data
  • The Virtual Instrument (VI) is huge in size, so I have added it into three different parts.
  • Each part of the entire VI is given in the separate figure.
  • Below, I am going to share each part of the VI and will explain a bit about it later.
  • The first part of the VI for receiving GPS data is given in the figure shown below.
  • In the first part of the VI as shown above, I have used VISA Serial Port for the communication between GPS receiver and myRIO.
  • VISA Resource Name is basically the MXP of myRIO as described in Introduction to myRIO.
  • ASRL1 shows the GPS receiver is attached with the MXP A of myRIO.
  • If you want to attach your GPS receiver with MXP B, then you have to select ASRL2.
  • 9600 is the baud rate, shows the rate at which GPS is communicating with myRIO or vice versa.
  • So, that was the discussion about the first part of VI for getting GPS data.
  • The second part of the VI is given in the figure shown below.
  • At the extreme left of the above figure, I have used a VISA Read block, which is reading continuously 100 characters when termination character encountered.
  • Then I used a block Concatenate String which takes input from VISA Read and produces NMEA sentences, which are back to its input as feedback.
  • Moving to the right the next small While Loop is for extracting the data fields.
  • The next comparatively large loop is for getting latitude, longitude, UC time, speed etc.
  • And at the top right corner of the above figure I have added a delay of 100 milli seconds.
  • So, that was the detailed description of the second part of the VI for getting GPS data usig NI myRIO.
  • The 3rd part of the VI for getting GPS data is shown in the figure given below.
  • In the above figure, inside the While Loop, I have used Digital Input whose output is connected to and LED.
  • The above step describes the monitoring of one pulse per second signal (1PPS) on the on-board LED 3. 
  • Then I have used Merge Error block to produce a single final output.
  • Then, I used a Simple Error block in order to visualize the error, if it occurs.
  • At the end, I have used a Reset myIRO block, which resets the FPGA (Field Programmable Gate Array) target and all the input/output channels on myRIO.
  • So, that was the detailed description of the third part of the block diagram window VI for receiving GPS data using NI myRIO.
  • You can easily receive the data from GPS receiver by following all of the above steps carefully.
3. NI LabVIEW Final GUI for Receiving GPS Data
  • I have made a complete VI in LabVIEW to receive GPS data.
  • The arrangements of the blocks e.g.time, latitude, longitude and speed are made to provide a better look to the GUI.
  • An LED on the right side shows the one pulse per second (1-PPS).
  • On the bottom left of the above GUI, I have made a region to obtain all the data from the GPS receiver module.
  • The final form of GUI (Graphical User Interface) is given in the figure shown in the figure below.
  • In the above figure, at the bottom right you can see a button with a red colored small square inside it.
  • Using this button, you can terminate your program when it is in running condition, this function can also be performed using Esc button from either your personal computer or from your laptop.
4. Received GPS Data
  • The data obtained from the GPS receiver is displayed on the GUI.
  • The GUI is given in the figure shown below.
  • From the above figure, you can see that the longitude, longitude are properly obtained.
  • At the top left corner of the above GUI, I have shown the exact time inside a Numeric Indicator.
  • Date has also been displayed in the middle of the right side of the GUI.
  • I have displayed longitude, latitude, time, date etc as shown in the figure above.
  • So, that was the brief discussion on the results obtained from GPS receiver module.
  • You can download the complete NI LabVIEW VI (Virtual Instrument) here by clicking on the button below.

That is all from the tutorial myRIO GPS Interfacing. I have covered almost all the necessary details about getting GPS data from the satellites using GPS receiver/module. I have also provided the detail about the GPS network and working of the whole network. I hope you have enjoyed this tutorial and hoping for your appreciation for this effort. I have shared the complete NI LabVIEW VI (Virtual Instrument) for myRIO GPS interfacing. Just by downloading it you will be able to get GPS data using any of the GPS receiver/module. I will further share interesting and informative topics in my later tutorials so, till then take care and bye :)

Creating First Program with myRIO

Hello everyone! I hope you all will be absolutely fine and having fun. Today, I am going to share my knowledge about Creating First Program with myRIO. Before doing anything on NI myRIO you must know that how to configure this device. So, before going into the details of this tutorial I would like to suggest you to must visit Getting Started with myRIO and How to Configure myRIO on WiFi for the better understanding of this tutorial. NI myRIO is an amazing processing tool that has a very high processing speed as compared to other microcontroller e.g. Arduino, raspberry pi, gellilio etc. So, it can be used for the real time projects where there is need to respond very quickly according to the assigned tasks. NI myRIO was launched by National Instrument. It has different models. In this tutorial I am going to use NI myRIO. This module has a built-in Wifi as well as USB cable supported. The device has its own IP address which helps while configuring it. If we want tmo connect it over internet then the IP address changes to access the device online. It operates on 667MHz. It’s a fully secured device with a strong casing around the circuitry. There are on board four LED lights on NI myRIO for the configuration test, whether the device is properly attached to the computer or not.

Creating First Program with myRIO

Here, in the tutorial Creating First Program with myRIO, I will tell you the step by step procedure for creating your first program using NI myRIO. The tutorials basically focuses on controlling an LED on Front Panel with the help of the on board button on the device.
  • You can download the complete Virtual Instrument (VI) for controlling LED using on board button here by clicking on the button below.
  • Download .rar file, extract it and enjoy the LabVIEW NI myRIO’s simulation.

Virtual Instrument (VI) Creation
  • First of all open the NI LabVIEW software from the softwares list.
  • The starting window of the software is shown in the figure below.
  • You can see a lot of options on the starting window having different individual functions.
  • Now, click on the encircled button Create Project.
  • As you press this button a new window will be appeared on your computer screen.
  • The new window with multiple options is shown in the figure below.
  • Go to the myRIO option as shown in the figure below.
  • While clicking on myRIO option, you can see the display on the right side will change by doing so.
  • Select the myRIO Project from the right portion of the window.
  • The both of the above steps are shown in the figure below.
  • Now, press the Next button as shown in the figure below.
  • Just after pressing this button you will be able to see a new window on your computer’s screen.
  • Select the Plugged into USB option and press Refresh button, your attached myRIO device will be detected in this way.
  • IP address of the used NI myRIO is encircled in the below figure as 22. 11.2.
  • The newly opened window with a bit detail is shown in the figure below.
  • The destination of the file which is being created is shown in the figure below.
  • Now, press the Finish button as highlighted in the figure shown below.
  • As you press this button a new window will again appear on your computer’s screen.
  • Go to the Medical Kit (172.22.11.2) as encircled in the figure below.
  • The new window appeared with all of the above steps is shown in the figure below.
  • Now go to the Medical Kit option and Right Click on it.
  • By doing so, you can see a lot of options here in the new mini window, go to New-> VI.
  • The above steps are shown in the figure given below.
  • As u press the VI two windows, Front Panel and Block Diagram will be appeared on your computer’s screen.
  • Both the windows are shown in the figure below.
  • Now, press Ctrl+t, both of the windows will be aligned in this way.
  • Now go to the Block Digram window and Right Click on it.
  • Go to the Functions-> Programming-> Structures here you can see different structures blocks.
  • Select the While Loop as encircled in the figure shown below.
  • Select this block and place it on the Block Diagram window as shown I the figure below.
  • Now, go to the Functions-> Programming-> Structures once again.
  • Select the Flat Sequence and place it around the While Loop.
  • Now put your cursor on the right side of the Flat Sequence and Right Click on it.
  • Go to the Add Frame After as shown in the figure below.
  • Now, Right Click on the Block Diagram window and go to Functions-> myRIO-> Device Management, here you can see the two different management blocks.
  • Select the encircled block Reset myRIO as shown in the figure below.
  • Place the encircled block Reset myRIO inside the second frame of the Flat Sequence.
  • Now go to the Functions-> myRIO and here you can see the different myRIO blocks.
  • Select the encircled block Button as shown in the figure below.
  • Place Button inside the While Loop.
  • As you place the button a new window will be appeared on your screen.
  • New window is shown in the figure below, just press Ok as shown below.
  • All of the above steps are shown in the figure below.
  • Now go the Functions-> Programming-> Structures, here you can see the different structure blocks.
  • Select the encircled block Case Structure as shown in the figure below.
  • Now go to the Functions-> myRIO, here you will see a lot of myRIO blocks.
  • Select the encircled block LED as shown in the figure below.
  • Select the encircled block and place it inside the Case Structure.
  • As you place the LED in the Case Structure a new window will be appeared on the screen, just press Ok.
  • The figure shown below exhibits the above steps.
  • Now to the First input terminal of the LED and Right Click on it and go to Create-> Constant.
  • By doing so, four inputs will be added to the LED.
  • The above step is shown in the figure below.
  • And change the condition from False to the True e.g. F to
  • The figure shown below exhibits the above step.
  • Now copy the entire code inside the Case Structure and go to the False Option.
  • Paste the copied code inside the False Option and change the condition from True to False i.e. form T to
  • The above step is shown in the figure below.
  • Now go to the bottom right of the While Loop and go to Create-> Control as shown in the figure below.
  • Now go to output terminal of the Button right click on it.
  • Go to the Create-> Indicator as shown in the figure below.
  • By doing so, a new indicator will be added on the block diagram window to show the state of the button i.e. whether it is pressed or not.
  • The above step is exhibited in the figure below.
  • Now run the program and the code will be started to upload on the NI myRIO.
  • The uploading in process is shown in the figure below.
 
  • The Front Panel is shown in the figure below.
  • Now if you press the button on the myRIO the Green LED on the Front Panel will be turned on.
  • The figure shown below exhibits the above step.
  • The ON state of the LED shows that the button on the myRIO is pressed.
So, that is all from the tutorial Creating First Program with myRIO. I hope you enjoyed this first project with myRIO. You should also have a look at these LabView Projects. If you find any sort of problem, you can ask in comments anytime without even feeling any kind of hesitation. I will try my level best to solve your issues in a better way, if possible. In my next tutorial I will elaborate that how to control the servo motor using NI LabVIEW and NI myRIO. I will further explore NI LabVIEW and NI myRIO in my later tutorials. So, till then, Take Care :)

Stepper Motor Speed Control in LabVIEW

Hello everyone! I hope you all will be absolutely fine and having fun. Today, I am going to share my knowledge about how to make a simple Virtual Instrument (VI) for Stepper Motor Speed Control in LabVIEW. In my previous tutorials, I have worked on Stepper Motor Speed Control using Arduino in which I have shown how to control the stepper motor speed using Arduino. Today, I am going to share a new tutorial in which I am gonna do the Stepper Motor Speed Control in LabVIEW. Moreover, you should also have a look at Stepper Motor Speed Control in Matlab, where I am sending stepper motor speed control commands from MATLAB. In this tutorial, I am going to work on the program for Stepper Motor speed Control using NI LabVIEW. So, before going into the details of this tutorial, you must go through my previous tutorials because I am going to use the same hardware setup and same Arduino source code as well. I will made a simple GUI (Graphical User Interface) for Stepper Motor Speed Control in LabVIEW. There will be five different buttons on the GUI for clockwise rotation, counter clockwise rotation, stopping  the stepper motor, accelerating and deaccelerating the stepper motor respectively.

Stepper Motor Speed Control in LabVIEW

In the tutorial Stepper Motor Speed Control in LabVIEW, I will explain you a complete step by step procedure to control the clockwise and counter clockwise direction of the stepper motor as well as accelerating and decelerating it with the help of the buttons on the GUI created in NI LabVIEW using serial communication between Arduino and NI LabVIEW.
  • You can download the complete simulation for Stepper Motor Speed Control in LabVIEW by clicking below button:

 Download LabVIEW Simulation

  • Download .rar file, extract the files from the folder and enjoy the complete simulation for Stepper Motor Speed Control in LabVIEW.
Block Diagram
  • First of all I would like to explain you the algorithm for Stepper Motor Speed Control in LabVIEW with the help of block diagram.
  • Block diagram for this project is shown in the figure below.
  • We send commands from the NI LabVIEW through the serial port i.e. NI LabVIEW serially communicates with the Arduino to control the speed of the stepper motor.
  • Arduino sends commands to the L298 motor controller and it decides what to do after manipulating the different commands from Arduino.
  • Executed commands are also printed on LCD (Liquid Crystal Diode).
Vitual Instrument's (VI's) Description
  • First of all open NI LabVIEW software on your laptop or PC.
  • Go to the Block Diagram window and Right Click on it.
  • Go to Functions-> Instrument I/O-> Serial and you can see different serial blocks like VISA Write, VISA Read, VISA Serial etc.
  • Choose the encircled VISA Configure Serial Port and place it on the Block Diagram window.
  • VISA Configure Serial Port block will help us to open the Serial Port before executing the algorithm.
  • The screen shot of the Block Diagram is shown in the figure below.
  • Go to the first input terminal of the VISA Configure Serial Port block and go to Create-> Control.
  • Above step will be helpful to select the COM port of the Arduino board in order to run the program properly.
  • Updated Block Diagram window is shown in the figure below.
  • Now go to Functions-> Instrument I/O-> Serial, you can see there different serial blocks.
  • Choose the encircled VISA Close block and place it on the Block Diagram window.
  • The VISA Close block is shown in the figure below and it will be help in closing the Serial Port if needed.
  • Now, go to the Functions-> Programming-> Structures and you can see the different structures there like For Loop, While Loop, Case Structure etc.
  • Choose the encircled block as shown i the figure below.
  • Place all the above blocks in a way shown in the figure below.
  • Now, go to the Functions-> Programming-> Structures-> Flat Sequence.
  • Flat sequence block is encircled and is shown in the figure below.
  • Put your cursor and go to Add Frame After.
  • Similarly ad another case after this as shown in the figures below.
  • Newly added frame is shown in the figure below.
  • Now, go to Functions-> Instrument I/O-> Serial, you can see different serial blocks there.
  • Choose the encircled VISA Write Block and place it on the Block diagram window.
  • The figure shown below elaborates the above steps.
  • Make the connections as shown in the figure below.
  • Now, go the Functions-> Programming-> Structures and you can see different types of structures like for loop, while loop, flat sequence etc.
  • Choose he encircled block as shown in the figure below.
  • Select the Case Structure block and place it on the block diagram window.
  • The figure shown below displays the above step.
  • Now, go to the input terminal of the write block and go to Create-> Control.
  • Change the name of this  block to Command box as shown in the figure below.
  • The block diagram window is shown in the figure below.
  • Now, go to Functions-> Programming-> Structures and you can see different structures blocks there.
  • Choose the encircled block as shown in the figure below.
  • Select the Local Variable Block and place it on the Front Panel.
  • Right click on it and select Command box as shown in the figure below.
  • Go to the input terminal of this local variable and go to Create-> Constant.
  • Place inside that constant.
  • The figure below elaborates the above step.
  • The above case structure is for the clock wise rotation of the stepper motor.
  • Similarly make four further case structures for counter clockwise rotation, accelerating, de-accelerating and stopping the rotation of the stepper motor.
  • All the three case structures are shown in the figure below.
  • You can see three different case structures in above figure.
  • The command box variable having command will rotate the stepper motor in clockwise direction.
  • A command box variable having command will rotate the stepper motor in counter clockwise direction.
  • The command box variable having command will rotate the stepper motor at higher and higher speed if it is rotating with a lower speed.
  • A command box variable having command will rotate the stepper motor with slower and slower speed if it is rotating at a higher speed.
  • .
  • The command box variable having command will stop the rotation of the stepper motor.
  • Now, go to the Front Panel and Right Click on it.
  • Go to Controls-> Modern-> Boolean and you can see there different Boolean blocks.
  • Choose the encircled block as shown in the figure below.
  • Select the Round LED block and place it on the front panel.
  • Similarly select two more round LED blocks and place them on the front panel as well.
  • Change their names from default to Clockwise, Anti clockwise and  Stop Motor.
  • All of the above steps are explained visually in the figure shown below.
  • The LED shown in the above figure will control the stepper motor on clock wise, counter clock wise direction and will stop the motor as well.
  • Now go to the block diagram window and connect these blocks as shown in the figure below.
  • At the end, after sending all the commands we must need to close the serial port so that unnecessary exchange of commands could be avoided.
  • So I have cleared the all the commands in third frame of the case structure i.e I am sending no commands through the serial port.
  • This will be helpful in closing the serial port.
  • The figure show below explains all of the above steps visually.
  • Now add another case structure to start the program when you want so.
  • The figure below shows the newly added case structure.
  • Now, go to the Front Panel, the button encircled in the figure shown below is used to start the program when needed.
  • Now add a Stop button in order to terminate the program whenever you want so.
  • The complete output of the program is shown in the figure below.
  • A complete NI LabVIEW Virtual Instrument (VI) is shown in the figure below.
  • I have decorated the front panel to make it attractive for the users.
  • The final look of the Front panel is shown in the figure below.
  • Go to Controls, Modern-> Decorations you can see different decoration blocks there.
  • All these blocks are shown in the figure displayed below.
  • I have used three decoration blocks encircled with the blue color, to decorate my program.
  • Red boundary shows all of the decoration blocks to make your program attractive.
  • You can also decorate your programs using this amazing tool.
That is all from the tutorial Stepper Motor Speed Control in LabVIEW. I hope you enjoyed this tutorial on Stepper Motor Speed Control in LabVIEW. If you face any sort of problem you can ask me anytime without even feeling any kind of hesitation. I will try my level best to solve your issues in some better way, if possible. I will explore NI LabVIEW, will make different projects on it and will share them with all of you as well. Till then, Take care :)

Stepper Motor Direction Control in LabVIEW

Hello everyone! I hope you all will be absolutely fine and having fun. Today, I am going to share my knowledge about how to make a simple Virtual Instrument (VI) for Stepper Motor Direction Control in LabVIEW. In my previous tutorial, I have worked on Stepper Motor Direction Control using Arduino, in which I have controlled Stepper Motor Direction Control using Arduino and I am gonna use the same setup but this time I am gonna do the Stepper Motor Direction Control in LabVIEW. Moreover, you should also have a look at Stepper Motor Direction Control using Matlab. In this tutorial, I going to work on the program for Stepper Motor Direction Control in LabVIEW. So, before going into the details of this tutorial, you must go through my previous tutorials because I am going to use the same hardware setup and same Arduino source code as well. I will made a simple GUI (Graphical User Interface) for Stepper Motor Direction Control in LabVIEW. There will be three different buttons on the GUI for clockwise rotation, counter clockwise rotation and stopping  the stepper motor respectively.

Stepper Motor Direction Control in LabVIEW

In the tutorial Stepper Motor Direction Control in LabVIEW, I will explain you a complete step by step procedure to control the clockwise and counter clockwise direction of the stepper motor with the help of the buttons on the GUI created in NI LabVIEW using serial communication between Arduino and NI LabVIEW.
  • You can download the complete NI LabVIEW simulation here.
  • Download .rar file, extract the files from the folder and enjoy the complete NI LabVIEW's simulation:

 Download LabVIEW Simulation

VI's Description
  • First of all open NI LabVIEW software on your laptop or PC.
  • Go to the Block Diagram window and Right Click on it.
  • Go to Functions-> Instrument I/O-> Serial and you can see different serial blocks like VISA Write, VISA Read, VISA Serial etc.
  • Choose the encircled VISA Configure Serial Port and place it on the Block Diagram window.
  • VISA Configure Serial Port block will help us to open the Serial Port before executing the algorithm.
  • The screen shot of the Block Diagram is shown in the figure below.
 
  • Go to the first input terminal of the VISA Configure Serial Port block and go to Create-> Constant.
  • Above step will be helpful to select the COM port of the Arduino board in order to run the program properly.
  • Updated Block Diagram window is shown in the figure below.
  • Now go to Functions-> Instrument I/O-> Serial, you can see there different serial blocks.
  • Choose the encircled VISA Close block and place it on the Block Diagram window.
  • The VISA Close block is shown in the figure below and it will be help in closing the Serial Port if needed.
  • Now, go to the Functions-> Programming-> Structures and you can see the different structures there like For Loop, While Loop, Case Structure etc.
  • Choose the encircled block as shown i the figure below.
  • Place all the above blocks in a way shown in the figure below.
  • Now, go to the Functions-> Programming-> Structures-> Flat Sequence.
  • Flat sequence block is encircled and is shown in the figure below.
  • Put your cursor and go to Add Frame After.
  • Similarly ad another case after this as shown in the figures below.
  • Newly added frame is shown in the figure below.
 
  • Now, go to Functions-> Instrument I/O-> Serial, you can see different serial blocks there.
  • Choose the encircled VISA Write Block and place it on the Block diagram window.
  • The figure shown below elaborates the above steps.
  • Make the connections as shown in the figure below.
  • Now, go the Functions-> Programming-> Structures and you can see different types of structures like for loop, while loop, flat sequence etc.
  • Choose he encircled block as shown in the figure below.
  • Select the Case Structure block and place it on the block diagram window.
  • The figure shown below displays the above step.
  • Now, go to the input terminal of the write block and go to Create-> Control.
  • Change the name of this  block to Command box as shown in the figure below.
  • The block diagram window is shown in the figure below.
  • Now, go to Functions-> Programming-> Structures and you can see different structures blocks there.
  • Choose the encircled block as shown in the figure below.
  • Select the Local Variable Block and place it on the Front Panel.
  • Right click on it and select Command box as shown in the figure below.
  • Go to the input terminal of this local variable and go to Create-> Constant.
  • Place inside that constant.
  • The figure below elaborates the above step.
  • The above case structure is for the clock wise rotation of the stepper motor.
  • Similarly make two further case structures for counter clockwise rotation and stopping the rotation of the stepper motor.
  • All the three case structures are shown in the figure below.
  • You can see three different case structures in above figure.
  • The command box variable having command will rotate the stepper motor in clockwise direction.
  • A command box variable having command will rotate the stepper motor in counter clockwise direction.
  • The command box variable having command will stop the rotation of the stepper motor.
  • Now, go to the Front Panel and Right Click on it.
  • Go to Controls-> Modern-> Boolean and you can see there different Boolean blocks.
  • Choose the encircled block as shown in the figure below.
  • Select the Round LED block and place it on the front panel.
  • Similarly select two more round LED blocks and place them on the front panel as well.
  • Change their names from default to Clockwise, Anti clockwise and  Stop Motor.
  • All of the above steps are explained visually in the figure shown below.
  • The LED shown in the above figure will control the stepper motor on clock wise, counter clock wise direction and will stop the motor as well.
  • Now go to the block diagram window and connect these blocks as shown in the figure below.
  • At the end, after sending all the commands we must need to close the serial port so that unnecessary exchange of commands could be avoided.
  • So I have cleared the all the commands in third frame of the case structure i.e I am sending no commands through the serial port.
  • This will be helpful in closing the serial port.
  • The figure show below explains all of the above steps visually.
  • Now add another case structure to start the program when you want so.
  • The figure below shows the newly added case structure.
  • Now, go to the Front Panel, the button encircled in the figure shown below is used to start the program when needed.
  • Now add a Stop button in order to terminate the program whenever you want so.
  • The complete output of the program is shown in the figure below.
  • A complete NI LabVIEW Virtual Instrument (VI) is shown in the figure below.
Decorated Front Panel
  • Since, I want to make the better external look of the program so I have decorated a bit.
  • The figure shown below shows the decorated Front Panel.
  • Go to Controls, Modern-> Decorations you can see different decoration blocks there.
  • All these blocks are shown in the figure displayed below.
  • I have used three decoration blocks encircled with the blue color, to decorate my program.
  • Red boundary shows all of the decoration blocks to make your program attractive.
  • You can also decorate your programs using this amazing tool.
Complete Hardware Setup
[ultimate_spacer height="10:]
  • A complete hardware setup for different commands is shown in the figure below.
  • When you send the command through the serial port from LabVIEW to the Arduino,  the statement Clockwise will be printed on the LCD as shown in the figure below.
  • When you send the command through the serial port from LabVIEW to the Arduino,  the statement No rotation will be printed on the LCD as shown in the figure below.
  • When you send the command through the serial port from LabVIEW to the Arduino, the statement Anti Clockwise will be printed on the LCD as shown in the figure below.
This is all from the tutorial Stepper Motor Direction Control in LabVIEW. I hope you all enjoyed this tutorial. If you face any sort of problem you can ask me anytime without feeling any kind of hesitation. I will try my level best to solve your issue in a better way if possible. I will explore NI LabVIEW further in my later tutorials. Till then, Take care :)

DC Motor Direction Control in LabVIEW

Hello friends! I hope you all will be absolutely fine and having fun. Today, I am going to share my knowledge with all of you about how to make a simple program for DC Motor Direction Control in LabVIEW. In my previous tutorials, I have also worked on DC Motor Direction Control using Arduino. You should go through these tutorials they will be helpful in better understanding of the tutorial DC Motor Direction control using NI LabVIEW. The word DC is basically an abbreviation of Direct current. So, a direct current motor is commonly used motor having two input terminals, one is positive and the other one is negative. If we connect these terminals with the voltage supply the motor will rotate. If you change the polarity then motor will rotate in opposite direction. You should also have a look at Difference between DC & AC Motors to get a better idea about these motors. DC motor has a lot of applications. You can use it in automation projects, for controlling static as well as mobile robots, in transport system, in pumps,fans,bowers and for industrial use as well. In this tutorial I will work on DC Motor Direction Control using NI LabVIEW. In my previous tutorial, I have done the DC Motor Direction Control in MATLAB  and I have used the same hardware but instead of controlling it from NI LabVIEW I have controlled it using MATLAB so you must have a look at that tutorial. Now let's get started with DC Motor Direction Control in LabVIEW.

DC Motor Direction Control in LabVIEW

In this tutorial, I will make a simple program to work on the DC Motor Direction Control in LabVIEW. NI LabVIEW is an amazing software tool specially for the students, because it is very easy to use and understand. So, its a student friendly tool. Before going into the details of this tutorial, you must go through my previous tutorials because I am going to use the same hardware setup and same Arduino source code as well. I will made a simple GUI (Graphical User Interface) in LabVIEW for DC Motor Direction Control in LabVIEW. There will be three different buttons on the GUI for clockwise rotation, counter clockwise rotation and stopping  the stepper motor respectively.
  • You can download the complete SImulation for DC Motor Direction Control using NI LabVIEW here:

Download LabVIEW Simulation

  • Download .rar file, extract it and enjoy the complete simulation for DC Motor Direction Control using NI LabVIEW.
How to Build Complete VI
  • First of all open NI LabVIEW software on your laptop or PC so that we could design the GUI for DC Motor Direction Control in LabVIEW.
  • Go to the Block Diagram window and Right Click on it.
  • Go to Functions-> Instrument I/O-> Serial and you can see different serial blocks like VISA Write, VISA Read, VISA Serial etc.
  • Choose the encircled VISA Configure Serial Port and place it on the Block Diagram window.
  • VISA Configure Serial Port block will help us to open the Serial Port before executing the algorithm.
  • The screen shot of the Block Diagram is shown in the figure below.
  • Go to the first input terminal of the VISA Configure Serial Port block and go to Create-> Constant.
  • Above step will be helpful to select the COM port of the Arduino board in order to run the program properly.
  • Updated Block Diagram window is shown in the figure below.
  • Now go to Functions-> Instrument I/O-> Serial, you can see there different serial blocks.
  • Choose the encircled VISA Close block and place it on the Block Diagram window.
  • The VISA Close block is shown in the figure below and it will be help in closing the Serial Port if needed.
  • Now, go to the Functions-> Programming-> Structures and you can see the different structures there like For Loop, While Loop, Case Structure etc.
  • Choose the encircled block as shown i the figure below.
  • Place all the above blocks in a way shown in the figure below.
  • Now, go to the Functions-> Programming-> Structures-> Flat Sequence.
  • Flat sequence block is encircled and is shown in the figure below.
  • Put your cursor and go to Add Frame After.
  • Similarly ad another case after this as shown in the figures below.
  • Newly added frame is shown in the figure below.
  • Now, go to Functions-> Instrument I/O-> Serial, you can see different serial blocks there.
  • Choose the encircled VISA Write Block and place it on the Block diagram window.
  • The figure shown below elaborates the above steps.
  • Make the connections as shown in the figure below.
  • Now, go the Functions-> Programming-> Structures and you can see different types of structures like for loop, while loop, flat sequence etc.
  • Choose he encircled block as shown in the figure below.
  • Select the Case Structure block and place it on the block diagram window.
  • The figure shown below displays the above step.
  • Now, go to the input terminal of the write block and go to Create-> Control.
  • Change the name of this  block to Command box as shown in the figure below.
  • The block diagram window is shown in the figure below.
  • Now, go to Functions-> Programming-> Structures and you can see different structures blocks there.
  • Choose the encircled block as shown in the figure below.
  • Select the Local Variable Block and place it on the Front Panel.
  • Right click on it and select Command box as shown in the figure below.
  • Go to the input terminal of this local variable and go to Create-> Constant.
  • Place inside that constant.
  • The figure below elaborates the above step.
  • The above case structure is for the clock wise rotation of the stepper motor.
  • Similarly make two further case structures for counter clockwise rotation and stopping the rotation of the stepper motor.
  • All the three case structures are shown in the figure below.
  • You can see three different case structures in above figure.
  • The command box variable having command will rotate the stepper motor in clockwise direction.
  • A command box variable having command will rotate the stepper motor in counter clockwise direction.
  • The command box variable having command will stop the rotation of the stepper motor.
  • Now, go to the Front Panel and Right Click on it.
  • Go to Controls-> Modern-> Boolean and you can see there different Boolean blocks.
  • Choose the encircled block as shown in the figure below.
  • Select the Round LED block and place it on the front panel.
  • Similarly select two more round LED blocks and place them on the front panel as well.
  • Change their names from default to Clockwise, Anti clockwise and  Stop Motor.
  • All of the above steps are explained visually in the figure shown below.
  • The LED shown in the above figure will control the stepper motor on clock wise, counter clock wise direction and will stop the motor as well.
  • Now go to the block diagram window and connect these blocks as shown in the figure below.
  • At the end, after sending all the commands we must need to close the serial port so that unnecessary exchange of commands could be avoided.
  • So I have cleared the all the commands in third frame of the case structure i.e I am sending no commands through the serial port.
  • This will be helpful in closing the serial port.
  • The figure show below explains all of the above steps visually.
  • Now add another case structure to start the program when you want so.
  • The figure below shows the newly added case structure.
  • Now, go to the Front Panel, the button encircled in the figure shown below is used to start the program when needed.
  • Now add a Stop button in order to terminate the program whenever you want so.
  • The complete output of the program is shown in the figure below.
  • A complete NI LabVIEW Virtual Instrument (VI) is shown in the figure below.
Decorated Front Panel
  • Since, I want to make the better external look of the program for DC Motor Direction Control in LabVIEW, so I have decorated a bit.
  • The figure shown below shows the decorated Front Panel.
  • Go to Controls, Modern-> Decorations you can see different decoration blocks there.
  • All these blocks are shown in the figure displayed below.
 
  • I have used three decoration block encircled with the red color, to decorate my program.
  • Thick red boundary shows all of the decoration blocks to make your program attractive.
  • You can also decorate your programs using this amazing tool.
This is all from the tutorial DC Motor Direction Control in LabVIEW. I hope you all enjoyed this tutorial. If you face any sort of problem in DC Motor Direction Control in LabVIEW, then you can ask me anytime without feeling any kind of hesitation. I will try my level best to solve your issue in a better way if possible. I will explore NI LabVIEW further in my later tutorials. Till then, Take care :)
Syed Zain Nasir

I am Syed Zain Nasir, the founder of <a href=https://www.TheEngineeringProjects.com/>The Engineering Projects</a> (TEP). I am a programmer since 2009 before that I just search things, make small projects and now I am sharing my knowledge through this platform.I also work as a freelancer and did many projects related to programming and electrical circuitry. <a href=https://plus.google.com/+SyedZainNasir/>My Google Profile+</a>

Share
Published by
Syed Zain Nasir