MC 读
x/mcRead组件:v0.37.0+ 通过三菱 MC 协议(3E 帧/二进制,SLMP)批量读取 Q/L/R/iQ-R/iQ-F 系列 PLC 软元件,结果以统一契约 iot_points.Data 列表写回 msg.Data。
需要额外引入扩展库: rulego-components-iot (opens new window)
# 配置
| 字段 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| server | string | PLC 地址 host:port,MC 默认端口 6000 | 127.0.0.1:6000 |
| timeout | int | 请求超时(秒) | 5 |
| points | array | 默认点位表。若 msg.Data 带点位列表则优先使用 | - |
网络号/PC 号等站号参数由底层库固定为自局(覆盖以太网直连场景)。
# 点位表字段
| 字段 | 说明 |
|---|---|
| name | 点位名称 |
| addr | 软元件地址(见下表) |
| type | 数据类型 |
| scale / offset | 工程量转换 |
| endian | 多寄存器字节序:ABCD/CDAB/BADC/DCBA |
工程量公式:eng = raw * scale + offset。仅平移请显式设 scale=1;scale=0 时结果为 offset。
各字段支持 ${msg.xx} / ${metadata.xx} 模板。
# 地址格式(软元件)
| 软元件 | 字访问 | 位访问 | 说明 |
|---|---|---|---|
| D | D100 | - | 数据寄存器 |
| W | W200 | - | 链接寄存器 |
| R | R200 | - | 文件寄存器 |
| ZR | ZR300 | - | 文件寄存器(扩展) |
| M | - | M10 | 内部继电器 |
| SM | - | SM400 | 特殊继电器 |
| X | - | X1A0 | 输入(十六进制) |
| Y | - | Y30 | 输出(十六进制) |
| B | - | B4 | 链接继电器 |
| C | C10 | C10 | 计数器 |
| L | - | L10 | 锁存继电器 |
# 支持的数据类型
BOOL、INT16、UINT16、INT32、UINT32、FLOAT32、FLOAT64(支持点位级 Endian:ABCD/CDAB/BADC/DCBA)
# 输入/输出
- 输入:可使用配置中的
points,也可由msg.Data传入点位列表覆盖 - 输出:
[{"name","value","timestamp","error"}]
# 示例
{
"id": "mc_read",
"type": "x/mcRead",
"configuration": {
"server": "192.168.1.30:6000",
"points": [
{"name": "转速", "addr": "D100", "type": "UINT16"},
{"name": "温度", "addr": "D102", "type": "FLOAT32"}
]
}
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 关联组件
- 协议概览:x/mc
- 写入:x/mcWrite
- 统一采集入口:x/iotRead(driver=mc)
- 转时序点落盘:x/tsdbWrite(配置 measurement)
在 GitHub 上编辑此页 (opens new window)
上次更新: 2026/08/01, 05:05:14