Design Like a Pro | Part 1: Laying the Foundation for Successful HMI / SCADA Projects

Boost Your Skills in HMI / SCADA Project Development

18 minute read Download PDF
Design Like a Pro | Part 1

How important is a solid foundation to the success of your project? A good foundation is priceless; without it your project will be on shaky ground.

This paper covers the planning you will need to do in order to lay a solid foundation for your HMI / SCADA project. The four things you need to know to properly plan for your project’s success are: the three major project phases, what questions to ask to define your project, how to build a solid project architecture, and how to create a successful plan of action.

Design Like a Pro Series

At Inductive Automation we hear from professionals all the time about how they are using Ignition to create great SCADA and HMI examples and projects. In addition to offering software solutions for the manufacturing industry we are constantly striving to support the Ignition community with the training, consulting, and knowledge they need for success. As part of that ongoing effort we are offering this “Design Like a Pro” series of white papers and webinars to give you information that will help you design a successful HMI / SCADA project every time.

Creating a new project is like a road trip. It starts with choosing a destination, then picking a route to get there. There are many potential roads you can take to reach your goal. Some could be very quick but rife with peril; others could be long and scenic but costly in terms of time and money. To avoid potential pitfalls and keep on task you need a good road map: one that outlines a clear path marked by those who have traveled the road before.

Here is an outline of the development process of a typical project; it is broken into three major project phases. Think of this outline as a road map you can use to help lead you to your project’s success.

Project Phase 1: Planning

Proper planning will lay a solid foundation for your project’s success.

  1. Define Project: Define the problems your project is solving and its size.
  2. Project Architecture: Establish an overarching structure for your project.
  3. Plan of Action: Formulate a plan to complete your project on time.

Project Phase 2: Design

Establish consistent templates for your project and develop each screen.

  1. Setup: Establish all necessary connections to prepare for design work.
  2. Layout: Design a navigation strategy and screen layout for your project.
  3. Templates: Create consistent templates to expedite project development.
  4. Development: Assemble and link together all screens and components.

Project Phase 3: Start Up

Test and secure your project in preparation for its launch.

  1. Testing: Troubleshoot your project through a series of tests.
  2. Security: Define user roles and lock down screens.
  3. Launch: Resolve remaining issues so your project can go live.

This paper will focus on the planning phase. This information is intended to help you make sure you start your project off on the right path. To aid you, Appendix A of this paper is a checklist for the planning phase.

Before you can start on the path to a successful project you have to figure out where you are going. That’s what defining a project is all about. If you don’t know exactly what goals you are setting out to accomplish, there will be no way of knowing if your project achieves them. Another major requirement of defining your project is to see how large in scale your project will be, that way you can plan for how to complete it.

Here are some questions that you must answer to define a project. Remember that people often won’t know exactly what they want their project to be; it’s your job to ask questions of them and yourself to determine that information.

Questions to Ask When Defining Your Project

See Appendix B for a worksheet with these questions to help you define your project.


  • What needs does the project have to satisfy?
    A project is always an answer to a problem. It could be a communication issue, an inefficient process or a variety of other problems. Identify the pain points that your project will be easing, and use them to establish the goals for your project to accomplish.
  • What do you need the project to do?
    A good project should be built around its functions. Ultimately your project is a tool to accomplish a certain task. A hammer was designed to drive a nail; everything about its design is based around performing that function. Similarly, a well-designed HMI / SCADA project must be focused on performing certain functions.


  • How does the project need to be used?
    A hack saw and a chainsaw are both used to cut, but they are designed differently because they are both used in distinctly different ways. Knowing how people will use your project is important in determining how you should design it. Will they interface with your project on a computer screen, a panel view, a mobile phone – or on all of these devices?
  • Who will be using the project?
    There are many different types of people that could be using your project, all of them in a different way. An operator on a production line will probably use your project differently than someone who is working in an administrative role. If you know who is going to use the project, then you can tailor it to fit their individual needs.
  • What information do users need from the project to do their jobs better?
    With many different people using your project in different ways it is important that their needs are met. Understanding what information users need will inform you on what to include in the project. This will ensure that your project serves as a useful tool to those who use it.


  • When does the project need to be launched?
    In order to create a plan to get your project done, you need to set a deadline for it to be completed. Having a date to aim for will allow you to prioritize and schedule project tasks so you can keep the project on track.


  • What kind of hardware do you have to work with?
    You need to know what kind of hardware you have to work with to ensure that you meet project requirements. A very data-heavy project may require larger storage space and a faster CPU than a smaller project may need. At the bare minimum you need to know the server, CPU, RAM, and hard drive requirements for your project.
  • What peripherals need to be connected to the project?
    A typical control system is going to have several peripheral units connected to it. Knowing what they are and sorting out any connection issues early on will ensure that you don’t have these types of problems later in the process. PLCs (programmable logic controllers) and third-party OPC servers are some of the more common peripherals you may have to take into account.


  • What operating system are you using?
    Knowing the type of operating system you are working with will help you avoid compatibility issues. Note: If you are using Ignition by Inductive Automation, you can easily overcome this problem since the software is cross-platform compatible.
  • What HMI / SCADA software are you going to be using?
    To meet the needs of any project you should use an HMI / SCADA application that is both powerful and flexible. You don’t want to put yourself in a position where constrictive software limits the potential of your project and negatively influences its design. Consider a software package that offers unlimited licensing for tags and clients at one flat rate; it’s amazing how fast tags and clients add up (and the associated costs) when you set about creating a project. Also, it's important to find a company that offers HMI examples that are similar to the type of application that you’re trying to build. Use the list of SCADA software-related questions at the end of this paper in Appendix C to help evaluate your software choice.
  • What vertical software must be integrated with your project?
    In some cases your project will need to interface with vertical software. This may affect how the project is designed so you need to know this information. Finding this information out early in the process will help you sidestep headaches later on.


  • How are you going to authenticate to the system?
    It’s never too early to think about security. Since it can take time to set up, security needs to be kept in mind when defining your project. Using Microsoft Active Directory™ or a database solution are two commonly used authentication methods.

    If you ask these questions when defining your project, you will start off on solid footing. Of course there are more questions you can ask at this stage, and because each project is different you may have to dig deeper into certain aspects of your project. Always err to the side of finding out more information. The greater your depth of knowledge at the beginning of the project, the less chance there will be of being blindsided with a problem later in the process.


So now that you’ve asked the necessary questions about your project, it’s time to start envisioning it. For every great piece of architecture there was a solid blueprint – and your project is no different. Before you can build your project, you need to begin to visualize how it will all work.

To get started, do an inventory of the functions and screens your project will consist of, then identify the data points and database structure you will need. If you follow these steps you will be well on your way to creating a solid blueprint for your project.


Inventory Functions

To start mapping out the architecture of your project, you first need to make an ordered list of all the functions that your project will be required to perform. Organize them in order of importance to help you see the top uses of the project. Prioritizing your list will aid you when it comes time to create your plan of action. You can determine a function’s importance by how much it will be used and by how crucial it is to resolving the issues the project is intended to address.

Some SCADA and HMI examples of the more common functionalities include: real-time status and control, historical data logging, charts and graphs, PDF reporting, alerting, auditing, batching, recipe management. Your project may need to perform some or all of these functions, depending on the project’s scope.

Inventory Screens

After you know what functions your project must perform, you can create an inventory of all the screens you will need to build. You will need at least one or more overview screens and potentially many more HMI and real-time status-and-control screens, depending on the size of your project. Sketch out the screens and make note of what each one will be used for and how they will all be connected.

Always consider the people who will be using a specific screen and what they will want to accomplish on that screen. Keep in mind that you can place multiple functions on a single screen. Start thinking about all the information that a specific operator will need and how to display that information as efficiently as possible. At the end of this step you should have a detailed outline of your project, along with the number of screens and what information and functions each screen will need to contain.

Identify Data Points

Once you know how your project will function and what data it will have to display, you then need to figure out what data points to capture to make it work. Data points are most commonly captured by PLCs where the data is associated with a tag. Each function could require different amounts of data from different tags.

Use the project functionality list you previously created and go through each function and identify what PLC tag data you will need to make each function work. This will help you see if the current SCADA system is already capturing all the data you need, or what you need to start capturing in order to develop your project. This step will also give you an idea of how much data your project will need.

Define Database Structure

With so much data driving the functionality of your project, you have to start thinking about how to handle it in a database. In some cases you may already have a database to work with, and in other cases you may need to create one or more to be a repository for the data your project will contain.

If you need to build a new database then you need to start thinking of a schema for it. A database schema is the organization and structure of a database system; it’s a blueprint of the tables that will construct the database. Creating a structure for your database will give you an idea of the complexity of your project’s information architecture. If you use Ignition software, it will handle much of this structuring for you.

Now that you know where you want your project to go and what you need to do to get there, it’s time to figure out when to do things and how long it will take.

The key to creating a plan of action is that you have a project deadline in mind. This will allow you to prioritize what tasks get done and when. By creating an ordered task list, matching tasks to your assets and putting tasks on a timeline, you can create a solid plan of action that will lead to the successful completion of your project.

Create Ordered Task List

To create a plan of action you have to start breaking down each aspect of your project into a list of actionable items. Start by looking at the inventory of functions and screens you created and then list out each step you will have to take in order to complete each one of them.

It’s okay to start with generalizations here, but you don’t want to end with them. The more specific you are able to get, the better.

For example, if one of your tasks is to create an overview screen, it is helpful to break that task down into the actual actions you will need to take. An actionable task list for creating an overview screen would be similar to this: 1) sketch out overview screen layout, 2) create navigation strategy, and 3) assemble screen framework in the design environment. An actionable item is one you can put a time frame on; this will come in very handy when setting a timeline for your project.

Match Tasks with Assets

Once you’ve broken down your project into a list of actionable tasks you have to start thinking about how to get all of it done. List out all your assets, which include the hardware, software, data, and personnel you have available. Next, match your task list up to these resources.

If you are working on a team you want to match up the expertise of your teammates with the tasks to which they are best suited. This is all about efficiency; identify who will get the job done the fastest and with the best quality possible.

If you are working by yourself you need to go through your task list and see if there are some tasks that you are not equipped to handle. If you need to acquire more help, a tool, or training to get the job done, now is the time to account for that.

Match Tasks with Assets

Put Tasks on a Timeline

Now it’s time to get everything together on a timeline. Start by prioritizing your tasks. When doing so, take into consideration how long tasks will take to complete, and how important certain tasks are to the timely completion of your project. Some tasks may need to be completed before progress on the rest of the project can move forward. You don’t want the whole project hung up by one thing, so make sure to give yourself ample time to complete complex tasks.

In addition to allotting an appropriate amount of time for each task, you should establish some major milestones on your project timeline. Milestones are big turning points for your project and usually consist of the completion of multiple tasks that need to be done before the rest of the project can move forward.

Putting the tasks of your project on a timeline will do two very important things for you. First it will give you a prioritized list of what needs to be done and how long it will take, and second it will keep everyone accountable for moving the project forward.

After you have defined your project, put together a solid project architecture, and assembled a plan of action, you will have completed the planning phase of your project. The next leg of your journey is Phase 2: Design. This phase will be covered in part 2 of this series: Developing Dynamic HMI / SCADA Projects with Speed and Precision.

Following these steps will help you establish a solid foundation for the success of your HMI / SCADA project. By taking the time to properly plan out your project you will set yourself up for success in the design phase, when you start putting all the pieces together.

Success isn’t something that just happens, it has to be planned. Before successfully designing your HMI / SCADA project you need to plan it out. Here is a checklist to help you through the planning phase of HMI / SCADA project development.

1. Define Project

a. Answer Questions to Define Project Due by:         Assigned to:        
    Function Due by:     Assigned to:
    Usage Due by:     Assigned to:
    Deadline Due by:     Assigned to:
    Hardware Due by:     Assigned to:
    Software Due by:     Assigned to:
    Security Due by:     Assigned to:

2. Project Architecture 

a. Inventory Functions Due by:         Assigned to:        
b. Inventory Screens Due by:     Assigned to:
c. Identify Data Points Due by:     Assigned to:
d. Define Database Structure Due by:     Assigned to:

3. Plan of Action

a. Create Ordered Task List Due by:         Assigned to:        
b. Match Tasks with Assets Due by:     Assigned to:
c. Put Tasks on a Timeline Due by:     Assigned to:



Before you can successfully design your project you have to define what it’s going to be. Here are some questions that you need to answer in order to define your HMI / SCADA project.


  • What needs does the project have to satisfy? 
  • What do you need the project to do?


  • How does the project need to be used?
  • Who will be using the project?
  • What information do users need from the project to do their jobs better? 


  • When does the project need to be launched?


  • What kind of hardware do you have to work with?
  • What peripherals need to be connected to the project? 


  • What operating system are you using?
  • What HMI / SCADA software are you going to be using? 
  • What vertical software must be integrated with your project? 


  • How are you going to authenticate the system? 

Modern IT technology, when utilized by SCADA software, can transform control systems. IT has developed and is using concepts that make data management very fast and efficient: a database-centric, web-based architecture that leverages relational data to its full potential.

Gaining a competitive advantage requires investigating any SCADA software vendor to ensure that they can install the software in one place, manage it in one place, add on to it in one place, and have the freedom to use an unlimited amount of tags and clients.

When choosing a SCADA software vendor, ask these qualifying questions to evaluate how they have integrated IT concepts with their software:

Database Connectivity

  • What brands of database servers can the software integrate with?
  • Are multiple simultaneous database connections supported?
  • How easy is it to connect to databases?
  • Does the software provide first-class support for integration with relational databases?

Implementation Difficulty 

  • Can the software be installed in under ten minutes?
  • Is it web-based?
  • Can you launch unlimited clients?
  • Can you launch unlimited development clients?
  • Can changes be deployed to all clients instantly and simultaneously with a single click?
  • Do you manage all projects from a central location?
  • Can you deploy clients without installing any software on the host PC?
  • Is the software cross platform?

Licensing Cost

  • Is the software licensed by the server?
  • Will I have to buy more tags, client licenses, or screens as I expand the system?
Posted on October 2, 2012