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

Put the Plant Floor in Your Pocket with Ignition Perspective

Build mobile-responsive HTML applications that run natively on any screen.

Ignition: Industrial-Strength System Security and Stability

Ignition is built on a solid, unified architecture and proven, industrial-grade security technology, which is why industrial organizations all over the world have been trusting...

Iron Foundry Gains Competitive Edge & Increases Efficiency with Innovative Technology

With help from Artek, Ferroloy implemented Ignition to digitally transform their disconnected foundry through efficient data collection and analysis while integrating the new ...

Empowering Data Center Growth: Leveraging Ignition for Scalability and Efficiency

Data center growth has exploded over the past decade. Initially driven by organizations moving their computer assets to the cloud, this trend has only accelerated. With the rise...