WKDB


该数据库驱动为mysql数据库驱动

一、通道配置
1、通讯配置    
    无需设置

2、驱动属性配置
    数据库名字
    服务器IP
    端口号
    用户名
    密码
    存储天数
    是否覆盖                0:不覆盖; 1:覆盖
    数据未读取时是否存储    0:不存储; 1:存储

二、设备配置
1、基本信息
    无需配置基本信息

2、存储点表组
    采集点名        点击关联到需要转发的点
    变量名        变量名
    变量描述        变量描述
    数据库点的ID    数据库中用于匹配该点的ID索引号,应为唯一标识,为索引表的主键.
                数据库ID设置为0时表示不处理,不存储该数据点
                数据库点的ID应设置为正数,并且不能重复
    存储类型        数据表分为3种类型,分别是如下三种类型:
                0:INT,整型数,数据范围为-2147483648~2147483647;
                1:DOUBLE,双精度浮点型,数值范围为-1.79769313486232E308 到1.79769313486232E308
                2:VARCHAR(200),字符串,最大可保存200字符
    变化存储        数据变化存储的标志位,表示数值发生变化时是否存储该数值
                0:数值发生变化时不会存储
                1:当数值发生变化且变化幅度超过设置的“变化幅度”时会存储此值
    变化幅度        默认值为5,表示当数据变化超过5%时会存储此值,只有当"变化存储"参数设置为"1"时此参数有效
                当变化幅度设置为0时,时标的变化或者数值的变化均会写入数据库
                当变化幅度非0时,只有当数值变化超过变化幅度时才会写入数据库

    周期存储        数据周期存储的标志位,表示数值是否按照周期存储的方式存储数值
                0:不需要周期存储数值
                1:按照设定的“周期”参数定时向数据库写入数据
    周期(ms)        默认为60000,表示一分钟存储一次数值,只有当"周期存储"参数设置为"1"时此参数生效
    小数点位数    当"存储类型"设置为"1"时,此参数生效,表示存储期望的小数位数;
                为负数时不处理,存储实际值
                为非负数时会按照期望的小数位数对实际值进行处理,存储处理后的数值
    按天存储        是否需要每天存储一次,存储在日数据表中. 0:不按天存储; 1:按天存储
    按月存储        是否需要每月存储一次,存储在月数据表中. 0:不按月存储; 1:按月存储
    一到十级逻辑节点描述    用户可以自定义设置描述




    if (precision<0)
    {
        不处理小数,存储实际值
    }else{
        按照期望的小数存储,小数不足会在后边填充0
        为0时舍去所有小数,为正数时表示保存几位小数,小数不足会在后边填充0
        QString::number(dValue,'d',((CDBPoint *)pDBPointBase)->m_nprecision)
    }


-- MySQL Script generated by MySQL Workbench
-- 2020年03月16日 星期一 17时19分29秒
-- Model: New Model    Version: 1.0
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema wkdb
-- -----------------------------------------------------
DROP SCHEMA IF EXISTS `wkdb` ;

-- -----------------------------------------------------
-- Schema wkdb
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `wkdb` DEFAULT CHARACTER SET utf8 ;
USE `wkdb` ;

-- -----------------------------------------------------
-- Table `wkdb`.`TagIndex`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `wkdb`.`TagIndex` ;

CREATE TABLE IF NOT EXISTS `wkdb`.`TagIndex` (
  `ID` INT NOT NULL COMMENT '点ID',
  `TagName` VARCHAR(200) NULL COMMENT '变量名称',
  `TableType` INT NULL COMMENT '存储类型: 0:int; 1:float; 2:string',
  `ChSS` INT NULL COMMENT '变化存储使能标志',
  `ChSR` FLOAT NULL COMMENT '变化幅度',
  `CySS` INT NULL COMMENT '周期存储使能标志',
  `CySC` INT NULL COMMENT '数据存储周期(ms)',
  PRIMARY KEY (`ID`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = '索引表,物理索引表,通道.设备.点名等'
PACK_KEYS = DEFAULT;


-- -----------------------------------------------------
-- Table `wkdb`.`DV`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `wkdb`.`DV` ;

CREATE TABLE IF NOT EXISTS `wkdb`.`DV` (
  `ID` INT NOT NULL COMMENT '点ID',
  `V` DOUBLE NULL COMMENT '历史数值',
  `DT1` DATETIME NOT NULL COMMENT '存储时间',
  `DT2` DATETIME NULL COMMENT '数据采集时间',
  PRIMARY KEY (`ID`, `DT1`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = '日数据表\n';


-- -----------------------------------------------------
-- Table `wkdb`.`MV`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `wkdb`.`MV` ;

CREATE TABLE IF NOT EXISTS `wkdb`.`MV` (
  `ID` INT NOT NULL,
  `V` DOUBLE NULL,
  `DT1` DATETIME NOT NULL,
  `DT2` DATETIME NULL,
  PRIMARY KEY (`ID`, `DT1`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = '月数据表\n';


-- -----------------------------------------------------
-- Table `wkdb`.`LND`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `wkdb`.`LND` ;

CREATE TABLE IF NOT EXISTS `wkdb`.`LND` (
  `ID` INT NOT NULL COMMENT '点ID\n',
  `D1` VARCHAR(200) NULL,
  `D2` VARCHAR(200) NULL,
  `D3` VARCHAR(200) NULL,
  `D4` VARCHAR(200) NULL,
  `D5` VARCHAR(200) NULL,
  `D6` VARCHAR(200) NULL,
  `D7` VARCHAR(200) NULL,
  `D8` VARCHAR(200) NULL,
  `D9` VARCHAR(200) NULL,
  `D10` VARCHAR(200) NULL,
  PRIMARY KEY (`ID`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = '逻辑节点描述索引表,表示层级结构,逻辑描述,Logical description';


-- -----------------------------------------------------
-- Table `wkdb`.`F20200312`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `wkdb`.`F20200312` ;

CREATE TABLE IF NOT EXISTS `wkdb`.`F20200312` (
  `ID` INT NULL COMMENT '点ID',
  `V` DOUBLE NULL COMMENT '历史数值',
  `DT1` DATETIME NULL COMMENT '周期存储时该时间为整周期时间;\n变化存储时该时间为写入数据库当前时间',
  `DT2` DATETIME NULL COMMENT '数据采集时间即数据最后一次更新时的时间',
  `I` INT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`I`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = '浮点数类型数据表,double类型\n';


-- -----------------------------------------------------
-- Table `wkdb`.`I20200312`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `wkdb`.`I20200312` ;

CREATE TABLE IF NOT EXISTS `wkdb`.`I20200312` (
  `ID` INT NULL COMMENT '点ID',
  `V` INT NULL COMMENT '历史数值',
  `DT1` DATETIME NULL COMMENT '周期存储时该时间为整周期时间;\n变化存储时该时间为写入数据库当前时间',
  `DT2` DATETIME NULL COMMENT '数据采集时间即数据最后一次更新时的时间',
  `I` INT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`I`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = '整型数类型数据表\n';


-- -----------------------------------------------------
-- Table `wkdb`.`S20200312`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `wkdb`.`S20200312` ;

CREATE TABLE IF NOT EXISTS `wkdb`.`S20200312` (
  `ID` INT NULL COMMENT '点ID',
  `V` VARCHAR(200) NULL COMMENT '历史数值',
  `DT1` DATETIME NULL COMMENT '周期存储时该时间为整周期时间;\n变化存储时该时间为写入数据库当前时间',
  `DT2` DATETIME NULL COMMENT '数据采集时间即数据最后一次更新时的时间',
  `I` INT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`I`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = '字符串类型数据表\n';

results matching ""

    No results matching ""