IOT (Eingangsagent)
Einführung: Eine Beschreibung dieser Phase finden Sie im Abschnitt Phase 1 (Einführung).
Dieser Eingangsagent erlaubt Kommunikation via OPC/UA.
Services aktivieren
Als erstes müssen folgende Abschnitte in der Konfigurationsdatei ./etc/factory.xml eingetragen werden. Es ist eine zusätzliche Lizenz notwendig.
<
Call
name
=
"addService"
>
<
Arg
>com.ebd.hub.services.iot.IoTServerService</
Arg
>
<
Arg
>etc/iotserver.xml</
Arg
>
</
Call
>
<
Call
name
=
"addService"
>
<
Arg
>com.ebd.hub.services.iot.IoTClientService</
Arg
>
<
Arg
>etc/iotclient.xml</
Arg
>
</
Call
>
Server-Modell
(1) Ist die Checkbox gesetzt, wird nach Durchlauf des Profils an den Client eine einfache Antwort (für ein Ok oder einen Fehlschlag) zurückgesendet. Ist sie nicht gesetzt, kann über die Zielstruktur eine Antwort mit dynamischen Rückgabewerten erstellt werden. Hierzu werden alle Felder unter dem auf Root-Ebene befindlichen Knoten IOT_Result Teil der Antwort.
(2) Auswahl des Partners.
(3) Es muss mindestens ein Kanal ausgewählt werden.
Subscription-Modell
(1) Der Verbindungs-Alias (wird angelegt in der Konfigurationsdatei ./etc/iotclient.xml). Hinweis: Es muss mindestens ein Alias angelegt sein, damit das Subcription-Modell auswählbar ist.
<
Configure
class
=
"com.ebd.hub.services.iot.IoTClientService"
>
<
Set
name
=
"verbose"
>false</
Set
>
<
Call
name
=
"addAlias"
>
<
Arg
>
<
New
class
=
"com.ebd.hub.services.iot.opcua.OpcUaClientSettings"
>
<
Set
name
=
"alias"
>boiler</
Set
>
<
Set
name
=
"endpointURL"
>opc.
tcp://opcua.demo-this.com:51210/UA/SampleServer
</
Set
>
<
Set
name
=
"minSize"
>4</
Set
>
<
Set
name
=
"maxSize"
>4</
Set
>
<
Set
name
=
"allowGrowing"
>true</
Set
>
</
New
>
</
Arg
>
</
Call
>
</
Configure
>
(2) Über das Kontextmenü können in einem OpcUa-Browser Subcription Values ausgewählt werden. Ändert sich einer dieser Werte, wird das Profil getriggert, siehe auch (4). Die Read Values (3) werden dann mit abgefragt.
(3) Über das Kontextmenü können in einem OpcUa-Browser Read Values ausgewählt werden. Hinweis: Sie können hier über das Kontextmenü auch manuell Einträge einfügen und diese hierarchisch strukturieren. Die Read Values können dann per Drag and Drop dorthin verschoben werden. Siehe auch (7).
(4) Bei DataChange triggert ein Ändern der Werte das Profil. Bei Direct werden die Werte in regelmäßigen Abständen aktiv abgefragt.
(5) Jeder empfangene Datensatz hat einen Status. Wenn diese Checkbox gesetzt ist, wird der Status bad ignoriert. Ist die Checkbox nicht gesetzt, bricht das Profil in diesem Fall mit einem Fehler ab.
(6) Ist die Checkbox gesetzt, werden beim Aktivieren des Profils einmal alle Werte abgefragt.
(7) Erzeugt eine passende Quell-Struktur für Phase 3.
Antwortweg
Hier gibt es keinen entsprechenden Antwortweg.