From Process Requirements to Code

Oct. 5, 2016
Prometheus, a new software release from Schneider Electric, gathers production asset information so that users can outline process specific requirements and auto-generate code for PLCs, HMIs, RTUs and more.

Knowing the requirements of a process is one thing. Communicating those requirements in a way that a control engineer clearly understands them and can use them to program PLCs, HMIs and other automation technologies to manage that process—even as it changes over time—is quite another.

To address this long-standing industry issue and provide a tool not only for translating process requirements into automation code, but also for creating a standardized process for program re-use and adaptability to changes in the process environment, Schneider Electric is releasing Prometheus.

As Scott Clark, director of control configuration and management, Global Solutions, Schneider Electric, explains it: “Engineers need a tool that can gather the process requirements and create PLC code to help keep the engineering and operations focused on what the process needs to do. Prometheus is a requirements gathering environment where you can create detailed specifications and auto-generate PLC code and HMI configurations from it.”

And it can gather those requirements extremely fast. According to Clark, Prometheus can import data on up to 105,000 assets in eight minutes. That data includes all configurations, wiring, and relevant parameters for connection and operation in a complex automation environment.

Prometheus can “seamlessly communicate with any number of automation devices regardless of the supplier platform, whether it be Siemens, Rockwell Automation, Schneider Electric or even Linux,” Clark says. Key to Prometheus’ interoperability is its communication via XML. “All the information for what the controller, HMI or MES needs is packaged up in Prometheus and output to XML where we can apply a post process loader written in any language,” he explains. “The loader uses whatever API is available in the target platform to load the XML from Prometheus into it. For example, there’s a UnityPro Loader for Schneider Electric products, an S7 Loader for Siemens Simatic Manager, an RS Loader for Rockwell RSLogix5000, an ArchestrA Loader for the Wonderware System Platform, a ClearSCADA Loader for Schneider Electric’s ClearSCADA, and a C Loader for Raspberry Pi and Linux.”

Clark emphasizes that Prometheus “does not deploy directly to the device. Instead, Prometheus creates a configuration file that’s loaded into the vendor’s software, which then downloads it to the device. Using this process, we can put everything you want to do when deploying code to a device—from archiving to impact analysis—and test it all offline first before injecting it into the device online.”

In terms of standardizing access to a complete automation environment, Clark notes that, with Prometheus, there is no longer just a version of the environment on a disc “in someone’s desk or on a server and you don't know which is the right version for which PLC. With Prometheus it’s in a corporate repository where you can see all projects, up to date, in one environment and in one common language.”

Beyond Prometheus’ ability to communicate with multiple automation brands, another important facet is Prometheus’ ability to reuse of code when expanding operations or replacing equipment. “Engineers typically rely on function blocks for this, but the problem is when you have 100 motors and you want to change one of them,” Clark says. “You can’t just go back and change that base function block without changing all 100 of them. With Prometheus, we can break free of those constraints through the standard reuse capability available in any controller. Prometheus requires only the device code necessary based on each feature and function of that asset. That information can then be formatted in a template in Prometheus, and can then be reused as often as needed.”

Companies in this Article