跳到主要内容

插件参考

本页详细说明每个插件的寄存器地址格式、插件属性(通道/设备级配置)和变量属性(变量级配置)。

提示
  • 插件属性:配置在通道或设备级别,用于设定通讯参数、连接方式等
  • 变量属性:配置在变量级别,用于设定变量特有的参数,如数据类型、RPC使能等
  • 寄存器地址格式:仅在采集插件中存在,用于指定变量在设备中的地址
  • 地址数据转换参数:可在寄存器地址中通过分号附加,用于覆盖默认的数据解析方式

地址数据转换参数

在寄存器地址中,可以通过分号(;)附加数据转换参数,覆盖插件默认的数据解析方式。这些参数由 GetTransByAddress 机制解析,允许同一个插件的不同变量使用不同的数据转换规则。

适用范围

通用转换参数仅适用于基于原始字节通讯的采集插件(Modbus主站、Siemens S7、DLT645-2007等)。OPC UA、OPC DA、MQTT等插件由服务端或JSON直接提供类型化数据,不需要也不支持这些字节级转换参数。

通用转换参数

以下参数适用于所有采集插件:

参数格式可选值说明
数据格式data=ABCDABCD(大端)、BADC(大端字节交换)、CDAB(小端字节交换)、DCBA(小端)4字节数据(float/int/uint等)的字节序
字符串长度len=N正整数字符串类型变量的字节长度,字符串读写时必须指定
BCD格式bcd=C8421C8421C5421C2421C3GrayBCD编码格式
字符编码encoding=UTF-8UTF-8ASCIIDefaultUnicode字符串编码类型
变长字符串vsl=truetrue/false是否为变长字符串(S7中变长字符串前2字节为长度)

通用示例

  • 40001;data=CDAB — 保持寄存器,使用小端字节交换格式解析float/int
  • 40001;len=10;encoding=UTF-8 — 保持寄存器,读取10字节UTF-8编码字符串
  • 40001;bcd=C8421 — 保持寄存器,使用BCD 8421编码
  • DB1.DBW0;vsl=true;len=20 — S7数据块,变长字符串,最大20字节

插件特有转换参数

部分插件在通用参数之外,还支持特有的地址参数:

插件参数格式说明示例
Modbus主站站号s=N指定设备站号,覆盖通道默认站号40001;s=2
Modbus主站写入功能码w=N指定写入时使用的功能码(6或16)40001;w=16
Modbus主站功能码f=N直接指定读取功能码40001;f=3
Siemens S7宽字符串W=true启用WString(宽字符串/Unicode),S7中前4字节为长度头DB1.DBW0;W=true
注意
  • 转换参数与地址之间、参数与参数之间均使用分号(;)分隔
  • 参数不区分大小写(参数名和枚举值均不区分)
  • 如果未指定任何转换参数,则使用插件属性中配置的默认值
  • 字符串类型的变量必须在地址中指定 len=N,否则读写会报错

采集插件

采集插件用于从外部设备或系统读取数据,每个采集插件对应一种通讯协议或数据源。

Modbus主站

寄存器地址格式

地址范围寄存器类型功能码示例
00001~09999线圈寄存器01(读)/ 05(写)00001
10001~19999离散输入寄存器02(只读)10001
30001~39999输入寄存器04(只读)30001
40001~49999保持寄存器03(读)/ 06/16(写)40001

Modbus特有地址参数(分号分隔,通用转换参数见地址数据转换参数):

参数格式说明示例
站号s=N指定设备站号,覆盖通道默认站号40001;s=2
写入功能码w=N指定写入时使用的功能码(6或16)40001;w=16
功能码f=N直接指定读取功能码40001;f=3
位索引.N指定寄存器中的位索引40001.3

示例

  • 40001 — 保持寄存器第一个寄存器
  • 40001;s=2 — 站号为2的保持寄存器第一个寄存器
  • 40001;w=16 — 保持寄存器第一个寄存器,写入时采用0x10功能码
  • 40001;data=CDAB — 保持寄存器,使用小端字节交换格式解析
  • 40001;len=10;encoding=UTF-8 — 保持寄存器,读取10字节UTF-8字符串

插件属性

Modbus主站属性继承自 CollectFoundationDtuPackPropertyBase,包含以下配置:

属性类型默认值说明
Modbus类型枚举-ModbusTcp(TCP格式)/ ModbusRtu(RTU格式)
默认站号Byte1默认设备站号
最大打包长度UInt16100单次请求最大打包寄存器数量
读写超时时间UInt163000读写操作超时时间(ms)
帧前时间Int320发送帧前延时时间(ms)
字符串反转字节Booleanfalse字符串是否按字反转
数据解析顺序枚举-数据字节序(ABCD/DCBA/BADC/CDAB)
DTU IDString-默认DTU ID
失败重试次数Int323读写失败重试次数
读写占空比Int323n次写入操作会执行一次读取
写优先Booleanfalse写入时强制取消读取操作

Siemens S7

寄存器地址格式

前缀寄存器类型示例说明
I输入(I区)I0.0IB0IW0ID0支持位/字节/字/双字
Q输出(Q区)Q0.0QB0QW0QD0支持位/字节/字/双字
M中间存储(M区)M0.0MB0MW0MD0支持位/字节/字/双字
DB数据块(DB区)DB1.DBX0.0DB1.DBB0DB1.DBW0DB1.DBD0格式:DB号.地址
AI模拟输入AI0AIW0模拟量输入
AQ模拟输出AQ0AQW0模拟量输出
T定时器T0Timer寄存器
C计数器C0Counter寄存器
VV区(S200专用)V0VB0VW0VD0等同于DB1

S7特有地址参数(分号分隔,通用转换参数见地址数据转换参数):

参数格式说明示例
宽字符串W=true/false是否启用宽字符串(WString),启用后字符串按Unicode编码,非SMART200前4字节为长度头DB1.DBW0;W=true

S7字符串说明

  • 普通字符串(vsl=true):非SMART200前2字节为长度头,SMART200前1字节为长度头
  • 宽字符串(W=true):非SMART200前4字节为长度头,SMART200前1字节为长度头
  • 固定长度字符串(len=N):无长度头,直接读取N字节

示例

  • DB1.DBW0 — DB1数据块,字地址0
  • DB1.DBW0;W=true — DB1数据块,宽字符串
  • DB1.DBW0;vsl=true;len=20 — DB1数据块,变长字符串,最大20字节
  • DB1.DBW0;data=CDAB — DB1数据块,使用小端字节交换格式

地址类型前缀说明

前缀说明
X位(Bit)
B字节(Byte)
W字(Word,16位)
D双字(DWord,32位)

插件属性

Siemens S7属性继承自 CollectFoundationPackPropertyBase,包含以下配置:

属性类型默认值说明
PLC类型枚举-S200/S200Smart/S300/S400/S1200/S1500
RackByte0机架号
SlotByte0槽号
LocalTSAPInt320本地TSAP
最大打包长度UInt16200单次请求最大打包长度
读写超时时间UInt163000读写操作超时时间(ms)
帧前时间Int320发送帧前延时时间(ms)
字符串反转字节Booleanfalse字符串是否按字反转
数据解析顺序枚举-数据字节序
失败重试次数Int323读写失败重试次数
读写占空比Int323n次写入操作会执行一次读取
写优先Booleanfalse写入时强制取消读取操作

DLT645-2007

寄存器地址格式

DLT645-2007使用数据标识作为地址,格式为8位十六进制数据标识码。通用转换参数见地址数据转换参数

DLT645特有地址参数(分号分隔):

参数格式说明示例
站号s=XXXXXXXXXXXX12位表地址02010100;s=111111111111

常用数据标识

地址说明
02010100A相电压
02020100A相电流
02030000瞬时总有功功率
00000000(当前)组合有功总电能
00010000(当前)正向有功总电能
更多数据标识

完整的数据标识请参考DL/T 645-2007协议文档。

插件属性

DLT645-2007属性继承自 CollectFoundationDtuPropertyBase,包含以下配置:

属性类型默认值说明
默认地址String111111111111默认表地址(12位)
密码String-通信密码
操作员代码String-操作员代码
前导符报文头StringFEFEFEFE前导符报文头
读写超时时间UInt163000读写操作超时时间(ms)
帧前时间Int320发送帧前延时时间(ms)
字符串反转字节Booleanfalse字符串是否按字反转
数据解析顺序枚举-数据字节序
DTU IDString-默认DTU ID
失败重试次数Int323读写失败重试次数
读写占空比Int323n次写入操作会执行一次读取
写优先Booleanfalse写入时强制取消读取操作

OPC UA客户端

寄存器地址格式

OPC UA使用节点的ItemId作为地址,直接填写OPC UA服务器的节点标识即可。

示例

  • ns=2;s=Channel1.Device1.Tag1
  • ns=2;i=1001

插件属性

OPC UA客户端属性继承自 CollectPropertyRetryBase,包含以下配置:

属性类型默认值说明
连接UrlStringopc.tcp://127.0.0.1:49320OPC UA服务器地址
登录账号String-用户名认证
登录密码String-密码认证
数据变化触发条件枚举StatusValue订阅数据变化触发条件
安全策略Booleantrue是否使用安全策略
名称标识StringThingsGateway OPC UA Master应用名称标识
证书证书选择-客户端证书(从证书管理获取)
是否使用SourceTimeBooleantrue是否使用服务端时间戳
加载服务端数据类型Booleantrue是否加载服务端数据类型
激活订阅Booleantrue是否使用订阅模式
更新频率Int321000订阅更新频率(ms)
死区Double0订阅死区百分比
最大组大小Int32500单个订阅组最大节点数
心跳频率Int323000心跳间隔(ms)
失败重试次数Int323读写失败重试次数
读写占空比Int323n次写入操作会执行一次读取
写优先Booleanfalse写入时强制取消读取操作
仅Windows

OPC DA插件仅支持Windows系统。


OPC DA客户端

寄存器地址格式

OPC DA使用节点的ItemName作为地址,直接填写OPC DA服务器的项名称即可。

示例

  • Channel1.Device1.Group1.Tag1

插件属性

OPC DA客户端属性继承自 CollectPropertyRetryBase,包含以下配置:

属性类型默认值说明
OPC服务器IPStringlocalhostOPC DA服务器IP地址
OPC服务器名称StringKepware.KEPServerEX.V6OPC DA服务器ProgID
服务端时间Booleantrue是否使用服务端时间戳
订阅模式Booleantrue是否使用订阅模式
检测重连频率(min)Int3210检测重连间隔(分钟)
死区Float0订阅死区百分比
最大组大小Int32500单个订阅组最大项数
订阅更新频率Int321000订阅更新频率(ms)
失败重试次数Int323读写失败重试次数
读写占空比Int323n次写入操作会执行一次读取
写优先Booleanfalse写入时强制取消读取操作
仅Windows

OPC DA插件仅支持Windows系统,基于COM/DCOM技术。


MQTT采集客户端

寄存器地址格式

MQTT采集客户端的变量地址格式为:

${mqtt_topic};${payload_item};${Condition}
部分说明
mqtt_topicMQTT主题
payload_itemJSON负载中的字段路径(支持.嵌套)
Condition可选,条件名称(通过脚本判断)

负载示例

{
"ModuleUnoccupied": {
"EquipId": "E12",
"CarrierId": "C12",
"SubstrateLocId": "S12",
"LotId": 1,
"DesignId": "D12",
"EventTime": "12322131"
}
}

示例

  • vendor/device;ModuleUnoccupied.EquipId — 结果为 "E12"
  • vendor/device;ModuleUnoccupied.EquipId;Condition名称 — 通过脚本判断LotId等于1时返回 "E12"

插件属性

MQTT采集客户端属性继承自 CollectPropertyBase,包含以下配置:

属性类型默认值说明
连接类型枚举TcpTcp/WebSocket
IP地址StringlocalhostMQTT服务器地址
端口Int321883MQTT服务器端口
WebSocket路径String/mqttWebSocket连接路径
启用SSLBooleanfalse是否使用SSL/TLS
SSL目标主机名String-SSL证书验证主机名
客户端证书名称证书选择-客户端SSL证书
CA名称证书选择-CA证书
允许不受信任证书Booleantrue是否允许不受信任的证书
SSL协议版本枚举NoneSSL/TLS协议版本
检查证书吊销Booleanfalse是否检查证书吊销
客户端IDString-MQTT客户端标识
用户名String-认证用户名
密码String-认证密码
保活时间Int3260Keep Alive时间(秒)
清除会话Booleantrue是否清除会话
MQTT协议版本枚举V311MQTT协议版本
QoS等级枚举AtMostOnceQoS等级(0/1/2)
详细日志Booleanfalse是否显示详细日志
连接超时时间Int323000连接超时时间(ms)
检查清除时间Int3260000检查清除时间(ms)

MQTT采集服务端

寄存器地址格式

与MQTT采集客户端地址格式相同:

${mqtt_topic};${payload_item};${Condition}

插件属性

MQTT采集服务端属性继承自 CollectPropertyBase,包含以下配置:

属性类型默认值说明
连接类型枚举TcpTcp/WebSocket
端口Int321883MQTT服务监听端口
WebSocket路径String/mqttWebSocket路径
启用SSLBooleanfalse是否使用SSL/TLS
服务器证书名称证书选择-服务器SSL证书
CA名称证书选择-CA证书
允许不受信任证书Booleantrue是否允许不受信任的证书
SSL协议版本枚举NoneSSL/TLS协议版本
检查证书吊销Booleanfalse是否检查证书吊销
允许连接ID前缀String-允许连接的客户端ID前缀
用户名String-认证用户名
密码String-认证密码
详细日志Booleanfalse是否显示详细日志
检查清除时间Int3260000检查清除时间(ms)

业务插件

业务插件用于数据处理和转发,将采集到的数据推送到外部系统。

Modbus从站

插件属性

Modbus从站属性继承自 BusinessPropertyBase,包含以下配置:

属性类型默认值说明
Modbus类型枚举-ModbusTcp/ModbusRtu
默认站号Byte1默认设备站号
数据解析顺序枚举-数据字节序
字符串反转字节Booleanfalse字符串是否按字反转
多站点模式Booleantrue是否启用多站点模式
允许RPC写入Booleantrue是否允许RPC写入
立即写入内存Booleantrue是否立即写入内存
发送延时时间Int320发送延时时间(ms)

变量属性

属性类型默认值必填说明
是否启用Booleantrue变量是否启用
从站变量地址String-Modbus从站变量地址
数据类型枚举Int16变量数据类型
允许RPC写入Booleanfalse是否允许RPC写入

MQTT客户端生产者

插件属性

MQTT客户端生产者属性继承自 BusinessPropertyWithCacheIntervalScript,包含以下配置:

MQTT连接配置

属性类型默认值说明
连接类型枚举TcpTcp/WebSocket
IP地址StringlocalhostMQTT服务器地址
端口Int321883MQTT服务器端口
WebSocket路径String/mqttWebSocket连接路径
启用SSLBooleanfalse是否使用SSL/TLS
SSL目标主机名String-SSL证书验证主机名
客户端证书名称证书选择-客户端SSL证书
CA名称证书选择-CA证书
允许不受信任证书Booleantrue是否允许不受信任的证书
SSL协议版本枚举NoneSSL/TLS协议版本
检查证书吊销Booleanfalse是否检查证书吊销
客户端IDString-MQTT客户端标识
用户名String-认证用户名
密码String-认证密码
保活时间Int3260Keep Alive时间(秒)
清除会话Booleantrue是否清除会话
MQTT协议版本枚举V311MQTT协议版本
QoS等级枚举AtMostOnceQoS等级(0/1/2)
保留消息Booleanfalse是否保留消息

RPC配置

属性类型默认值说明
RPC写入TopicString-写入主题,实际为{RpcWrite/+},返回为{RpcWrite/+/Response}
数据请求TopicString-接收数据后触发全量上传
RPC脚本脚本选择-MQTT动态RPC脚本

数据上传配置(继承自 BusinessPropertyWithCacheIntervalScript):

属性类型默认值说明
启用缓存Booleanfalse是否启用离线缓存
缓存文件最大行数Int32262144缓存文件最大行数
上传列表最大数量Int322000单次上传最大数量
内存队列最大数量Int32100000内存队列最大数量
在线过滤Booleanfalse仅上传在线设备数据
组更新Booleanfalse是否按组更新
全部变量Booleanfalse是否使用全部变量
上传模式枚举-变化上传/定时上传
间隔上传时间String1000定时上传间隔(ms)
原子批量入队Booleanfalse保证一组数据同一时间点可见
详细日志Booleanfalse是否显示详细日志
JSON缩进格式化BooleantrueJSON是否缩进格式化
JSON忽略NullBooleantrueJSON是否忽略Null值
设备列表上传Booleantrue是否上传设备列表
变量列表上传Booleantrue是否上传变量列表
报警列表上传Booleantrue是否上传报警列表
插件事件列表上传Booleantrue是否上传插件事件列表
设备Topic模板String-设备数据上传主题,支持${key}匹配
变量Topic模板StringThingsGateway/Variable变量数据上传主题
报警Topic模板String-报警数据上传主题
插件事件Topic模板String-插件事件上传主题
设备实体脚本脚本选择-自定义设备实体模型脚本
变量实体脚本脚本选择-自定义变量实体模型脚本
报警实体脚本脚本选择-自定义报警实体模型脚本
插件事件实体脚本脚本选择-自定义插件事件实体模型脚本

变量属性

属性类型默认值必填说明
是否启用Booleantrue变量是否启用
数据1~数据10String-自定义数据字段
允许RPC写入Booleanfalse是否允许RPC写入

MQTT服务端生产者

插件属性

MQTT服务端生产者属性继承自 BusinessPropertyWithCacheIntervalScript,与MQTT客户端生产者类似,但作为服务端运行:

MQTT服务端配置

属性类型默认值说明
连接类型枚举TcpTcp/WebSocket
端口Int321883MQTT服务监听端口
WebSocket路径String/mqttWebSocket路径
启用SSLBooleanfalse是否使用SSL/TLS
服务器证书名称证书选择-服务器SSL证书
CA名称证书选择-CA证书
允许不受信任证书Booleantrue是否允许不受信任的证书
SSL协议版本枚举NoneSSL/TLS协议版本
检查证书吊销Booleanfalse是否检查证书吊销
允许连接ID前缀String-允许连接的客户端ID前缀
用户名String-认证用户名
密码String-认证密码
QoS等级枚举AtMostOnceQoS等级
保留消息Booleanfalse是否保留消息
RPC写入TopicString-写入主题
数据请求TopicString-接收数据后触发全量上传
RPC脚本脚本选择-MQTT动态RPC脚本

数据上传配置与MQTT客户端生产者相同。

变量属性

与MQTT客户端生产者变量属性相同。


OPC UA服务端

插件属性

OPC UA服务端属性继承自 BusinessPropertyBase,包含以下配置:

属性类型默认值说明
启用全部变量Booleanfalse是否使用全部变量
服务地址Stringopc.tcp://127.0.0.1:49321OPC UA服务地址(分号分隔可设置多个URL)
名称标识StringThingsGateway OPC UA Server应用名称标识
安全策略Booleanfalse是否启用安全策略
用户名String-认证用户名
密码String-认证密码
服务器证书名称证书选择-服务器证书(从证书管理获取)

变量属性

属性类型默认值必填说明
是否启用Booleantrue变量是否启用
数据类型枚举Object变量数据类型

Kafka生产者

插件属性

Kafka生产者属性继承自 BusinessPropertyWithCacheIntervalScript,包含以下配置:

属性类型默认值说明
服务地址String127.0.0.1:9092Kafka Bootstrap服务器地址
发布超时时间Int325000发布超时时间(ms)
用户名String-SASL认证用户名
密码String-SASL认证密码
安全协议枚举Plaintext安全协议类型
SASL机制枚举PlainSASL认证机制

数据上传配置与MQTT客户端生产者相同。

变量属性

属性类型默认值必填说明
是否启用Booleantrue变量是否启用
数据1~数据10String-自定义数据字段

RabbitMQ生产者

插件属性

RabbitMQ生产者属性继承自 BusinessPropertyWithCacheIntervalScript,包含以下配置:

属性类型默认值说明
IP地址StringlocalhostRabbitMQ服务器地址
端口Int325672RabbitMQ服务器端口
用户名Stringguest认证用户名
密码Stringguest认证密码
声明队列Booleanfalse是否自动声明队列
声明交换机Booleanfalse是否自动声明交换机
交换机类型Stringtopic交换机类型(direct/topic/fanout/headers)
发布超时时间Int325000发布超时时间(ms)
虚拟主机String/RabbitMQ虚拟主机
交换机名称StringTG交换机名称

数据上传配置与MQTT客户端生产者相同。

变量属性

属性类型默认值必填说明
是否启用Booleantrue变量是否启用
数据1~数据10String-自定义数据字段

SQL数据库

插件属性

SQL数据库生产者属性继承自 BusinessPropertyWithCacheInterval,包含以下配置:

属性类型默认值说明
数据库类型枚举SqlServer数据库类型
分区类型枚举-表分区类型
连接字符串String-数据库连接字符串(必填)
数值表名StringhistoryNumberValue数值类型历史数据表名
字符串表名StringhistoryStringValue字符串类型历史数据表名
实时表名StringrealValue实时数据表名
保存天数Int323650历史数据保存天数
是否保存历史数据Booleantrue是否保存历史数据
是否保存实时数据Booleantrue是否保存实时数据
历史表脚本脚本选择-自定义历史表建表脚本
实时表脚本脚本选择-自定义实时表建表脚本

缓存和上传配置继承自 BusinessPropertyWithCacheInterval

变量属性

属性类型默认值必填说明
是否启用Booleantrue变量是否启用
数据1~数据10String-自定义数据字段

QuestDB

插件属性

QuestDB生产者属性继承自 BusinessPropertyWithCacheInterval,包含以下配置:

属性类型默认值说明
连接字符串Stringhost=localhost;port=9000;username=admin;password=quest;database=qdb;QuestDB连接字符串(必填)
历史表脚本脚本选择-自定义历史表建表脚本
数值表名StringhistoryNumberValue数值类型历史数据表名
字符串表名StringhistoryStringValue字符串类型历史数据表名
保存天数Int323650历史数据保存天数
注意

QuestDB的表名会自动转为小写。


TDengine

插件属性

TDengine生产者属性继承自 BusinessPropertyWithCacheInterval,包含以下配置:

属性类型默认值说明
连接字符串Stringprotocol=WebSocket;host=localhost;port=6041;useSSL=false;username=root;password=taosdata;db=power;TDengine连接字符串(必填)
历史表脚本脚本选择-自定义历史表建表脚本
数值表名StringhistoryNumberValue数值类型历史数据表名
字符串表名StringhistoryStringValue字符串类型历史数据表名
保存天数Int323650历史数据保存天数
注意

TDengine的表名会自动转为小写。


SQL历史报警

插件属性

SQL历史报警属性继承自 BusinessPropertyWithCache,包含以下配置:

属性类型默认值说明
数据库类型枚举SqlServer数据库类型
分区类型枚举-表分区类型
连接字符串String-数据库连接字符串(必填)
表名StringhistoryAlarm报警历史表名
保存天数Int323650报警数据保存天数
历史表脚本脚本选择-自定义历史表建表脚本

Webhook

插件属性

Webhook属性继承自 BusinessPropertyWithCacheIntervalScript,默认变量Topic为 http://127.0.0.1:7502/ThingsGateway/Variable

除默认值外,其余配置与 BusinessPropertyWithCacheIntervalScript 相同。

变量属性

属性类型默认值必填说明
是否启用Booleantrue变量是否启用
数据1~数据10String-自定义数据字段

公共属性说明

以下属性在多个插件中通用,此处统一说明。

采集插件公共属性

属性类型默认值说明
最大并发数量Int321最大并发采集数量
离线恢复间隔Int320离线后恢复运行的间隔时间
失败重试次数Int323读写失败重试次数
读写占空比Int323n次写入操作会执行一次读取
写优先Booleanfalse写入时强制取消读取操作

缓存公共属性

属性类型默认值说明
启用缓存Booleanfalse是否启用离线缓存
缓存文件最大行数Int32262144单个缓存文件最大行数
上传列表最大数量Int322000单次上传最大数量
内存队列最大数量Int32100000内存队列最大数量,超出转入文件缓存
在线过滤Booleanfalse仅上传在线设备数据
组更新Booleanfalse是否按组更新

变量属性公共字段

业务插件的变量属性默认包含以下自定义数据字段:

属性类型默认值说明
是否启用Booleantrue变量是否启用
数据1String-自定义数据字段1
数据2String-自定义数据字段2
数据3String-自定义数据字段3
数据4String-自定义数据字段4
数据5String-自定义数据字段5
数据6String-自定义数据字段6
数据7String-自定义数据字段7
数据8String-自定义数据字段8
数据9String-自定义数据字段9
数据10String-自定义数据字段10

相关链接