chanmin0723's picture
Initial obcon SCADA deploy
e4bf523
Raw
History Blame Contribute Delete
7.79 kB
'use strict'
/**
* Copyright (c) 2017~2021, OBCon Inc.
* All rights reserved.
*/
/**
* @file
* @copyright 2017~2021, OBCon Inc.
* @author gye hyun james kim [pnuskgh@gmail.com]
*/
const Sequelize = require('sequelize'); //--- http://docs.sequelizejs.com/
const Model = utils.getClass('include', 'model.js');
class DevicedataAsModel extends Model {
constructor() {
super();
this._title = '두께측정장비';
if ((config.service.name == 'service_scada_caprotec') || (config.service.name == 'service_scada_ursc')) {
this._title = '두께측정장치';
}
this._database = db.db_scada;
this._tableName = 'devicedataA';
this._define = config.databases.scada.define;
this._timestamps = false; //--- createdAt, updatedAt 필드를 사용하지 않는다.
}
get fields() {
return {
siteKey: { //--- 사이트 아이디
type: Sequelize.STRING(8),
allowNull: false,
unique: false,
validate: {
},
title: '사이트',
strType: 'string'
},
type: { //--- 단말기 타입
type: Sequelize.STRING(2),
allowNull: false,
defaultValue: '8',
validate: {
},
title: '단말기 타입',
strType: 'select',
enum: this.getTypeEnum()
},
deviceKey: { //--- 장비 아이디, RTU ID
type: Sequelize.STRING(8),
allowNull: false,
unique: false,
validate: {
},
title: '아이디',
strType: 'string'
},
statusDatetime: { //--- 장비 상태 수집 일자 (YYYYMMDDHHmmss)
type: Sequelize.STRING(14),
allowNull: true,
validate: {
},
title: '발생일자',
strType: 'string'
},
dataMode: {
type: Sequelize.STRING(1),
allowNull: true,
validate: {
},
title: '데이터 모드',
strType: 'string',
enum: [
['3', '3. 통신주기(분)/수집주기(분)'],
['5', '5. 통신주기(시)/수집주기(분)'],
['6', '6. 통신주기(시)/수집주기(시)']
]
},
dataCycle: {
type: Sequelize.INTEGER(2),
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '수집 주기',
strType: 'integer'
},
networkCycle: {
type: Sequelize.INTEGER(2),
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '통신 주기',
strType: 'integer'
},
ai1: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 1 두께',
strType: 'float'
},
ai2: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 2 두께',
strType: 'float'
},
ai3: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 3 두께',
strType: 'float'
},
ai4: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 4 두께',
strType: 'float'
},
ai5: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 1 신호세기',
strType: 'float'
},
ai6: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 2 신호세기',
strType: 'float'
},
ai7: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 3 신호세기',
strType: 'float'
},
ai8: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 4 신호세기',
strType: 'float'
},
ai9: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 1 온도',
strType: 'float'
},
ai10: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 2 온도',
strType: 'float'
},
ai11: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 3 온도',
strType: 'float'
},
ai12: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '센서 4 온도',
strType: 'float'
},
ai13: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '에러 코드',
strType: 'float'
},
batteryVoltage: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '배터리 전압',
strType: 'float'
},
sensitivity: {
type: Sequelize.FLOAT,
allowNull: true,
defaultValue: 0.0,
validate: {
},
title: '수신 감도',
strType: 'float'
}
};
}
}
module.exports = DevicedataAsModel;