<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ibhsoftec.com/de/index.php?action=history&amp;feed=atom&amp;title=IBH_Link_UA%3AMQTT_Konfiguration_%C3%BCber_XML</id>
	<title>IBH Link UA:MQTT Konfiguration über XML - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ibhsoftec.com/de/index.php?action=history&amp;feed=atom&amp;title=IBH_Link_UA%3AMQTT_Konfiguration_%C3%BCber_XML"/>
	<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/de/index.php?title=IBH_Link_UA:MQTT_Konfiguration_%C3%BCber_XML&amp;action=history"/>
	<updated>2026-05-13T18:57:40Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in IBHsoftec Wiki Deutsch</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki.ibhsoftec.com/de/index.php?title=IBH_Link_UA:MQTT_Konfiguration_%C3%BCber_XML&amp;diff=4314&amp;oldid=prev</id>
		<title>Andreas: Die Seite wurde neu angelegt: „=MQTT Anbindung= 400px == Konfiguration der MQTT Anbindung== Die Konfiguration erfolgt über eine XML Datei, die über die Weboberf…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/de/index.php?title=IBH_Link_UA:MQTT_Konfiguration_%C3%BCber_XML&amp;diff=4314&amp;oldid=prev"/>
		<updated>2023-02-28T13:37:31Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „=MQTT Anbindung= &lt;a href=&quot;/de/index.php?title=Datei:MQTT_Overview.PNG&quot; title=&quot;Datei:MQTT Overview.PNG&quot;&gt;400px&lt;/a&gt; == Konfiguration der MQTT Anbindung== Die Konfiguration erfolgt über eine XML Datei, die über die Weboberf…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=MQTT Anbindung=&lt;br /&gt;
[[Image:MQTT_Overview.PNG|400px]]&lt;br /&gt;
== Konfiguration der MQTT Anbindung==&lt;br /&gt;
Die Konfiguration erfolgt über eine XML Datei, die über die Weboberfäche  unter &amp;quot;Client&amp;quot; eingelesen wird. Es können mehrere Verbindungen zu verschiedenen MQTT Brokern gleichzeitig hergestellt werden.&lt;br /&gt;
=== Ungesicherte Verbindung ===&lt;br /&gt;
  &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
    &amp;lt;MQTTServer&lt;br /&gt;
      MQTTServerAddress=&amp;quot;mqtt.brokeradresse.com:1883&amp;quot; &lt;br /&gt;
      MQTTClientID=&amp;quot;beliebiger Servername&amp;quot; &lt;br /&gt;
      MQTTClientUserName=&amp;quot;Benutzername im MQTT Broker&amp;quot; &lt;br /&gt;
      MQTTClientPassword=&amp;quot;passwort&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;MQTTTopicDefinition&amp;gt;&lt;br /&gt;
        &amp;lt;publish&amp;gt;&lt;br /&gt;
        &amp;lt;/publish&amp;gt;&lt;br /&gt;
        &amp;lt;subscribe&amp;gt;&lt;br /&gt;
        &amp;lt;/subscribe&amp;gt;&lt;br /&gt;
      &amp;lt;/MQTTTopicDefinition&amp;gt;&lt;br /&gt;
    &amp;lt;/MQTTServer&amp;gt;&lt;br /&gt;
  &amp;lt;/MQTTConfiguration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Beispiel ====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
   &amp;lt;MQTTServer&lt;br /&gt;
     MQTTServerAddress=&amp;quot;mqtt.ibhsoftec.com:1883&amp;quot; &lt;br /&gt;
     MQTTClientID=&amp;quot;MQTT-Test&amp;quot; &lt;br /&gt;
     MQTTClientUserName=&amp;quot;axel&amp;quot; &lt;br /&gt;
     MQTTClientPassword=&amp;quot;password&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;MQTTTopicDefinition&amp;gt;&lt;br /&gt;
       &amp;lt;publish&amp;gt;&lt;br /&gt;
       &amp;lt;/publish&amp;gt;&lt;br /&gt;
       &amp;lt;subscribe&amp;gt;&lt;br /&gt;
       &amp;lt;/subscribe&amp;gt;&lt;br /&gt;
     &amp;lt;/MQTTTopicDefinition&amp;gt;&lt;br /&gt;
   &amp;lt;/MQTTServer&amp;gt;&lt;br /&gt;
 &amp;lt;/MQTTConfiguration&amp;gt;&lt;br /&gt;
Es wird eine MQTT Verbindung zu dem MQTT Broker ([http://www.rabbitmq.com/ RabbitMQ]) auf mqtt.ibhsoftec.com aufgebaut. Im OPC UA Server wird parallel die Struktur &amp;quot;MQTT-Test&amp;quot; mit einem eigenen Namespace unter MQTT aufgebaut.&lt;br /&gt;
&lt;br /&gt;
[[Image:MQTT_OPCUA_Struktur.PNG|200px]]Ansicht der MQTT Struktur im UA Expert&lt;br /&gt;
&lt;br /&gt;
=== Gesicherte Verbindung ===&lt;br /&gt;
Bei der gesicherten Verbindung kopiert man den Inhalt der Zertifikatsdateien in die XML Datei. Je nach Konfiguration des MQTT Brokers kann man auch Benutzername und Passwort weglassen. &lt;br /&gt;
  &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
    &amp;lt;MQTTServer&lt;br /&gt;
      MQTTServerAddress=&amp;quot;ssl://mqtt.brokeradresse.com:8883&amp;quot; &lt;br /&gt;
      MQTTClientID=&amp;quot;beliebiger Servername&amp;quot; &lt;br /&gt;
      MQTTClientUserName=&amp;quot;Benutzername im MQTT Broker&amp;quot; &lt;br /&gt;
      MQTTClientPassword=&amp;quot;passwort&amp;quot;&lt;br /&gt;
      MQTTCA_Certificate=&amp;quot;&lt;br /&gt;
 -----BEGIN CERTIFICATE-----&lt;br /&gt;
 ..&lt;br /&gt;
 -----END CERTIFICATE-----&amp;quot;&lt;br /&gt;
      MQTTCertificate=&amp;quot;&lt;br /&gt;
 -----BEGIN CERTIFICATE-----&lt;br /&gt;
 ..&lt;br /&gt;
 -----END CERTIFICATE-----&amp;quot;&lt;br /&gt;
      MQTTPrivateKey=&amp;quot;&lt;br /&gt;
 -----BEGIN RSA PRIVATE KEY-----&lt;br /&gt;
 ..&lt;br /&gt;
 -----END RSA PRIVATE KEY-----&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;MQTTTopicDefinition&amp;gt;&lt;br /&gt;
       &amp;lt;publish&amp;gt;&lt;br /&gt;
       &amp;lt;/publish&amp;gt;&lt;br /&gt;
       &amp;lt;subscribe&amp;gt;&lt;br /&gt;
       &amp;lt;/subscribe&amp;gt;&lt;br /&gt;
     &amp;lt;/MQTTTopicDefinition&amp;gt;&lt;br /&gt;
   &amp;lt;/MQTTServer&amp;gt;&lt;br /&gt;
  &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verbindung zum Microsoft Azure IoT Hub ===&lt;br /&gt;
Zur Verbindung mit dem Azure IoT Hub benötigt man nur den &amp;#039;&amp;#039;&amp;#039;AzureIoTConnectionString&amp;#039;&amp;#039;&amp;#039;. Der Rest ist in der Software verankert. Man beachte, dass pro Azure IoT Hub nur ein Topic möglich ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:AzureIoT.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
    &amp;lt;MQTTServer&lt;br /&gt;
      AzureIoTConnectionString=&amp;quot;HostName=IBHLinkUA.azure-devices.net;DeviceId=IBHLinkUA-AzureIoT;SharedAccessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;MQTTTopicDefinition&amp;gt;&lt;br /&gt;
       &amp;lt;publish&amp;gt;&lt;br /&gt;
       &amp;lt;/publish&amp;gt;&lt;br /&gt;
       &amp;lt;subscribe&amp;gt;&lt;br /&gt;
       &amp;lt;/subscribe&amp;gt;&lt;br /&gt;
     &amp;lt;/MQTTTopicDefinition&amp;gt;&lt;br /&gt;
   &amp;lt;/MQTTServer&amp;gt;&lt;br /&gt;
  &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verbindung zu Amazon AWSIoT ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Awsiot2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
MQTTCA_Certificate=[https://www.symantec.com/content/en/us/enterprise/verisign/roots/VeriSign-Class%203-Public-Primary-Certification-Authority-G5.pem]&lt;br /&gt;
&lt;br /&gt;
[[Image:Awsiot1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Bei der AWS IoT Verbindung kopiert man den Inhalt der obigen Zertifikatsdateien in die XML Datei. Benutzername und Passwort ist nicht erforderlich. &lt;br /&gt;
  &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
    &amp;lt;MQTTServer&lt;br /&gt;
      MQTTServerAddress=&amp;quot;ssl://a3tbsmqjzx0901.iot.eu-central-1.amazonaws.com:8883&amp;quot; &lt;br /&gt;
      MQTTClientID=&amp;quot;IBHLinkUA-Demo&amp;quot; &lt;br /&gt;
      MQTTCA_Certificate=&amp;quot;aus [https://www.symantec.com/content/en/us/enterprise/verisign/roots/VeriSign-Class%203-Public-Primary-Certification-Authority-G5.pem]&amp;quot;&lt;br /&gt;
      MQTTCertificate=&amp;quot;siehe oben&amp;quot;&lt;br /&gt;
      MQTTPrivateKey=&amp;quot;siehe oben&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;MQTTTopicDefinition&amp;gt;&lt;br /&gt;
       &amp;lt;publish&amp;gt;&lt;br /&gt;
       &amp;lt;/publish&amp;gt;&lt;br /&gt;
       &amp;lt;subscribe&amp;gt;&lt;br /&gt;
       &amp;lt;/subscribe&amp;gt;&lt;br /&gt;
     &amp;lt;/MQTTTopicDefinition&amp;gt;&lt;br /&gt;
   &amp;lt;/MQTTServer&amp;gt;&lt;br /&gt;
  &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weitere Parameter in der MQTTServer Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
=== Last Will Message ===&lt;br /&gt;
[https://www.hivemq.com/blog/mqtt-essentials-part-9-last-will-and-testament &amp;#039;&amp;#039;&amp;#039;Last Will Message&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
Der IBH Link UA kann dem Broker mitteilen, was passieren soll, wenn die Verbindung unerwartet abbricht.&lt;br /&gt;
  &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
    &amp;lt;MQTTServer&lt;br /&gt;
      .&lt;br /&gt;
      .&lt;br /&gt;
      MQTTWill_Message=&amp;quot;Meldung, die der MQTT Broaker an alle verbundenen Clients sendet, wenn die Verbindung unerwartet abbricht&amp;quot; &lt;br /&gt;
      MQTTWill_Topic=&amp;quot;Topicname der Verbindung&amp;quot; &lt;br /&gt;
      MQTTWill_QoS=&amp;quot;0,1, oder 3&amp;quot;&lt;br /&gt;
      MQTTWill_Retain=&amp;quot;true oder false&amp;quot;&lt;br /&gt;
      .&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zwischenspeicherung von MQTT Meldungen ===&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
    &amp;lt;MQTTServer&lt;br /&gt;
      .&lt;br /&gt;
      .&lt;br /&gt;
          MaxBufferedMessages=1000&lt;br /&gt;
          PersistDir=&amp;quot;mqttpersist&amp;quot; &lt;br /&gt;
      .&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MaxBufferedMessages====&lt;br /&gt;
Der IBH Link UA ist in der Lage, MQTT Meldungen bei Verbindungsunterbrechungen zwischenzuspeichern. Mit diesem Parameter gibt man die maximale Anzahl der Meldungen, die zwischengespeichert werden können, an.&lt;br /&gt;
&lt;br /&gt;
====PersistDir====&lt;br /&gt;
Wenn man eine SD-Karte auf der Rückseite des IBH Link UA einschiebt, werden bei Angabe dieses Parameters, Meldungen auf der Karte remanent gespeichert. In diesem Fall gehen auch bei Aussschalten der Maschine keine Daten verloren. Das Parameter gibt das Verzeichnis für die Meldungen auf der SD Karte an.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Topics==&lt;br /&gt;
&lt;br /&gt;
Es können eine oder mehrere Topics unter Publish oder Subscribe definiert werden. (Bei Microsoft Azure IoT nur 1 Topic !)&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;MQTTTopicDefinition&amp;gt;&lt;br /&gt;
      &amp;lt;publish&amp;gt;&lt;br /&gt;
        &amp;lt;Topicdefinition&lt;br /&gt;
           Topicparameter&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
        &amp;lt;Variablen&amp;gt;&lt;br /&gt;
        &amp;lt;Topicdefinition/&amp;gt;&lt;br /&gt;
      &amp;lt;/publish&amp;gt;&lt;br /&gt;
      &amp;lt;subscribe&amp;gt;&lt;br /&gt;
        &amp;lt;Topicdefinition&lt;br /&gt;
           Topicparameter&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
        &amp;lt;Variablen&amp;gt;&lt;br /&gt;
        &amp;lt;Topicdefinition/&amp;gt;&lt;br /&gt;
      &amp;lt;/subscribe&amp;gt;&lt;br /&gt;
    &amp;lt;/MQTTTopicDefinition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Topic Parameter===&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
    &amp;lt;MQTTTopicDefinition&amp;gt;&lt;br /&gt;
      &amp;lt;publish&amp;gt;&lt;br /&gt;
        &amp;lt;topicname&lt;br /&gt;
          QoS=&amp;quot;0&amp;quot;&lt;br /&gt;
          retain=&amp;quot;true&amp;quot;		  &lt;br /&gt;
          trigger_var=&amp;quot;ns=4;s=IBH_OPCUA.PLC.GlobalVars.TriggerVar&amp;quot; &lt;br /&gt;
          trigger_sampling_interval=&amp;quot;1000&amp;quot; &lt;br /&gt;
          trigger_mode=&amp;quot;rising_edge&amp;quot; &lt;br /&gt;
          status_var=&amp;quot;ns=4;s=IBH_OPCUA.PLC.GlobalVars.StatusVar&amp;quot;&lt;br /&gt;
         &amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====QoS====&lt;br /&gt;
[https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels &amp;#039;&amp;#039;&amp;#039;Quality of Service Levels&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
Dieses Parameter kann &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot; oder &amp;quot;2&amp;quot; enthalten. &amp;#039;&amp;#039;&amp;#039;Achtung!&amp;#039;&amp;#039;&amp;#039; Nicht alle MQTT Broker unterstützen alle Stufen.&lt;br /&gt;
&lt;br /&gt;
====retain====&lt;br /&gt;
[https://www.hivemq.com/blog/mqtt-essentials-part-8-retained-messages &amp;#039;&amp;#039;&amp;#039;Retained Messages&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
Kann &amp;quot;true&amp;quot; oder &amp;quot;false&amp;quot; enthalten. &amp;#039;&amp;#039;&amp;#039;Achtung!&amp;#039;&amp;#039;&amp;#039; Nicht alle MQTT Broker unterstützen retain, im Zweifelsfall Parameter weglassen.&lt;br /&gt;
&lt;br /&gt;
==== Trigger ====&lt;br /&gt;
===== kein Trigger definiert =====&lt;br /&gt;
Es werden nur Werte vom eigenen OPC Server bei Änderung übertragen.&lt;br /&gt;
&lt;br /&gt;
Konstanten, Werte von externen OPC Server oder Werte ohne Zuweisung werden &amp;#039;&amp;#039;&amp;#039;nicht&amp;#039;&amp;#039;&amp;#039; übertragen.&lt;br /&gt;
 &lt;br /&gt;
Die Übertragung erfolgt für jeden Wert separat. &lt;br /&gt;
Es kann über das Parameter deadband=&amp;quot;gleitpunktwert&amp;quot; eine Toleranzgrenze angegeben weden. (ab Firmwareversion 5.3)&lt;br /&gt;
&lt;br /&gt;
 Beispiel:&lt;br /&gt;
 deadband=&amp;quot;0.1&amp;quot; : Es wird nur bei einer Wertänderung &amp;gt; 0.1 der Wert übertragen.&lt;br /&gt;
&lt;br /&gt;
===== Trigger definiert =====&lt;br /&gt;
Es werden bei Eintreten der Triggerbedingung alle Variablen auf einmal übertragen.&lt;br /&gt;
Die Triggerdefinition besteht aus 3 Parametern:&lt;br /&gt;
# trigger_mode=&amp;quot;rising_edge&amp;quot; oder &amp;quot;falling_edge&amp;quot; oder &amp;quot;value_change&amp;quot;&lt;br /&gt;
# trigger_var=&amp;quot;Nodedefinition der Triggervariablen&amp;quot;&lt;br /&gt;
# trigger_sampling_interval=&amp;quot;ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
bei trigger_mode=&amp;quot;value_change&amp;quot; kann eine Toleranzgrenze deadband=&amp;quot;gleitpunktwert&amp;quot; angegeben werden (ab Firmwareversion 5.3)&lt;br /&gt;
&lt;br /&gt;
====status_var====&lt;br /&gt;
Dies ist eine Bytevariable für den Übertragungsstatus im OPC Server.&lt;br /&gt;
Der Wert wird bei erfolgreicher Übertragung bzw. Pufferung auf 1 gesetzt und falls ein Fehler aufgetreten oder der Puffer voll ist auf 2 gesetzt.&lt;br /&gt;
Die SPS darf einen neuen Wert erst bei 1 übergeben und dann den Wert auf 0 setzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Variablen und Strukturen===&lt;br /&gt;
Beispiel:&lt;br /&gt;
    &amp;lt;MQTTTopicDefinition&amp;gt;&lt;br /&gt;
      &amp;lt;publish&amp;gt;&lt;br /&gt;
        &amp;lt;topicname&lt;br /&gt;
          name=&amp;quot;axel/Hulsch&amp;quot;&lt;br /&gt;
          QoS=&amp;quot;0&amp;quot;&lt;br /&gt;
          retain=&amp;quot;true&amp;quot;		  &lt;br /&gt;
          trigger_var=&amp;quot;ns=4;s=IBH_OPCUA.PLC.GlobalVars.TriggerVar&amp;quot; &lt;br /&gt;
          trigger_sampling_interval=&amp;quot;1000&amp;quot; &lt;br /&gt;
          trigger_mode=&amp;quot;rising_edge&amp;quot; &lt;br /&gt;
          status_var=&amp;quot;ns=4;s=IBH_OPCUA.PLC.GlobalVars.StatusVar&amp;quot;&lt;br /&gt;
         &amp;gt;&lt;br /&gt;
          &amp;lt;diesel type=&amp;quot;UInt16&amp;quot; opcvar=&amp;quot;ns=4;s=IBH_OPCUA.PLC.Programs.Diesel.Tank&amp;quot; name=&amp;quot;Diesel/Kraftstoff&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;struct1&amp;gt;&lt;br /&gt;
            &amp;lt;struct11&amp;gt;&lt;br /&gt;
              &amp;lt;E10 type=&amp;quot;UInt32&amp;quot; opcvar=&amp;quot;ns=4;s=IBH_OPCUA.PLC.Programs.E10.Tank&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;u2 type=&amp;quot;UInt32&amp;quot; const=&amp;quot;12345678&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/struct11&amp;gt;&lt;br /&gt;
            &amp;lt;u1 type=&amp;quot;UInt32&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;u2 type=&amp;quot;UInt32&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/struct1&amp;gt;&lt;br /&gt;
        &amp;lt;topicname/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:mqttvardef.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Eine Variable wird folgendermassen definiert:&lt;br /&gt;
 &amp;lt;variablenname type=&amp;quot;Variablentype&amp;quot; opcvar=&amp;quot;OPC UA Knotendefinition&amp;quot; name=&amp;quot;Ersatzname&amp;quot;/&amp;gt;&lt;br /&gt;
Der Variablenname kann frei gewählt werden. Die Variable erscheint dann im OPC UA Server under einem eigenen Namespace.&lt;br /&gt;
Unter dem optionalen Parameter &amp;quot;name&amp;quot; kann man einen Variablenname angeben, der Sonderzeichen wie z.B. &amp;#039;/&amp;#039; enthält.&lt;br /&gt;
Ein Topic kann beliebig viele Variablen enthalten. Die Variablen werden als JSON - String über MQTT übertragen. &lt;br /&gt;
Das obige Beispiel wird folgendermassen übertragen:&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;diesel&amp;quot;: 15064,&lt;br /&gt;
   &amp;quot;struct1&amp;quot;: {&lt;br /&gt;
     &amp;quot;struct1&amp;quot;: {&lt;br /&gt;
       &amp;quot;E10&amp;quot;: 63776,&lt;br /&gt;
       &amp;quot;u2&amp;quot;: 12345678&lt;br /&gt;
     },&lt;br /&gt;
     &amp;quot;u1&amp;quot;: 0,&lt;br /&gt;
     &amp;quot;u2&amp;quot;: 0&lt;br /&gt;
   }&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
Als Variblentype sind folgende Angaben möglich:&lt;br /&gt;
# &amp;quot;Boolean&amp;quot;&lt;br /&gt;
# &amp;quot;SByte&amp;quot;&lt;br /&gt;
# &amp;quot;Byte&amp;quot;&lt;br /&gt;
# &amp;quot;Int16&amp;quot;&lt;br /&gt;
# &amp;quot;Uint16&amp;quot;&lt;br /&gt;
# &amp;quot;Int32&amp;quot;&lt;br /&gt;
# &amp;quot;UInt32&amp;quot;&lt;br /&gt;
# &amp;quot;Float&amp;quot;&lt;br /&gt;
# &amp;quot;Double&amp;quot;&lt;br /&gt;
# &amp;quot;DateTime&amp;quot; (ISO 8601 string format: &amp;quot;YYYY-MM-DDThh:mm:ss&amp;quot;)&lt;br /&gt;
# &amp;quot;String&amp;quot;&lt;br /&gt;
# &amp;quot;SByteArray&amp;quot;&lt;br /&gt;
# &amp;quot;ByteArray&amp;quot;&lt;br /&gt;
# &amp;quot;Int16Array&amp;quot;&lt;br /&gt;
# &amp;quot;Uint16Array&amp;quot;&lt;br /&gt;
# &amp;quot;Int32Array&amp;quot;&lt;br /&gt;
# &amp;quot;UInt32Array&amp;quot;&lt;br /&gt;
# &amp;quot;FloatArray&amp;quot;&lt;br /&gt;
# &amp;quot;DoubleArray&amp;quot;&lt;br /&gt;
# &amp;quot;StringArray&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Falls keine opcvar angegeben wird, wird die Variable nicht automatisch besprieben. Die Variable kann jedoch mit der Client Funktion beschrieben werden.&lt;br /&gt;
Eine Variable kann auch eine Konstante enthalten. In diesem Fall wird anstelle opcvar const angegeben. Bei Feldern ist keine Konstante möglich. Beispiel:&lt;br /&gt;
 &amp;lt;u2 type=&amp;quot;UInt32&amp;quot; const=&amp;quot;12345678&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Struktur wird mit &amp;lt;struct&amp;gt; &amp;lt;/struct&amp;gt; aufgebaut. Es sind beliebige Verschachtelungen möglich.&lt;br /&gt;
&lt;br /&gt;
=== Verbinden von Variablen mit externen OPCUA Server Variablen ===&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
  &amp;lt;MQTTConfiguration&amp;gt;&lt;br /&gt;
    &amp;lt;OPCUAServer&amp;gt;&lt;br /&gt;
       &amp;lt;BoilerExample uri=&amp;quot;urn:DELL-XPS:UnifiedAutomation:UaServerCpp&amp;quot; EndpointUrl=&amp;quot;opc.tcp://DELL-XPS:48011&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;S7-1500 uri=&amp;quot;urn:SIMATIC.S7-1500.OPC-UAServer:CPU1500-Demo&amp;quot; EndpointUrl=&amp;quot;opc.tcp://10.0.13.6:4840&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/OPCUAServer&amp;gt;&lt;br /&gt;
    &amp;lt;MQTTTopicDefinition&amp;gt;&lt;br /&gt;
      &amp;lt;publish&amp;gt;&lt;br /&gt;
        &amp;lt;topicname&lt;br /&gt;
          name=&amp;quot;axel/Hulsch&amp;quot;&lt;br /&gt;
          QoS=&amp;quot;0&amp;quot;&lt;br /&gt;
          retain=&amp;quot;true&amp;quot;		  &lt;br /&gt;
          trigger_var=&amp;quot;ns=4;s=IBH_OPCUA.PLC.GlobalVars.TriggerVar&amp;quot; &lt;br /&gt;
          trigger_sampling_interval=&amp;quot;1000&amp;quot; &lt;br /&gt;
          trigger_mode=&amp;quot;rising_edge&amp;quot; &lt;br /&gt;
          status_var=&amp;quot;ns=4;s=IBH_OPCUA.PLC.GlobalVars.StatusVar&amp;quot;&lt;br /&gt;
         &amp;gt;&lt;br /&gt;
          &amp;lt;BoilerTemperature type=&amp;quot;Double&amp;quot; OPCUAServer=&amp;quot;BoilerExample&amp;quot; opcvar=&amp;quot;ns=3;s=AirConditioner_1.Temperature&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ValueFrom_S7-1500 type=&amp;quot;UInt32&amp;quot; OPCUAServer=&amp;quot;S7-1500&amp;quot; opcvar=&amp;quot;ns=3;s=&amp;amp;amp;quot;All-Scalar&amp;amp;amp;quot;.&amp;amp;amp;quot;Var_UInt32&amp;amp;amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;diesel type=&amp;quot;UInt16&amp;quot; opcvar=&amp;quot;ns=4;s=IBH_OPCUA.PLC.Programs.Diesel.Tank&amp;quot; name=&amp;quot;Diesel/Kraftstoff&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;struct1&amp;gt;&lt;br /&gt;
            &amp;lt;struct11&amp;gt;&lt;br /&gt;
              &amp;lt;E10 type=&amp;quot;UInt32&amp;quot; opcvar=&amp;quot;ns=4;s=IBH_OPCUA.PLC.Programs.E10.Tank&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;u2 type=&amp;quot;UInt32&amp;quot; const=&amp;quot;12345678&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/struct11&amp;gt;&lt;br /&gt;
            &amp;lt;u1 type=&amp;quot;UInt32&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;u2 type=&amp;quot;UInt32&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/struct1&amp;gt;&lt;br /&gt;
        &amp;lt;topicname/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der OPCUa Server muss mit der Client Funktion eingerichtet werden siehe: [[IBH_Link_UA:Client_Funktionen#Server_hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>
	</entry>
</feed>