Glossary · Automation software engineering and architecture
Configuration file
Also known as: Config file
German: Konfigurationsdatei
In software engineering, a configuration file is a file that stores settings read by a program at startup or runtime, such as addresses, parameters, feature switches and paths, so that behavior can be adapted without changing or recompiling the program. Common formats include INI, XML, JSON and YAML.
- Software engineering
In one sentence
A configuration file stores settings a program reads at startup or runtime, so behavior can change without recompiling.
Example
The edge gateway reads a JSON configuration file that lists the PLC addresses to poll, the poll interval and the MQTT broker it publishes to.
How it applies
- Engineering: Configuration files separate site-specific settings from code. Define a Schema (data) for them and validate files at startup, so a typo leads to a clear error instead of unexpected behavior.
- Operation and maintenance: Service staff often edit configuration files in the field. Unrestricted edits can bypass safety-relevant limits, so sensitive values need access control, plausibility checks and a record of changes.
- Documentation: Document every setting with meaning, type, unit, allowed range, default and whether a restart is needed. Provide an annotated example file. When the schema changes between versions, release notes must explain how existing files are migrated.
Configuration file vs. configuration parameter
A configuration file is a container; a Configuration parameter is one setting within it or elsewhere, for example in a PLC data block or a device's parameter memory. Keeping configuration files under Configuration as code makes their history traceable.
Never store passwords or keys in plain-text configuration files that are shared or versioned.