Outside of industrial automation, open-source libraries have been booming for many years. Open-source code has been a fundamental pillar of computing since the start of computer software and has continued to remain relevant. You can look back at operating systems in the 1950s and 1960s when code was almost always delivered, to the success of Linux, and the more recent news in the $7.5 billion acquisition of GitHub by Microsoft.
However, in an industry where everyone has competed to have the best secret sauce, the open-source movement has largely steered clear of industrial controls. Each individual end user, OEM and system integrator has created its own code base and worked hard to ensure internal secrecy to provide a competitive edge in the marketplace. The result is that many companies end up making the same wheel that everyone else has already made, resulting in redundant effort and wasted time.
As a younger engineer, having less than 10 years of controls development, I have still personally seen at least 100 different blocks to control a two-position solenoid, and that is a small sampling of the immense number of blocks in the world that are controlling two-position solenoids.
In line with industry standards, DMC has developed and kept a library internal that we’ve shared exclusively with customers to ensure our competitive edge in the marketplace. Founded in 1996, DMC is a system integrator headquartered in Chicago with offices in Boston, Denver, Houston, New York, Reno, Seattle and St Louis, serving customers across the globe.
Outside of industrial automation, DMC has done a large amount of development in text-based languages where we have both utilized and contributed to open-source libraries. It was easy to see how open-source libraries have made DMC more effective at what we do and allowed us to bring additional value to our customers, as well as the market overall.
Siemens approached DMC about working to create and document a library of common industrial objects—motors, valves, interlocks, for example. DMC had assisted many customers with creating libraries and discussed how the library would be deployed. The intent was to ensure the library was open-source so customers could make changes to fit their specific situations and to encourage customers to participate in improving the library.
We debated on how to implement the library and move forward Should DMC open-source our library and release our intellectual property (IP), or do we create a library specifically for Siemens that is separate from DMC’s internal library?
We decided the best option was to not only release and document a library of common industrial objects, but to move all of DMC’s code to an open-source Siemens library. It may have been difficult to make a decision that strays from this industry standard; however, our experiences in other areas have proven that open-source code is the right answer. Bringing open-source code to industrial automation was the right decision.
DMC worked with Siemens to create detailed documentation for core objects in the library and then included every reusable block that DMC had created in the past 20 years, giving birth to the Siemens Open Library.
The open library contains many common function blocks such as G Series VFD, Analog VFD, Digital Single Speed Motor, Soft Starter, Two State Solenoid Valve, Analog Valve, Analog Input, Analog Output, Interlock, PID Interface and System Mode as the core of the library (Figure 1).
These objects create a base architecture and best practices that are well-documented for getting people started. All of these objects have matching HMI faceplates in WinCC Comfort/Advanced, WinCC Pro and WinCC OA.
The library contains information on how to customize those blocks and an example project to jumpstart development (Figure 2). Additionally, the library contains user-submitted content, which includes the rest of DMC’s library.
When the library was first released, it was still largely utilized and improved exclusively by DMC. However, as time has passed and more people became aware of the existence of the library, the number of people using it and the number of contributions has steadily increased.
The library has already totaled almost 10,000 downloads, averaging about 600 per month. Additionally, contributors, have supplied new code such as improved Interlock faceplates to a fully tested Modbus RTU/TCP library.
With the release of Simatic Visualization Architect (SiVArc), Siemens created the ability to set up rules in TIA Portal to automatically generate HMI objects based on user-defined types or function blocks on the PLC. The architecture of the Siemens Open Library was very conducive to utilizing SiVArc to generate base HMI code, which would help to reduce human error in HMI tag mapping for both WinCC Comfort and WinCC Pro (Figure 3).
AchieveDE, an integrator and software distributor in Houston, created all of the SiVArc rules, tested them and then added them to the library for others to utilize this powerful feature. Now an engineer can start with the Siemens Open Library, utilize tested function blocks for control of many standard objects in industry, as well as automatically generate HMI icons and faceplates that have been properly mapped to the PLC code.
The mantra behind open-source code is that a rising tide will raise all ships, and the open-source community has continued to prove that it provides value across the board—from the ability to customize items to meet your specific application to the ability to contribute to the success of others. DMC has seen the Siemens Open Library become strong in an industry otherwise devoid of open-source code and has already felt the benefit of contributions, such as those from AchieveDE, that have strengthened the library and improved the capabilities. We look forward to seeing the library continue to expand and continue to add value to as many people as possible.