Sherwin Williams’ Perspective on HMI/SCADA Implementation

  • February 17, 2014
  • Feature

By Bill Lydon, Editor

Ted Krevis of Sherwin Williams gave an enthusiastic presentation about their HMI software implementation at Inductive Automation’s Ignition User Conference last fall. Following the conference, I had the opportunity to talk personally with Ted Krevis (pictured left), Manager Industrial Applications, and Dan Prudhoe (pictured right), Lead Software Developer at Sherwin Williams Company, about their experiences using Ignition software. Below is a synopsis of my interview questions and the subsequent answers from Krevis and Prudhoe.

As a brief background, Steven Hechtman started Inductive Automation in 2003. After 25 years as a controls systems integrator, Hechtman was frustrated with existing industrial software, and he set out to create an alternative built with the latest software industry tools and standards.

How do you think of and describe Ignition?

Ignition is an application server that provides many common functions of industrial software (OPC, tags, HMI, alarming, etc.) inside a comprehensive development environment. It facilitates rapid development of basic HMI and data logging functions, all the way up to fully customized, complex automation systems.

Ignition functions as the central hub of SCADA and business information via its database connectivity and reporting functionality.

Do you have experience with HMI’s from other vendors in addition to Inductive Automation software?

Yes, our company has procured HMI’s from all the major vendors overthe years. These include Rockwell, Cimplicity, Intellution and Wonderware, to name a few.

What are the advantages you found in using Inductive Automation software?

Ignition allows us to bring standard IT methodologies to the industrial domain.

Beyond the solid core of features that most engineers or developers are familiar with in industrial software, Ignition also provides users with powerful functionality using Java, Python and SQL databases. These established technologies create powerful options for advanced data management, processing and reporting.

The software does not use proprietary databases. Integration with our existing databases provides us with advantages in cost as well as development time. Relational databases often have their own powerful set of internal programming tools to further expand your developer toolkit. For example, Oracle PL/SQL offers native web services and inter-process messaging to facilitate inter-system communication. Furthermore, developers can leverage our existing IT infrastructure to begin projects right away.

There are endless resources available to learn these technologies, and often a wealth of knowledge within your IT departments exists already. Functions that can seem innovative and new in the industrial space have been commonplace in IT departments for years.

Ignition is web-launched, and licensing is server-based, so client software installation tasks are virtually eliminated. Better yet, expansion to more clients does not require the appropriation of additional funds. IT can focus on the application itself and the burdensome tasks of software installation and license appropriations disappear.

Being Java-based, Ignition allows us to tackle many low-cost projects. For example, we may replace a one-off HMI that is running on a decade-old (or more) version of Windows. These old systems are buried in the network because they are so insecure and off of standard IT security policies. Upgrades to new versions of the existing software are cost prohibitive, and we will likely end up in the same situation down the road. The system is also a data island, meaning we get very little information back to the business system, and data input is manual. Using Ignition, we can rewrite this application and integrate the system into a more comprehensive SCADA solution with minimal additional cost. With a centralized server and Java's cross-platform compatibility, we can be confident the entire system will stay secure and current with our IT standards.

Do you control and monitor information from controllers by multiple manufacturers?

We communicate primarily with Allen Bradley controllers, but there are a number of scales and check-weighers that use the Modbus drivers or TCP driver to communicate. We communicate directly with Rice Lake, Avery Weightronics and Mettler Toledo scales, to name a few. We occasionally encounter other devices but can usually find a way, using existing tools, to get the data into Ignition or a database, rather than introduce a Windows-based OPC server.

What operating systems are you using with Inductive Automation’s Ignition?

In general, we use Linux, in particular Red Hat as well as Oracle’s OEL. We have also run Ignition on HP-UX servers that we still have in service to save on hardware costs. The software looks the same to the developer and user regardless of the OS used.

What advantages have you found using Linux?

We have found fewer issues with the Linux operating system versus Windows. Linux servers that have not been rebooted in over a year are commonplace. The result is more up time and better reliability.

A second advantage is security. The issues we have read about where SCADA systems have been compromised were Windows-based systems. Often times the Windows-based software has strict rules for versions, hotfixes, and service packs allowed, which makes administration and up-to-date protection much more difficult. Beyond the fact that you rarely hear about computer viruses that strike Linux operating systems, Ignition has not struggled at all by residing on servers that go through routine IT security updates and patching.

How do you contrast your experience running on Linux vs. Windows?

The advantages of Linux we just mentioned are all in comparison to running on Windows. Similar to the benefits of using standard IT technologies, the reliability and security benefits of Linux further allow us to focus on application development rather than administration.

Does your company have a database standard?

We are primarily an Oracle shop, but since we are a big company, there are applications that use other databases. Ignition can communicate with all our primary databases. (Oracle and SQLServer)

How do you interface with your database using Ignition?

One of the nice features of Ignition is that you have a number of options for communicating to databases.

Transaction groups are configurable data loggers allowing the developer to choose the tags as well as the tables/columns to store the information in. This gives us full control of the data collection and storage. This allows us to combine key business data to PLC information for easy data retrieval based on business orders or SKU ID. We can also use advanced SQL techniques to extrapolate more information from logged data.

Historical tags track individual tag values and manage the database side for you. Many Ignition components have built-in historian bindings, so querying is as simple as specifying a tag and date range. This implementation is good for simple trending of time series data.

Python scripting provides functions to run any database query or call web services.

Queries can also be embedded directly into tags themselves.

How are you interfacing to your corporate database?

Communication with corporate databases can be tricky since there are limitations due to the sensitive data that resides on them. Due to the varying rules and levels of comfort you may encounter across various IT departments, it is important to know the various options to present. This will help for buy-in from other teams.

Obviously, you can insert data into or query database tables. However, if security/access to external systems is an issue, you can use negotiated interface tables to allow all involved parties to do their due diligence before applying the data to production systems. You can also use web services to expose very specific services to your interfaced systems.

Often, we may do tasks very similar to ETL (extract, transform, load) functions found in IT data warehouses. We read in many source systems and transform the data into database models conducive for reporting.

Generally for us, buy-in has been easier if you let your corporate database pull data rather than have another system push it in.

Sometimes Ignition is the driver of these functions, and sometimes it is strictly on the database side using stored procedures. Again, the flexibility allows us to handle many types of situations.

Is this implementation part of a single federated business information database?

We use Ignition in a number of ways at our company. We use it as an enterprise historian, SCADA system and HMI. As an enterprise historian, we centralize the data collection and visual components. This reduces the amount of work required to access the information our sites are interested in.

We combine factory floor data with our business system data to put the controller data in a context that our customers easily identify with. Looking at time series temperature data may have some value, but that data combined with the order that was running in the vessel at the time makes more sense to quality and operations personnel. Ignition provides powerful tools to collect, combine data with business elements, store, and display the data to our plant personnel.

At a higher level are the traditional business intelligence systems. The enterprise historian can aggregate time series data around business events and become yet another source system for the enterprise data warehouse.

What are the major features you have implemented with Ignition?

We have utilized Ignition as an HMI, SCADA and enterprise historian. The major functions that we have employed depend on the application. We rely heavily on Transaction groups and the Ignition Vision module for our enterprise historian. We also extensively utilize UDT and template graphics for SCADA and HMIs. Python scripting has benefitted all our applications.

Thoughts & Observations

Ignition has taken a different software architectural approach to HMI/SCADA software that has sparked enthusiasm with this particular user. For more information about Ignition, or to download a trial version, visit:

About the Interviewees

Ted Krevis, Sherwin WilliamsTed Krevis - Manager, Industrial Applications Group, Sherwin-Williams

Ted manages a team responsible for creating and implementing IT solutions for industrial automation projects. The projects include SCADA systems, HMIs, operational dashboards and an enterprise historian. The team is also responsible for building software interfaces between factory floor systems and business systems. He has worked at Sherwin-Williams for 21 years and has held positions in engineering, plant process controls, and MES IT.

Dan Prudhoe, Sherwin WilliamsDan Prudhoe - Lead Software Developer, Industrial Applications Group, Sherwin-Williams

Dan has been with Sherwin-Williams for 10 years.  He is currently Lead Developer for the Industrial Applications Group.  The team's focus is to fill in the gaps between Engineering, MES, and Business Intelligence with modern, scalable systems.  Dan is responsible for the design and implementation of SCADA software and manufacturing intelligence solutions throughout Sherwin-Williams.  Before joining the Industrial Applications group, he held positions as a SCADA/Historian software engineer and a data warehouse ETL developer.  By applying his experience in data warehouse modeling and large data systems, Dan architected an enterprise historian using standard IT methods utilized in traditional business intelligence systems.  The historian centrally integrates business information with process data from functional areas such as paint manufacturing, filling/packaging, and raw material storage throughout the company.  In addition, Dan has designed frameworks to allow legacy MES/ERP applications to integrate with plant control systems.

Did you enjoy this great article?

Check out our free e-newsletters to read more great articles..