Skip to content

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 必须正确,否则你可能配置了“看似可用但实际超限”的批量参数

基于 MIT 许可发布.