{
  "id": "412e1780-8546-4877-9d48-b2450867c8e6",
  "name": "DAM8888",
  "expands": {
    "deviceType": "tm",
    "batchread": [{
      "AOMin": 400,
      "AOMax": 407,
      "AIMin": 0,
      "AIMax": 7,
      "DOMin": 0,
      "DOMax": 7,
      "DIMin": 0,
      "DIMax": 7
    }, {
      "AOMin": 1000,
      "AOMax": 1004
    }]
  },
  "properties": [{
    "id": "coil1",
    "name": "线圈控制1",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 1,
      "writeFlag": 5,
      "reportMethod": 2,
      "registerAddress": 0,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "coil2",
    "name": "线圈控制2",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 1,
      "writeFlag": 5,
      "reportMethod": 2,
      "registerAddress": 1,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "coil3",
    "name": "线圈控制3",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 1,
      "writeFlag": 5,
      "reportMethod": 2,
      "registerAddress": 2,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "coil4",
    "name": "线圈控制4",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 1,
      "writeFlag": 5,
      "reportMethod": 2,
      "registerAddress": 3,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "coil5",
    "name": "线圈控制5",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 1,
      "writeFlag": 5,
      "reportMethod": 2,
      "registerAddress": 4,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "coil6",
    "name": "线圈控制6",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 1,
      "writeFlag": 5,
      "reportMethod": 2,
      "registerAddress": 5,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "coil7",
    "name": "线圈控制7",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 1,
      "writeFlag": 5,
      "reportMethod": 2,
      "registerAddress": 6,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "coil8",
    "name": "线圈控制8",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 1,
      "writeFlag": 5,
      "reportMethod": 2,
      "registerAddress": 7,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "discreteInput1",
    "name": "离散量输入1",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 2,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 0,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "discreteInput2",
    "name": "离散量输入2",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 2,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 1,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "discreteInput3",
    "name": "离散量输入3",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 2,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 2,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "discreteInput4",
    "name": "离散量输入4",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 2,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 3,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "discreteInput5",
    "name": "离散量输入5",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 2,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 4,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "discreteInput6",
    "name": "离散量输入6",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 2,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 5,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "discreteInput7",
    "name": "离散量输入7",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 2,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 6,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "discreteInput8",
    "name": "离散量输入8",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 2,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 7,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogInput1",
    "name": "模拟量输入1",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 4,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 0,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogInput2",
    "name": "模拟量输入2",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 4,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 1,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogInput3",
    "name": "模拟量输入3",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 4,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 2,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogInput4",
    "name": "模拟量输入4",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 4,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 3,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogInput5",
    "name": "模拟量输入5",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 4,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 4,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogInput6",
    "name": "模拟量输入6",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 4,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 5,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogInput7",
    "name": "模拟量输入7",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 4,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 6,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogInput8",
    "name": "模拟量输入8",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 4,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 7,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogOutput1",
    "name": "模拟量输出1",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 400,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogOutput2",
    "name": "模拟量输出2",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 401,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogOutput3",
    "name": "模拟量输出3",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 402,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogOutput4",
    "name": "模拟量输出4",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 403,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogOutput5",
    "name": "模拟量输出5",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 404,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "analogOutput6",
    "name": "模拟量输出6",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 405,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "analogOutput7",
    "name": "模拟量输出7",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 406,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "analogOutput8",
    "name": "模拟量输出8",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 407,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "baudRate",
    "name": "通信波特率",
    "accessMode": "rw",
    "dataType": {
      "type": "enum",
      "elements": [{
        "value": "0",
        "key": "",
        "text": "38400"
      }, {
        "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": "115200"
      }]
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 1000,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "offsetAddress",
    "name": "偏移地址",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 1002,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": "设备地址=偏移地址+拨码开关地址"
  },{
    "id": "workTimes",
    "name": "工作模式",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 1003,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": "设备地址=偏移地址+拨码开关地址"
  },{
    "id": "delayTimes",
    "name": "延迟时间",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "65536",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 1004,
      "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
    }
  }
}