新增单位列

main
ZHANGXUXU\95193 3 months ago
parent 31bf8e08b6
commit a03c9c0785

@ -41,7 +41,6 @@ class AnalogModel(VarTableModel):
proType = Globals.getValue('currentProType')
# if proType in ['6']:
varDatas = AnalogManage.getAllVar()
if not varDatas:
# self.layoutChanged.emit()
self.table.proxy.invalidate()
@ -144,7 +143,7 @@ class AnalogButtonDelegate(TcRtdButtonDelegate):
model.editableList.append(source_row)
else:
varMes = model.datas[source_row]
name,channelNumber, des, varType, min, max = str(varMes[3]), str(varMes[4]), str(varMes[5]),str(varMes[6]), str(varMes[7]), str(varMes[8])
name,channelNumber, des, varType, min, max, unit = str(varMes[3]), str(varMes[4]), str(varMes[5]),str(varMes[6]), str(varMes[7]), str(varMes[8]), str(varMes[9])
if not name or not varType:
reply = QMessageBox.question(self.parent(),
'警告',
@ -156,21 +155,21 @@ class AnalogButtonDelegate(TcRtdButtonDelegate):
if sender.oldName:
if sender.oldName == name:
AnalogManage.editVar(name=sender.oldName, Nname=name, channelNumber = channelNumber,
des=des, varType=varType, min=min, max=max)
des=des, varType=varType, min=min, max=max, unit=unit)
else:
if GlobalVarManager.isVarNameExist(name):
QMessageBox.information(self.parent(), '提示', '已有同名变量')
return
else:
AnalogManage.editVar(name=sender.oldName, Nname=name, channelNumber = channelNumber,
des=des, varType=varType, min=min, max=max)
des=des, varType=varType, min=min, max=max, unit=unit)
else:
if GlobalVarManager.isVarNameExist(name):
QMessageBox.information(self.parent(), '提示', '已有同名变量')
return
else:
AnalogManage.editVar(name=sender.oldName, Nname=name, channelNumber = channelNumber,
des=des, varType=varType, min=min, max=max)
des=des, varType=varType, min=min, max=max, unit=unit)
sender.setIcon(qtawesome.icon('fa.pencil', color='#4c8cf2'))
varMes = AnalogManage.getByName(name)

@ -606,7 +606,7 @@ class HartVarModelBox(ModbusVarModelBox):
self.parent().model.datas[sender.index[0]][sender.index[1]] = text
class TcRtdVarModelBox(ModbusVarModelBox):
def __init__(self, parent=None, comBoxColumn = 10):
def __init__(self, parent=None, comBoxColumn = 11):
super(TcRtdVarModelBox, self).__init__(parent)
self.comBoxColumn = comBoxColumn
def indexChange(self):
@ -619,7 +619,7 @@ class TcRtdVarModelBox(ModbusVarModelBox):
class AnalogVarModelBox(ModbusVarModelBox):
def __init__(self, parent=None, comBoxColumn = 9):
def __init__(self, parent=None, comBoxColumn = 10):
super(AnalogVarModelBox, self).__init__(parent)
self.comBoxColumn = comBoxColumn
def indexChange(self):

@ -42,7 +42,6 @@ class TcRtdModel(VarTableModel):
# proType = Globals.getValue('currentProType')
# if proType in ['5']:
varDatas = TcRtdManage.getAllVar()
if not varDatas:
# self.layoutChanged.emit()
self.table.proxy.invalidate()
@ -89,7 +88,7 @@ class TcRtdModel(VarTableModel):
varName = self.datas[QModelIndex.row()][3]
# print(self.valueCache.get(varName, None))
return self.valueCache.get(varName, None)
return QVariant(self.datas[QModelIndex.row()][QModelIndex.column()])
def flags(self, index):
@ -207,9 +206,8 @@ class TcRtdButtonDelegate(BaseButtonDelegate):
varType = model.datas[source_row][6]
min = model.datas[source_row][7]
max = model.datas[source_row][8]
compensation = model.datas[source_row][9]
compensation = model.datas[source_row][10]
pattern = re.compile(r'[^0-9\.-]+')
print(model.datas[source_row][3])
if not value or re.findall(pattern, str(value) + str(compensation)):
reply = QMessageBox.question(self.parent(),
'警告',
@ -274,7 +272,8 @@ class TcRtdButtonDelegate(BaseButtonDelegate):
model.editableList.append(source_row)
else:
varMes = model.datas[source_row]
name, channelNumber, des, varType, min, max, compensationVar = str(varMes[3]), str(varMes[4]), str(varMes[5]),str(varMes[6]), str(varMes[7]), str(varMes[8]), str(varMes[9])
print(varMes,2222)
name, channelNumber, des, varType, min, max, compensationVar, unit = str(varMes[3]), str(varMes[4]), str(varMes[5]),str(varMes[6]), str(varMes[7]), str(varMes[8]), str(varMes[10]), str(varMes[9])
if not name or not varType:
reply = QMessageBox.question(self.parent(),
'警告',
@ -286,14 +285,14 @@ class TcRtdButtonDelegate(BaseButtonDelegate):
if sender.oldName:
if sender.oldName == name:
TcRtdManage.editVar(name=sender.oldName, Nname=name, channelNumber = channelNumber, des=des,
varType=varType, min=min, max=max, compensationVar = compensationVar)
varType=varType, min=min, max=max, compensationVar = compensationVar, unit = unit)
else:
if GlobalVarManager.isVarNameExist(name):
QMessageBox.information(self.parent(), '提示', '已有同名变量')
return
else:
TcRtdManage.editVar(name=sender.oldName, Nname=name, channelNumber = channelNumber, des=des,
varType=varType, min=min, max=max, compensationVar = compensationVar)
varType=varType, min=min, max=max, compensationVar = compensationVar, unit = unit)
else:
if GlobalVarManager.isVarNameExist(name):
@ -301,13 +300,14 @@ class TcRtdButtonDelegate(BaseButtonDelegate):
return
else:
TcRtdManage.createVar(varName=name, channelNumber = channelNumber, varType=varType, des=des,
min=min, max=max, compensationVar = compensationVar)
min=min, max=max, compensationVar = compensationVar, unit = unit)
sender.setIcon(qtawesome.icon('fa.pencil', color='#4c8cf2'))
varMes = TcRtdManage.getByName(name)
varMes.insert(1, '')
varMes.insert(2, '')
varMes.append('')
print(varMes, 1111)
model.insert_data(varMes, source_row)
model.remove_row(source_row + 1)

@ -183,12 +183,12 @@ class TcRtdTableView(VarTableView):
# self.workThread.getValueList.connect(self.getValueList)
def setupColumnWidths(self):
self.header.setSectionResizeMode(QHeaderView.Stretch)
self.setCustomColumnWidths([1.2, 0.9, 0.9, 1, 1, 1, 1, 1, 1, 1, 1])
self.setCustomColumnWidths([1.2, 0.9, 0.9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
def setHeader(self):
self.setItemDelegateForColumn(11, TcRtdButtonDelegate(self))
self.setItemDelegateForColumn(10, TcRtdVarModelBox(self))
self.model = TcRtdModel([' ID', '强制值', '当前值', '变量名', '通道序号', '变量描述', '变量类型', '工程量下限', '工程量上限', '补偿值', '值类型','操作'], [], table=self)
self.setItemDelegateForColumn(12, TcRtdButtonDelegate(self))
self.setItemDelegateForColumn(11, TcRtdVarModelBox(self))
self.model = TcRtdModel([' ID', '强制值', '当前值', '变量名', '通道序号', '变量描述', '变量类型', '工程量下限', '工程量上限', '单位', '补偿值', '值类型', '操作', ], [], table=self)
class AnalogTableView(VarTableView):
def __init__(self, parent=None):
@ -202,12 +202,12 @@ class AnalogTableView(VarTableView):
self.setupColumnWidths()
def setupColumnWidths(self):
self.setCustomColumnWidths([0.8, 0.8, 0.8, 1.8, 1, 1.4, 0.8, 0.8, 1, 1, 1])
self.setCustomColumnWidths([0.8, 0.8, 0.8, 1.8, 1, 1.4, 0.8, 0.8, 1, 1, 1, 1])
def setHeader(self):
self.setItemDelegateForColumn(10, AnalogButtonDelegate(self))
self.setItemDelegateForColumn(9, AnalogVarModelBox(self))
self.model = AnalogModel([' ID', '强制值', '当前值', '变量名', '通道序号', '变量描述', '变量类型', '工程量下限', '工程量上限', '值类型', '操作'], [], table=self)
self.setItemDelegateForColumn(11, AnalogButtonDelegate(self))
self.setItemDelegateForColumn(10, AnalogVarModelBox(self))
self.model = AnalogModel([' ID', '强制值', '当前值', '变量名', '通道序号', '变量描述', '变量类型', '工程量下限', '工程量上限', '单位', '值类型', '操作'], [], table=self)
class HartSimulateTableView(VarTableView):

@ -339,7 +339,7 @@ class TcRtdManage(object):
super(TcRtdManage, self).__init__()
@classmethod
def createVar(self, varName, channelNumber, varType, des, min, max, compensationVar, varModel):
def createVar(self, varName, channelNumber, varType, des, min, max, compensationVar, varModel, unit):
# 创建变量
name = str(varName)
des = str(des)
@ -349,7 +349,7 @@ class TcRtdManage(object):
print('已有同名变量')
else:
tcRtdVarType = TcRtdVar()
tcRtdVarType.createVar(varName = varName, channelNumber=channelNumber, des = des, varType = varType, min = min, max = max, compensationVar = compensationVar, varModel = varModel)
tcRtdVarType.createVar(varName = varName, channelNumber=channelNumber, des = des, varType = varType, min = min, max = max, compensationVar = compensationVar, varModel = varModel, unit=unit)
# 操作后刷新缓存
refreshCache()
@ -361,7 +361,7 @@ class TcRtdManage(object):
return
l = []
for var in vars:
l.append([var.id, var.varName, var.channelNumber,var.description, var.varType, var.min, var.max, var.compensationVar, var.varModel])
l.append([var.id, var.varName, var.channelNumber,var.description, var.varType, var.min, var.max, var.unit, var.compensationVar, var.varModel])
return l
@ -376,7 +376,7 @@ class TcRtdManage(object):
@classmethod
def editVar(self, name, Nname, channelNumber, des, varType, min, max, compensationVar):
def editVar(self, name, Nname, channelNumber, des, varType, min, max, compensationVar, unit):
# 修改变量信息
name = str(name)
Nname = str(Nname)
@ -386,9 +386,10 @@ class TcRtdManage(object):
min = str(min)
max = str(max)
compensationVar = str(compensationVar)
unit = str(unit)
if Nname == name:
TcRtdVar.update(varName=Nname, channelNumber = channelNumber, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar).where(TcRtdVar.varName == name).execute()
TcRtdVar.update(varName=Nname, channelNumber = channelNumber, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar, unit = unit).where(TcRtdVar.varName == name).execute()
elif TcRtdVar.getByName(Nname):
print('已有同名变量')
return
@ -396,7 +397,7 @@ class TcRtdManage(object):
print('不存在的变量')
return
else:
TcRtdVar.update(varName=Nname, channelNumber = channelNumber, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar).where(TcRtdVar.varName == name).execute()
TcRtdVar.update(varName=Nname, channelNumber = channelNumber, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar, unit = unit).where(TcRtdVar.varName == name).execute()
# 操作后刷新缓存
refreshCache()
@ -406,7 +407,7 @@ class TcRtdManage(object):
var = TcRtdVar.getByName(name)
if var:
return [var.id, var.varName, var.channelNumber, var.description, var.varType, var.min, var.max, var.compensationVar, var.varModel]
return [var.id, var.varName, var.channelNumber, var.description, var.varType, var.min, var.max, var.unit, var.compensationVar, var.varModel]
else:
return False
@ -414,10 +415,10 @@ class TcRtdManage(object):
# 创建变量
for i in range(1, 9):
name = '热偶输出' + str(i)
self.createVar(varName=name, channelNumber=str(i), varType='R', des='TC', min='100', max='200', compensationVar = '0', varModel = '本地值')
self.createVar(varName=name, channelNumber=str(i), varType='R', des='TC', min='100', max='200', compensationVar = '0', varModel = '本地值', unit='')
for i in range(1, 9):
name = '热阻输出' + str(i)
self.createVar(varName=name, channelNumber=str(i), varType='PT100', des='RTD', min='100', max='200', compensationVar = '0', varModel = '本地值')
self.createVar(varName=name, channelNumber=str(i), varType='PT100', des='RTD', min='100', max='200', compensationVar = '0', varModel = '本地值', unit='')
@classmethod
def editvarType(self, name, varType):
@ -434,13 +435,13 @@ class TcRtdManage(object):
refreshCache()
@classmethod
def importVarForm(self, varName, channelNumber, varType, des, min, max, compensationVar, varModel):
def importVarForm(self, varName, channelNumber, varType, des, min, max, compensationVar, varModel, unit):
if TcRtdVar.getByName(varName):
# 如果变量已存在,更新其信息
TcRtdVar.update(channelNumber = channelNumber, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar).where(TcRtdVar.varName == varName).execute()
TcRtdVar.update(channelNumber = channelNumber, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar, unit = unit).where(TcRtdVar.varName == varName).execute()
else:
tcRtdVarType = TcRtdVar()
tcRtdVarType.createVar(varName = varName, channelNumber=channelNumber, des = des, varType = varType, min = min, max = max, compensationVar = compensationVar, varModel = varModel)
tcRtdVarType.createVar(varName = varName, channelNumber=channelNumber, des = des, varType = varType, min = min, max = max, compensationVar = compensationVar, varModel = varModel, unit = unit)
# 操作后刷新缓存
refreshCache()
@ -449,17 +450,18 @@ class AnalogManage(object):
super(AnalogManage, self).__init__()
@classmethod
def createVar(self, varName, channelNumber, varType, des, min, max, varModel):
def createVar(self, varName, channelNumber, varType, des, min, max, varModel, unit):
# 创建变量
name = str(varName)
channelNumber = str(channelNumber)
des = str(des)
varModel = str(varModel)
unit = str(unit)
# if AnalogVar.getByName(name):
# print('已有同名变量')
# else:
analogVarType = AnalogVar()
analogVarType.createVar(varName = varName, channelNumber = channelNumber, des = des, varType = varType, min = min, max = max, varModel = varModel)
analogVarType.createVar(varName = name, channelNumber = channelNumber, des = des, varType = varType, min = min, max = max, varModel = varModel, unit=unit)
# 操作后刷新缓存
refreshCache()
@ -471,7 +473,7 @@ class AnalogManage(object):
return
l = []
for var in vars:
l.append([var.id, var.varName, var.channelNumber, var.description, var.varType, var.min, var.max, var.varModel])
l.append([var.id, var.varName, var.channelNumber, var.description, var.varType, var.min, var.max, var.unit, var.varModel])
return l
@ -486,7 +488,7 @@ class AnalogManage(object):
@classmethod
def editVar(self, name, Nname, channelNumber, des, varType, min, max):
def editVar(self, name, Nname, channelNumber, des, varType, min, max, unit):
# 修改变量信息
name = str(name)
Nname = str(Nname)
@ -495,8 +497,9 @@ class AnalogManage(object):
varType = str(varType)
min = str(min)
max = str(max)
unit = str(unit)
if Nname == name:
AnalogVar.update(varName=Nname, channelNumber =channelNumber, description=des, varType=varType, min=min, max=max).where(AnalogVar.varName == name).execute()
AnalogVar.update(varName=Nname, channelNumber =channelNumber, description=des, varType=varType, min=min, max=max, unit = unit).where(AnalogVar.varName == name).execute()
elif AnalogVar.getByName(Nname):
print('已有同名变量')
return
@ -504,7 +507,7 @@ class AnalogManage(object):
print('不存在的变量')
return
else:
AnalogVar.update(varName=Nname, channelNumber =channelNumber, description=des, varType=varType, min=min, max=max).where(AnalogVar.varName == name).execute()
AnalogVar.update(varName=Nname, channelNumber =channelNumber, description=des, varType=varType, min=min, max=max, unit = unit).where(AnalogVar.varName == name).execute()
# 操作后刷新缓存
refreshCache()
@ -520,7 +523,7 @@ class AnalogManage(object):
var = AnalogVar.getByName(name)
if var:
return [var.id, var.varName, var. channelNumber, var.description, var.varType, var.min, var.max, var.varModel]
return [var.id, var.varName, var. channelNumber, var.description, var.varType, var.min, var.max, var.unit, var.varModel]
else:
return False
@ -528,41 +531,41 @@ class AnalogManage(object):
for i in range(1, 13):
name = '无源4-20mA输出通道' + str(i)
des = '无源4-20mA输出' + str(i)
self.createVar(varName=name, channelNumber= str(i), varType='AO', des=des, min='100', max='200', varModel = '本地值')
self.createVar(varName=name, channelNumber= str(i), varType='AO', des=des, min='100', max='200', varModel = '本地值', unit='mA')
for i in range(13, 17):
name = '有源4-20mA输出通道' + str(i)
des = '有源4-20mA输出' + str(i)
self.createVar(varName=name, channelNumber=str(i), varType='AO', des=des, min='100', max='200', varModel = '本地值')
self.createVar(varName=name, channelNumber=str(i), varType='AO', des=des, min='100', max='200', varModel = '本地值', unit='mA')
for i in range(1, 17):
name = '有源24V数字输出通道' + str(i)
des = '有源24V数字输出' + str(i)
self.createVar(varName=name, channelNumber=str(i), varType='DO', des=des, min='0', max='1', varModel = '本地值')
self.createVar(varName=name, channelNumber=str(i), varType='DO', des=des, min='0', max='1', varModel = '本地值', unit='V')
for i in range(1, 9):
name = '无源24V数字输入通道' + str(i)
des = '无源24V数字输入' + str(i)
self.createVar(varName=name, channelNumber=str(i), varType='DI', des=des, min='0', max='1', varModel = '本地值')
self.createVar(varName=name, channelNumber=str(i), varType='DI', des=des, min='0', max='1', varModel = '本地值', unit='V')
for i in range(9, 17):
name = '有源48V数字输入通道' + str(i)
des = '有源48V数字输入' + str(i)
self.createVar(varName=name, channelNumber=str(i), varType='DI', des=des, min='0', max='1', varModel = '本地值')
self.createVar(varName=name, channelNumber=str(i), varType='DI', des=des, min='0', max='1', varModel = '本地值', unit='V')
for i in range(1, 9):
name = '有源/无源4-20mA输入通道' + str(i)
des = '有源/无源4-20mA输入' + str(i)
self.createVar(varName=name, channelNumber=str(i), varType='AI', des=des, min='100', max='200', varModel = '本地值')
self.createVar(varName=name, channelNumber=str(i), varType='AI', des=des, min='100', max='200', varModel = '本地值', unit='mA')
@classmethod
def importVarForm(self, varName, channelNumber, varType, des, min, max, varModel):
def importVarForm(self, varName, channelNumber, varType, des, min, max, varModel, unit):
if AnalogVar.getByName(varName):
# 如果变量已存在,更新其信息
AnalogVar.update(channelNumber =channelNumber, description=des, varType=varType, min=min, max=max).where(AnalogVar.varName == varName).execute()
AnalogVar.update(channelNumber =channelNumber, description=des, varType=varType, min=min, max=max, unit = unit).where(AnalogVar.varName == varName).execute()
else:
analogVarType = AnalogVar()
analogVarType.createVar(varName = varName, channelNumber = channelNumber, des = des, varType = varType, min = min, max = max, varModel = varModel)
analogVarType.createVar(varName = varName, channelNumber = channelNumber, des = des, varType = varType, min = min, max = max, varModel = varModel,unit = unit)
# 操作后刷新缓存
refreshCache()

@ -177,7 +177,7 @@ class TcRtdVar(BaseModel):
max = CharField()
compensationVar = CharField()
varModel = IntegerField()
unit = CharField(default='')
# 查询变量是否存在
@classmethod
@ -194,7 +194,7 @@ class TcRtdVar(BaseModel):
query.execute()
# 创建变量
def createVar(self, varName, channelNumber, des, varType, min, max, compensationVar, varModel):
def createVar(self, varName, channelNumber, des, varType, min, max, compensationVar, varModel, unit=''):
self.varName = varName
self.channelNumber = channelNumber
self.description = des
@ -204,10 +204,11 @@ class TcRtdVar(BaseModel):
self.max = max
self.compensationVar = compensationVar
self.varModel = varModel
self.unit = unit
# print(self.createTime)
self.save()
def initVar(self, varName, channelNumber, des, varType, min, max, compensationVar, varModel):
def initVar(self, varName, channelNumber, des, varType, min, max, compensationVar, varModel, unit=''):
self.varName = varName
self.channelNumber = channelNumber
self.description = des
@ -217,6 +218,7 @@ class TcRtdVar(BaseModel):
self.max = max
self.compensationVar = compensationVar
self.varModel = varModel
self.unit = unit
self.save()
class AnalogVar(BaseModel):
@ -228,6 +230,7 @@ class AnalogVar(BaseModel):
min = CharField()
max = CharField()
varModel = IntegerField()
unit = CharField(default='')
# 查询变量是否存在
@classmethod
@ -244,7 +247,7 @@ class AnalogVar(BaseModel):
query.execute()
# 创建变量
def createVar(self, varName, channelNumber, des, varType, min, max, varModel):
def createVar(self, varName, channelNumber, des, varType, min, max, varModel, unit=''):
self.varName = varName
self.channelNumber = channelNumber
self.description = des
@ -253,10 +256,11 @@ class AnalogVar(BaseModel):
self.min = min
self.max = max
self.varModel = varModel
self.unit = unit
# print(self.createTime)
self.save()
def initVar(self, varName, channelNumber, des, varType, min, max, varModel):
def initVar(self, varName, channelNumber, des, varType, min, max, varModel, unit=''):
self.varName = varName
self.channelNumber = channelNumber
self.description = des
@ -265,6 +269,7 @@ class AnalogVar(BaseModel):
self.min = min
self.max = max
self.varModel = varModel
self.unit = unit
# print(self.createTime)
self.save()

Loading…
Cancel
Save