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.figure import Figure
from PyQt5.QtCore import QThread
import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
@ -25,9 +26,9 @@ class ActualTrend(QtWidgets.QMainWindow):
self.varName = varName
self._main = QtWidgets.QWidget()
self.setCentralWidget(self._main)
layout = QtWidgets.QVBoxLayout(self._main)
_main = QtWidgets.QWidget()
self.setCentralWidget(_main)
layout = QtWidgets.QVBoxLayout(_main)
dynamic_canvas = FigureCanvas(Figure(figsize=(5, 3)))
@ -45,26 +46,30 @@ class ActualTrend(QtWidgets.QMainWindow):
self._timer = dynamic_canvas.new_timer(
1000, [(self._update_canvas, (), {})])
self._timer.start()
def _update_canvas(self):
# self.n += 1
varName = self.varName
varMM = ModbusVarManage.getByName(varName)
if varMM:
minY, maxY = ModbusVarManage.getByName(varName)[-2], ModbusVarManage.getByName(varName)[-1]
minY = -100
maxY = 100
if not minY or not maxY:
minY = -100
maxY = 100
else:
minY = float(minY)
maxY = float(maxY)
if varMM:
minY, maxY = varMM[-2], varMM[-1]
minY = float(minY)
maxY = float(maxY)
self._dynamic_ax.clear()
acttime = time.strftime('%H:%M:%S', time.localtime(time.time()))
# print(acttime)
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)
res = AsyncResult(uid) # 参数为task id
if res.result:
@ -85,8 +90,13 @@ class ActualTrend(QtWidgets.QMainWindow):
self._dynamic_ax.plot(pos_list, value_list, 'bo-', linewidth=2)
# 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()
def closeEvent(self, event):
# 判断是否点击了窗口的关闭按钮
if event.type() == event.Close:
self._timer.stop()
if __name__ == "__main__":
qapp = QtWidgets.QApplication(sys.argv)

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

Loading…
Cancel
Save