

终止支持通知：2026 年 10 月 7 日， AWS 将停止对的支持。 AWS IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 AWS IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# modbus-TCP 协议适配器连接器
<a name="modbus-tcp-connector"></a>

Modbus-TCP 协议适配器[连接器](connectors.md)通过 ModbusTCP 协议从本地设备收集数据，并将其发布到选定的 `StreamManager` 数据流。

您也可以将此连接器与 IoT 连接 SiteWise 器和物联 SiteWise 网网关配合使用。您的网关必须提供连接器的配置。有关更多信息，请参阅物联网 SiteWise 用户指南中的[配置 Modbus TCP 源](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-modbus-source.html)。

**注意**  
 此连接器在 “[无容](lambda-group-config.md#no-container-mode)器” 隔离模式下运行，因此您可以将其部署到在 Docker 容器中运行的 AWS IoT Greengrass 群组。

此连接器具有以下版本。


| 版本 | ARN | 
| --- | --- | 
| 3 | `arn:aws:greengrass:region::/connectors/ModbusTCPConnector/versions/3` | 
| 2 | `arn:aws:greengrass:region::/connectors/ModbusTCPConnector/versions/2` | 
| 1 | `arn:aws:greengrass:region::/connectors/ModbusTCPConnector/versions/1` | 

有关版本更改的信息，请参阅[更改日志](#modbus-tcp-connector-changelog)。

## 要求
<a name="modbus-tcp-connector-req"></a>

此连接器具有以下要求：

------
#### [ Version 1 - 3 ]
+ AWS IoT Greengrass 核心软件 v1.10.2 或更高版本。
+  AWS IoT Greengrass 群组已启用直播管理器。
+ Java 8 安装在核心设备上并已添加到 `PATH` 环境变量中。

**注意**  
 该连接器仅在以下区域推出：  
ap-southeast-1
ap-southeast-2
eu-central-1
eu-west-1
us-east-1
us-west-2
cn-north-1

------

## 连接器参数
<a name="modbus-tcp-connector-param"></a>

此连接器支持以下参数：

`LocalStoragePath`  
IoT SiteWise 连接器可以向其写入永久数据的 AWS IoT Greengrass 主机上的目录。默认目录为 `/var/sitewise`。  
 AWS IoT 控制台中的显示名称：**本地存储路径**  
必需：`false`  
类型：`string`  
有效模式：`^\s*$|\/.`

`MaximumBufferSize`  
物联网 SiteWise 磁盘使用量的最大大小（以 GB 为单位）。默认大小为 10 GB。  
 AWS IoT 控制台中的显示名称：**最大磁盘缓冲区大小**  
必需：`false`  
类型：`string`  
有效模式：`^\s*$|[0-9]+`

`CapabilityConfiguration`  
一组 Modbus TCP 收集器的配置，连接器从这些收集器中收集数据或连接到这些收集器。  
 AWS IoT 控制台中的显示名称：**CapabilityConfiguration**  
必需：`false`  
类型：一个格式正确的 JSON 字符串，用于定义支持的反馈配置集。

以下是 `CapabilityConfiguration` 的一个示例：

```
{
    "sources": [
        {
            "type": "ModBusTCPSource",
            "name": "SourceName1",
            "measurementDataStreamPrefix": "SourceName1_Prefix",
            "destination": {
                "type": "StreamManager",
                "streamName": "SiteWise_Stream_1",
                "streamBufferSize": 8
            },
            "endpoint": {
                "ipAddress": "127.0.0.1",
                "port": 8081,
                "unitId": 1
            },
            "propertyGroups": [
                {
                    "name": "GroupName",
                    "tagPathDefinitions": [
                        {
                            "type": "ModBusTCPAddress",
                            "tag": "TT-001",
                            "address": "30001",
                            "size": 2,
                            "srcDataType": "float",
                            "transformation": "byteWordSwap",
                            "dstDataType": "double"
                        }
                    ],
                    "scanMode": {
                        "type": "POLL",
                        "rate": 100
                    }
                }
            ]
        }
    ]
}
```

### 创建连接器示例 (AWS CLI)
<a name="modbus-connector-create"></a>

以下 CLI 命令创建一个 `ConnectorDefinition`，其初始版本包含 Modbus-TCP 协议适配器连接器。

```
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '
{
    "Connectors": [
        {
            "Id": "MyModbusTCPConnector",
            "ConnectorArn": "arn:aws:greengrass:region::/connectors/ModbusTCP/versions/3",
            "Parameters": {
                "capability_configuration": "{\"version\":1,\"namespace\":\"iotsitewise:modbuscollector:1\",\"configuration\":\"{\"sources\":[{\"type\":\"ModBusTCPSource\",\"name\":\"SourceName1\",\"measurementDataStreamPrefix\":\"\",\"endpoint\":{\"ipAddress\":\"127.0.0.1\",\"port\":8081,\"unitId\":1},\"propertyGroups\":[{\"name\":\"PropertyGroupName\",\"tagPathDefinitions\":[{\"type\":\"ModBusTCPAddress\",\"tag\":\"TT-001\",\"address\":\"30001\",\"size\":2,\"srcDataType\":\"hexdump\",\"transformation\":\"noSwap\",\"dstDataType\":\"string\"}],\"scanMode\":{\"rate\":200,\"type\":\"POLL\"}}],\"destination\":{\"type\":\"StreamManager\",\"streamName\":\"SiteWise_Stream\",\"streamBufferSize\":10},\"minimumInterRequestDuration\":200}]}\"}"
            }
        }
    ]
}'
```

**注意**  
此连接器中的 Lambda 函数的生命周期[很长](lambda-functions.md#lambda-lifecycle)。

## 输入数据
<a name="modbus-tcp-connector-data-input"></a>

该连接器不接受 MQTT 消息作为输入数据。

## 输出数据
<a name="modbus-tcp-connector-data-output"></a>

此连接器将数据发布到 `StreamManager`。您必须配置目标消息流。输出消息具有以下结构：

```
{
    "alias": "string",
    "messages": [
        {
            "name": "string",
            "value": boolean|double|integer|string,
            "timestamp": number,
            "quality": "string"
        }
    ]
}
```

## 许可证
<a name="modbus-tcp-connector-license"></a>

Modbus-TCP 协议适配器连接器包含以下第三方软件/许可：
+ [Digital Petri](https://github.com/digitalpetri/modbus) Modbus

该连接器在 [Greengrass Core 软件许可协议](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)下发布。

## 更改日志
<a name="modbus-tcp-connector-changelog"></a>

下表介绍每个版本连接器的更改。


| 版本 | 更改 | 日期 | 
| --- | --- | --- | 
| 3（推荐） | 此版本包含错误修复。 | 2021 年 12 月 22 日 | 
| 2 | 增加了对 ASCII UTF8、和 ISO8859 编码源字符串的支持。 | 2021 年 5 月 24 日 | 
| 1 | 首次发布。 | 2020 年 12 月 15 日 | 

<a name="one-conn-version"></a>Greengrass 组在一个时间上只能包含一个版本的连接器。有关升级连接器版本的信息，请参阅[升级连接器版本](connectors.md#upgrade-connector-versions)。

## 另请参阅
<a name="modbus-tcp-connector-see-also"></a>
+ [使用 Greengrass 连接器与服务和协议集成](connectors.md)
+ [Greengrass 连接器入门（控制台）](connectors-console.md)
+ [Greengrass 连接器入门 (CLI)](connectors-cli.md)