{
  "topic": "Modbus 异常 PDU 解析",
  "origin": "本文原创合成数据，未采集真实设备",
  "cases": [
    {
      "case_id": "异常地址",
      "kind": "正例",
      "input": {
        "request_fc": 3,
        "pdu": "83 02"
      },
      "expected": {
        "kind": "exception",
        "request_fc": 3,
        "exception_code": 2,
        "name": "Illegal Data Address"
      }
    },
    {
      "case_id": "正常读数",
      "kind": "正例",
      "input": {
        "request_fc": 3,
        "pdu": "03 02 00 2A"
      },
      "expected": {
        "kind": "normal",
        "values": [
          42
        ]
      }
    },
    {
      "case_id": "未知异常码保留",
      "kind": "正例",
      "input": {
        "request_fc": 3,
        "pdu": "83 7F"
      },
      "expected": {
        "kind": "exception",
        "request_fc": 3,
        "exception_code": 127,
        "name": "未知异常码"
      }
    },
    {
      "case_id": "异常多字节",
      "kind": "显式负例",
      "input": {
        "request_fc": 3,
        "pdu": "83 02 00"
      },
      "expected_error": "异常PDU应为两字节"
    },
    {
      "case_id": "请求功能不符",
      "kind": "显式负例",
      "input": {
        "request_fc": 4,
        "pdu": "83 02"
      },
      "expected_error": "原始功能码不匹配"
    }
  ]
}
