« Zurück zu Produkt

Dokumentation

ForceParent

Benötigt: IP-Symcon >= 4.0

 boolean ForceParent (string $ModulID) 

Parameterliste

ModulID

GUID

Rückgabewert

Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis TRUE, andernfalls FALSE.

Beschreibung

Warning

Diese Funktion ist nur für IPSModule verfügbar. Die Alternative für IPSModuleStrict ist GetCompatibleParents.

Es wird eine Verbindung mit einer kompatiblen übergeordneten Instanz mit der GUID ModulID forciert. Falls die bisherige Verbindung nicht mit der gewünschten ModulID übereinstimmt, wird diese getrennt. Anschließend wird eine neue Instanz mit der übergordneten ModuleID erstellt und verbunden.
Eine Liste der verfügbaren ModulIDs kann hier entnommen werden.

Warning

Der Normalfall für die Funktion ist ein Splitter-Modul, welches je nach Konfiguration in der Oberfläche ein anderes I/O Modul benötigt.

Warning

Diese Funktion wird normalerweise nur in der Create() oder ApplyChanges() Methode aufgerufen.

Beispiel

// IPSModuleStrict
ConnectParent/RequireParent/ForceParent ist nicht verfügbar, 
kann aber durch die neue Funktion "GetCompatibleParents()" ersetzt werden.

// IPSModule
public function ApplyChanges() {

    // Die Zeile niemals entfernen!
    parent::ApplyChanges();

    // Je nach Konfiguration unterschiedliche I/O Instanzen erstellen
    switch($this->ReadPropertyInteger("GatewayMode")) {
        case 0: //ClientSocket bei Modus 0 erstellen
            $this->ForceParent("{3CFF0FD9-E306-41DB-9B5A-9D06D38576C3}");
            break;
        case 1: //SerialPort bei Modus 1 erstellen
            $this->ForceParent("{6DC3D946-0D31-450F-A8C6-C42DB8D7D4F1}");
            break;
    }
                
}
Haben Sie noch Fragen?