Example of a complete app_info.json
The following shows the contents of an app description file in which all types of app parts are configured by way of example:
{
"plcnextapp": {
"name": "Full Multipart App",
"identifier": "00000000000000",
"version": "Full20.0 (112.12 DemoVersion)",
"target": "AXC F 2152",
"minfirmware_version": "20.0.0",
"manufacturer": "Phoenix Contact",
"licensetype": "Free"
},
"engineerapp": {
"folder": "/arp/PCWE"
},
"cmdtools":
[
{
"path" : "/bin/DemoCmdTool"
},
{
"path" : "<Path to cmd tool executable binary>"
}
],
"plcnextextensions" :
[
{
"acfconfigpath" : "/PLCnextRuntimeDaemon.acf.config"
},
{
"acfconfigpath" : "<path to PLCnext extension .acf.config file>"
}
],
"linuxdaemons" :
[
{
"path" : "/bin/daemon1exe",
"cmdargs" : "arg1 arg2 … argN",
"starttime": "40"
},
{
"path" : "<Path to daemon executable binary>",
"cmdargs" : "<arg1 arg2 … argN>",
"starttime": "99",
"initScriptTemplate":"<Path to own template file>"
}
],
"sharedlibs":
[
{
"libpath" : "/lib/sharedlib1.so"
},
{
"libpath" : "<Path to shared library binary>"
}
],
"datastorage": {
"persistentdata": true,
"temporarydata" : true
},
"plcnextservices":
[
{
"service": "<Service ID>",
"action" : "EXCLUSIVE_ACCESS"
},
{
"service": "WBM",
"action" : "MUST_HAVE"
},
{
"service" : "OPCUA",
"action" : "MUST_NOT_HAVE"
}
],
"updateconfigs": {
"autoupdate_enabled": <true/false>,
"keep_persistentdata": <true/false>,
"keep_temporarydata": <true/false>,
"post_updatescript": "<Path to app update script>"
}
}
Note: As mentioned earlier, these are optional app parts entries, don't use them if they are not needed or if their configured files do not exist in the app-container, otherwise the app installation on the target may be refused because of detected configuration errors.
• Web browser recommendation: Chrome/Edge 88 or newer, Firefox ESR 90 or newer, or Safari •
• Published/reviewed: 2024-11-21 • Revision 17 •
• Published/reviewed: 2024-11-21 • Revision 17 •