Skip to content

SIMATIC TIA Portal

TIA Portal Implementation Overview

This page lists all source code files of the exemplary TIA Portal implementation of the Automation Service Choreography Framework.

Disclaimer

The source code provided here is intended solely for illustration and to improve the comprehensibility of the mechanisms, concepts, and approaches described in the dissertation. It is explicitly not designed as production-ready or usable software library and should not be used in productive environments or safety-critical applications.

For further details, please refer to the license: Link to License

Source Code Files

Filename Link Description
ASCF_ParticipantManager.scl View Base manager for choreography participants
MTPChoreographyParticipantManager.scl View MTP-based choreography participant manager

Configurable Communication (OPC UA Client/Server)

Main Function Blocks
Filename Link Description
ASCF_OpcUaClientServerManager.scl View OPC UA Client/Server communication manager
MTPOpcUaClientServerManager.scl View MTP OPC UA communication manager
Internal Implementation
Filename Link Description
_ASCF_CC_OPCUACS_EnumConnectionHandleStates.scl View Enumeration for connection handle states
_ASCF_CC_OPCUACS_ScheduleAlgorithmType1.scl View Scheduling algorithm type 1
_ASCF_CC_OPCUACS_ScheduleAlgorithmType2.scl View Scheduling algorithm type 2
ASCF_CC_OPCUACS_ConnectionConfig.scl View Connection configuration for OPC UA
ASCF_CC_OPCUACS_ConnectionHandle.scl View Connection handle for OPC UA
ASCF_CC_OPCUACS_ConnectionInterface.scl View Connection interface
ASCF_CC_OPCUACS_Connections.scl View Connection management
ASCF_CC_OPCUACS_Connections_clean.scl View Clean connection implementation
ASCF_CC_OPCUACS_ConnectionStatus.scl View Connection status
ASCF_CC_OPCUACS_Constants.scl View Constants for OPC UA communication
ASCF_CC_OPCUACS_EnumErrors.scl View Error codes for OPC UA
ASCF_CC_OPCUACS_QuerySchedule.scl View Schedule query functionality
ASCF_CC_OPCUACS_Reader.scl View OPC UA reader functionality
ASCF_CC_OPCUACS_ReaderConfig.scl View Reader configuration
ASCF_CC_OPCUACS_ReaderStatus.scl View Reader status
ASCF_CC_OPCUACS_ScheduleData.scl View Schedule data
ASCF_CC_OPCUACS_ScheduleDataType1.scl View Schedule data type 1
ASCF_CC_OPCUACS_ScheduleDataType2.scl View Schedule data type 2
ASCF_CC_OPCUACS_Scheduler.scl View Communication scheduler
ASCF_CC_OPCUACS_Writer.scl View OPC UA writer functionality
ASCF_CC_OPCUACS_WriterConfig.scl View Writer configuration
ASCF_CC_OPCUACS_WriterStatus.scl View Writer status

Configurable Logic

Main Function Blocks
Filename Link Description
ASCF_ConfigurableLogic.scl View Main function block for configurable logic functions
Internal Implementation - Arithmetic Operations
Filename Link Description
ASCF_CL_10_ADD.scl View Addition
ASCF_CL_11_SUB.scl View Subtraction
ASCF_CL_12_MUL.scl View Multiplication
ASCF_CL_13_DIV.scl View Division
ASCF_CL_14_MOD.scl View Modulo
Internal Implementation - Logical Operations
Filename Link Description
ASCF_CL_30_NOT.scl View Logical NOT
ASCF_CL_31_AND.scl View Logical AND
ASCF_CL_32_OR.scl View Logical OR
ASCF_CL_33_NAND.scl View Logical NAND
ASCF_CL_34_NOR.scl View Logical NOR
ASCF_CL_35_XOR.scl View Logical XOR
ASCF_CL_36_XNOR.scl View Logical XNOR
ASCF_CL_37_FE.scl View Falling edge
ASCF_CL_38_RE.scl View Rising edge
Internal Implementation - Comparison Operations
Filename Link Description
ASCF_CL_50_EE.scl View Equality
ASCF_CL_51_NE.scl View Not equal
ASCF_CL_52_GT.scl View Greater than
ASCF_CL_53_GTE.scl View Greater than or equal
ASCF_CL_54_LT.scl View Less than
ASCF_CL_55_LTE.scl View Less than or equal
ASCF_CL_56_EE_BIT.scl View Bit equality
Internal Implementation - Control Structures
Filename Link Description
ASCF_CL_100_IF1.scl View IF condition type 1
ASCF_CL_101_IF2.scl View IF condition type 2
ASCF_CL_102_IF3.scl View IF condition type 3
ASCF_CL_103_IF4.scl View IF condition type 4
ASCF_CL_104_IF5.scl View IF condition type 5
ASCF_CL_105_IF6.scl View IF condition type 6
ASCF_CL_106_IF7.scl View IF condition type 7
ASCF_CL_107_IF8.scl View IF condition type 8
ASCF_CL_108_IF9.scl View IF condition type 9
Internal Implementation - Data Types and Enumerations
Filename Link Description
ASCF_CL_ArgumentType.scl View Argument type definition
ASCF_CL_EnumErrors.scl View Error codes for configurable logic
ASCF_CL_EnumFunctionTypes.scl View Function type enumeration
ASCF_CL_EnumSourceTypes.scl View Source type enumeration
ASCF_CL_FunctionType.scl View Function type definition
ASCF_CL_FunctionTypeConfig.scl View Function type configuration
ASCF_CL_OutputType.scl View Output type definition

External Leader Implementation

Filename Link Description
ASCF_ExternalLeader.scl View External leadership logic for choreography participants

Base Components and Utilities

Filename Link Description
ASCF_CalcWQC.scl View Calculation of value quality codes
ASCF_EnumUnionTypes.scl View Enumeration types for union data structures
ASCF_GetValueOutputList.scl View Helper function for value output lists
ASCF_GetVBoolOutputList.scl View Extract boolean values from output lists
ASCF_GetVDIntOutputList.scl View Extract DInt values from output lists
ASCF_GetVDWordOutputList.scl View Extract DWord values from output lists
ASCF_GetVRealOutputList.scl View Extract Real values from output lists
ASCF_GetVStringOutputList.scl View Extract String values from output lists
ASCF_QualityCodes.scl View Quality code definitions
ASCF_UnionType.scl View Union data type for various value types
ASCF_WriteValue.scl View Helper function for writing values