IF_AsyncManager - Start (Methode)

Übersicht

Typ

Methode

Verfügbar ab

V1.2.3.0

Versionen:

Aktuelle Version

Aufgabe

Starten eines Jobs, der asynchron zum Programm ausgeführt werden soll.

Beschreibung

Die Methode Job() des an i_ifAsync übergebenen Funktionsbausteins wird einer Task übergeben, die asynchron zur aufrufenden Task läuft.

Die asynchron laufende Task ruft die Methode Job() auf und signalisiert über die Eigenschaft xDone des Funktionsbausteins die erfolgreiche Abarbeitung von Job().

Schnittstelle

Eingang

Datentyp

Beschreibung

i_ifAsync

IF_Async

Eingang für die Übergabe der POU, die IF_Async implementiert und deren Methode Job() asynchron ausgeführt werden soll.

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Alle Werte außer ET_Diag.Ok entsprechen einer Diagnosemeldung.

q_etDiagExt

ET_DIagExt

POU-spezifischer, diagnosebezogener Ausgang.

q_etDiag<> ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

ExecutionAborted

AsyncInitNotFinished

290

Init wurde noch nicht beendet.

ExecutionAborted

ColdResetOfControllerNecessary

297

Ein Kaltstart der Steuerung ist notwendig.

ExecutionAborted

NoAsyncTasksCreated

289

Es wurden keine asynchronen Tasks erzeugt.

InputParameterInvalid

AsyncInvalid

288

Der Wert von IF_Async ist ungültig.

LimitReached

MaxNumOfReusableObjectsExceeded

286

Die maximale Anzahl an wiederverwendbaren Objekten wurde überschritten.

UnexpectedProgramBehavior

AsyncAddWasNotSuccessful

284

Es war nicht möglich, einen asynchronen Job an eine Task zu übergeben.

UnexpectedProgramBehavior

InterfaceCastFailed

285

Die Aufforderung für die Schnittstelle ist fehlgeschlagen.

UnexpectedProgramBehavior

SemaphoreMeCreateFailed

287

Das Erzeugen einer Semaphore ist fehlgeschlagen.

AsyncAddWasNotSuccessful

Enumerationsname:

AsyncAddWasNotSuccessful

Enumerationswert:

284

Beschreibung:

Es war nicht möglich, einen asynchronen Job an eine Task zu übergeben.

Problem

Ursache

Lösung

-

Es ist ein Fehler in der internen Verarbeitung aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.

AsyncInitNotFinished

Enumerationsname:

AsyncInitNotFinished

Enumerationswert:

290

Beschreibung:

Init wurde noch nicht beendet.

Problem

Ursache

Lösung

-

Die Methode Init() wurde noch nicht abgeschlossen.

Rufen Sie Init() auf, bevor Sie zum ersten Mal Start() aufrufen.

Wenn Sie Init aufgerufen haben, warten Sie, bis Init erfolgreich ausgeführt wurde. (Init.q_xDone = TRUE)

AsyncInvalid

Enumerationsname:

AsyncInvalid

Enumerationswert:

288

Beschreibung:

Der Wert von IF_Async ist ungültig.

Problem

Ursache

Lösung

-

Am Eingang i_ifAsync wurde kein gültiger Wert übergeben.

Stellen Sie sicher, dass der Wert am Eingang i_ifAsync <> 0.

ColdResetOfControllerNecessary

Enumerationsname:

ColdResetOfControllerNecessary

Enumerationswert:

297

Beschreibung:

Ein Kaltstart der Steuerung ist notwendig.

Problem

Ursache

Lösung

-

Gc_udiNumOfAsyncTasks wurde geändert.

Ein Kaltstart der Steuerung und Aufruf von Init() ist notwendig.

InterfaceCastFailed

Enumerationsname:

InterfaceCastFailed

Enumerationswert:

285

Beschreibung:

Die Aufforderung für die Schnittstelle ist fehlgeschlagen.

Problem

Ursache

Lösung

-

Es ist ein Fehler in der internen Verarbeitung aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.

MaxNumOfReusableObjectsExceeded

Enumerationsname:

MaxNumOfReusableObjectsExceeded

Enumerationswert:

286

Beschreibung:

Die maximale Anzahl an wiederverwendbaren Objekten wurde überschritten.

Problem

Ursache

Lösung

-

Der Pool von wiederverwendbaren Objekten ist leer.

Warten Sie, bis asynchrone Jobs abgearbeitet wurden und wieder Objekte im Pool vorhanden sind.

Gegebenenfalls kann die Größe des Pools angepasst werden.

NoAsyncTasksCreated

Enumerationsname:

NoAsyncTasksCreated

Enumerationswert:

289

Beschreibung:

Es wurden keine asynchronen Tasks erzeugt.

Problem

Ursache

Lösung

-

Gc_udiNumOfAsyncTasks = 0

Weisen Sie Gc_udiNumOfAsyncTasks einen Wert > 0 und <= 10 zu.

SemaphoreMeCreateFailed

Enumerationsname:

SemaphoreMeCreateFailed

Enumerationswert:

287

Beschreibung:

Das Erzeugen einer Semaphore ist fehlgeschlagen.

Problem

Ursache

Lösung

-

Es ist ein Fehler in der internen Verarbeitung aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.