{
  "id": "6d27d267-23f1-418a-966d-9eea8a2bfefc",
  "name": "HDM-2278",
  "expands": { "deviceType": "tm" },
  "properties": [
    {
      "id": "coil1",
      "name": "DO1",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "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": "coil2",
      "name": "DO2",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "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": "coil3",
      "name": "DO3",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "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": "coil4",
      "name": "DO4",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 4,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil5",
      "name": "DO5",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 5,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil6",
      "name": "DO6",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 6,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil7",
      "name": "DO7",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 7,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil8",
      "name": "DO8",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 8,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil9",
      "name": "DO9",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 9,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil10",
      "name": "DO10",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 10,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil11",
      "name": "DO11",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 11,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "coil12",
      "name": "DO12",
      "accessMode": "rw",
      "dataType": {
        "type": "boolean",
        "trueText": "开启",
        "falseText": "关闭",
        "trueValue": "1",
        "falseValue": "0"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 12,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ai1",
      "name": "AI1",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "20000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 13,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ai2",
      "name": "AI2",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "20000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 14,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ao1",
      "name": "AO1",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "20000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 15,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ao2",
      "name": "AO2",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "20000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 16,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ao3",
      "name": "AO3\n(无电压输出，仅存储值)",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "20000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": true,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 17,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ao4",
      "name": "AO4\n(无电压输出，仅存储值)",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "20000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": true,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 18,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "pwm1",
      "name": "PWM1",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "100",
        "step": "1",
        "unit": "%"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 19,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "pwm2",
      "name": "PWM2",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "100",
        "step": "1",
        "unit": "%"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 20,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ntc1",
      "name": "NTC采集1",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "-400",
        "max": "1000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": true,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 21,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ntc2",
      "name": "NTC采集2",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "-400",
        "max": "1000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": true,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 22,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ntc3",
      "name": "NTC采集3",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "-400",
        "max": "1000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": true,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 23,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ntc4",
      "name": "NTC采集4",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "-400",
        "max": "1000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": true,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 24,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ntc5",
      "name": "NTC采集5",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "-400",
        "max": "1000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": true,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 25,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ntc6",
      "name": "NTC采集6",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "-400",
        "max": "1000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": true,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 26,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "ntc7",
      "name": "NTC采集7",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "-400",
        "max": "1000",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": true,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 27,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "address",
      "name": "软件地址",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "230",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 28,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "baudRate",
      "name": "波特率",
      "accessMode": "rw",
      "dataType": {
        "type": "enum",
        "elements": [
          {
            "value": "0",
            "key": "",
            "text": "4800"
          },
          {
            "value": "1",
            "key": "",
            "text": "9600"
          },
          {
            "value": "2",
            "key": "",
            "text": "19200"
          },
          {
            "value": "3",
            "key": "",
            "text": "38400"
          },
          {
            "value": "4",
            "key": "",
            "text": "57600"
          },
          {
            "value": "5",
            "key": "",
            "text": "115200"
          }
        ]
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 29,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0,
        "b": 0
      },
      "remark": ""
    },
    {
      "id": "version",
      "name": "版本号",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "65534",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 30,
        "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
    }
  }
}
