DDAS Library Manuals

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                              

 

LicenseManager  Library__

 

 

Software Manual

EN

 

 

 

 

 


 

1       About this documentation   3

1.1   Document history. 4

2       General 5

2.1   Library. 5

2.2   Licensing Concept 6

3       FB Get_Lib_License  7

3.1   General Information.. 7

3.2   Purpose & Scope. 7

Typical Use Cases. 7

3.3   Functional Overview.. 8

3.4   Interface Description.. 9

3.4.0   Function block Inputs and Outputs. 9

3.4.1   Enumerations. 9

eError 9

3.5   Execution & Timing Behaviour 10

3.6   Error Handling & Diagnostics. 10

3.7   Assumptions & Limitations. 10

3.8   Example Implementation.. 11

Your Feedback Matters  12

 

 


 

1                  About this documentation

Here you will find information about this documentation.

 

 

Read the operating instructions of the hardware devices before starting the software's installation!

 

 

 

Note!

 

This the software manuals describe the DDAS » LicenseManager« Library.

It is intended for software developers of machine manufacturers who integrate, validate, and operate the library function blocks within CODESYS-based applications.

 

 

 

Tip!

 

Further information can be found under: https://www.ddas.digital

 

 


 

1.1       Document history

Version

Description

1.0

14.04.2026

DDAS

Initial version

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

2                  General

 

2.1       Library

 

This library manages the library licensing mechanism.

 

The library includes the following user function block:

 

Detailed descriptions of the function blocks and their relevant dependencies are provided in the following chapters.

 


 

2.2       Licensing Concept

 

All libraries require a valid license. Each license is based on three mandatory keys:

 

License Activation Mechanism

To activate a library license, one instance of the function block Get_Lib_License must be called for each licensed library.
This function block is part of the DDAS_LicenseManager_Lib library.

 

Licensing Process

 

The following steps are required to license and use a library:

  1. The user selects the required libraries.
  2. The user integrates the selected libraries into a test project or uses the provided demo program and evaluates them using the time‑limited demo license.
  3. If the user intends to use the library function blocks in a machine application, the library is ordered and the selected SiteCode is sent to DDAS.
  4. DDAS provides the corresponding LibraryActivationKey.
  5. In the machine application, the user instantiates the function block Get_Lib_License once for each library and assigns all required license keys to activate the library license.
  6. After successful activation, all function blocks of the licensed library can be implemented and executed.

 

Note: Detailed information on how to use the function block Get_Lib_License is provided in this software manual.

 

Note: The function Get_eError is available in every library and provides access to the error enumeration corresponding to a function block’s error code, when required.

 

Demo Visualisation

 


3                  FB Get_Lib_License

 

3.1       General Information

 

This chapter describes the function block Get_Lib_License.

 

Function Block Name: Get_Lib_License

Library: DDAS_LicenseManager_Lib

Dependent Codesys libraries: none

CODESYS Version Compatibility: CODESYS V3.5 and higher

License / Usage Restrictions: Requires valid full or demo library license

 

3.2       Purpose & Scope

 

The Get_Lib_License function block manages the library licensing mechanism. A separate instance of this function block is required for each DDAS library used within an application.

 

The function block is designed to activate the library license for all function blocks contained in a specific DDAS library. Each DDAS library inherits the DDAS_LicenseManager_Lib; however, this library must be explicitly added to the user’s machine application in order to enable license activation.

 

 

Typical Use Cases

 

·         Activate licenses for all function blocks within a DDAS library

 

 

 


 

3.3       Functional Overview

 

When enabled, the Get_Lib_License function block activates the full library license or manages the operation of a time‑based demo license.


It outputs:
- Full license active
- Demo license active
- Time left of demo license

 


A demo license is valid for a duration of 2 hours. After this time has elapsed, no active license is available, and all function blocks of the library enter an idle state.

To reactivate the demo license, the controller must be restarted. Each controller restart reactivates the demo license and starts a new demo period.


Error states are monitored continuously and reported via diagnostic outputs.


 

3.4       Interface Description

 

3.4.0    Function block Inputs and Outputs

 

Scope

Name

Type

Comment

Input

xEnabled

BOOL

When TRUE, license management is executed cyclically.

sSiteCode

STRING

Please assign the Company Site Code.

sLibraryGuid

STRING

Please assign the Library Guid Code.

sLibraryActivationKey

STRING

Please assign the Library Activation Code .

Output

xFullLicensed

BOOL

TRUE valid full License

xDemoActive

BOOL

TRUE when demo License

tTimeLeft

TIME

Display left time in demo mode

xLicensed

BOOL

TRUE when a valid full or demo library license is active.

xError

BOOL

TRUE if an error or warning is detected. Detailed error information is provided in iErrorID.

iErrorID

INT

Error and status identifier for diagnostics.

 

 

3.4.1    Enumerations

 

eError

 

Library Possible Error Codes and Descriptions.

 

Name

Initial

Comment

no_error

0

No Error detetced

empty_Key

10

Activation Key string is empty

empty_SiteCode

11

Site code string is empty

empty_cLibraryGuid

12

Library guide code string is empty, no demo license available

invalid_Key_size

20

Invalid Activation Key string size, 8 char required

invalid_Key

21

Invalid Activation Key string

demo_License_expired

30

Demo license has been expired, system restart required

 

 


 

3.5       Execution & Timing Behaviour

 

The function block is intended to be executed cyclically in a task context.

Timing precision depends on the configured task cycle time and target platform

 

 

3.6       Error Handling & Diagnostics

 

If an internal error, a library issue, or a licensing problem occurs, xError is set to TRUE and iErrorID provides the corresponding error code. Detailed descriptions of the error codes are defined in the enumeration eError.

 

 

3.7       Assumptions & Limitations

 

This library serves as an extension to all DDAS libraries and is applicable only within the DDAS library ecosystem.

 


 

3.8       Example Implementation

 

Declaration and Call of the Function Block Get_Lib_License:

 

VAR

    fb_GetLibLicense: DDAS_LM.Get_Lib_License;

END_VAR

 

FB call in structure text:

 

    fb_GetLibLicense(

    xEnabled := TRUE,

    sSiteCode:= 'DDAS-Site-License',

   sLibrayGuid := '{LIB-DDAS-D5BA612E}'

   sLibraryActivationKey := EDB86DA0

);

 

 

FB call in continuous function chart diagram:

 

Demo Visualisation

 


*  FEEDBACK

 

 

 

 

 

Your Feedback Matters

 

These instructions have been prepared to the best of our knowledge and belief to provide you with the highest possible level of support when working with our product.

 

Despite our best efforts, we may not always fully achieve this objective. If you identify any issues or have suggestions for improvement, we would greatly appreciate your feedback.

 

Please send your comments or criticism in a short email to:

 

support@ddas.digital

 

 

Thank you for your support.

 

Your DDAS Application Software Team