Function blocks
Figure 1: The open library contains many common function blocks as the core of the library. These objects create a base architecture and best practices that are well-documented for getting people started.
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.