diff --git a/UI/Main/Main.py b/UI/Main/Main.py index 52c7979..2a6e65d 100644 --- a/UI/Main/Main.py +++ b/UI/Main/Main.py @@ -114,7 +114,7 @@ class MainWindow(QMainWindow): widget.setObjectName('varWidget') self.varManageTabWidget.addTab(widget, name) - self.varManageTabWidget.addTab(self.analogWidget,'AIAO') + self.varManageTabWidget.addTab(self.analogWidget,'IO') self.varManageTabWidget.addTab(self.tcrtdWidget,'TCRTD') self.varManageTabWidget.addTab(self.hartWidget,'HART读取') self.varManageTabWidget.addTab(self.hartsimulateWidget,'HART模拟') diff --git a/UI/VarManages/AnalogModel.py b/UI/VarManages/AnalogModel.py index 03eee66..34dbe9c 100644 --- a/UI/VarManages/AnalogModel.py +++ b/UI/VarManages/AnalogModel.py @@ -3,6 +3,7 @@ import qtawesome from PyQt5 import QtGui from PyQt5.QtCore import Qt, QVariant from PyQt5.QtWidgets import QMessageBox +from websocket import send from protocol.TCP.Analog import getRealAO from model.ProjectModel.VarManage import * from UI.VarManages.ModbusModel import * @@ -18,6 +19,7 @@ class AnalogModel(VarTableModel): table : 缺省参数 ''' VarTableModel.__init__(self, header, data, table = table) + def initTable(self): self.datas = [] @@ -77,7 +79,7 @@ class AnalogModel(VarTableModel): if index.column() == 0: return Qt.ItemIsEnabled | Qt.ItemIsUserCheckable if index.row() in self.editableList and index.column() or index.column() == 1: - if index.column() == 5: + if index.column() == 6 or index.column() == 4: return Qt.ItemIsEnabled return Qt.ItemIsEnabled | Qt.ItemIsUserCheckable | Qt.ItemIsEditable return Qt.ItemIsEnabled @@ -99,7 +101,7 @@ class AnalogButtonDelegate(TcRtdButtonDelegate): model.editableList.append(sender.index[0]) else: varMes = model.datas[sender.index[0]] - name, des, varType, min, max = str(varMes[3]), str(varMes[4]), str(varMes[5]),str(varMes[6]), str(varMes[7]) + name,channelNumber, des, varType, min, max = str(varMes[3]), str(varMes[4]), str(varMes[5]),str(varMes[6]), str(varMes[7]), str(varMes[8]) if not name or not varType: reply = QMessageBox.question(self.parent(), '警告', @@ -109,9 +111,24 @@ class AnalogButtonDelegate(TcRtdButtonDelegate): sender.isEdit = True model.editableList.remove(sender.index[0]) if sender.oldName: - AnalogManage.editVar(name=sender.oldName, Nname=name, des=des, varType=varType, min=min, max=max) + if sender.oldName == name: + AnalogManage.editVar(name=sender.oldName, Nname=name, channelNumber = channelNumber, + des=des, varType=varType, min=min, max=max) + 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) else: - AnalogManage.createVar(varName=name, varType=varType, des=des, min=min, max=max) + 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) + sender.setIcon(qtawesome.icon('fa.pencil', color='#4c8cf2')) rowIndex = sender.index[0] varMes = AnalogManage.getByName(name) diff --git a/UI/VarManages/ModbusModel.py b/UI/VarManages/ModbusModel.py index 0a9586f..12f3dcf 100644 --- a/UI/VarManages/ModbusModel.py +++ b/UI/VarManages/ModbusModel.py @@ -580,7 +580,7 @@ class HartVarModelBox(ModbusVarModelBox): self.parent().model.datas[sender.index[0]][sender.index[1]] = text class TcRtdVarModelBox(ModbusVarModelBox): - def __init__(self, parent=None, comBoxColumn = 9): + def __init__(self, parent=None, comBoxColumn = 10): super(TcRtdVarModelBox, self).__init__(parent) self.comBoxColumn = comBoxColumn def indexChange(self): @@ -593,7 +593,7 @@ class TcRtdVarModelBox(ModbusVarModelBox): class AnalogVarModelBox(ModbusVarModelBox): - def __init__(self, parent=None, comBoxColumn = 8): + def __init__(self, parent=None, comBoxColumn = 9): super(AnalogVarModelBox, self).__init__(parent) self.comBoxColumn = comBoxColumn def indexChange(self): diff --git a/UI/VarManages/TCRTDModel.py b/UI/VarManages/TCRTDModel.py index 15db0b1..281f05f 100644 --- a/UI/VarManages/TCRTDModel.py +++ b/UI/VarManages/TCRTDModel.py @@ -1,19 +1,11 @@ -import typing -import sys import qtawesome -from PyQt5 import QtGui,QtCore,QtWidgets -from PyQt5.QtCore import QAbstractTableModel, QModelIndex, Qt, QVariant, QSize - -from PyQt5.QtWidgets import QItemDelegate, QHBoxLayout, QWidget, QTableView, QMessageBox, QComboBox +from PyQt5.QtCore import Qt, QVariant, QSize +from PyQt5.QtWidgets import QHBoxLayout, QWidget, QMessageBox, QComboBox from protocol.TCP.TemToMv import temToMv -from protocol.TCP.Analog import getRealAO - from model.ProjectModel.VarManage import * - from UI.VarManages.ModbusModel import * - from utils import Globals import re @@ -33,6 +25,7 @@ class TcRtdModel(VarTableModel): # if proType in ['5']: varDatas = TcRtdManage.getAllVar() + if not varDatas: # self.layoutChanged.emit() self.table.proxy.invalidate() @@ -86,8 +79,12 @@ class TcRtdModel(VarTableModel): if index.column() == 0: return Qt.ItemIsEnabled | Qt.ItemIsUserCheckable if index.row() in self.editableList and index.column() or index.column() == 1 or index.column() == 8: + if index.column() == 4: + return Qt.ItemIsEnabled return Qt.ItemIsEnabled | Qt.ItemIsUserCheckable | Qt.ItemIsEditable return Qt.ItemIsEnabled + + class TcRtdButtonDelegate(VarButtonDelegate): @@ -204,7 +201,7 @@ class TcRtdButtonDelegate(VarButtonDelegate): model.editableList.append(sender.index[0]) else: varMes = model.datas[sender.index[0]] - name, des, varType, min, max, compensationVar = str(varMes[3]), str(varMes[4]), str(varMes[5]),str(varMes[6]), str(varMes[7]), str(varMes[8]) + 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]) if not name or not varType: reply = QMessageBox.question(self.parent(), '警告', @@ -214,9 +211,25 @@ class TcRtdButtonDelegate(VarButtonDelegate): sender.isEdit = True model.editableList.remove(sender.index[0]) if sender.oldName: - TcRtdManage.editVar(name=sender.oldName, Nname=name, des=des, varType=varType, min=min, max=max, compensationVar = compensationVar) + if sender.oldName == name: + TcRtdManage.editVar(name=sender.oldName, Nname=name, channelNumber = channelNumber, des=des, + varType=varType, min=min, max=max, compensationVar = compensationVar) + 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) + else: - TcRtdManage.createVar(varName=name, varType=varType, des=des, min=min, max=max, compensationVar = compensationVar) + if GlobalVarManager.isVarNameExist(name): + QMessageBox.information(self.parent(), '提示', '已有同名变量') + return + else: + TcRtdManage.createVar(varName=name, channelNumber = channelNumber, varType=varType, des=des, + min=min, max=max, compensationVar = compensationVar) + sender.setIcon(qtawesome.icon('fa.pencil', color='#4c8cf2')) rowIndex = sender.index[0] varMes = TcRtdManage.getByName(name) diff --git a/UI/VarManages/VarTable.py b/UI/VarManages/VarTable.py index 5053a7e..9ffcc88 100644 --- a/UI/VarManages/VarTable.py +++ b/UI/VarManages/VarTable.py @@ -136,7 +136,7 @@ class HartTableView(VarTableView): class TcRtdTableView(VarTableView): def __init__(self, parent=None): super(TcRtdTableView, self).__init__(parent) - self.setItemDelegateForColumn(5, TcRtdTypeDelegate(self)) + self.setItemDelegateForColumn(6, TcRtdTypeDelegate(self)) self.valueList = [0] * 16 self.mvList = [0] * 16 self.workThread = RTDTCThread(self) @@ -145,24 +145,24 @@ class TcRtdTableView(VarTableView): def setupColumnWidths(self): self.header.setSectionResizeMode(QHeaderView.Stretch) def setHeader(self): - self.setItemDelegateForColumn(10, TcRtdButtonDelegate(self)) - self.setItemDelegateForColumn(9, TcRtdVarModelBox(self)) - self.model = TcRtdModel(['ID', '强制值', '当前值', '变量名', '变量描述', '变量类型', '工程量下限', '工程量上限', '补偿值', '值类型','操作'], [], table=self) + self.setItemDelegateForColumn(11, TcRtdButtonDelegate(self)) + self.setItemDelegateForColumn(10, TcRtdVarModelBox(self)) + self.model = TcRtdModel(['ID', '强制值', '当前值', '变量名', '通道序号', '变量描述', '变量类型', '工程量下限', '工程量上限', '补偿值', '值类型','操作'], [], table=self) class AnalogTableView(VarTableView): def __init__(self, parent=None): super(AnalogTableView, self).__init__(parent) - self.valueList = [0] * 8 + [0] * 8 + [0] * 8 - self.realList = [0] * 8 + [0] * 8 + [0] * 8 + self.valueList = [0] * 8 + [0] * 8 + [0] * 16 + [0] * 8 + [0] * 8 + [0] * 8 + self.realList = [0] * 8 + [0] * 8 + [0] * 16 + [0] * 8 + [0] * 8 + [0] * 8 self.workThread = AnalogThread(self) Globals.setValue('AnalogThread', self.workThread) def setupColumnWidths(self): self.header.setSectionResizeMode(QHeaderView.Stretch) def setHeader(self): - self.setItemDelegateForColumn(9, AnalogButtonDelegate(self)) - self.setItemDelegateForColumn(8, AnalogVarModelBox(self)) - self.model = AnalogModel(['ID', '强制值', '当前值', '变量名', '变量描述', '变量类型', '工程量下限', '工程量上限', '值类型', '操作'], [], table=self) + self.setItemDelegateForColumn(10, AnalogButtonDelegate(self)) + self.setItemDelegateForColumn(9, AnalogVarModelBox(self)) + self.model = AnalogModel(['ID', '强制值', '当前值', '变量名', '通道序号', '变量描述', '变量类型', '工程量下限', '工程量上限', '值类型', '操作'], [], table=self) class HartSimulateTableView(VarTableView): diff --git a/UI/VarManages/VarWidget.py b/UI/VarManages/VarWidget.py index f45c220..e159903 100644 --- a/UI/VarManages/VarWidget.py +++ b/UI/VarManages/VarWidget.py @@ -388,7 +388,7 @@ class TcRtdWidgets(VarWidgets): self.horizontalHeader.sectionClicked.connect(self.on_view_horizontalHeader_sectionClicked) def createVar(self): - self.varView.model.append_data(['', '', '', '', '', '', '', '', '']) + self.varView.model.append_data(['', '', '', '', '', '', '', '', '','']) def forceVar(self): # print(self.varView.model.datas) @@ -549,97 +549,6 @@ class AnalogWidgets(VarWidgets): -class FFSimulateWidgets(VarWidgets): - def __init__(self, parent=None): - super(FFSimulateWidgets, self).__init__(parent) - - def setupUI(self): - self.setAttribute(Qt.WA_StyledBackground, True) - - - self.forceBtn = QPushButton(QIcon(':/static/start.png'), '批量强制') - self.forceBtn.setObjectName('forceBtn') - self.forceBtn.setIconSize(QSize(22, 22)) - self.forceBtn.clicked.connect(self.forceVar) - - self.startProtocolBtn = QPushButton(QIcon(':/static/startProtocol.png'), '开始通讯') - self.startProtocolBtn.setObjectName('startProtocolBtn') - self.startProtocolBtn.setIconSize(QSize(22, 22)) - self.startProtocolBtn.clicked.connect(self.startProtocol) - - self.clearBtn = QPushButton(QIcon(':/static/clear.png'), '清除颜色') - self.clearBtn.setObjectName('clearBtn') - self.clearBtn.setIconSize(QSize(22, 22)) - self.clearBtn.clicked.connect(self.clearColour) - - self.varView = FFSimulateTableView() - self.varView.setObjectName('FFSimulateTable') - self.proxy = QtCore.QSortFilterProxyModel(self) - self.proxy.setSourceModel(self.varView.model) - - self.varView.setModel(self.proxy) - self.varView.proxy = self.proxy - - self.timer = QTimer(self) - # 将定时器超时信号与槽函数showTime()连接 - self.timer.timeout.connect(self.proxy.invalidate) - self.timer.start(50) # 启动timer - - Globals.setValue('FFSimulateTable', self.varView) - - self.gridLayout = QtWidgets.QGridLayout(self) - # self.gridLayout.addWidget(self.createBtn, 0, 0, 1, 1) - self.gridLayout.addWidget(self.forceBtn, 0, 0, 1, 1) - self.gridLayout.addWidget(self.startProtocolBtn, 0, 1, 1, 1) - self.gridLayout.addWidget(self.clearBtn, 0, 2, 1, 1) - - self.gridLayout.addWidget(self.varView, 1, 0, 10, 26) - self.gridLayout.setSpacing(20) - self.gridLayout.setContentsMargins(20, 30, 20, 20) - - self.horizontalHeader = self.varView.horizontalHeader() - self.horizontalHeader.sectionClicked.connect(self.on_view_horizontalHeader_sectionClicked) - - def createVar(self): - self.varView.model.append_data(['', '', '', '', '', '', '', '', '']) - - def forceVar(self): - check = [i for i,x in enumerate(self.varView.model.checkList) if x == 'Checked'] - forceVars = Globals.getValue('forceVars') - for i in check: - value = self.varView.model.datas[i][1] - if i > 7: - reply = QMessageBox.question(self.parent(), - '警告', - "该变量无法强制", - QMessageBox.Yes) - return - pattern = re.compile(r'[^0-9\.-]+') - if not value or re.findall(pattern, str(value)): - reply = QMessageBox.question(self.parent(), - '警告', - "请输入强制值或数字", - QMessageBox.Yes) - return - if i > 3: - if not re.match('^[01]+$', str(value)): - reply = QMessageBox.question(self.parent(), - '警告', - "请输入0或1", - QMessageBox.Yes) - return - try: - self.varView.workThread.FFSimulate.writeValue(i, value) - except: - reply = QMessageBox.question(self.parent(), - '警告', - "请先打开通讯", - QMessageBox.Yes) - return - self.varView.valueList[i] = float(value) - forceVars.add(self.varView.model.datas[i][3]) - Globals.setValue('forceVars', forceVars) - class HartSimulateWidgets(VarWidgets): def __init__(self, parent=None): diff --git a/model/ProjectModel/VarManage.py b/model/ProjectModel/VarManage.py index d3ab85d..a740dd3 100644 --- a/model/ProjectModel/VarManage.py +++ b/model/ProjectModel/VarManage.py @@ -277,16 +277,17 @@ class TcRtdManage(object): super(TcRtdManage, self).__init__() @classmethod - def createVar(self, varName, varType, des, min, max, compensationVar, varModel): + def createVar(self, varName, channelNumber, varType, des, min, max, compensationVar, varModel): # 创建变量 name = str(varName) des = str(des) + channelNumber = str(channelNumber) varModel = str(varModel) if TcRtdVar.getByName(name): print('已有同名变量') else: tcRtdVarType = TcRtdVar() - tcRtdVarType.createVar(varName = varName, 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) @classmethod def getAllVar(self): @@ -296,7 +297,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, var.varModel]) + l.append([var.id, var.varName, var.channelNumber,var.description, var.varType, var.min, var.max, var.compensationVar, var.varModel]) return l @@ -309,18 +310,19 @@ class TcRtdManage(object): @classmethod - def editVar(self, name, Nname, des, varType, min, max, compensationVar, varModel): + def editVar(self, name, Nname, channelNumber, des, varType, min, max, compensationVar): # 修改变量信息 name = str(name) Nname = str(Nname) + channelNumber = str(channelNumber) des = str(des) varType = str(varType) 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, varModel = varModel).where(TcRtdVar.varName == name).execute() + TcRtdVar.update(varName=Nname, channelNumber = channelNumber, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar).where(TcRtdVar.varName == name).execute() elif TcRtdVar.getByName(Nname): print('已有同名变量') return @@ -328,7 +330,7 @@ class TcRtdManage(object): print('不存在的变量') return else: - TcRtdVar.update(varName=Nname, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar, varModel = varModel).where(TcRtdVar.varName == name).execute() + TcRtdVar.update(varName=Nname, channelNumber = channelNumber, description=des, varType=varType, min=min, max=max, compensationVar = compensationVar).where(TcRtdVar.varName == name).execute() @classmethod def getByName(self, name): @@ -336,18 +338,18 @@ class TcRtdManage(object): var = TcRtdVar.getByName(name) if var: - return [var.id, var.varName, 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.compensationVar, var.varModel] else: return False def initVar(self): # 创建变量 for i in range(1, 9): - name = 'Value' + str(i) - 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', varModel = '本地值') + name = '热偶输出' + str(i) + self.createVar(varName=name, channelNumber=str(i), varType='R', des='TC', min='100', max='200', compensationVar = '0', varModel = '本地值') + 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 = '本地值') @classmethod def editvarType(self, name, varType): @@ -364,16 +366,17 @@ class AnalogManage(object): super(AnalogManage, self).__init__() @classmethod - def createVar(self, varName, varType, des, min, max, varModel): + def createVar(self, varName, channelNumber, varType, des, min, max, varModel): # 创建变量 name = str(varName) + channelNumber = str(channelNumber) des = str(des) varModel = str(varModel) - if AnalogVar.getByName(name): - print('已有同名变量') - else: - analogVarType = AnalogVar() - analogVarType.createVar(varName = varName, des = des, varType = varType, min = min, max = max, varModel = varModel) + # if AnalogVar.getByName(name): + # print('已有同名变量') + # else: + analogVarType = AnalogVar() + analogVarType.createVar(varName = varName, channelNumber = channelNumber, des = des, varType = varType, min = min, max = max, varModel = varModel) @classmethod def getAllVar(self): @@ -383,7 +386,7 @@ class AnalogManage(object): return l = [] for var in vars: - l.append([var.id, var.varName, 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.varModel]) return l @@ -396,17 +399,17 @@ class AnalogManage(object): @classmethod - def editVar(self, name, Nname, des, varType, min, max, varModel): + def editVar(self, name, Nname, channelNumber, des, varType, min, max): # 修改变量信息 name = str(name) Nname = str(Nname) + channelNumber = str(channelNumber) des = str(des) 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, varModel = varModel).where(AnalogVar.varName == name).execute() + AnalogVar.update(varName=Nname, channelNumber =channelNumber, description=des, varType=varType, min=min, max=max).where(AnalogVar.varName == name).execute() elif AnalogVar.getByName(Nname): print('已有同名变量') return @@ -414,7 +417,7 @@ class AnalogManage(object): print('不存在的变量') return else: - AnalogVar.update(varName=Nname, description=des, varType=varType, min=min, max=max, varModel = varModel).where(AnalogVar.varName == name).execute() + AnalogVar.update(varName=Nname, channelNumber =channelNumber, description=des, varType=varType, min=min, max=max).where(AnalogVar.varName == name).execute() @classmethod def editVarModel(self, name, varModel): @@ -426,33 +429,42 @@ class AnalogManage(object): var = AnalogVar.getByName(name) if var: - return [var.id, var.varName, 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.varModel] else: return False def initVar(self): + 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 = '本地值') + + 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 = '本地值') + + 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='100', max='200', varModel = '本地值') + for i in range(1, 9): - name = 'Value' + str(i) - if i < 5: - des = '有源4-20mA输出' + str(i) - 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', 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', varModel = '本地值') - elif i < 7: - des = '无源NPN频率输出' + str(i) - 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', varModel = '本地值') + name = '无源24V数字输入通道' + str(i) + des = '无源24V数字输入' + str(i) + self.createVar(varName=name, channelNumber=str(i), varType='DI', des=des, min='100', max='200', varModel = '本地值') + + 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='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', varModel = '本地值') + 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 = '本地值') + + class HartSimulateVarManage(object): @@ -554,7 +566,6 @@ class GlobalVarManager(object): def isVarNameExist(cls, varName): """检查新变量名是否在任意协议模型中已存在""" existingNames = cls.getAllVarNames() - print(varName,existingNames ) if str(varName) in existingNames: return True else: diff --git a/utils/DBModels/ProtocolModel.py b/utils/DBModels/ProtocolModel.py index d9796f2..ec8a713 100644 --- a/utils/DBModels/ProtocolModel.py +++ b/utils/DBModels/ProtocolModel.py @@ -169,6 +169,7 @@ class HartVar(BaseModel): class TcRtdVar(BaseModel): varName = CharField() + channelNumber = CharField() createTime = CharField() description = CharField() varType = IntegerField() @@ -193,8 +194,9 @@ class TcRtdVar(BaseModel): query.execute() # 创建变量 - def createVar(self, varName, des, varType, min, max, compensationVar, varModel): + def createVar(self, varName, channelNumber, des, varType, min, max, compensationVar, varModel): self.varName = varName + self.channelNumber = channelNumber self.description = des self.varType = varType self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S') @@ -205,8 +207,9 @@ class TcRtdVar(BaseModel): # print(self.createTime) self.save() - def initVar(self, varName, des, varType, min, max, compensationVar, varModel): + def initVar(self, varName, channelNumber, des, varType, min, max, compensationVar, varModel): self.varName = varName + self.channelNumber = channelNumber self.description = des self.varType = varType self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S') @@ -218,6 +221,7 @@ class TcRtdVar(BaseModel): class AnalogVar(BaseModel): varName = CharField() + channelNumber = CharField() createTime = CharField() description = CharField() varType = IntegerField() @@ -240,8 +244,9 @@ class AnalogVar(BaseModel): query.execute() # 创建变量 - def createVar(self, varName, des, varType, min, max, varModel): + def createVar(self, varName, channelNumber, des, varType, min, max, varModel): self.varName = varName + self.channelNumber = channelNumber self.description = des self.varType = varType self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S') @@ -251,8 +256,9 @@ class AnalogVar(BaseModel): # print(self.createTime) self.save() - def initVar(self, varName, des, varType, min, max, varModel): + def initVar(self, varName, channelNumber, des, varType, min, max, varModel): self.varName = varName + self.channelNumber = channelNumber self.description = des self.varType = varType self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')