0809update

main
parent 9cd4ffc9ce
commit 605c398f55

@ -243,10 +243,10 @@ class BlockParameterManageWidget(QWidget):
self.refershDataBtn.clicked.connect(self.refreshData) self.refershDataBtn.clicked.connect(self.refreshData)
self.refershDataBtn.setObjectName("parameBtn") self.refershDataBtn.setObjectName("parameBtn")
self.deviceAddressSearchBtn = QPushButton('搜索站地址') # self.deviceAddressSearchBtn = QPushButton('搜索站地址')
self.deviceAddressSearchBtn.setIcon(qtawesome.icon('fa.search', color='#1fbb6f')) # self.deviceAddressSearchBtn.setIcon(qtawesome.icon('fa.search', color='#1fbb6f'))
self.deviceAddressSearchBtn.clicked.connect(self.searchAddress) # self.deviceAddressSearchBtn.clicked.connect(self.searchAddress)
self.deviceAddressSearchBtn.setObjectName("parameBtn") # self.deviceAddressSearchBtn.setObjectName("parameBtn")
self.editAddressBtn = QPushButton('修改站地址') self.editAddressBtn = QPushButton('修改站地址')
self.editAddressBtn.setIcon(qtawesome.icon('fa.edit', color='#1fbb6f')) self.editAddressBtn.setIcon(qtawesome.icon('fa.edit', color='#1fbb6f'))
@ -258,7 +258,7 @@ class BlockParameterManageWidget(QWidget):
self.settingLayout.addWidget(self.deviceAddressLabel, 1) self.settingLayout.addWidget(self.deviceAddressLabel, 1)
self.settingLayout.addWidget(self.deviceAddressEdit, 1) self.settingLayout.addWidget(self.deviceAddressEdit, 1)
self.settingLayout.addWidget(self.confirmBtn, 1) self.settingLayout.addWidget(self.confirmBtn, 1)
self.settingLayout.addWidget(self.deviceAddressSearchBtn, 1) # self.settingLayout.addWidget(self.deviceAddressSearchBtn, 1)
self.settingLayout.addWidget(self.editAddressBtn, 1) self.settingLayout.addWidget(self.editAddressBtn, 1)
self.settingLayout.addWidget(self.refershDataBtn, 1) self.settingLayout.addWidget(self.refershDataBtn, 1)
# self.settingLayout.addLayout(self.blockLayout) # self.settingLayout.addLayout(self.blockLayout)
@ -356,9 +356,9 @@ class BlockParameterManageWidget(QWidget):
def editAddress(self): def editAddress(self):
self.editAddressWidget = EditAddressWidget() self.editAddressWidget = EditAddressWidget()
def searchAddress(self): # def searchAddress(self):
self.searchAddressWidget = SearchAddressWidget(self.deviceAddressEdit) # self.searchAddressWidget = SearchAddressWidget(self.deviceAddressEdit)
self.searchAddressWidget.show() # self.searchAddressWidget.show()
def changeProType(self): def changeProType(self):

@ -18,6 +18,7 @@ from model.ProjectModel.DeviceManage import DevicesManange
from utils.DBModels.InitParameterDB import InitParameterDB from utils.DBModels.InitParameterDB import InitParameterDB
from protocol.BatterySerial.BatteryProtocol import BatteryManange from protocol.BatterySerial.BatteryProtocol import BatteryManange
from protocol.ModBus.DPV1Master import DPV1Master
from UI.BlockParameterManageWidget import BlockParameterManageWidget from UI.BlockParameterManageWidget import BlockParameterManageWidget
import sys import sys
@ -75,6 +76,7 @@ class MainWindow(QWidget):
self.setObjectName("MainWindow") self.setObjectName("MainWindow")
self.devicesManange = DevicesManange() self.devicesManange = DevicesManange()
self.batteryManange = BatteryManange() self.batteryManange = BatteryManange()
self.dpv1Master = DPV1Master('192.168.3.10', 502)
self.blockParameterManageWidget = BlockParameterManageWidget() self.blockParameterManageWidget = BlockParameterManageWidget()
self.process = None self.process = None
self.initUI() self.initUI()
@ -87,6 +89,10 @@ class MainWindow(QWidget):
self.batteryTimer.timeout.connect(self.refreshProgressBar) self.batteryTimer.timeout.connect(self.refreshProgressBar)
self.batteryTimer.start(3000) self.batteryTimer.start(3000)
self.searchAddressTimer = QTimer()
self.searchAddressTimer.timeout.connect(self.searchSlave)
self.searchAddressTimer.start(1000)
# self.toolbarWidget = QWidget() # self.toolbarWidget = QWidget()
# self.addToolBar(Qt.LeftToolBarArea, self.toolbar) # self.addToolBar(Qt.LeftToolBarArea, self.toolbar)
@ -115,6 +121,9 @@ class MainWindow(QWidget):
self.deviceParameterManageBtn.setCheckable(True) self.deviceParameterManageBtn.setCheckable(True)
self.deviceParameterManageBtn.clicked.connect(self.switchDeviceParManageWidget) self.deviceParameterManageBtn.clicked.connect(self.switchDeviceParManageWidget)
self.addressLabel = QLabel('在线仪表地址:')
self.addressLabel.setObjectName('batteryLabel')
self.batteryProBar = CustomProgressBar() self.batteryProBar = CustomProgressBar()
self.batteryProBar.setRange(0, 100) self.batteryProBar.setRange(0, 100)
@ -154,7 +163,9 @@ class MainWindow(QWidget):
toolbarLayout.addWidget(self.switchBtn, 1) toolbarLayout.addWidget(self.switchBtn, 1)
toolbarLayout.addWidget(self.switchTouchBtn, 1) toolbarLayout.addWidget(self.switchTouchBtn, 1)
toolbarLayout.addWidget(self.deviceParameterManageBtn, 1) toolbarLayout.addWidget(self.deviceParameterManageBtn, 1)
toolbarLayout.addWidget(QWidget(), 20) toolbarLayout.addWidget(QWidget(), 4)
toolbarLayout.addWidget(self.addressLabel, 1)
toolbarLayout.addWidget(QWidget(), 10)
# toolbarLayout.addWidget(QLabel('电量:'), 1) # toolbarLayout.addWidget(QLabel('电量:'), 1)
toolbarLayout.addWidget(self.batteryProBar, 1) toolbarLayout.addWidget(self.batteryProBar, 1)
toolbarLayout.addWidget(self.batteryStateLabel, 1) toolbarLayout.addWidget(self.batteryStateLabel, 1)
@ -265,10 +276,14 @@ class MainWindow(QWidget):
# self.capacity = capacity # mAH # self.capacity = capacity # mAH
# self.cappercent = cappercent # 百分比% # self.cappercent = cappercent # 百分比%
# self.state = state # 充放电状态 # self.state = state # 充放电状态
pass # pass
# result = self.batteryManange.readBatteryInfo() result = self.batteryManange.readBatteryInfo()
# self.batteryProBar.setValue(result.cappercent) self.batteryProBar.setValue(result.cappercent)
# self.batteryStateLabel.setText(result.chargingStatus) self.batteryStateLabel.setText(result.chargingStatus)
def searchSlave(self):
address = self.dpv1Master.searchSlave()
self.addressLabel.setText('在线仪表地址:{}'.format(address))

@ -62,8 +62,12 @@ class DPV1Master():
def searchSlave(self, callback = None): def searchSlave(self, callback = None):
self.searchSlaveThread = SearchSlaveThread(callback = callback, master = self) # self.searchSlaveThread = SearchSlaveThread(callback = callback, master = self)
self.searchSlaveThread.start() # self.searchSlaveThread.start()
data = self.readHoldingRegisters(1, 850, 64)
dataHex = struct.pack('>64h', *data)
indices = [i for i, byte in enumerate(dataHex) if byte == 1]
return "".join(map(str, indices))
def closeThread(self): def closeThread(self):
self.searchSlaveThread.stop() self.searchSlaveThread.stop()
@ -217,7 +221,7 @@ class DPV1Master():
if __name__ == "__main__": if __name__ == "__main__":
tcpMaster = DPV1Master('192.168.3.10', 502) tcpMaster = DPV1Master('192.168.3.10', 502)
tcpMaster.searchMaster() tcpMaster.searchSlave()
# tcpMaster.readHoldingRegisters(1, 6, 2) # tcpMaster.readHoldingRegisters(1, 6, 2)
# tcpMaster.master.execute(1, cst.WRITE_MULTIPLE_REGISTERS, starting_address=0, output_value=[1,2,3,4,5]) # tcpMaster.master.execute(1, cst.WRITE_MULTIPLE_REGISTERS, starting_address=0, output_value=[1,2,3,4,5])
# #

Loading…
Cancel
Save