{
  "kind": "合成输入与数学模型输出，非设备实测",
  "article": "https://qifudev.com/article/modbus-offline-node-timeout/",
  "tool": "https://qifudev.com/tools/modbus-poll/",
  "formula": "t节点 = (请求字节 + 响应字节) × 字符位数 / baud + 2 × t3.5 + 额外等待",
  "inputs": [
    {
      "name": "波特率",
      "key": "baud",
      "value": 9600,
      "unit": "baud"
    },
    {
      "name": "每字符位数",
      "key": "characterBits",
      "value": 11,
      "unit": "bit"
    },
    {
      "name": "含地址功能码CRC的完整请求",
      "key": "requestBytes",
      "value": 8,
      "unit": "byte"
    },
    {
      "name": "含CRC的完整正常响应",
      "key": "responseBytes",
      "value": 9,
      "unit": "byte"
    },
    {
      "name": "两个间隔之外的额外等待",
      "key": "turnaroundMs",
      "value": 5,
      "unit": "ms"
    },
    {
      "name": "同样事务的节点数量",
      "key": "nodes",
      "value": 9,
      "unit": "个"
    }
  ],
  "outputs": [
    {
      "name": "每次帧间隔预算",
      "key": "gapMs",
      "value": 4.010416666666666,
      "unit": "ms"
    },
    {
      "name": "单节点完整事务",
      "key": "nodeMs",
      "value": 32.5,
      "unit": "ms"
    },
    {
      "name": "一轮采集",
      "key": "cycleMs",
      "value": 292.5,
      "unit": "ms"
    },
    {
      "name": "理想轮询次数",
      "key": "cyclesPerSecond",
      "value": 3.4188034188034186,
      "unit": "轮/s"
    }
  ],
  "warnings": [
    "每节点预算含两个帧间隔；额外响应等待是间隔之外的时间，避免重复计入。未包含超时重试、广播和操作系统调度。"
  ],
  "assumptions": "响应等待输入定义为两个间隔之外的额外时间。如果你测得的是请求结束至响应开始的全部时间，应先扣除已经计入的一次帧间隔。结果不是最坏情况实时性保证。",
  "source": {
    "label": "Modbus 串行线规范与实施指南 V1.02",
    "url": "https://www.modbus.org/file/secure/modbusoverserial.pdf"
  },
  "measured": {
    "device": null,
    "firmware": null,
    "environment": null,
    "instrument": null,
    "result": null,
    "verdict": null
  }
}
