App container

A PLCnext 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 read-only mounted by the AppManager in the Linux file system at a defined location, 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 json-notation and the name is app_info.json

/ <- 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 App Meta Data: stored in the JSON object "plcnextapp" (Metadata)

Optional information about app parts:

 

 

 

 


 • Published/reviewed: 2020-06-11 • Revision 03 •