How .Net Promotes Modularity

May 8, 2013
The Microsoft .Net Framework and other Web-based technologies are helping automation vendors construct their IDEs from pre-engineered modules that fit together according to standard frameworks.

At Phoenix Contact (www.phoenixcontact.com), software engineers have begun combining the pre-engineered and tested modules in their company’s Automation Framework and developing tailored interfaces for the needs of the user.

“We’re trying to get away from creating different tools for every application and skill level,” explains Jeff Pinegar, controls product manager at Phoenix Contact USA.

To do this, automation vendors are borrowing programming tools and techniques pioneered by business and consumer applications of information technology. “The Web has had a lot of influence on user interfaces,” explains Jesse Bajwa, software engineering manager at Phoenix Contact’s development center in Ann Arbor, Mich. Among these influences has been the way in which Microsoft’s Windows Presentation Foundation has promoted separating the user interface from the logic providing the features.

The result has been a modular, service-oriented architecture. “If your software architecture is well thought out, you can combine the components in different ways,” says Bajwa. “Instead of building monolithic applications, we can build custom applications that are more flexible and easier to deploy.”

One manifestation of this ability is that software engineers can build two IDEs from the same modules, but tailor their interfaces differently to fit the users’ skill at programming control logic. At the high end, such an interface would permit an experienced programmer to write control logic as IEC 61131-compliant function blocks in Visual Studio with C# and store the programs in a library for use on a real-time operating system. For a novice, the programming interface might contain pictures representing electrician-friendly function blocks that the user can click on and drag onto a programming pallet.

Despite the differences, the modules underneath the interfaces would be the same in both instances—and so would the compiler that would generate the executable code. “The compiler would generate the same intermediate language, and the code would run on the same runtime engine,” Pinegar says.

>> Read Automation World's complete coverage, "How Development Environments Simplify PLC Programming".

Companies in this Article

Sponsored Recommendations

Rock Quarry Implements Ignition to Improve Visibility, Safety & Decision-Making

George Reed, with the help of Factory Technologies, was looking to further automate the processes at its quarries and make Ignition an organization-wide standard.

Water Infrastructure Company Replaces Point-To-Point VPN With MQTT

Goodnight Midstream chose Ignition because it could fulfill several requirements: data mining and business intelligence work on the system backend; powerful Linux-based edge deployments...

The Purdue Model And Ignition

In the automation world, the Purdue Model (also known as the Purdue reference model, Purdue network model, ISA 95, or the Automation Pyramid) is a well-known architectural framework...

Creating A Digital Transformation Roadmap Using A Unified Namespace

Digital Transformation has become one of the most popular buzzwords in the automation industry, often used to describe any digital improvements to industrial technology. But what...