Glossary · Automation software engineering and architecture
Software library
Also known as: Library, Code library
German: Softwarebibliothek
In software engineering, a software library is a collection of reusable, precompiled or source-level functions, classes or function blocks that programs call to perform common tasks.
- Software engineering
In one sentence
A software library is a collection of reusable functions, classes or function blocks that programs call for common tasks.
Example
The PLC project uses the vendor's motion library for axis control and the company's own library for valve and conveyor function blocks.
Explained in context
Context cards connect this term with others to answer one question. Also in British English and German.
How it applies
- Engineering: Libraries are versioned and referenced by version in projects. In PLC environments, library versions are often bound to the engineering tool and firmware version, which restricts updates.
- Functional safety: Certified safety libraries supply function blocks with evidence for use in safety programs, under conditions stated in their manuals. Using them does not by itself make an application safe.
- Documentation: Every public function or block needs reference documentation: purpose, inputs, outputs, behavior, errors, timing and examples. Generating the reference from source comments keeps it in sync; conceptual topics explain how blocks work together.
Static vs. dynamic library
A static library is linked into the program at build time. A dynamic library is loaded at run time and can be updated separately, which is convenient but creates version dependencies on the target.