Web Servers for Allen-Bradley PLCs – Part 2

Allen-Bradley PLCs with or without an embedded web server

The previous article in this series discussed what web servers are and how they function in the world of the internet. This article discusses how web servers can be used with Allen-Bradley PLCs. It discusses two use cases: a controller with an embedded web server and a controller without an embedded web server. For more information about A-B PLCs, contact RTA by calling 800-249-1612 or emailing solutions@rtautomation.com.

PLCs With Embedded Web Servers

New programmable controllers have web servers built-in, but they can be limited depending on the PLC manufacturer. Some PLCs, especially those built with Microsoft Windows 10 technology, provide a traditional web server experience. A web server developer can build a web application on the controller that acts just like a web server on a website. The application can access tags in the PLC and present a web page with data from PLC tags customized and formatted for some applications.

For example, let’s say you had a web server-enabled PLC running a compressor application. The PLC controls one or two compressors using sensor inputs that provide the pressure at various points of the process. You could, if you could use a web design tool, design a web server (essentially a website) that a customer could use to see current pressure values, look at pressure trends and running times on each compressor, and so forth.

The real value of this solution is that you don’t need a computer to host the website. Your controller is hosting it. You can just design the application on a standard Windows computer and then save it to the PLC. Everything is standardized except for how you connect the fields in HTML to the actual data values of the PLC’s data table. That part will be different for each controller.

PLCs Without Web Servers

If you have some older, legacy PLCs hanging around (and who doesn’t?), you can’t build that web server right into the PLC. Instead, you will need to host it someplace else. The big problem is where do you get the PLC data? You have several options. One, you could write the driver yourself if you have endless time and money. Two, you could purchase an interface package from a third party driver company. Three, you could use OPC Classic. That technology is old and obsolete (Microsoft is still supporting it in Windows 10). And four, you could buy a module that provides the data in a way that integrates well with your web server.

Write Your Own Driver – That can be pretty challenging and leave you with a support job for the rest of your life.

Purchase an Interface Package – Many controller manufacturers provide a driver package. RSLinx Classic is the solution from Rockwell Automation. It is a very comprehensive communication solution for accessing their programmable controllers. It can be expensive and a challenge to configure. It would be overkill for a simple application like we are discussing here.

OPC Classic – This is the OPC DA solution from the 1990s. It works. You can buy drivers easily for most PLCs and it integrates well with MS Windows. But you’ll be out of luck on Linux.

A Module Solution – Some third party networking companies offer a module that supports PLC communication and delivers data formatted to be easily processed in a windows web server.

The 460ETCWI from RTA, for example, can be used to connect PLC data to a web application using HTTP. It can also connect to cloud visualization applications, enterprise quality control programs, an Excel dashboard, a Visio automation or any other web-enabled software application.

It supports all Allen-Bradley PLCs, including legacy PLCs like PLC5, SLC and MicroLogixTM, and can be connected to any application that can act like an HTTP client or HTTP server. Any controller tag (or data file) can be read or written (GET or PUT in HTTP terms) from the HTTP client or server.

You configure blocks of tags in your controller. A block can contain either tags to read or tags to write. The web application program can then send HTTP reads or writes to transfer blocks of tags using JSON or XML.