{
  "id": "33239302-4c78-41d4-81c5-dd39793bb371",
  "name": "318F",
  "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
    }
  }
}