

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Modbus-RTU-Protokolladapter
Modbus-RTU-Protokolladapter v2.1.10 veröffentlicht[https://docs.aws.amazon.com/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html](https://docs.aws.amazon.com/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html)

Die Modbus-RTU-Protokolladapter-Komponente v2.1.10 ist verfügbar.Modbus-RTU-Protokolladapter v2.1.9 veröffentlicht[https://docs.aws.amazon.com/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html](https://docs.aws.amazon.com/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html)

Die Modbus-RTU-Protokolladapter-Komponente v2.1.9 ist verfügbar.Modbus-RTU-Protokolladapter v2.1.5 veröffentlicht[https://docs.aws.amazon.com/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html](https://docs.aws.amazon.com/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html)

Die Modbus-RTU-Protokolladapter-Komponente v2.1.5 ist verfügbar. Diese Version behebt ein Problem mit dem Vorgang. `ReadDiscreteInput`Modbus-RTU-Protokolladapter v2.1.0 veröffentlicht[https://docs.aws.amazon.com/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html](https://docs.aws.amazon.com/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html)

Die Modbus-RTU-Protokolladapter-Komponente v2.1.0 ist verfügbar. Diese Version fügt neue Parameter hinzu, die Sie angeben können, um die serielle Kommunikation mit Modbus RTU-Geräten zu konfigurieren.

Die Modbus-RTU-Protokolladapter-Komponente (`aws.greengrass.Modbus`) fragt Informationen von lokalen Modbus RTU-Geräten ab.

Um mit dieser Komponente Informationen von einem lokalen Modbus RTU-Gerät anzufordern, veröffentlichen Sie eine Nachricht zu dem Thema, das diese Komponente abonniert. Geben Sie in der Nachricht die Modbus RTU-Anforderung an, die an ein Gerät gesendet werden soll. Anschließend veröffentlicht diese Komponente eine Antwort, die das Ergebnis der Modbus-RTU-Anfrage enthält.

**Anmerkung**  
Diese Komponente bietet ähnliche Funktionen wie der Modbus RTU-Protokolladapter-Anschluss in V1. AWS IoT Greengrass *Weitere Informationen finden Sie unter [Modbus RTU-Protokolladapter-Anschluss](https://docs.aws.amazon.com/greengrass/latest/developerguide/modbus-protocol-adapter-connector.html) im V1-Entwicklerhandbuch.AWS IoT Greengrass *

**Topics**
+ [

## Versionen
](#modbus-rtu-protocol-adapter-component-versions)
+ [

## Typ
](#modbus-rtu-protocol-adapter-component-type)
+ [

## Betriebssystem
](#modbus-rtu-protocol-adapter-component-os-support)
+ [

## Voraussetzungen
](#modbus-rtu-protocol-adapter-component-requirements)
+ [

## Abhängigkeiten
](#modbus-rtu-protocol-adapter-component-dependencies)
+ [

## Konfiguration
](#modbus-rtu-protocol-adapter-component-configuration)
+ [

## Eingabedaten
](#modbus-rtu-protocol-adapter-component-input-data)
+ [

## Ausgabedaten
](#modbus-rtu-protocol-adapter-component-output-data)
+ [

## Modbus RTU-Anforderungen und -Antworten
](#modbus-rtu-protocol-adapter-component-requests-responses)
+ [

## Lokale Protokolldatei
](#modbus-rtu-protocol-adapter-component-log-file)
+ [

## Lizenzen
](#modbus-rtu-protocol-adapter-component-licenses)
+ [

## Änderungsprotokoll
](#modbus-rtu-protocol-adapter-component-changelog)

## Versionen


Diese Komponente hat die folgenden Versionen:
+ 2.1.x
+ 2.0.x

## Typ


<a name="public-component-type-lambda"></a>Diese <a name="public-component-type-lambda-phrase"></a>Komponente ist eine Lambda-Komponente (`aws.greengrass.lambda`). [Der [Greengrass-Kern führt die](greengrass-nucleus-component.md) Lambda-Funktion dieser Komponente mithilfe der Lambda-Launcher-Komponente aus.](lambda-launcher-component.md)

<a name="public-component-type-more-information"></a>Weitere Informationen finden Sie unter [Komponententypen](develop-greengrass-components.md#component-types).

## Betriebssystem


Diese Komponente kann nur auf Linux-Kerngeräten installiert werden.

## Voraussetzungen


Für diese Komponente gelten die folgenden Anforderungen:
+ <a name="core-device-lambda-function-requirements"></a>Ihr Kerngerät muss die Anforderungen für die Ausführung von Lambda-Funktionen erfüllen. Wenn Sie möchten, dass das Kerngerät containerisierte Lambda-Funktionen ausführt, muss das Gerät die entsprechenden Anforderungen erfüllen. Weitere Informationen finden Sie unter [Anforderungen an die Lambda-Funktion](setting-up.md#greengrass-v2-lambda-requirements).
+ <a name="public-component-python3-requirement"></a>[Python-Version](https://www.python.org/) 3.7 wurde auf dem Core-Gerät installiert und zur Umgebungsvariablen PATH hinzugefügt.
+ Eine physische Verbindung zwischen dem AWS IoT Greengrass Kerngerät und den Modbus-Geräten. Das Kerngerät muss über eine serielle Schnittstelle, z. B. einen USB-Anschluss, physisch mit dem Modbus RTU-Netzwerk verbunden sein.
+ <a name="connector-component-legacy-subscription-router-dependency"></a>Um Ausgabedaten von dieser Komponente zu empfangen, müssen Sie bei der Bereitstellung dieser Komponente das folgende Konfigurationsupdate für die [ältere Abonnement-Router-Komponente](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) zusammenführen. Diese Konfiguration gibt das Thema an, zu dem diese Komponente Antworten veröffentlicht.

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-modbus": {
        "id": "aws-greengrass-modbus",
        "source": "component:aws.greengrass.Modbus",
        "subject": "modbus/adapter/response",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-modbus": {
        "id": "aws-greengrass-modbus",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-modbus:version",
        "subject": "modbus/adapter/response",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region*Ersetzen Sie es durch AWS-Region das, was Sie verwenden.
  + *version*Ersetzen Sie durch die Version der Lambda-Funktion, die diese Komponente ausführt. Um die Version der Lambda-Funktion zu finden, müssen Sie sich das Rezept für die Version dieser Komponente ansehen, die Sie bereitstellen möchten. Öffnen Sie die Detailseite dieser Komponente in der [AWS IoT Greengrass Konsole](https://console.aws.amazon.com//greengrass) und suchen Sie nach dem **Schlüssel-Wert-Paar der Lambda-Funktion**. Dieses Schlüssel-Wert-Paar enthält den Namen und die Version der Lambda-Funktion.

**Wichtig**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
Sie müssen die Lambda-Funktionsversion auf dem Legacy-Abonnement-Router jedes Mal aktualisieren, wenn Sie diese Komponente bereitstellen. Dadurch wird sichergestellt, dass Sie die richtige Lambda-Funktionsversion für die Komponentenversion verwenden, die Sie bereitstellen.

------

  <a name="connector-component-create-deployments"></a>Weitere Informationen finden Sie unter [Erstellen von Bereitstellungen](create-deployments.md).
+ Der Modbus-RTU-Protokolladapter wird für die Ausführung in einer VPC unterstützt.

## Abhängigkeiten


Wenn Sie eine Komponente bereitstellen, stellt er AWS IoT Greengrass auch kompatible Versionen ihrer Abhängigkeiten bereit. Das bedeutet, dass Sie die Anforderungen für die Komponente und all ihre Abhängigkeiten erfüllen müssen, um die Komponente erfolgreich bereitstellen zu können. In diesem Abschnitt werden die Abhängigkeiten für die [veröffentlichten Versionen](#modbus-rtu-protocol-adapter-component-changelog) dieser Komponente sowie die semantischen Versionseinschränkungen aufgeführt, die die Komponentenversionen für jede Abhängigkeit definieren. Sie können auch die Abhängigkeiten für jede Version der Komponente in der [AWS IoT Greengrass Konsole](https://console.aws.amazon.com//greengrass) anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste der **Abhängigkeiten**.

------
#### [ 2.1.11 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.11 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.16.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.1.10 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.10 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.15.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.1.9 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.9 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.14.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.1.8 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.8 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.1.7 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.7 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.1.6 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.6 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.1.4 and 2.1.5 ]

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.1.4 und 2.1.5 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.1.3 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.3 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.1.2 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.2 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.1.1 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.1 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.0.8 and 2.1.0 ]

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.0.8 und 2.1.0 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.0.7 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.7 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.0.6 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.6 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.0.5 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.5 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.0.4 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.4 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | ^2.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | ^2,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | ^2.0.0  | Hart | 

------
#### [ 2.0.3 ]

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.3 dieser Komponente aufgeführt.


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | Hart | 
| [Lambda-Launcher](lambda-launcher-component.md) | >=1.0.0  | Hart | 
| [Lambda-Laufzeiten](lambda-runtimes-component.md) | >=1,0.0  | Weich | 
| [Token-Austauschdienst](token-exchange-service-component.md) | >=1.0.0  | Hart | 

------

Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Referenz zu den [Komponentenrezepten](component-recipe-reference.md#recipe-reference-component-dependencies).

## Konfiguration


Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.

**Anmerkung**  <a name="connector-component-lambda-parameters"></a>
Die Standardkonfiguration dieser Komponente umfasst Lambda-Funktionsparameter. Wir empfehlen, dass Sie nur die folgenden Parameter bearbeiten, um diese Komponente auf Ihren Geräten zu konfigurieren.

------
#### [ v2.1.x ]

`lambdaParams`  
Ein Objekt, das die Parameter für die Lambda-Funktion dieser Komponente enthält. Dieses Objekt enthält die folgenden Informationen:    
`EnvironmentVariables`  
Ein Objekt, das die Parameter der Lambda-Funktion enthält. Dieses Objekt enthält die folgenden Informationen:    
`ModbusLocalPort`  <a name="modbus-rtu-protocol-adapter-configuration-modbuslocalport"></a>
Der absolute Pfad zur physischen seriellen Modbus-Schnittstelle auf dem Kerngerät, z. B. `/dev/ttyS2`  
Um diese Komponente in einem Container auszuführen, müssen Sie diesen Pfad als Systemgerät (in`containerParams.devices`) definieren, auf das die Komponente zugreifen kann. Diese Komponente wird standardmäßig in einem Container ausgeführt.  
Diese Komponente muss read/write Zugriff auf das Gerät haben.  
`ModbusBaudRate`  
(Optional) Ein Zeichenkettenwert, der die Baudrate für die serielle Kommunikation mit lokalen Modbus-TCP-Geräten angibt.  
Standard: `9600`  
`ModbusByteSize`  
(Optional) Ein Zeichenkettenwert, der die Größe eines Bytes bei der seriellen Kommunikation mit lokalen Modbus-TCP-Geräten angibt. Wählen Sie`5`, `6``7`, oder `8` Bits.  
Standard: `8`  
`ModbusParity`  
(Optional) Der Paritätsmodus, der zur Überprüfung der Datenintegrität bei der seriellen Kommunikation mit lokalen Modbus-TCP-Geräten verwendet werden soll.  
+ `E`— Überprüfen Sie die Datenintegrität mit gleichmäßiger Parität.
+ `O`— Überprüfen Sie die Datenintegrität mit ungerader Parität.
+ `N`— Überprüfen Sie nicht die Datenintegrität.
Standard: `N`  
`ModbusStopBits`  
(Optional) Ein Zeichenkettenwert, der die Anzahl der Bits angibt, die das Ende eines Bytes bei der seriellen Kommunikation mit lokalen Modbus-TCP-Geräten angeben.  
Standard: `1`

`containerMode`  <a name="modbus-rtu-protocol-adapter-configuration-containermode"></a>
(Optional) Der Containerisierungsmodus für diese Komponente. Wählen Sie aus den folgenden Optionen aus:  
+ `GreengrassContainer`— Die Komponente wird in einer isolierten Laufzeitumgebung innerhalb des AWS IoT Greengrass Containers ausgeführt.

  Wenn Sie diese Option angeben, müssen Sie ein Systemgerät (in`containerParams.devices`) angeben, um dem Container Zugriff auf das Modbus-Gerät zu gewähren.
+ `NoContainer`— Die Komponente läuft nicht in einer isolierten Laufzeitumgebung.
Standard: `GreengrassContainer`

`containerParams`  <a name="modbus-rtu-protocol-adapter-configuration-containerparams"></a>
<a name="connector-component-container-params-description"></a>(Optional) Ein Objekt, das die Container-Parameter für diese Komponente enthält. Die Komponente verwendet diese Parameter, wenn Sie `GreengrassContainer` für angeben`containerMode`.  
Dieses Objekt enthält die folgenden Informationen:    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(Optional) Die Speichermenge (in Kilobyte), die der Komponente zugewiesen werden soll.  
Der Standardwert ist 512 MB (525.312 KB).  
`devices`  
(Optional) Ein Objekt, das die Systemgeräte angibt, auf die die Komponente in einem Container zugreifen kann.  
Um diese Komponente in einem Container auszuführen, müssen Sie das Systemgerät, das Sie konfigurieren, in der `ModbusLocalPort` Umgebungsvariablen angeben.
Dieses Objekt enthält die folgenden Informationen:    
`0`— Dies ist ein Array-Index als Zeichenfolge.  
Ein Objekt, das die folgenden Informationen enthält:    
`path`  
Der Pfad zum Systemgerät auf dem Kerngerät. Dieser Wert muss denselben Wert haben wie der Wert, für den Sie die Konfiguration konfigurieren`ModbusLocalPort`.  
`permission`  
(Optional) Die Berechtigung, vom Container aus auf das Systemgerät zuzugreifen. Dieser Wert muss sein`rw`, was angibt, dass die Komponente read/write Zugriff auf das Systemgerät hat.  
Standard: `rw`  
`addGroupOwner`  
(Optional) Ob die Systemgruppe, die die Komponente ausführt, als Besitzer des Systemgeräts hinzugefügt werden soll oder nicht.  
Standard: `true`

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(Optional) Ein Objekt, das die Themen enthält, für die die Komponente den Empfang von Nachrichten abonniert. Sie können jedes Thema angeben und angeben, ob die Komponente MQTT-Themen von AWS IoT Core oder lokale Themen abonniert. publish/subscribe   
Dieses Objekt enthält die folgenden Informationen:    
`0`— Dies ist ein Array-Index als Zeichenfolge.  
Ein Objekt, das die folgenden Informationen enthält:    
`type`  
(Optional) Der publish/subscribe Messaging-Typ, den diese Komponente verwendet, um Nachrichten zu abonnieren. Wählen Sie aus den folgenden Optionen aus:  
+ `PUB_SUB` — Abonnieren Sie lokale Veröffentlichen/Abonnement-Nachrichten. Wenn Sie diese Option wählen, darf das Thema keine MQTT-Platzhalter enthalten. Weitere Informationen zum Senden von Nachrichten von einer benutzerdefinierten Komponente aus, wenn Sie diese Option angeben, finden Sie unter. [Lokale Nachrichten veröffentlichen/abonnieren](ipc-publish-subscribe.md)
+ `IOT_CORE`— Abonnieren Sie AWS IoT Core MQTT-Nachrichten. Wenn Sie diese Option wählen, kann das Thema MQTT-Platzhalter enthalten. Weitere Informationen zum Senden von Nachrichten aus benutzerdefinierten Komponenten, wenn Sie diese Option angeben, finden Sie unter. [MQTT-Nachrichten veröffentlichen/abonnieren AWS IoT Core](ipc-iot-core-mqtt.md)
Standard: `PUB_SUB`  
`topic`  
(Optional) Das Thema, das die Komponente abonniert, um Nachrichten zu empfangen. Wenn Sie `IotCore` für angeben`type`, können Sie in diesem Thema MQTT-Platzhalter (`+`und`#`) verwenden.

**Example Beispiel: Aktualisierung der Konfigurationszusammenführung (Container-Modus)**  <a name="modbus-rtu-protocol-adapter-configuration-example-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "GreengrassContainer",
  "containerParams": {
    "devices": {
      "0": {
        "path": "/dev/ttyS2",
        "permission": "rw",
        "addGroupOwner": true
      }
    }
  }
}
```

**Example Beispiel: Aktualisierung der Konfigurationszusammenführung (kein Container-Modus)**  <a name="modbus-rtu-protocol-adapter-configuration-example-no-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "NoContainer"
}
```

------
#### [ v2.0.x ]

`lambdaParams`  
Ein Objekt, das die Parameter für die Lambda-Funktion dieser Komponente enthält. Dieses Objekt enthält die folgenden Informationen:    
`EnvironmentVariables`  
Ein Objekt, das die Parameter der Lambda-Funktion enthält. Dieses Objekt enthält die folgenden Informationen:    
`ModbusLocalPort`  <a name="modbus-rtu-protocol-adapter-configuration-modbuslocalport"></a>
Der absolute Pfad zur physischen seriellen Modbus-Schnittstelle auf dem Kerngerät, z. B. `/dev/ttyS2`  
Um diese Komponente in einem Container auszuführen, müssen Sie diesen Pfad als Systemgerät (in`containerParams.devices`) definieren, auf das die Komponente zugreifen kann. Diese Komponente wird standardmäßig in einem Container ausgeführt.  
Diese Komponente muss read/write Zugriff auf das Gerät haben.

`containerMode`  <a name="modbus-rtu-protocol-adapter-configuration-containermode"></a>
(Optional) Der Containerisierungsmodus für diese Komponente. Wählen Sie aus den folgenden Optionen aus:  
+ `GreengrassContainer`— Die Komponente wird in einer isolierten Laufzeitumgebung innerhalb des AWS IoT Greengrass Containers ausgeführt.

  Wenn Sie diese Option angeben, müssen Sie ein Systemgerät (in`containerParams.devices`) angeben, um dem Container Zugriff auf das Modbus-Gerät zu gewähren.
+ `NoContainer`— Die Komponente läuft nicht in einer isolierten Laufzeitumgebung.
Standard: `GreengrassContainer`

`containerParams`  <a name="modbus-rtu-protocol-adapter-configuration-containerparams"></a>
<a name="connector-component-container-params-description"></a>(Optional) Ein Objekt, das die Container-Parameter für diese Komponente enthält. Die Komponente verwendet diese Parameter, wenn Sie `GreengrassContainer` für angeben`containerMode`.  
Dieses Objekt enthält die folgenden Informationen:    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(Optional) Die Speichermenge (in Kilobyte), die der Komponente zugewiesen werden soll.  
Der Standardwert ist 512 MB (525.312 KB).  
`devices`  
(Optional) Ein Objekt, das die Systemgeräte angibt, auf die die Komponente in einem Container zugreifen kann.  
Um diese Komponente in einem Container auszuführen, müssen Sie das Systemgerät, das Sie konfigurieren, in der `ModbusLocalPort` Umgebungsvariablen angeben.
Dieses Objekt enthält die folgenden Informationen:    
`0`— Dies ist ein Array-Index als Zeichenfolge.  
Ein Objekt, das die folgenden Informationen enthält:    
`path`  
Der Pfad zum Systemgerät auf dem Kerngerät. Dieser Wert muss denselben Wert haben wie der Wert, für den Sie die Konfiguration konfigurieren`ModbusLocalPort`.  
`permission`  
(Optional) Die Berechtigung, vom Container aus auf das Systemgerät zuzugreifen. Dieser Wert muss sein`rw`, was angibt, dass die Komponente read/write Zugriff auf das Systemgerät hat.  
Standard: `rw`  
`addGroupOwner`  
(Optional) Ob die Systemgruppe, die die Komponente ausführt, als Besitzer des Systemgeräts hinzugefügt werden soll oder nicht.  
Standard: `true`

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(Optional) Ein Objekt, das die Themen enthält, für die die Komponente den Empfang von Nachrichten abonniert. Sie können jedes Thema angeben und angeben, ob die Komponente MQTT-Themen von AWS IoT Core oder lokale Themen abonniert. publish/subscribe   
Dieses Objekt enthält die folgenden Informationen:    
`0`— Dies ist ein Array-Index als Zeichenfolge.  
Ein Objekt, das die folgenden Informationen enthält:    
`type`  
(Optional) Der publish/subscribe Messaging-Typ, den diese Komponente verwendet, um Nachrichten zu abonnieren. Wählen Sie aus den folgenden Optionen aus:  
+ `PUB_SUB` — Abonnieren Sie lokale Veröffentlichen/Abonnement-Nachrichten. Wenn Sie diese Option wählen, darf das Thema keine MQTT-Platzhalter enthalten. Weitere Informationen zum Senden von Nachrichten von einer benutzerdefinierten Komponente aus, wenn Sie diese Option angeben, finden Sie unter. [Lokale Nachrichten veröffentlichen/abonnieren](ipc-publish-subscribe.md)
+ `IOT_CORE`— Abonnieren Sie AWS IoT Core MQTT-Nachrichten. Wenn Sie diese Option wählen, kann das Thema MQTT-Platzhalter enthalten. Weitere Informationen zum Senden von Nachrichten aus benutzerdefinierten Komponenten, wenn Sie diese Option angeben, finden Sie unter. [MQTT-Nachrichten veröffentlichen/abonnieren AWS IoT Core](ipc-iot-core-mqtt.md)
Standard: `PUB_SUB`  
`topic`  
(Optional) Das Thema, das die Komponente abonniert, um Nachrichten zu empfangen. Wenn Sie `IotCore` für angeben`type`, können Sie in diesem Thema MQTT-Platzhalter (`+`und`#`) verwenden.

**Example Beispiel: Aktualisierung der Konfigurationszusammenführung (Container-Modus)**  <a name="modbus-rtu-protocol-adapter-configuration-example-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "GreengrassContainer",
  "containerParams": {
    "devices": {
      "0": {
        "path": "/dev/ttyS2",
        "permission": "rw",
        "addGroupOwner": true
      }
    }
  }
}
```

**Example Beispiel: Aktualisierung der Konfigurationszusammenführung (kein Container-Modus)**  <a name="modbus-rtu-protocol-adapter-configuration-example-no-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "NoContainer"
}
```

------

## Eingabedaten


Diese Komponente akzeptiert Modbus-RTU-Anforderungsparameter zum folgenden Thema und sendet die Modbus-RTU-Anforderung an das Gerät. <a name="connector-component-local-publish"></a>Standardmäßig abonniert diese Komponente lokale Nachrichten. publish/subscribe Weitere Informationen zum Veröffentlichen von Nachrichten aus Ihren benutzerdefinierten Komponenten in dieser Komponente finden Sie unter[Lokale Nachrichten veröffentlichen/abonnieren](ipc-publish-subscribe.md). 

**Standardthema (lokales Veröffentlichen/Abonnieren):** `modbus/adapter/request`

<a name="connector-component-input-properties"></a>Die Nachricht akzeptiert die folgenden Eigenschaften. Eingabenachrichten müssen im JSON-Format vorliegen.

`request`  
Die Parameter für die zu sendende Modbus-RTU-Anforderung.  
Die Form der Anforderungsnachricht hängt vom Typ der Modbus-RTU-Anforderung ab, die sie darstellt. Die folgenden Eigenschaften sind für alle Anfragen erforderlich.  
Typ: `object` der die folgenden Informationen enthält:    
`operation`  
Der Name des auszuführenden Vorgangs. Geben Sie beispielsweise an, `ReadCoilsRequest` dass Spulen auf einem Modbus-RTU-Gerät gelesen werden sollen. Weitere Informationen zu unterstützten Vorgängen finden Sie unter. [Modbus RTU-Anforderungen und -Antworten](#modbus-rtu-protocol-adapter-component-requests-responses)  
Typ: `string`  
`device`  
Das Zielgerät der Anfrage.  
Dieser Wert muss eine Ganzzahl zwischen `0` und sein`247`.  
Typ: `integer`
Die weiteren Parameter, die in die Anforderung aufgenommen werden sollen, hängen von der Operation ab. Diese Komponente führt die [zyklische Redundanzprüfung (CRC)](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) durch, um Datenanfragen für Sie zu verifizieren.  
Wenn Ihre Anfrage eine `address` Eigenschaft enthält, müssen Sie ihren Wert als Ganzzahl angeben. Beispiel, `"address": 1`.

`id`  <a name="connector-component-input-property-id"></a>
Eine willkürliche ID für die Anforderung. Verwenden Sie diese Eigenschaft, um eine Eingabeanforderung einer Ausgabeantwort zuzuordnen. Wenn Sie diese Eigenschaft angeben, setzt die Komponente die `id` Eigenschaft im Antwortobjekt auf diesen Wert.  
Typ: `string`

**Example Beispieleingabe: Lesen Spulenanforderungen**  

```
{
  "request": {
    "operation": "ReadCoilsRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "MyRequest"
}
```

## Ausgabedaten


 <a name="connector-component-output-data"></a>Diese Komponente veröffentlicht standardmäßig Antworten als Ausgabedaten zum folgenden MQTT-Thema. Sie müssen dieses Thema `subject` in der Konfiguration für die [ältere Abonnement-Router-Komponente](legacy-subscription-router-component.md) angeben. Weitere Informationen zum Abonnieren von Nachrichten zu diesem Thema in Ihren benutzerdefinierten Komponenten finden Sie unter[MQTT-Nachrichten veröffentlichen/abonnieren AWS IoT Core](ipc-iot-core-mqtt.md). 

**Standardthema (AWS IoT Core MQTT):** `modbus/adapter/response`

Die Form der Antwortnachricht hängt von der Anforderungsoperation und dem Antwortstatus ab. Beispiele finden Sie unter [Beispiel: Anforderungen und Antworten](#modbus-rtu-protocol-adapter-component-examples).

Jede Antwort beinhaltet die folgenden Eigenschaften:

`response`  
Die Antwort des Modbus RTU-Geräts.  
Typ: der `object` die folgenden Informationen enthält:    
`status`  
Der Status der Anforderung. Der Status kann einer der folgenden Werte sein:  
+ `Success`— Die Anfrage war gültig, die Komponente hat die Anfrage an das Modbus RTU-Netzwerk gesendet und das Modbus RTU-Netzwerk hat eine Antwort zurückgegeben.
+ `Exception`— Die Anfrage war gültig, die Komponente hat die Anfrage an das Modbus RTU-Netzwerk gesendet und das Modbus RTU-Netzwerk hat eine Ausnahme zurückgegeben. Weitere Informationen finden Sie unter [Antwortstatus: Ausnahme](#modbus-rtu-protocol-adapter-component-response-exception).
+ `No Response`— Die Anfrage war ungültig und die Komponente hat den Fehler erkannt, bevor sie die Anfrage an das Modbus RTU-Netzwerk gesendet hat. Weitere Informationen finden Sie unter [Antwortstatus: Keine Antwort](#modbus-rtu-protocol-adapter-component-response-noresponse).  
`operation`  
Der Vorgang, den die Komponente angefordert hat.  
`device`  
Das Gerät, an das die Komponente die Anfrage gesendet hat.  
`payload`  
Die Antwort des Modbus RTU-Geräts. Wenn ja `status``No Response`, enthält dieses Objekt nur eine `error` Eigenschaft mit der Beschreibung des Fehlers (z. B.`[Input/Output] No Response received from the remote unit`).

`id`  
Die ID der Anfrage, anhand derer Sie ermitteln können, welche Antwort welcher Anfrage entspricht.

**Anmerkung**  
Eine Antwort für einen Schreibvorgang ist lediglich ein Echo der Anforderung. Schreibantworten enthalten zwar keine aussagekräftigen Informationen, es empfiehlt sich jedoch, den Status der Antwort zu überprüfen, um festzustellen, ob die Anfrage erfolgreich ist oder nicht.

**Example Beispielausgabe: Erfolg**  

```
{
  "response" : {
    "status" : "success",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 1,
      "bits": [1]
    }
  },
  "id" : "MyRequest"
}
```

**Example Beispielausgabe: Fehler**  

```
{
  "response" : {
    "status" : "fail",
    "error_message": "Internal Error",
    "error": "Exception",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 129,
      "exception_code": 2
    }
  },
  "id" : "MyRequest"
}
```

Weitere Beispiele finden Sie unter [Beispiel: Anforderungen und Antworten](#modbus-rtu-protocol-adapter-component-examples).

## Modbus RTU-Anforderungen und -Antworten


Dieser Konnektor akzeptiert Modbus RTU-Anfrageparameter als [Eingabedaten](#modbus-rtu-protocol-adapter-component-input-data) und veröffentlicht Antworten als [Ausgabedaten](#modbus-rtu-protocol-adapter-component-output-data).

Die folgenden allgemeinen Operationen werden unterstützt.


| Vorgangsname in Anforderung | Funktionscode in Antwort | 
| --- | --- | 
| ReadCoilsRequest | 01 | 
| ReadDiscreteInputsRequest | 02 | 
| ReadHoldingRegistersRequest | 03 | 
| ReadInputRegistersRequest | 04 | 
| WriteSingleCoilRequest | 05 | 
| WriteSingleRegisterRequest | 06 | 
| WriteMultipleCoilsRequest | 15 | 
| WriteMultipleRegistersRequest | 16 | 
| MaskWriteRegisterRequest | 22 | 
| ReadWriteMultipleRegistersRequest | 23 | 

### Beispiel: Anforderungen und Antworten


Im Folgenden finden Sie Beispiele für Anfragen und Antworten für unterstützte Operationen.

Lesen Sie die Spulen  
**Anfragebeispiel:**  

```
{
  "request": {
    "operation": "ReadCoilsRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```
**Antwortbeispiel:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 1,
      "bits": [1]
    }
  },
  "id" : "TestRequest"
}
```

Lesen Sie diskrete Eingänge  
**Anfragebeispiel:**  

```
{
  "request": {
    "operation": "ReadDiscreteInputsRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```
**Antwortbeispiel:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadDiscreteInputsRequest",
    "payload": {
      "function_code": 2,
      "bits": [1]
    }
  },
  "id" : "TestRequest"
}
```

Lesen Sie die Halteregister  
**Anfragebeispiel:**  

```
{
  "request": {
    "operation": "ReadHoldingRegistersRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```
**Antwortbeispiel:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadHoldingRegistersRequest",
    "payload": {
      "function_code": 3,
      "registers": [20,30]
    }
  },
  "id" : "TestRequest"
}
```

Eingaberegister lesen  
**Anfragebeispiel:**  

```
{
  "request": {
    "operation": "ReadInputRegistersRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```

Schreiben Sie Single Coil  
**Anfragebeispiel:**  

```
{
  "request": {
    "operation": "WriteSingleCoilRequest",
    "device": 1,
    "address": 1,
    "value": 1
  },
  "id": "TestRequest"
}
```
**Antwortbeispiel:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "WriteSingleCoilRequest",
    "payload": {
      "function_code": 5,
      "address": 1,
      "value": true
    }
  },
  "id" : "TestRequest"
}
```

Schreiben Sie ein einzelnes Register  
**Anfragebeispiel:**  

```
{
  "request": {
    "operation": "WriteSingleRegisterRequest",
    "device": 1,
    "address": 1,
    "value": 1
  },
  "id": "TestRequest"
}
```

Schreiben Sie mehrere Spulen  
**Anfragebeispiel:**  

```
{
  "request": {
    "operation": "WriteMultipleCoilsRequest",
    "device": 1,
    "address": 1,
    "values": [1,0,0,1]
  },
  "id": "TestRequest"
}
```
**Antwortbeispiel:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "WriteMultipleCoilsRequest",
    "payload": {
      "function_code": 15,
      "address": 1,
      "count": 4
    }
  },
  "id" : "TestRequest"
}
```

Schreiben Sie mehrere Register  
**Anfragebeispiel:**  

```
{
  "request": {
    "operation": "WriteMultipleRegistersRequest",
    "device": 1,
    "address": 1,
    "values": [20,30,10]
  },
  "id": "TestRequest"
}
```
**Antwortbeispiel:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "WriteMultipleRegistersRequest",
    "payload": {
      "function_code": 23,
      "address": 1,
      "count": 3
    }
  },
  "id" : "TestRequest"
}
```

Maske schreiben, Register schreiben  
**Anfragebeispiel:**  

```
{
  "request": {
    "operation": "MaskWriteRegisterRequest",
    "device": 1,
    "address": 1,
    "and_mask": 175,
    "or_mask": 1
  },
  "id": "TestRequest"
}
```
**Antwortbeispiel:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "MaskWriteRegisterRequest",
    "payload": {
      "function_code": 22,
      "and_mask": 0,
      "or_mask": 8
    }
  },
  "id" : "TestRequest"
}
```

Mehrere Register lesen, schreiben  
**Anfragebeispiel:**  

```
{
  "request": {
    "operation": "ReadWriteMultipleRegistersRequest",
    "device": 1,
    "read_address": 1,
    "read_count": 2,
    "write_address": 3,
    "write_registers": [20,30,40]
  },
  "id": "TestRequest"
}
```
**Antwortbeispiel:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadWriteMultipleRegistersRequest",
    "payload": {
      "function_code": 23,
      "registers": [10,20,10,20]
    }
  },
  "id" : "TestRequest"
}
```
Die Antwort beinhaltet die Register, die die Komponente liest.

### Antwortstatus: Ausnahme


Ausnahmen können auftreten, wenn das Anfrageformat gültig ist, die Anfrage aber nicht erfolgreich abgeschlossen wurde. In diesem Fall enthält die Antwort die folgenden Informationen:
+ Der `status` wird auf `Exception` gesetzt.
+ Der `function_code` entspricht dem Funktionscode der Anforderung \$1 128.
+ Der `exception_code` enthält den Ausnahmecode. Weitere Informationen finden Sie unter Modbus-Ausnahmecodes.

**Beispiel:**

```
{
  "response": {
    "status": "fail",
    "error_message": "Internal Error",
    "error": "Exception",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 129,
      "exception_code": 2
    }
  },
  "id": "TestRequest"
}
```

### Antwortstatus: Keine Antwort


Dieser Konnektor führt Validierungsprüfungen für die Modbus-Anforderung durch. So wird beispielsweise nach ungültigen Formaten und fehlenden Feldern gesucht. Wenn die Validierung fehlschlägt, sendet der Konnektor die Anforderung nicht. Stattdessen gibt er eine Antwort zurück, die die folgenden Informationen enthält:
+ Der `status` wird auf `No Response` gesetzt.
+ Der `error` enthält die Fehlerursache.
+ Die `error_message` enthält die Fehlermeldung.

**Beispiele:**

```
{
  "response": {
    "status": "fail",
    "error_message": "Invalid address field. Expected <type 'int'>, got <type 'str'>",
    "error": "No Response",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "error": "Invalid address field. Expected Expected <type 'int'>, got <type 'str'>"
    }
  },
  "id": "TestRequest"
}
```

Wenn die Anforderung auf ein nicht vorhandenes Gerät abzielt oder wenn das Modbus RTU-Netzwerk nicht funktioniert, erhalten Sie möglicherweise eine `ModbusIOException`, die das No Response-Format verwendet.

```
{
  "response": {
    "status": "fail",
    "error_message": "[Input/Output] No Response received from the remote unit",
    "error": "No Response",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "error": "[Input/Output] No Response received from the remote unit"
    }
  },
  "id": "TestRequest"
}
```

## Lokale Protokolldatei


Diese Komponente verwendet die folgende Protokolldatei.

```
/greengrass/v2/logs/aws.greengrass.Modbus.log
```

**Um die Protokolle dieser Komponente einzusehen**
+ Führen Sie den folgenden Befehl auf dem Kerngerät aus, um die Protokolldatei dieser Komponente in Echtzeit anzuzeigen. `/greengrass/v2`Ersetzen Sie es durch den Pfad zum AWS IoT Greengrass Stammordner.

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.Modbus.log
  ```

## Lizenzen


Diese Komponente umfasst die folgende Software/Lizenzierung von Drittanbietern:
+ [pymodbus /BSD-Lizenz](https://github.com/riptideio/pymodbus/blob/master/README.rst)
+ [pyserial /BSD-Lizenz](https://github.com/pyserial/pyserial)

<a name="component-core-software-license"></a>Diese Komponente wird im Rahmen der [Greengrass Core Software-Lizenzvereinbarung](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf) veröffentlicht.

## Änderungsprotokoll


In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen der Komponente beschrieben.


|  **Version**  |  **Änderungen**  | 
| --- | --- | 
|  2.1.11  | Die Version wurde für die Version 2.15.0 von Greengrass Nucleus aktualisiert. | 
|  2.1.10  | Die Version wurde für die Version 2.14.0 von Greengrass Nucleus aktualisiert. | 
|  2.1.9  | Die Version wurde für die Version 2.13.0 von Greengrass Nucleus aktualisiert. | 
|  2.1.8  | Die Version wurde für die Version 2.12.0 von Greengrass Nucleus aktualisiert. | 
|  2.1.7  | Die Version wurde für die Version 2.11.0 von Greengrass Nucleus aktualisiert. | 
|  2.1.6  | Die Version wurde für die Version 2.10.0 von Greengrass Nucleus aktualisiert. | 
|  2.1.5  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html) | 
|  2.1.4  | Die Version wurde für die Version 2.9.0 von Greengrass Nucleus aktualisiert. | 
|  2.1.3  | Die Version wurde für die Version 2.8.0 von Greengrass Nucleus aktualisiert. | 
|  2.1.2  |  Die Version wurde für die Version 2.7.0 von Greengrass Nucleus aktualisiert.  | 
|  2.1.1  |  Die Version wurde für die Version 2.6.0 von Greengrass Nucleus aktualisiert.  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html)  | 
|  2.0.8  |  Die Version wurde für die Version 2.5.0 von Greengrass Nucleus aktualisiert.  | 
|  2.0.7  |  Die Version wurde für die Version 2.4.0 von Greengrass Nucleus aktualisiert.  | 
|  2.0.6  |  Die Version wurde für die Version 2.3.0 von Greengrass Nucleus aktualisiert.  | 
|  2.0.5  |  Die Version wurde für die Version 2.2.0 von Greengrass Nucleus aktualisiert.  | 
|  2.0.4  |  Die Version wurde für die Version 2.1.0 von Greengrass Nucleus aktualisiert.  | 
|  2.0.3  |  Erste Version  | 