0623更新

main
ZHANGXUXU\95193 6 months ago
parent 88d82f5257
commit ac858950e1

@ -6,6 +6,7 @@ from model.ProjectModel.VarManage import *
from UI.VarManages.ModbusModel import *
from utils import Globals
class HartModel(VarTableModel):
def __init__(self, header, data: list, table = None):
'''
@ -19,14 +20,14 @@ class HartModel(VarTableModel):
self.datas = []
varDatas = HartVarManage.getAllVar()
if not varDatas:
# self.layoutChanged.emit()
self.table.proxy.invalidate()
return
for x in varDatas:
for i in range(3, 9):
for i in range(3, 8):
x.insert(i, '')
x.append('')
self.datas.append(x)
self.checkList = ['Unchecked'] * len(self.datas)
# self.layoutChanged.emit()

@ -18,8 +18,7 @@ class HartSimulateModel(VarTableModel):
def initTable(self):
self.datas = []
# varDatas = None
# if proType in ['9']:
varDatas = HartSimulateVarManage.getAllVar()
@ -28,8 +27,9 @@ class HartSimulateModel(VarTableModel):
self.table.proxy.invalidate()
return
for x in varDatas:
for i in range(3, 10):
for i in range(3, 9):
x.insert(i, '')
x.append('')
self.datas.append(x)
self.checkList = ['Unchecked'] * len(self.datas)
# self.layoutChanged.emit()
@ -158,9 +158,6 @@ class HartSimulateButtonDelegate(VarButtonDelegate):
def start_action(self):
sender = self.sender()
model = self.parent().model
# value2 = model.datas[sender.index[0]][4]
# value3 = model.datas[sender.index[0]][5]
# value4 = model.datas[sender.index[0]][5]
value1 = model.datas[sender.index[0]][3]
minSpan = model.datas[sender.index[0]][7]
maxSpan = model.datas[sender.index[0]][8]

@ -1,4 +1,6 @@
from ast import Mod
from math import comb
import typing
import sys
from numpy import var
@ -283,7 +285,7 @@ class VarButtonDelegate(QItemDelegate):
comboBox.index = [index.row(), index.column()]
data = self.parent().model.datas[index.row()]
for x in data[:-2]:
for x in data[:-3]:
if x != '':
break
else:
@ -375,31 +377,21 @@ class VarButtonDelegate(QItemDelegate):
fucationDelegate = self.parent().itemDelegate(fucationIndex)
fucationCheckbox = getattr(fucationDelegate, fucationCbRow)
varModelCbRow = str('cb' + str(sender.index[0]) + str(10))
varModelIndex = self.parent().model.index(sender.index[0], 10)
varModelDelegate = self.parent().itemDelegate(varModelIndex)
varModelCheckbox = getattr(varModelDelegate, varModelCbRow)
if sender.isEdit:
sender.setIcon(qtawesome.icon('fa.save', color='#1fbb6f'))
sender.isEdit = False
sender.oldName = model.datas[sender.index[0]][3]
model.editableList.append(sender.index[0])
fucationCheckbox.setEnabled(True)
varModelCheckbox.setEnabled(True)
self.parent().viewport().update()
else:
varMes = model.datas[sender.index[0]]
name, des, varType, slaveID, address, min, max, varModel, order = str(varMes[3]), str(varMes[4]), str(varMes[5]), str(varMes[6]), str(varMes[7]), str(varMes[8]), str(varMes[9]), str(varMes[10]), str(varMes[-1])
# print(name, des, varType, slaveID, address, min, max, order)
name, des, varType, slaveID, address, min, max, varModel, order = str(varMes[3]), str(varMes[4]), str(varMes[5]), str(varMes[6]), str(varMes[7]), str(varMes[8]), str(varMes[9]), str(varMes[-2]), str(varMes[-1])
if varType == '':
varType = 0
if varModel == '':
varModel = 0
if not name:
reply = QMessageBox.question(self.parent(),
'警告',
@ -426,6 +418,7 @@ class VarButtonDelegate(QItemDelegate):
sender.setIcon(qtawesome.icon('fa.pencil', color='#4c8cf2'))
rowIndex = sender.index[0]
varMes = ModbusVarManage.getByName(name, modbusType)
varMes.append('本地值')
varMes.append('int')
varMes.insert(1, '')
varMes.insert(2, '')
@ -434,7 +427,7 @@ class VarButtonDelegate(QItemDelegate):
sender.isEdit = True
fucationCheckbox.setEnabled(False)
varModelCheckbox.setEnabled(False)
# varModelCheckbox.setEnabled(False)
model.editableList.remove(sender.index[0])
self.parent().viewport().update()
@ -512,36 +505,32 @@ class ModbusTypeBox(QItemDelegate):
self.parent().model.datas[sender.index[0]][sender.index[1]] = index
class VarModelBox(QItemDelegate):
class ModbusVarModelBox(QItemDelegate):
def __init__(self, parent=None, comBoxColumn = 10):
super(VarModelBox, self).__init__(parent)
super(ModbusVarModelBox, self).__init__(parent)
self.comBoxColumn = comBoxColumn
def paint(self, painter, option, index):
#本地值、模拟值、远程值 对应 0, 1, 2
if (index.column() == self.comBoxColumn) and index.row() not in self.parent().model.editableList:
if (index.column() == self.comBoxColumn) and not self.parent().indexWidget(index):
data = self.parent().model.datas[index.row()]
comBox = str('cb' + str(index.row()) + str(index.column()))
setattr(self, comBox, QComboBox())
comboBox = getattr(self, comBox)
comboBox = QComboBox(self.parent())
items = ['本地值', '模拟值', '远程值']
comboBox.addItems(items)
comboxIndex = self.parent().model.datas[index.row()][index.column()]
if comboxIndex in [0, 1, 2]:
comboBox.setCurrentIndex(int(comboxIndex))
else:
comboBox.setCurrentIndex(0)
comboBox.setCurrentText(str(self.parent().model.datas[index.row()][index.column()]))
comboBox.currentIndexChanged.connect( self.indexChange)
comboBox.setObjectName('ModbusTypeBox')
comboBox.setEditable(True)
comboBox.lineEdit().setAlignment(Qt.AlignCenter)
# comboBox.setMinimumWidth(200)
# comboBox.setEnabled(False)
hboxLayout = QHBoxLayout()
hboxLayout.addWidget(comboBox)
hboxLayout.setContentsMargins(0, 0, 0, 0)
# hboxLayout.setAlignment(Qt.AlignCenter)
comboBox.index = [index.row(), index.column()]
row = index.row()
if row % 2 == 0:
@ -549,10 +538,6 @@ class VarModelBox(QItemDelegate):
else:
comboBox.setStyleSheet("QComboBox { background-color: #e9e7e3; height: 40px; }")
if str(data[index.column()]):
comboBox.setEnabled(False)
else:
comboBox.setEnabled(True)
widget = QWidget()
widget.setLayout(hboxLayout)
self.parent().setIndexWidget(
@ -561,7 +546,62 @@ class VarModelBox(QItemDelegate):
)
self.parent().openPersistentEditor(index)
def indexChange(self):
sender = self.sender()
modbusType = self.parent().modbusType
index = sender.currentIndex()
text = sender.itemText(index)
name = self.parent().model.datas[sender.index[0]][3]
ModbusVarManage.editVarModel(name, text, modbusType)
self.parent().model.datas[sender.index[0]][sender.index[1]] = text
class HartVarModelBox(ModbusVarModelBox):
def __init__(self, parent=None, comBoxColumn = 8):
super(HartVarModelBox, self).__init__(parent)
self.comBoxColumn = comBoxColumn
def indexChange(self):
sender = self.sender()
index = sender.currentIndex()
text = sender.itemText(index)
name = self.parent().model.datas[sender.index[0]][1]
HartVarManage.editVarModel(name, text)
self.parent().model.datas[sender.index[0]][sender.index[1]] = text
class TcRtdVarModelBox(ModbusVarModelBox):
def __init__(self, parent=None, comBoxColumn = 9):
super(TcRtdVarModelBox, self).__init__(parent)
self.comBoxColumn = comBoxColumn
def indexChange(self):
sender = self.sender()
index = sender.currentIndex()
self.parent().model.datas[sender.index[0]][sender.index[1]] = index
text = sender.itemText(index)
name = self.parent().model.datas[sender.index[0]][3]
TcRtdManage.editVarModel(name, text)
self.parent().model.datas[sender.index[0]][sender.index[1]] = text
class AnalogVarModelBox(ModbusVarModelBox):
def __init__(self, parent=None, comBoxColumn = 8):
super(AnalogVarModelBox, self).__init__(parent)
self.comBoxColumn = comBoxColumn
def indexChange(self):
sender = self.sender()
index = sender.currentIndex()
text = sender.itemText(index)
name = self.parent().model.datas[sender.index[0]][3]
AnalogManage.editVarModel(name, text, )
self.parent().model.datas[sender.index[0]][sender.index[1]] = text
class HartSimulateVarModelBox(ModbusVarModelBox):
def __init__(self, parent=None, comBoxColumn = 9):
super(HartSimulateVarModelBox, self).__init__(parent)
self.comBoxColumn = comBoxColumn
def indexChange(self):
sender = self.sender()
index = sender.currentIndex()
text = sender.itemText(index)
name = self.parent().model.datas[sender.index[0]][1]
HartSimulateVarManage.editVarModel(name, text)
self.parent().model.datas[sender.index[0]][sender.index[1]] = text

@ -13,7 +13,7 @@ from .HartSimulateModel import *
from .TCRTDModel import *
from model.ProjectModel.VarManage import *
from UI.VarManages.Thread import RTDTCThread, AnalogThread, HartSimulateThread
from utils import Globals
@ -80,7 +80,7 @@ class VarTableView(QTableView):
def setHeader(self):
self.setItemDelegateForColumn(11, VarButtonDelegate(self))
self.setItemDelegateForColumn(5, ModbusTypeBox(self))
self.setItemDelegateForColumn(10, VarModelBox(self, 10))
self.setItemDelegateForColumn(10, ModbusVarModelBox(self))
self.model = VarTableModel(['ID', '强制值', '当前值', '变量名', '变量描述', '变量类型',
'从站地址', '寄存器地址', '工程量下限', '工程量上限', '值类型', '操作'],
[], modbusType = self.modbusType, table = self)
@ -108,8 +108,9 @@ class HartTableView(VarTableView):
super(HartTableView, self).__init__(parent)
def setHeader(self):
self.setItemDelegateForColumn(8, HartButtonDelegate(self))
self.model = HartModel([' ID', '仪器名', '描述', '电流值', '参数1', '参数2','参数3', '参数4','操作'], [], table=self)
self.setItemDelegateForColumn(9, HartButtonDelegate(self))
self.setItemDelegateForColumn(8, HartVarModelBox(self))
self.model = HartModel([' ID', '仪器名', '描述', '电流值', '参数1', '参数2','参数3', '参数4', '值类型','操作'], [], table=self)
class TcRtdTableView(VarTableView):
@ -123,8 +124,9 @@ class TcRtdTableView(VarTableView):
# self.workThread.getValueList.connect(self.getValueList)
def setHeader(self):
self.setItemDelegateForColumn(9, TcRtdButtonDelegate(self))
self.model = TcRtdModel(['ID', '强制值', '当前值', '变量名', '变量描述', '变量类型', '工程量下限', '工程量上限', '补偿值', '操作'], [], table=self)
self.setItemDelegateForColumn(10, TcRtdButtonDelegate(self))
self.setItemDelegateForColumn(9, TcRtdVarModelBox(self))
self.model = TcRtdModel(['ID', '强制值', '当前值', '变量名', '变量描述', '变量类型', '工程量下限', '工程量上限', '补偿值', '值类型','操作'], [], table=self)
class AnalogTableView(VarTableView):
def __init__(self, parent=None):
@ -135,8 +137,9 @@ class AnalogTableView(VarTableView):
Globals.setValue('AnalogThread', self.workThread)
def setHeader(self):
self.setItemDelegateForColumn(8, AnalogButtonDelegate(self))
self.model = AnalogModel(['ID', '强制值', '当前值', '变量名', '变量描述', '变量类型', '工程量下限', '工程量上限', '操作'], [], table=self)
self.setItemDelegateForColumn(9, AnalogButtonDelegate(self))
self.setItemDelegateForColumn(8, AnalogVarModelBox(self))
self.model = AnalogModel(['ID', '强制值', '当前值', '变量名', '变量描述', '变量类型', '工程量下限', '工程量上限', '值类型', '操作'], [], table=self)
class HartSimulateTableView(VarTableView):
@ -148,5 +151,6 @@ class HartSimulateTableView(VarTableView):
Globals.setValue('HartSimulateThread', self.workThread)
def setHeader(self):
self.setItemDelegateForColumn(9, HartSimulateButtonDelegate(self))
self.model = HartSimulateModel([' ID', '仪器名', '描述', '主变量', '过程变量1', '过程变量2', '过程变量3', '工程量下限', '工程量上限', '操作'], [], table=self)
self.setItemDelegateForColumn(10, HartSimulateButtonDelegate(self))
self.setItemDelegateForColumn(9, HartSimulateVarModelBox(self))
self.model = HartSimulateModel([' ID', '仪器名', '描述', '主变量', '过程变量1', '过程变量2', '过程变量3', '工程量下限', '工程量上限', '值类型','操作'], [], table=self)

@ -207,7 +207,7 @@ class VarWidgets(QtWidgets.QWidget):
action.text(), action.isChecked()) for action in self.menuValues.actions()]))
def createVar(self):
self.varView.model.append_data(['', '', '', '', '', '', '', '', '', '', '','','int'])
self.varView.model.append_data(['', '', '', '', '', '', '', '', '', '', '','本地值','int'])
def forceVar(self):
check = [i for i,x in enumerate(self.varView.model.checkList) if x == 'Checked']

@ -1,7 +1,8 @@
import openpyxl
from utils.DBModels.ProtocolModel import ModbusTcpMasterVar, ModbusRtuMasterVar, ModbusRtuSlaveVar,\
ModbusTcpSlaveVar, HartVar, TcRtdVar, AnalogVar, FFSimulateVar, HartSimulateVar
ModbusTcpSlaveVar, HartVar, TcRtdVar, AnalogVar, HartSimulateVar
# ID 从站地址 变量名 变量描述 功能码 寄存器地址 工程量下限 工程量上限
@ -9,9 +10,9 @@ from utils.DBModels.ProtocolModel import ModbusTcpMasterVar, ModbusRtuMasterVar,
class ModbusVarManage(object):
ModBusVarClass = {
'ModbusTcpMaster': ModbusTcpMasterVar,
'ModbusTcpSlave': ModbusRtuMasterVar,
'ModbusRtuMaster': ModbusRtuSlaveVar,
'ModbusRtuSlave': ModbusTcpSlaveVar,
'ModbusTcpSlave': ModbusTcpSlaveVar,
'ModbusRtuMaster': ModbusRtuMasterVar,
'ModbusRtuSlave': ModbusRtuSlaveVar,
}
def __init__(self):
super().__init__()
@ -167,6 +168,12 @@ class ModbusVarManage(object):
name = str(name)
order = str(order)
self.getVarClass(modbusType).update(order = order).where(self.getVarClass(modbusType).varName == name).execute()
@classmethod
def editVarModel(self, name, varModel, modbusType):
name = str(name)
varModel = str(varModel)
self.getVarClass(modbusType).update(varModel = varModel).where(self.getVarClass(modbusType).varName == name).execute()
@classmethod
def getAllVar(self, modbusType):
@ -194,15 +201,15 @@ class HartVarManage(object):
super(HartVarManage, self).__init__()
@classmethod
def createVar(self, varName, des):
def createVar(self, varName, des, varModel):
# 创建变量
name = str(varName)
des = str(des)
if HartVar.getByName(name):
print('已有同名变量')
else:
varModel = HartVar()
varModel.createVar(varName = varName, des = des)
hartVarType = HartVar()
hartVarType.createVar(varName = varName, des = des, varModel = varModel)
@classmethod
def getAllVar(self):
@ -212,7 +219,7 @@ class HartVarManage(object):
return
l = []
for var in vars:
l.append([var.id, var.varName, var.description])
l.append([var.id, var.varName, var.description, var.varModel])
return l
@ -225,14 +232,15 @@ class HartVarManage(object):
@classmethod
def editVar(self, name, Nname, des):
def editVar(self, name, Nname, des, varModel):
# 修改变量信息
name = str(name)
Nname = str(Nname)
des = str(des)
varModel = str(varModel)
if Nname == name:
HartVar.update(varName = Nname, description = des).where(HartVar.varName == name).execute()
HartVar.update(varName = Nname, description = des, varModel = varModel).where(HartVar.varName == name).execute()
elif HartVar.getByName(Nname):
print('已有同名变量')
return
@ -240,21 +248,28 @@ class HartVarManage(object):
print('不存在的变量')
return
else:
HartVar.update(varName = Nname, description = des).where(HartVar.varName == name).execute()
HartVar.update(varName = Nname, description = des, varModel = varModel).where(HartVar.varName == name).execute()
@classmethod
def editVarModel(self, name, varModel):
name = str(name)
print('修改变量模型',name)
HartVar.update(varModel = str(varModel)).where(HartVar.varName == name).execute()
@classmethod
def getByName(self, name):
# 查询指定变量信息
var = HartVar.getByName(name)
if var:
varMes = [var.id, var.varName, var.description]
varMes = [var.id, var.varName, var.description, var.varModel]
[varMes.append('') for x in range(10)]
return varMes
else:
return False
def initVar(self):
self.createVar(varName='name', des='TC')
self.createVar(varName='name', des='TC', varModel='本地值')
class TcRtdManage(object):
@ -262,15 +277,16 @@ class TcRtdManage(object):
super(TcRtdManage, self).__init__()
@classmethod
def createVar(self, varName, varType, des, min, max, compensationVar):
def createVar(self, varName, varType, des, min, max, compensationVar, varModel):
# 创建变量
name = str(varName)
des = str(des)
varModel = str(varModel)
if TcRtdVar.getByName(name):
print('已有同名变量')
else:
varModel = TcRtdVar()
varModel.createVar(varName = varName, des = des, varType = varType, min = min, max = max, compensationVar = compensationVar)
tcRtdVarType = TcRtdVar()
tcRtdVarType.createVar(varName = varName, des = des, varType = varType, min = min, max = max, compensationVar = compensationVar, varModel = varModel)
@classmethod
def getAllVar(self):
@ -280,7 +296,7 @@ class TcRtdManage(object):
return
l = []
for var in vars:
l.append([var.id, var.varName, var.description, var.varType, var.min, var.max, var.compensationVar])
l.append([var.id, var.varName, var.description, var.varType, var.min, var.max, var.compensationVar, var.varModel])
return l
@ -293,7 +309,7 @@ class TcRtdManage(object):
@classmethod
def editVar(self, name, Nname, des, varType, min, max, compensationVar):
def editVar(self, name, Nname, des, varType, min, max, compensationVar, varModel):
# 修改变量信息
name = str(name)
Nname = str(Nname)
@ -302,8 +318,9 @@ class TcRtdManage(object):
min = str(min)
max = str(max)
compensationVar = str(compensationVar)
varModel = str(varModel)
if Nname == name:
TcRtdVar.update(varName=Nname, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar).where(TcRtdVar.varName == name).execute()
TcRtdVar.update(varName=Nname, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar, varModel = varModel).where(TcRtdVar.varName == name).execute()
elif TcRtdVar.getByName(Nname):
print('已有同名变量')
return
@ -311,7 +328,7 @@ class TcRtdManage(object):
print('不存在的变量')
return
else:
TcRtdVar.update(varName=Nname, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar).where(TcRtdVar.varName == name).execute()
TcRtdVar.update(varName=Nname, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar, varModel = varModel).where(TcRtdVar.varName == name).execute()
@classmethod
def getByName(self, name):
@ -319,7 +336,7 @@ class TcRtdManage(object):
var = TcRtdVar.getByName(name)
if var:
return [var.id, var.varName, var.description, var.varType, var.min, var.max, var.compensationVar]
return [var.id, var.varName, var.description, var.varType, var.min, var.max, var.compensationVar, var.varModel]
else:
return False
@ -327,30 +344,36 @@ class TcRtdManage(object):
# 创建变量
for i in range(1, 9):
name = 'Value' + str(i)
self.createVar(varName=name, varType='R', des='TC', min='100', max='200', compensationVar = '0')
self.createVar(varName=name, varType='R', des='TC', min='100', max='200', compensationVar = '0', varModel = '本地值')
for i in range(9, 17):
name = 'Value' + str(i)
self.createVar(varName=name, varType='PT100', des='RTD', min='100', max='200', compensationVar = '0')
self.createVar(varName=name, varType='PT100', des='RTD', min='100', max='200', compensationVar = '0', varModel = '本地值')
@classmethod
def editvarType(self, name, varType):
name = str(name)
TcRtdVar.update(varType = str(varType)).where(TcRtdVar.varName == name).execute()
@classmethod
def editVarModel(self, name, varModel):
name = str(name)
TcRtdVar.update(varModel = str(varModel)).where(TcRtdVar.varName == name).execute()
class AnalogManage(object):
def __init__(self):
super(AnalogManage, self).__init__()
@classmethod
def createVar(self, varName, varType, des, min, max):
def createVar(self, varName, varType, des, min, max, varModel):
# 创建变量
name = str(varName)
des = str(des)
varModel = str(varModel)
if AnalogVar.getByName(name):
print('已有同名变量')
else:
varModel = AnalogVar()
varModel.createVar(varName = varName, des = des, varType = varType, min = min, max = max)
analogVarType = AnalogVar()
analogVarType.createVar(varName = varName, des = des, varType = varType, min = min, max = max, varModel = varModel)
@classmethod
def getAllVar(self):
@ -360,7 +383,7 @@ class AnalogManage(object):
return
l = []
for var in vars:
l.append([var.id, var.varName, var.description, var.varType, var.min, var.max])
l.append([var.id, var.varName, var.description, var.varType, var.min, var.max, var.varModel])
return l
@ -373,7 +396,7 @@ class AnalogManage(object):
@classmethod
def editVar(self, name, Nname, des, varType, min, max):
def editVar(self, name, Nname, des, varType, min, max, varModel):
# 修改变量信息
name = str(name)
Nname = str(Nname)
@ -381,8 +404,9 @@ class AnalogManage(object):
varType = str(varType)
min = str(min)
max = str(max)
varModel = str(varModel)
if Nname == name:
AnalogVar.update(varName=Nname, description=des, varType=varType, min=min, max=max).where(AnalogVar.varName == name).execute()
AnalogVar.update(varName=Nname, description=des, varType=varType, min=min, max=max, varModel = varModel).where(AnalogVar.varName == name).execute()
elif AnalogVar.getByName(Nname):
print('已有同名变量')
return
@ -390,15 +414,19 @@ class AnalogManage(object):
print('不存在的变量')
return
else:
AnalogVar.update(varName=Nname, description=des, varType=varType, min=min, max=max).where(AnalogVar.varName == name).execute()
AnalogVar.update(varName=Nname, description=des, varType=varType, min=min, max=max, varModel = varModel).where(AnalogVar.varName == name).execute()
@classmethod
def editVarModel(self, name, varModel):
name = str(name)
AnalogVar.update(varModel = str(varModel)).where(AnalogVar.varName == name).execute()
@classmethod
def getByName(self, name):
# 查询指定变量信息
var = AnalogVar.getByName(name)
if var:
return [var.id, var.varName, var.description, var.varType, var.min, var.max]
return [var.id, var.varName, var.description, var.varType, var.min, var.max, var.varModel]
else:
return False
@ -407,117 +435,41 @@ class AnalogManage(object):
name = 'Value' + str(i)
if i < 5:
des = '有源4-20mA输出' + str(i)
self.createVar(varName=name, varType='AO', des=des, min='100', max='200')
self.createVar(varName=name, varType='AO', des=des, min='100', max='200', varModel = '本地值')
else:
des = '无源4-20mA输出' + str(i)
self.createVar(varName=name, varType='AO', des=des, min='100', max='200')
self.createVar(varName=name, varType='AO', des=des, min='100', max='200', varModel = '本地值')
for i in range(1, 9):
name = 'Value' + str(i + 8)
if i < 5:
des = '有源频率输出' + str(i)
self.createVar(varName=name, varType='Hz', des=des, min='100', max='200')
self.createVar(varName=name, varType='Hz', des=des, min='100', max='200', varModel = '本地值')
elif i < 7:
des = '无源NPN频率输出' + str(i)
self.createVar(varName=name, varType='Hz', des=des, min='100', max='200')
self.createVar(varName=name, varType='Hz', des=des, min='100', max='200', varModel = '本地值')
else:
des = '无源PNP频率输出' + str(i)
self.createVar(varName=name, varType='Hz', des=des, min='100', max='200')
self.createVar(varName=name, varType='Hz', des=des, min='100', max='200', varModel = '本地值')
for i in range(1, 9):
name = 'Value' + str(i + 16)
self.createVar(varName=name, varType='DO', des='DO', min='0', max='1')
class FFSimulateManage(object):
def __init__(self):
super(FFSimulateManage, self).__init__()
self.createVar(varName=name, varType='DO', des='DO', min='0', max='1', varModel = '本地值')
@classmethod
def createVar(self, varName, varType, des):
# 创建变量
name = str(varName)
des = str(des)
if FFSimulateVar.getByName(name):
print('已有同名变量')
else:
varModel = FFSimulateVar()
varModel.createVar(varName = varName, des = des, varType = varType)
@classmethod
def getAllVar(self):
# 查询所有变量
vars = FFSimulateVar.get_all()
if vars is 'error':
return
l = []
for var in vars:
l.append([var.id, var.varName, var.description, var.varType])
return l
@classmethod
def deleteVar(self, name):
# 删除变量
name = str(name)
# print(name)
FFSimulateVar.deleteVar(name = name)
@classmethod
def editVar(self, name, Nname, des, varType):
# 修改变量信息
name = str(name)
Nname = str(Nname)
des = str(des)
varType = str(varType)
if Nname == name:
FFSimulateVar.update(varName=Nname, description=des, varType=varType).where(FFSimulateVar.varName == name).execute()
elif FFSimulateVar.getByName(Nname):
print('已有同名变量')
return
elif not FFSimulateVar.getByName(name):
print('不存在的变量')
return
else:
FFSimulateVar.update(varName=Nname, description=des, varType=varType).where(FFSimulateVar.varName == name).execute()
@classmethod
def getByName(self, name):
# 查询指定变量信息
var = FFSimulateVar.getByName(name)
if var:
return [var.id, var.varName, var.description, var.varType]
else:
return False
def initVar(self):
for i in range(1, 9):
name = 'Value' + str(i)
if i < 5:
self.createVar(varName=name, varType='AI', des='AI')
else:
self.createVar(varName=name, varType='DI', des='DI')
for i in range(9, 17):
name = 'Value' + str(i)
if i < 13:
self.createVar(varName=name, varType='AO', des='AO')
else:
self.createVar(varName=name, varType='DO', des='DO')
class HartSimulateVarManage(object):
def __init__(self):
super(HartSimulateVarManage, self).__init__()
@classmethod
def createVar(self, varName, des):
def createVar(self, varName, des, varModel):
# 创建变量
name = str(varName)
des = str(des)
varModel = str(varModel)
if HartSimulateVar.getByName(name):
print('已有同名变量')
else:
varModel = HartSimulateVar()
varModel.createVar(varName = varName, des = des)
hartSimulateVarType = HartSimulateVar()
hartSimulateVarType.createVar(varName = varName, des = des,varModel = varModel)
@classmethod
def getAllVar(self):
@ -527,7 +479,7 @@ class HartSimulateVarManage(object):
return
l = []
for var in vars:
l.append([var.id, var.varName, var.description])
l.append([var.id, var.varName, var.description, var.varModel])
return l
@ -540,14 +492,14 @@ class HartSimulateVarManage(object):
@classmethod
def editVar(self, name, Nname, des):
def editVar(self, name, Nname, des, varModel):
# 修改变量信息
name = str(name)
Nname = str(Nname)
des = str(des)
if Nname == name:
HartSimulateVar.update(varName = Nname, description = des).where(HartSimulateVar.varName == name).execute()
HartSimulateVar.update(varName = Nname, description = des, varModel = varModel).where(HartSimulateVar.varName == name).execute()
elif HartSimulateVar.getByName(Nname):
print('已有同名变量')
return
@ -555,18 +507,22 @@ class HartSimulateVarManage(object):
print('不存在的变量')
return
else:
HartSimulateVar.update(varName = Nname, description = des).where(HartSimulateVar.varName == name).execute()
HartSimulateVar.update(varName = Nname, description = des, varModel = varModel).where(HartSimulateVar.varName == name).execute()
@classmethod
def editVarModel(self, name, varModel):
name = str(name)
HartSimulateVar.update(varModel = str(varModel)).where(HartSimulateVar.varName == name).execute()
@classmethod
def getByName(self, name):
# 查询指定变量信息
var = HartSimulateVar.getByName(name)
if var:
varMes = [var.id, var.varName, var.description]
varMes = [var.id, var.varName, var.description, var.varModel]
[varMes.append('') for x in range(10)]
return varMes
else:
return False
def initVar(self):
self.createVar(varName='name', des='TC')
self.createVar(varName='name', des='TC', varModel='本地值')

@ -1,5 +1,6 @@
import sys
import datetime
from numpy import var
from peewee import *
sys.path.append('../')
@ -133,6 +134,7 @@ class HartVar(BaseModel):
varName = CharField()
createTime = CharField()
description = CharField()
varModel = IntegerField()
# 查询变量是否存在
@classmethod
@ -149,17 +151,19 @@ class HartVar(BaseModel):
query.execute()
# 创建变量
def createVar(self, varName, des):
def createVar(self, varName, des, varModel):
self.varName = varName
self.description = des
self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
self.varModel = varModel
# print(self.createTime)
self.save()
def initVar(self, varName, des):
def initVar(self, varName, des, varModel):
self.varName = varName
self.description = des
self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
self.varModel = varModel
self.save()
@ -171,6 +175,7 @@ class TcRtdVar(BaseModel):
min = CharField()
max = CharField()
compensationVar = CharField()
varModel = IntegerField()
# 查询变量是否存在
@ -188,7 +193,7 @@ class TcRtdVar(BaseModel):
query.execute()
# 创建变量
def createVar(self, varName, des, varType, min, max, compensationVar):
def createVar(self, varName, des, varType, min, max, compensationVar, varModel):
self.varName = varName
self.description = des
self.varType = varType
@ -196,10 +201,11 @@ class TcRtdVar(BaseModel):
self.min = min
self.max = max
self.compensationVar = compensationVar
self.varModel = varModel
# print(self.createTime)
self.save()
def initVar(self, varName, des, varType, min, max, compensationVar):
def initVar(self, varName, des, varType, min, max, compensationVar, varModel):
self.varName = varName
self.description = des
self.varType = varType
@ -207,6 +213,7 @@ class TcRtdVar(BaseModel):
self.min = min
self.max = max
self.compensationVar = compensationVar
self.varModel = varModel
self.save()
class AnalogVar(BaseModel):
@ -216,6 +223,7 @@ class AnalogVar(BaseModel):
varType = IntegerField()
min = CharField()
max = CharField()
varModel = IntegerField()
# 查询变量是否存在
@classmethod
@ -232,68 +240,35 @@ class AnalogVar(BaseModel):
query.execute()
# 创建变量
def createVar(self, varName, des, varType, min, max):
def createVar(self, varName, des, varType, min, max, varModel):
self.varName = varName
self.description = des
self.varType = varType
self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
self.min = min
self.max = max
self.varModel = varModel
# print(self.createTime)
self.save()
def initVar(self, varName, des, varType, min, max):
def initVar(self, varName, des, varType, min, max, varModel):
self.varName = varName
self.description = des
self.varType = varType
self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
self.min = min
self.max = max
self.varModel = varModel
# print(self.createTime)
self.save()
class FFSimulateVar(BaseModel):
varName = CharField()
createTime = CharField()
description = CharField()
varType = IntegerField()
# 查询变量是否存在
@classmethod
def getByName(cls, varName):
try:
return cls.get(cls.varName == str(varName))
except:
return False
# 删除变量
@classmethod
def deleteVar(cls, name):
query = cls.delete().where(cls.varName == name)
query.execute()
# 创建变量
def createVar(self, varName, des, varType):
self.varName = varName
self.description = des
self.varType = varType
self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
# print(self.createTime)
self.save()
def initVar(self, varName, des, varType):
self.varName = varName
self.description = des
self.varType = varType
self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
# print(self.createTime)
self.save()
class HartSimulateVar(BaseModel):
varName = CharField()
createTime = CharField()
description = CharField()
varModel = IntegerField()
# 查询变量是否存在
@classmethod
@ -310,15 +285,17 @@ class HartSimulateVar(BaseModel):
query.execute()
# 创建变量
def createVar(self, varName, des):
def createVar(self, varName, des, varModel):
self.varName = varName
self.description = des
self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
self.varModel = varModel
# print(self.createTime)
self.save()
def initVar(self, varName, des):
def initVar(self, varName, des, varModel):
self.varName = varName
self.description = des
self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
self.varModel = varModel
self.save()
Loading…
Cancel
Save