1) 为什么要批量
MC 协议支持批量读写。对大量点位,如果逐点请求:
- 往返次数多,吞吐低
- 调度开销与网络开销大
驱动会在采集与写入路径中使用 planner,将多个点位合并成更少的批次请求。
2) maxPointsPerBatch
含义:一个批次中允许合并的逻辑点数上限(对 word/bit 的实际含义由协议层规划决定)。
建议:
- 不确定时保持默认(通常与 series 的典型上限一致)
- 点位非常多时可以提高,但不要超过 PLC/协议允许的最大值
3) maxBytesPerFrame
含义:单帧 payload 字节上限,用于避免构造过大的请求/响应导致失败或影响延迟。
建议:
- 默认 4096 通常是合理起点
- 网络质量一般/设备处理慢时可适当降低
4) concurrentRequests
含义:同一连接上允许的并发 in-flight 请求数。
驱动默认值为 1(确定性最强),提高并发可能提升吞吐,但风险包括:
- 设备/网关不支持并发导致响应乱序或错误
- 增加瞬时负载与丢包概率
建议:
- 先用 1 跑稳,再在压测环境逐步提高(例如 2→4),观察错误率与平均响应时间。
5) 与 PLC 系列的关系
不同 series 的批量上限不同(驱动内部已内置 series 对应的最大值),因此:
- series 必须正确,否则你可能配置了“看似可用但实际超限”的批量参数
