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

Why Go Beyond Traditional HMI/SCADA

Traditional HMI/SCADAs are being reinvented with today's growing dependence on mobile technology. Discover how AVEVA is implementing this software into your everyday devices to...

4 Reasons to move to a subscription model for your HMI/SCADA

Software-as-a-service (SaaS) gives you the technical and financial ability to respond to the changing market and provides efficient control across your entire enterprise—not just...

Is your HMI stuck in the stone age?

What happens when you adopt modern HMI solutions? Learn more about the future of operations control with these six modern HMI must-haves to help you turbocharge operator efficiency...