{
  "id": "148cf85a-3724-457b-8229-953f9cd5bd27",
  "name": "MWP-224P",
  "expands": {
    "deviceType": "tm",
    "batchread": [
      {
        "DOMin": 0,
        "DOMax": 7,
        "DIMin": 0,
        "DIMax": 7,
        "AOMin": 50,
        "AOMax": 57
      },
      {
        "AOMin": 0,
        "AOMax": 3
      }
    ]
  },
  "properties": [
    {
      "id": "coil1",
      "name": "线圈控制1(DO)",
      "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": "线圈控制2(DO)",
      "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": "线圈控制3(DO)",
      "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": "线圈控制4(DO)",
      "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": "线圈控制5(DO)",
      "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": "线圈控制6(DO)",
      "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": "线圈控制7(DO)",
      "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": "线圈控制8(DO)",
      "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": "discreteInput1",
      "name": "离散量输入1(DI)",
      "accessMode": "r",
      "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": "离散量输入2(DI)",
      "accessMode": "r",
      "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": "离散量输入3(DI)",
      "accessMode": "r",
      "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": "离散量输入4(DI)",
      "accessMode": "r",
      "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": "离散量输入5(DI)",
      "accessMode": "r",
      "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": "离散量输入6(DI)",
      "accessMode": "r",
      "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": "离散量输入7(DI)",
      "accessMode": "r",
      "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": "离散量输入8(DI)",
      "accessMode": "r",
      "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": "analogInput1",
      "name": "模拟量输入1(AI)",
      "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": 54,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "analogInput2",
      "name": "模拟量输入2(AI)",
      "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": 55,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "analogInput3",
      "name": "模拟量输入3(AI)",
      "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": 56,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "analogInput4",
      "name": "模拟量输入4(AI)",
      "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": 57,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "analogOutput1",
      "name": "模拟量输出1(AO)",
      "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": 0,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "analogOutput2",
      "name": "模拟量输出2(AO)",
      "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": 1,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "analogOutput3",
      "name": "模拟量输出3(AO)",
      "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": 2,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "analogOutput4",
      "name": "模拟量输出4(AO)",
      "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": 3,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "pt100-1",
      "name": "PT100(1)",
      "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": 50,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "pt100-2",
      "name": "PT100(2)",
      "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": 51,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "pt100-3",
      "name": "PT100(3)",
      "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": 52,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "pt100-4",
      "name": "PT100(4)",
      "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": 53,
        "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
    }
  }
}