Server aus SPS-Client heraus konfigurieren

Der Aufruf der Methode configure instanziiert eine Session für die jeweilige Instanz des Funktionsblocks FB_MlSvrPrediction im TcMlServer. Bei der Instanziierung wird auf die Konfiguration, die in dem FB-Member stPredictionParameter definiert ist, zurückgegriffen. In der Regel wird jeder Instanz des FB_MlSvrPrediction eine eigene Session im Server zugeordnet. Über den Parameter bExclusiveSession können aber auch Sessions gemeinsamen genutzt werden.

Beim Konfigurations-Aufruf wird insbesondere definiert:

Jede eröffnete Session allokiert Ressourcen auf dem Server-Gerät. Die Anzahl von parallelen Sessions ist softwareseitig nicht limitiert, sondern wird ausschließlich über die verfügbaren Hardwareressourcen beschränkt. Ist nicht genügend Speicher (RAM oder vRAM) verfügbar, um eine weitere Session zu eröffnen, schlägt der Configure-Befehl fehl.

Mit der Methode deconfigure kann eine Session geschlossen und damit die Ressourcen freigegeben werden.

Sendet ein Client über eine definierte Zeit keine Anfrage an den Server, die sogenannte Session-Timeout-Zeit, geht der Server davon aus, dass der Client nicht mehr aktiv ist. Die Session wird automatisch geschlossen, wenn der konfigurierte Session-Timeout erreicht ist.

Beispiel

Deklaration

fbMlSvr : FB_MlSvrPrediction();

Code

// configure session paramaters
fbMlSvr.stPredictionParameter.sMlModelFilePath := 'C:\mdl\lemon_model.json';
fbMlSvr.stPredictionParameter.sMlSvrNetId := '127.0.0.1.1.1';
fbMlSVr.stPredictionParameter.eExecutionProvider := E_ExecutionProvider.CPU;

// Submit configuration request to the TcMlServer
// Provide a generous nTimeout, as the configuration can take a substantial amount of time
IF fbMlSvr.Configure(nTimeout := 1000, nPriority:=0) THEN
// check for error 
// change state
END_IF;