App container
A PLCnext Technology App is stored in a SquashFS container (see Squash FS on Wikipedia). A SquashFS container stores a folder and file structure in a single compressed file. The SquashFS containers of all installed and started apps are mounted by the AppManager in the Linux file system at a defined location. App containers are mounted as "read-only", i.e. the contents of the container cannot be changed.
The file system within an app container must contain at least the app description file, in which all the necessary information about the app are conveyed to the runtime system. The app description file is a text file in JSONJSON format and the file name must be app_info.json
Location of the app description file in the container file system:
/ <- Root node
/app_info.json
Structure of the app_info.json file:
{
"plcnextapp": {
"name": "<app name>",
"identifier": "<App Identifier>",
"version": "<version>",
"target": "<target>",
"minfirmware_version": "<min_firmware>",
<optional plcnextapp meta data>
},
<optional app parts: app dependent data>
}
In generally, there are two classes of app information:
- PLCnext Technology App Meta Data: stored in the JSON object "plcnextapp" (Metadata)
Optional information about app parts:
- PLCnext Engineer Solution
- Command Line Tools
- Shared Libraries
- Linux Daemons
- PLCnext Extensions
- Configuration of the PLCnext Runtime Services
- File/data storage
- Update Configurations
• Published/reviewed: 2024-11-21 • Revision 17 •