{
  "id": "2c78d5e3-c8bf-47f2-802f-19a2764da37c",
  "name": "MA01/MA02-XXCX0080",
  "expands": {
    "deviceType": "tm",
    "batchread": [
      {
        "AOMin": 1204,
        "AOMax": 1211,
        "DOMin": 0,
        "DOMax": 7,
        "DIMin": 0,
        "DIMax": 7
      },
      {
        "AOMin": 2012,
        "AOMax": 2027,
        "DOMin": 100,
        "DOMax": 107
      },
      {
        "AOMin": 1600,
        "AOMax": 1607
      },
      {
        "AOMin": 1400,
        "AOMax": 1407
      },
      {
        "AOMin": 2100,
        "AOMax": 2102
      },
      {
        "AOMin": 1304,
        "AOMax": 1325
      },
      {
        "AOMin": 1500,
        "AOMax": 1507
      }
    ]
  },
  "properties": [
    {
      "id": "coil1",
      "name": "DO1 状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 0,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil2",
      "name": "DO2 状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 1,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil3",
      "name": "DO3 状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 2,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil4",
      "name": "DO4 状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 3,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil5",
      "name": "DO5 状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 4,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil6",
      "name": "DO6 状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 5,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil7",
      "name": "DO7 状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 6,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil8",
      "name": "DO8 状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 7,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil1Memory",
      "name": "DO1 上电时的状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 100,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil2Memory",
      "name": "DO2 上电时的状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 101,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil3Memory",
      "name": "DO3 上电时的状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 102,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil4Memory",
      "name": "DO4 上电时的状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 103,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil5Memory",
      "name": "DO5 上电时的状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 104,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil6Memory",
      "name": "DO6 上电时的状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 105,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil7Memory",
      "name": "DO7 上电时的状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 106,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil8Memory",
      "name": "DO8 上电时的状态",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 1,
        "writeFlag": 5,
        "reportMethod": 2,
        "registerAddress": 107,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "discreteInput1",
      "name": "DI1 值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 2,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 0,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "discreteInput2",
      "name": "DI2 值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 2,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 1,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "discreteInput3",
      "name": "DI3 值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 2,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 2,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "discreteInput4",
      "name": "DI4 值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 2,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 3,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "discreteInput5",
      "name": "DI5 值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 2,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 4,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "discreteInput6",
      "name": "DI6 值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 2,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 5,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "discreteInput7",
      "name": "DI7 值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 2,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 6,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "discreteInput8",
      "name": "DI8 值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 2,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 7,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di1Count",
      "name": "DI1 计数值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1204,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di2Count",
      "name": "DI2 计数值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1205,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di3Count",
      "name": "DI3 计数值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1206,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di4Count",
      "name": "DI4 计数值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1207,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di5Count",
      "name": "DI5 计数值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1208,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di6Count",
      "name": "DI6 计数值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1209,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di7Count",
      "name": "DI7 计数值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1210,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di8Count",
      "name": "DI8 计数值",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1211,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do1Mode",
      "name": "DO1 工作模式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1400,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do2Mode",
      "name": "DO2 工作模式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1401,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do3Mode",
      "name": "DO3 工作模式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1402,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do4Mode",
      "name": "DO4 工作模式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1403,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do5Mode",
      "name": "DO5 工作模式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1404,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do6Mode",
      "name": "DO6 工作模式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1405,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do7Mode",
      "name": "DO7 工作模式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1406,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do8Mode",
      "name": "DO8 工作模式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1407,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do1PlWidth",
      "name": "DO1 脉冲宽度",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1500,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do2PlWidth",
      "name": "DO2 脉冲宽度",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1501,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do3PlWidth",
      "name": "DO3 脉冲宽度",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1502,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do4PlWidth",
      "name": "DO4 脉冲宽度",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1503,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do5PlWidth",
      "name": "DO5 脉冲宽度",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1504,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do6PlWidth",
      "name": "DO6 脉冲宽度",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1505,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do7PlWidth",
      "name": "DO7 脉冲宽度",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1506,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do8PlWidth",
      "name": "DO8 脉冲宽度",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1507,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di1CountMode",
      "name": "DI1 计数方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1318,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di2CountMode",
      "name": "DI2 计数方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1319,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di3CountMode",
      "name": "DI3 计数方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1320,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di4CountMode",
      "name": "DI4 计数方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1321,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di5CountMode",
      "name": "DI5 计数方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1322,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di6CountMode",
      "name": "DI6 计数方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1323,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di7CountMode",
      "name": "DI7 计数方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1324,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di8CountMode",
      "name": "DI8 计数方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "2",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1325,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di1Reset",
      "name": "DI1 计数值清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1304,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di2Reset",
      "name": "DI2 计数值清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1305,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di3Reset",
      "name": "DI3 计数值清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1306,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di4Reset",
      "name": "DI4 计数值清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1307,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di5Reset",
      "name": "DI5 计数值清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1308,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di6Reset",
      "name": "DI6 计数值清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1309,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di7Reset",
      "name": "DI7 计数值清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1310,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di8Reset",
      "name": "DI8 计数值清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "1",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1311,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di1ResetMode",
      "name": "DI1 设置清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "255",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1311,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di2ResetMode",
      "name": "DI2 设置清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "255",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1312,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di3ResetMode",
      "name": "DI3 设置清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "255",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1313,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di4ResetMode",
      "name": "DI4 设置清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "255",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1314,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di5ResetMode",
      "name": "DI5 设置清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "255",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1315,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di6ResetMode",
      "name": "DI6 设置清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "255",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1316,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di7ResetMode",
      "name": "DI7 设置清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "255",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1317,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "di8ResetMode",
      "name": "DI8 设置清零方式",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "255",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1318,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do1FollowDi",
      "name": "设置 DO1 跟随的通道",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "8",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1600,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do2FollowDi",
      "name": "设置 DO2 跟随的通道",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "8",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1601,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do3FollowDi",
      "name": "设置 DO3 跟随的通道",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "8",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1602,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do4FollowDi",
      "name": "设置 DO4 跟随的通道",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "8",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1603,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do5FollowDi",
      "name": "设置 DO5 跟随的通道",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "8",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1604,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do6FollowDi",
      "name": "设置 DO6 跟随的通道",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "8",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1605,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do7FollowDi",
      "name": "设置 DO7 跟随的通道",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "8",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1606,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "do8FollowDi",
      "name": "设置 DO8 跟随的通道",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "8",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 1607,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "version",
      "name": "固件版本",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 2012,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "address",
      "name": "模块软件地址",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "224",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 2027,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "reset",
      "name": "恢复默认参数",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 2025,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "restart",
      "name": "设备重启",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "65536",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 2026,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "check",
      "name": "检验方式",
      "accessMode": "rw",
      "dataType": {
        "type": "enum",
        "elements": [
          {
            "value": "0",
            "key": "",
            "text": "无校验"
          },
          {
            "value": "1",
            "key": "",
            "text": "奇校验"
          },
          {
            "value": "2",
            "key": "",
            "text": "偶校验"
          }
        ]
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 2102,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "baudRate",
      "name": "波特率代码",
      "accessMode": "rw",
      "dataType": {
        "type": "enum",
        "elements": [
          {
            "value": "0",
            "key": "",
            "text": "1200"
          },
          {
            "value": "1",
            "key": "",
            "text": "2400"
          },
          {
            "value": "2",
            "key": "",
            "text": "4800"
          },
          {
            "value": "3",
            "key": "",
            "text": "9600"
          },
          {
            "value": "4",
            "key": "",
            "text": "19200"
          },
          {
            "value": "5",
            "key": "",
            "text": "38400"
          },
          {
            "value": "6",
            "key": "",
            "text": "57600"
          },
          {
            "value": "7",
            "key": "",
            "text": "115200"
          }
        ]
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 2100,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    }
  ],
  "functions": [],
  "events": [],
  "protocol": {
    "type": "Modbus-Rtu",
    "expands": {
      "baudRate": 9600,
      "dataBits": 8,
      "startBits": 1,
      "stopBits": 1,
      "parity": 0
    }
  }
}