IF_AsyncManager - Start (Method)
Type: |
Method |
Available as of: |
V1.2.3.0 |
Versions: |
Current version |
Starting a job that is to be executed asynchronously to the program
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.
Input |
Data type |
Description |
---|---|---|
i_ifAsync |
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 |
q_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
ExecutionAborted |
290 |
Init has not been completed yet. |
|
ExecutionAborted |
297 |
A cold start of the controller is required |
|
ExecutionAborted |
289 |
No asynchronous task has been generated. |
|
InputParameterInvalid |
288 |
The value of IF_Async is invalid. |
|
LimitReached |
286 |
The maximum number of reusable objects has been exceeded. |
|
UnexpectedProgramBehavior |
284 |
It was not possible to transfer an asynchronous job to a task. |
|
UnexpectedProgramBehavior |
285 |
The prompt for the interface was unsuccessful. |
|
UnexpectedProgramBehavior |
287 |
The creating of a Semaphore failed |
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. |
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) |
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. |
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. |
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. |
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. |