0725更改

main
zhangxuxutm 2 years ago
parent 7e816e639b
commit 09faf598f7

@ -6,6 +6,7 @@ from matplotlib.backends.qt_compat import QtCore, QtWidgets
from matplotlib.backends.backend_qt5agg import (FigureCanvas, NavigationToolbar2QT as NavigationToolbar) from matplotlib.backends.backend_qt5agg import (FigureCanvas, NavigationToolbar2QT as NavigationToolbar)
from matplotlib.figure import Figure from matplotlib.figure import Figure
from PyQt5.QtCore import QThread
import matplotlib.ticker as ticker import matplotlib.ticker as ticker
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
@ -25,9 +26,9 @@ class ActualTrend(QtWidgets.QMainWindow):
self.varName = varName self.varName = varName
self._main = QtWidgets.QWidget() _main = QtWidgets.QWidget()
self.setCentralWidget(self._main) self.setCentralWidget(_main)
layout = QtWidgets.QVBoxLayout(self._main) layout = QtWidgets.QVBoxLayout(_main)
dynamic_canvas = FigureCanvas(Figure(figsize=(5, 3))) dynamic_canvas = FigureCanvas(Figure(figsize=(5, 3)))
@ -46,25 +47,29 @@ class ActualTrend(QtWidgets.QMainWindow):
1000, [(self._update_canvas, (), {})]) 1000, [(self._update_canvas, (), {})])
self._timer.start() self._timer.start()
def _update_canvas(self): def _update_canvas(self):
# self.n += 1 # self.n += 1
varName = self.varName varName = self.varName
varMM = ModbusVarManage.getByName(varName) varMM = ModbusVarManage.getByName(varName)
if varMM: minY = -100
minY, maxY = ModbusVarManage.getByName(varName)[-2], ModbusVarManage.getByName(varName)[-1] maxY = 100
if not minY or not maxY:
minY = -100 if varMM:
maxY = 100 minY, maxY = varMM[-2], varMM[-1]
else: minY = float(minY)
minY = float(minY) maxY = float(maxY)
maxY = float(maxY)
self._dynamic_ax.clear() self._dynamic_ax.clear()
acttime = time.strftime('%H:%M:%S', time.localtime(time.time())) acttime = time.strftime('%H:%M:%S', time.localtime(time.time()))
# print(acttime) # print(acttime)
if varName != '': if varName != '':
uid = MBTCPMApp.backend.get('ModBus').decode('utf-8') if MBTCPMApp.backend.get('ModBus') is not None:
uid = MBTCPMApp.backend.get('ModBus').decode('utf-8')
else:
return
# print(uid) # print(uid)
res = AsyncResult(uid) # 参数为task id res = AsyncResult(uid) # 参数为task id
if res.result: if res.result:
@ -85,9 +90,14 @@ class ActualTrend(QtWidgets.QMainWindow):
self._dynamic_ax.plot(pos_list, value_list, 'bo-', linewidth=2) self._dynamic_ax.plot(pos_list, value_list, 'bo-', linewidth=2)
# self._dynamic_ax.set_xlim(0,10) # self._dynamic_ax.set_xlim(0,10)
self._dynamic_ax.set_ylim(minY,maxY) self._dynamic_ax.set_ylim(minY, maxY)
self._dynamic_ax.figure.canvas.draw() self._dynamic_ax.figure.canvas.draw()
def closeEvent(self, event):
# 判断是否点击了窗口的关闭按钮
if event.type() == event.Close:
self._timer.stop()
if __name__ == "__main__": if __name__ == "__main__":
qapp = QtWidgets.QApplication(sys.argv) qapp = QtWidgets.QApplication(sys.argv)
app = ActualTrend() app = ActualTrend()

@ -1,6 +1,7 @@
import time import time
from PyQt5.QtCore import QThread, pyqtSignal from PyQt5.QtCore import QThread, pyqtSignal
from UI.TrendManage.ActualTrendWidget import ActualTrend
from protocol.TCP.RTDTC import RTDTCClient from protocol.TCP.RTDTC import RTDTCClient
from protocol.TCP.Analog import AnalogClient from protocol.TCP.Analog import AnalogClient
from protocol.FF.FFSimulate import FFSimulate from protocol.FF.FFSimulate import FFSimulate
@ -111,3 +112,6 @@ class HartSimulateThread(FFThread):
self.window.valueList = self.HartSimulate.readValue() self.window.valueList = self.HartSimulate.readValue()
except Exception as e: except Exception as e:
print(e) print(e)

Loading…
Cancel
Save