Anwenderschnittstellen (API)
7.7 API IRemoteRuntimeManager
RegisterInstance()
Registriert im Runtime Manager eine neue Instanz eines virtuellen Controllers. Erzeugt und
liefert eine Schnittstelle von dieser Instanz zurück.
Tabelle 7- 374 RegisterInstance() - Native C++
Syntax
Parameter
Rückgabewerte
Beispiel C++
322
ERuntimeErrorCode RegisterInstance(
IInstance** out_InstanceInterface
);
ERuntimeErrorCode RegisterInstance(
WCHAR* in_InstanceName,
IInstance** out_InstanceInterface
);
ERuntimeErrorCode RegisterInstance(
ECPUType in_CPUType,
IInstance** out_InstanceInterface
);
ERuntimeErrorCode RegisterInstance(
ECPUType in_CPUType,
WCHAR* in_InstanceName,
IInstance** out_InstanceInterface
);
•
ECPUType in_CPUType:
Definiert, welcher CPU-Typ beim Start der Instanz simuliert wird. Die Voreinstel-
lung ist "SRCT_1500_Unspecified".
Wenn über STEP 7 oder von der Virtual SIMATIC Memory Card ein anderer CPU-
Typ geladen wird, dann gilt dieser CPU-Typ.
•
WCHAR* in_InstanceName:
Name, den die Instanz erhalten soll. Jede Instanz muss einen eindeutigen Na-
men erhalten. Wenn kein Name vergeben wird beim Registrieren einer neuen
Instanz, dann erhält die Instanz den Namen "Instance_#" (# ist die ID der In-
stanz). Wenn dieser Name bereits existiert, wird der Name "Instance_#.#"
verwendet, wobei das zweite # ein Zähler ist, der solange erhöht wird, bis der
Name eindeutig ist. Die Länge des Namens muss kürzer sein als
DINSTANCE_NAME_LENGTH. Siehe Datentypen (Seite 361).
•
IInstance** out_InstanceInterface:
Zeiger auf einen Simulation Runtime Schnittstellenzeiger. Der Zeiger muss mit
NULL initialisiert werden. Die Schnittstelle wird innerhalb der Funktion erzeugt.
Runtime Fehlercode
SREC_OK
SREC_INTERFACE_REMOVED
SREC_TIMEOUT
SREC_WRONG_ARGUMENT
SREC_LIMIT_REACHED
SREC_ALREADY_EXISTS
ISimulationRuntimeManager * api = NULL;
ERuntimeErrorCode result = Initialize(&api);
// Example: How To Create And Register An Instance
// And To Get An Interface Of The Instance The Same Time
IInstance* psa = NULL;
if (result == SREC_OK)
{
result = api->RegisterInstance(&psa);
}
Bedingung
Die Funktion ist erfolgreich.
Die Schnittstelle ist vom Remote Runtime Mana-
ger getrennt.
Die Funktion kehrt nicht rechtzeitig wieder.
Der Name oder der IInstance-Zeiger ist ungültig.
Es sind bereits 16 Instanzen im Runtime Manager
registriert.
Eine Instanz mit diesem Namen existiert bereits.
Funktionshandbuch, 05/2021, A5E37039506-AD
S7-PLCSIM Advanced