123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- #!/usr/bin/env python
- # -*- encoding: utf-8 -*-
- from utils.globalvar import SD
- from ui.home import UiBmsHomePage
- from utils.qt import QMainWindow, Qt, QStyle, QMessageBox, QGuiApplication, Signal
- class Win_GotionBMS(UiBmsHomePage, QMainWindow):
- main_control_signal = Signal(int)
- cell_inf_signal = Signal(int)
- double_ccu_signal = Signal(int)
- protect_inf_signal = Signal(int)
- hard_cali_signal = Signal(int)
- balance_inf_signal = Signal(int)
- data_inf_signal = Signal(int)
- download_signal = Signal(int)
- set_inf_signal = Signal(int)
- bcu_online_list_signal = Signal(list)
- can_start_signal = Signal()
- can_stop_signal = Signal()
- cut_start_signal = Signal()
-
- def __init__(self, parent=None):
- super(Win_GotionBMS, self).__init__(parent)
- self.setupUi(self)
- self.btn_main_control.clicked.connect(self._main_control)
- self.btn_cell_inf.clicked.connect(self._cell_inf)
- self.btn_double_ccu.clicked.connect(self._double_ccu)
- self.btn_protect_inf.clicked.connect(self._protect_inf)
- self.btn_hard_cali.clicked.connect(self._hard_cali)
- self.btn_balance_inf.clicked.connect(self._balance_inf)
- self.btn_data_inf.clicked.connect(self._data_inf)
- self.btn_download.clicked.connect(self._download)
- self.btn_set_inf.clicked.connect(self._set_inf)
- self.btn_start.clicked.connect(self._can_start)
- self.btn_stop.clicked.connect(self._can_stop)
- self.btn_cut.clicked.connect(self._app_cut)
-
- self.cb_bcu.currentIndexChanged.connect(self._bcu_masterid_set)
- self.cb_bmu.currentIndexChanged.connect(self._bmu_id_set)
-
- def can_connect_error(self):
- QMessageBox.critical(self, "连接状态" if SD.SYSTEM_LANGUAGE == 0 else "Connect State", "CAN 连接失败!" if SD.SYSTEM_LANGUAGE == 0 else "CAN Connect Error!")
- def _main_control(self):
- self.main_control_signal.emit(0)
-
- def _cell_inf(self):
- self.cell_inf_signal.emit(1)
- def _double_ccu(self):
- self.double_ccu_signal.emit(2)
- def _protect_inf(self):
- self.protect_inf_signal.emit(3)
- def _hard_cali(self):
- self.hard_cali_signal.emit(4)
- def _balance_inf(self):
- self.balance_inf_signal.emit(5)
- def _data_inf(self):
- self.data_inf_signal.emit(6)
- def _download(self):
- self.download_signal.emit(7)
- def _set_inf(self):
- self.set_inf_signal.emit(8)
- def _can_start(self):
- self.can_start_signal.emit()
- def _can_stop(self):
- self.can_stop_signal.emit()
- def _app_cut(self):
- self.cut_start_signal.emit()
-
- def _bcu_masterid_set(self):
- SD.BCU_ID = int(self.cb_bcu.currentIndex() + 1)
- def _bmu_id_set(self):
- int(self.cb_bmu.currentIndex() + 1)
- def _bcu_connect_get(self, data):
- bcu_on_line = ["BCU1", "BCU2", "BCU3", "BCU4", "BCU5", "BCU6", "BCU7", "BCU8", "BCU9", "BCU10", "BCU11", "BCU12", "BCU13", "BCU14", "BCU15"]
- bcu_on_line_set = []
- if data[0] == 1:
- bcu_on_line[0] = "BCU1"
- else:
- bcu_on_line[0] = ""
- if data[1] == 1:
- bcu_on_line[1] = "BCU2"
- else:
- bcu_on_line[1] = ""
- if data[2] == 1:
- bcu_on_line[2] = "BCU3"
- else:
- bcu_on_line[2] = ""
- if data[3] == 1:
- bcu_on_line[3] = "BCU4"
- else:
- bcu_on_line[3] = ""
- if data[4] == 1:
- bcu_on_line[4] = "BCU5"
- else:
- bcu_on_line[4] = ""
- if data[5] == 1:
- bcu_on_line[5] = "BCU6"
- else:
- bcu_on_line[5] = ""
- if data[6] == 1:
- bcu_on_line[6] = "BCU7"
- else:
- bcu_on_line[6] = ""
- if data[7] == 1:
- bcu_on_line[7] = "BCU8"
- else:
- bcu_on_line[7] = ""
- if data[8] == 1:
- bcu_on_line[8] = "BCU9"
- else:
- bcu_on_line[8] = ""
- if data[9] == 1:
- bcu_on_line[9] = "BCU10"
- else:
- bcu_on_line[9] = ""
- if data[10] == 1:
- bcu_on_line[10] = "BCU11"
- else:
- bcu_on_line[10] = ""
- if data[11] == 1:
- bcu_on_line[11] = "BCU12"
- else:
- bcu_on_line[11] = ""
-
- if data[12] == 1:
- bcu_on_line[12] = "BCU13"
- else:
- bcu_on_line[12] = ""
- if data[13] == 1:
- bcu_on_line[13] = "BCU14"
- else:
- bcu_on_line[13] = ""
- if data[14] == 1:
- bcu_on_line[14] = "BCU15"
- else:
- bcu_on_line[14] = ""
- for a in list(bcu_on_line):
- if a != "":
- bcu_on_line_set.append(a)
- self.edt_online.setText('、'.join([i for i in list(bcu_on_line_set)]))
-
-
- # 居中显示
- def center(self):
- # 新方法
- self.setGeometry(
- QStyle.alignedRect(
- Qt.LeftToRight,
- Qt.AlignCenter,
- self.size(),
- QGuiApplication.primaryScreen().availableGeometry(),
- ),
- )
|