PlcAppSystemInfo
Each PLC contains an instance of type 'PlcAppSystemInfo' with the name '_AppInfo'.
The corresponding namespace is 'TwinCAT_SystemInfoVarList'. This must be specified for use in a library, for example.
TYPE PlcAppSystemInfo
STRUCT
ObjId : OTCID;
TaskCnt : UDINT;
OnlineChangeCnt : UDINT;
Flags : DWORD;
AdsPort : UINT;
BootDataLoaded : BOOL;
OldBootData : BOOL;
AppTimestamp : DT;
KeepOutputsOnBP : BOOL;
ShutdownInProgress : BOOL;
LicensesPending : BOOL;
BSODOccured : BOOL;
LoggedIn : BOOL;
PersistentStatus : EPlcPersistentStatus;
TComSrvPtr : ITComObjectServer;
AppName : STRING(63);
ProjectName : STRING(63);
END_STRUCT
END_TYPE
ObjId | Object ID of the PLC project instance |
TaskCnt | Number of tasks in the runtime system |
OnlineChangeCnt | Number of online changes since the last complete download |
Flags | Reserved |
AdsPort | ADS port of the PLC application |
BootDataLoaded | PERSISTENT variables: LOADED (without error) |
OldBootData | PERSISTENT variables: INVALID (the back-up copy was loaded, since no valid file was present) |
AppTimestamp | Time at which the PLC application was compiled |
KeepOutputsOnBP | The flag can be set and prevents that the outputs are zeroed when a breakpoint is reached. In this case the task continues to run. Only the execution of the PLC code is interrupted. |
ShutdownInProgress | This variable has the value TRUE if a shutdown of the TwinCAT system is in progress. Some parts of the TwinCAT system may already have been shut down. |
LicensesPending | This variable has the value TRUE if not all licenses that are provided by license dongles have been validated yet. |
BSODOccured | This variable has the value TRUE, if Windows is in a BSOD. |
LoggedIn | This variable has the value TRUE if at least one XAE instance is logged into the project. |
PersistentStatus | PERSISTENT variables: Restoration status: PS_None: No persistent variables were restored. PS_All: All variables that are persistent in the current project state were restored. PS_Partial: Fewer variables were restored than are persistent in the current project state. |
TComSrvPtr | Pointer to the TcCOM object server |
AppName | Name generated by TwinCAT, which contains the port. |
ProjectName | Name of the project |
Differences compared with TwinCAT 2
If the variable runTimeNo was used under TwinCAT 2, the corresponding program code must be converted for application under TwinCAT 3.
Example:
- Application under TwinCAT 2: nPlcAdsPort := 801 + (SystemInfo.runTimeNo - 1) * 10;
- Application under TwinCAT 3: nPlcAdsPort := _AppInfo.AdsPort;