“It is the next big thing [in the Industrial Internet of Things].”

I have been waiting for quite some time for the next Opto 22 move. It has always been the early, if not first, mover in adopting technologies that are IT friendly for OT. This next big thing according to Marketing VP Benson Hougland is a controller with a RESTful API.

Let’s look at a couple of big reasons. HMI/SCADA software is rapidly moving to being a cloud-based app with HTML5 clients. Getting to the cloud means getting through firewalls. REST helps. Then consider that recent graduates, and current students, are studying and playing with such technologies as REST and MQTT and others, rather than all the specific industrial technologies and protocols, on their Arduinos and Raspberry Pi’s. They will be right at home programming HMI or database applications with technologies such as REST.

The Announcement

Opto SNAP RESTful PACIndustrial automation manufacturer Opto 22 has announced immediate availability of version 9.5 of PAC Project, a Microsoft Windows-based integrated software development suite for industrial automation, process control, remote monitoring, and Internet of Things applications.

The most significant addition in this version is new firmware for Opto 22 programmable automation controllers (PACs) that includes an HTTP/S server with a RESTful API, providing developers with secure, programmatic access to control variables and I/O data using any programming language that supports JavaScript Object Notation (JSON).

This new capability closes the IT/OT gap, allows for rapid Industrial Internet of Things (IIoT) application development, provides for secure data exchange using open Internet standards, and reduces time to market in machine and system design.

The addition of a secure RESTful server and an open, documented API to a programmable automation controller (PAC) is a significant, ground-breaking industry innovation, because REST architecture and associated technology are intrinsic to the Internet of Things and paramount to web and mobile-based application development.

Opto 22’s implementation of REST directly into a commercially available, off-the-shelf industrial PAC is unique in the market and places the company as the first and only industrial automation and controls manufacturer to offer this industry-changing technology.

Other features found in this new version include new tools to develop modular control applications with nested subroutines, new debugging tools to reduce development time, support for a worldwide installed base of legacy Optomux I/O systems, and integration of third-party systems and protocols with the IIoT.

To provide enhanced security and auditing for HMI access, PAC Project now offers sophisticated user groups and data rights, as well as the ability to embed video directly into HMI windows.

Opto 22 RESTful ArchitecturePAC Project 9.5 provides updated firmware for Opto 22 SNAP PAC S-series and R-series controllers that enable a secure HTTPS server on PAC controllers. Combined with a RESTful open and documented API, this new version allows developers to write applications that access data on the PAC using the developer’s programming language of choice with the well-known and widely supported JSON data format. This new capability allows software and IoT application developers to decrease time to market, reduce the development learning curve, and eliminate layers of middleware for secure Industrial Internet of Things (IIoT) applications.

Firmware version 9.5 for SNAP PAC R-series and S-series PAC-R and PAC-S controllers enables REST endpoints for both analog and digital I/O points as well as control program variables including strings, floats, timers, integers, and tables. REST endpoints are securely accessed using the new fully documented RESTful API for SNAP PACs. Names of RESTful endpoints are derived from a configured PAC Control program strategy file and are therefore unique to each PAC’s program and I/O configuration. Client data requests are returned in JavaScript Object Notation (JSON) format, enabling PAC controllers and I/O to be used with virtually any software development language with JSON support, including C, C++, C#, Java, JavaScript, node.js, Python, PHP, Ruby, and many more.

Database support is also available for database tools that work with JSON, like MongoDB, MySQL, and Microsoft’s SQL Server.

With the release of PAC Project 9.5, developers are no longer tied to a specific manufacturer’s software development environment. They can use the development environment and language of their choosing to write new software, create web services, and build Internet of Things applications.

RESTful data from PACs is secured using TLS encryption over HTTPS connections authenticated using basic access authentication (Basic Auth). RESTful data access can be restricted to read-only use, or allow reading and writing to I/O and strategy variables. The HTTP/S server is disabled by default and must be configured and enabled to operate, preventing unwanted or unauthorized access to the controller over HTTP.

Also included in this release are two Node-RED nodes, used for communicating with SNAP PAC controllers through the RESTful API with Node-RED, a visual tool for wiring up the Internet of Things. Node-RED is an open-source, graphical, flow-based application development tool designed by the IBM Emerging Technology organization that makes wiring up APIs, represented as “nodes,” simple and easy to do. Node-RED is particularly useful for developing IoT applications that interact with cloud-based platforms and APIs, such as IBM Bluemix, IBM Watson, Amazon’s AWS IoT, AT&T MX2, Microsoft Azure, and Google Cloud Platform.

In contrast to OT, IT enterprise networks use the same open standards and protocols found on the Internet. The Internet was founded on open communication standards like TCP/IP. Application-specific protocols are layered on top: HTTP/S, SMTP, SNMP, MQTT, and so on.

The Internet uses programming languages like JavaScript, Java, and Python and presents information using technologies like HTML5 and CSS, all of which are open.




  • MQTT—to collect device data and communicate it to servers
  • XMPP—to enable the near-real-time exchange of structured yet extensible data between two or more devices on the network
  • DDS—a fast bus for integrating intelligent machines
  • AMQP—a queuing system designed to connect servers to each other
  • API–(Application Programming Interface)—A set of protocols, routines, and tools that web-based applications can use to communicate with other web-based applications.
  • JSON–(JavaScript Object Notation)—The primary data format used for asynchronous communication between web browsers and web servers. JSON was primarily developed to replace browser plugins such as Flash and Java applets. JSON is a request/response method web browsers can use to ask for information from web servers.
  • REST–(Representational State Transfer)—A set of architectural constraints used to develop web applications. Designed as a common development standard for applications used on the Internet, REST confines developers to a specific set of rules to follow.
  • RESTful Architecture—When a web site or API is conforming to the constraints of the REST architecture, it is said to be a RESTful system.



Share This

Follow this blog

Get a weekly email of all new posts.