IF_AsyncManager - Start (Method)

Overview

Type:

Method

Available as of:

V1.2.3.0

Versions:

Current version

Task

Starting a job that is to be executed asynchronously to the program

Description

The Job() method of the function block transferred to i_ifAsync is transferred to a task that runs asynchronously to the task making the call-up.

The asynchronously running task calls up the Job() method and signalizes via the xDone property of the function block that the processing of Job() was successful.

Interface

Input

Data type

Description

i_ifAsync

IF_Async

Input for the transfer of the POU that implements IF_Async and the Job() method of which is to be executed asynchronously.

Output

Data type

Description

q_etDiag

GD.ET_Diag

General library-independent statement on the diagnostic.

A value unequal to ET_Diag.Ok corresponds to a diagnostic message.

q_etDiagExt

ET_DIagExt

POU-specific output on the diagnostic.

q_etDiag<> ET_Diag.Ok -> status message.

q_etDiag <> ET_Diag.Ok -> Diagnostic message

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

ExecutionAborted

AsyncInitNotFinished

290

Init has not been completed yet.

ExecutionAborted

ColdResetOfControllerNecessary

297

A cold start of the controller is required

ExecutionAborted

NoAsyncTasksCreated

289

No asynchronous task has been generated.

InputParameterInvalid

AsyncInvalid

288

The value of IF_Async is invalid.

LimitReached

MaxNumOfReusableObjectsExceeded

286

The maximum number of reusable objects has been exceeded.

UnexpectedProgramBehavior

AsyncAddWasNotSuccessful

284

It was not possible to transfer an asynchronous job to a task.

UnexpectedProgramBehavior

InterfaceCastFailed

285

The prompt for the interface was unsuccessful.

UnexpectedProgramBehavior

SemaphoreMeCreateFailed

287

The creating of a Semaphore failed

AsyncAddWasNotSuccessful

Enumeration name:

AsyncAddWasNotSuccessful

Enumeration value:

284

Description:

It was not possible to transfer an asynchronous job to a task.

Issue

Cause

Solution

-

An error has been detected and occurred in the internal execution.

Please inform the support team about this detected error.

AsyncInitNotFinished

Enumeration name:

AsyncInitNotFinished

Enumeration value:

290

Description:

Init has not been completed yet.

Issue

Cause

Solution

-

Init() method has not yet been completed.

Call up the Init() before you call up Start() for the first time.

After you have called up the Init, wait until Init has been executed successfully. (Init.q_xDone = TRUE)

AsyncInvalid

Enumeration name:

AsyncInvalid

Enumeration value:

288

Description:

The value of IF_Async is invalid.

Issue

Cause

Solution

-

No valid value has been transferred at the i_ifAsync input.

Verify the value at the i_ifAsync input for <> 0.

ColdResetOfControllerNecessary

Enumeration name:

ColdResetOfControllerNecessary

Enumeration value:

297

Description:

A cold start of the controller is required

Issue

Cause

Solution

-

Gc_udiNumOfAsyncTasks has been changed.

A cold start of the controller and a call up of Init() is required.

InterfaceCastFailed

Enumeration name:

InterfaceCastFailed

Enumeration value:

285

Description:

The prompt for the interface was unsuccessful.

Issue

Cause

Solution

-

An error has been detected and occurred in the internal execution.

Please inform the support team about this detected error.

MaxNumOfReusableObjectsExceeded

Enumeration name:

MaxNumOfReusableObjectsExceeded

Enumeration value:

286

Description:

The maximum number of reusable objects has been exceeded.

Issue

Cause

Solution

-

The pool of reusable objects if empty.

Wait until asynchronous jobs have been processed and objects are available again in the pool.

The size of the pool can be adapted, if possible.

NoAsyncTasksCreated

Enumeration name:

NoAsyncTasksCreated

Enumeration value:

289

Description:

No asynchronous task has been generated.

Issue

Cause

Solution

-

Gc_udiNumOfAsyncTasks = 0

Allocate Gc_udiNumOfAsyncTasks with a value > 0 and <= 10.

SemaphoreMeCreateFailed

Enumeration name:

SemaphoreMeCreateFailed

Enumeration value:

287

Description:

The creating of a Semaphore failed

Issue

Cause

Solution

-

An error has been detected and occurred in the internal execution.

Please inform the support team about this detected error.